Skip to content

Commit 0f610e6

Browse files
committed
dt-bindings: clock: sun55i-a523-ccu: Add A523 MCU CCU clock controller
There are four clock controllers in the A523 SoC. The existing binding already covers two of them that are critical for basic operation. The remaining ones are the MCU clock controller and CPU PLL clock controller. Add a description for the MCU CCU. This unit controls and provides clocks to the MCU (RISC-V) subsystem and peripherals meant to operate under low power conditions. Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/20250911174710.3149589-3-wens@kernel.org Signed-off-by: Chen-Yu Tsai <wens@csie.org>
1 parent e9671dd commit 0f610e6

3 files changed

Lines changed: 119 additions & 2 deletions

File tree

Documentation/devicetree/bindings/clock/allwinner,sun55i-a523-ccu.yaml

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,19 @@ properties:
1919
compatible:
2020
enum:
2121
- allwinner,sun55i-a523-ccu
22+
- allwinner,sun55i-a523-mcu-ccu
2223
- allwinner,sun55i-a523-r-ccu
2324

2425
reg:
2526
maxItems: 1
2627

2728
clocks:
2829
minItems: 4
29-
maxItems: 5
30+
maxItems: 9
3031

3132
clock-names:
3233
minItems: 4
33-
maxItems: 5
34+
maxItems: 9
3435

3536
required:
3637
- "#clock-cells"
@@ -63,6 +64,38 @@ allOf:
6364
- const: iosc
6465
- const: losc-fanout
6566

67+
- if:
68+
properties:
69+
compatible:
70+
enum:
71+
- allwinner,sun55i-a523-mcu-ccu
72+
73+
then:
74+
properties:
75+
clocks:
76+
items:
77+
- description: High Frequency Oscillator (usually at 24MHz)
78+
- description: Low Frequency Oscillator (usually at 32kHz)
79+
- description: Internal Oscillator
80+
- description: Audio PLL (4x)
81+
- description: Peripherals PLL 0 (300 MHz output)
82+
- description: DSP module clock
83+
- description: MBUS clock
84+
- description: PRCM AHB clock
85+
- description: PRCM APB0 clock
86+
87+
clock-names:
88+
items:
89+
- const: hosc
90+
- const: losc
91+
- const: iosc
92+
- const: pll-audio0-4x
93+
- const: pll-periph0-300m
94+
- const: dsp
95+
- const: mbus
96+
- const: r-ahb
97+
- const: r-apb0
98+
6699
- if:
67100
properties:
68101
compatible:
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
/* SPDX-License-Identifier: (GPL-2.0-only OR MIT) */
2+
/*
3+
* Copyright (C) 2025 Chen-Yu Tsai <wens@csie.org>
4+
*/
5+
6+
#ifndef _DT_BINDINGS_CLK_SUN55I_A523_MCU_CCU_H_
7+
#define _DT_BINDINGS_CLK_SUN55I_A523_MCU_CCU_H_
8+
9+
#define CLK_MCU_PLL_AUDIO1 0
10+
#define CLK_MCU_PLL_AUDIO1_DIV2 1
11+
#define CLK_MCU_PLL_AUDIO1_DIV5 2
12+
#define CLK_MCU_AUDIO_OUT 3
13+
#define CLK_MCU_DSP 4
14+
#define CLK_MCU_I2S0 5
15+
#define CLK_MCU_I2S1 6
16+
#define CLK_MCU_I2S2 7
17+
#define CLK_MCU_I2S3 8
18+
#define CLK_MCU_I2S3_ASRC 9
19+
#define CLK_BUS_MCU_I2S0 10
20+
#define CLK_BUS_MCU_I2S1 11
21+
#define CLK_BUS_MCU_I2S2 12
22+
#define CLK_BUS_MCU_I2S3 13
23+
#define CLK_MCU_SPDIF_TX 14
24+
#define CLK_MCU_SPDIF_RX 15
25+
#define CLK_BUS_MCU_SPDIF 16
26+
#define CLK_MCU_DMIC 17
27+
#define CLK_BUS_MCU_DMIC 18
28+
#define CLK_MCU_AUDIO_CODEC_DAC 19
29+
#define CLK_MCU_AUDIO_CODEC_ADC 20
30+
#define CLK_BUS_MCU_AUDIO_CODEC 21
31+
#define CLK_BUS_MCU_DSP_MSGBOX 22
32+
#define CLK_BUS_MCU_DSP_CFG 23
33+
#define CLK_BUS_MCU_NPU_HCLK 24
34+
#define CLK_BUS_MCU_NPU_ACLK 25
35+
#define CLK_MCU_TIMER0 26
36+
#define CLK_MCU_TIMER1 27
37+
#define CLK_MCU_TIMER2 28
38+
#define CLK_MCU_TIMER3 29
39+
#define CLK_MCU_TIMER4 30
40+
#define CLK_MCU_TIMER5 31
41+
#define CLK_BUS_MCU_TIMER 32
42+
#define CLK_BUS_MCU_DMA 33
43+
#define CLK_MCU_TZMA0 34
44+
#define CLK_MCU_TZMA1 35
45+
#define CLK_BUS_MCU_PUBSRAM 36
46+
#define CLK_MCU_MBUS_DMA 37
47+
#define CLK_MCU_MBUS 38
48+
#define CLK_MCU_RISCV 39
49+
#define CLK_BUS_MCU_RISCV_CFG 40
50+
#define CLK_BUS_MCU_RISCV_MSGBOX 41
51+
#define CLK_MCU_PWM0 42
52+
#define CLK_BUS_MCU_PWM0 43
53+
54+
#endif /* _DT_BINDINGS_CLK_SUN55I_A523_MCU_CCU_H_ */
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/* SPDX-License-Identifier: (GPL-2.0-only OR MIT) */
2+
/*
3+
* Copyright (C) 2025 Chen-Yu Tsai <wens@csie.org>
4+
*/
5+
6+
#ifndef _DT_BINDINGS_RST_SUN55I_A523_MCU_CCU_H_
7+
#define _DT_BINDINGS_RST_SUN55I_A523_MCU_CCU_H_
8+
9+
#define RST_BUS_MCU_I2S0 0
10+
#define RST_BUS_MCU_I2S1 1
11+
#define RST_BUS_MCU_I2S2 2
12+
#define RST_BUS_MCU_I2S3 3
13+
#define RST_BUS_MCU_SPDIF 4
14+
#define RST_BUS_MCU_DMIC 5
15+
#define RST_BUS_MCU_AUDIO_CODEC 6
16+
#define RST_BUS_MCU_DSP_MSGBOX 7
17+
#define RST_BUS_MCU_DSP_CFG 8
18+
#define RST_BUS_MCU_NPU 9
19+
#define RST_BUS_MCU_TIMER 10
20+
#define RST_BUS_MCU_DSP_DEBUG 11
21+
#define RST_BUS_MCU_DSP 12
22+
#define RST_BUS_MCU_DMA 13
23+
#define RST_BUS_MCU_PUBSRAM 14
24+
#define RST_BUS_MCU_RISCV_CFG 15
25+
#define RST_BUS_MCU_RISCV_DEBUG 16
26+
#define RST_BUS_MCU_RISCV_CORE 17
27+
#define RST_BUS_MCU_RISCV_MSGBOX 18
28+
#define RST_BUS_MCU_PWM0 19
29+
30+
#endif /* _DT_BINDINGS_RST_SUN55I_A523_MCU_CCU_H_ */

0 commit comments

Comments
 (0)