Skip to content

Commit 76c6217

Browse files
aspeedtechlag-linaro
authored andcommitted
dt-bindings: mfd: aspeed: Support for AST2700
Add reset, clk dt bindings headers, and update compatible support for AST2700 clk, silicon-id in yaml. Signed-off-by: Ryan Chen <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Lee Jones <[email protected]>
1 parent 10821a0 commit 76c6217

File tree

3 files changed

+294
-1
lines changed

3 files changed

+294
-1
lines changed

Documentation/devicetree/bindings/mfd/aspeed,ast2x00-scu.yaml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ title: Aspeed System Control Unit
99
description:
1010
The Aspeed System Control Unit manages the global behaviour of the SoC,
1111
configuring elements such as clocks, pinmux, and reset.
12+
In AST2700 SOC which has two soc connection, each soc have its own scu
13+
register control, ast2700-scu0 for soc0, ast2700-scu1 for soc1.
1214

1315
maintainers:
1416
- Joel Stanley <[email protected]>
@@ -21,6 +23,8 @@ properties:
2123
- aspeed,ast2400-scu
2224
- aspeed,ast2500-scu
2325
- aspeed,ast2600-scu
26+
- aspeed,ast2700-scu0
27+
- aspeed,ast2700-scu1
2428
- const: syscon
2529
- const: simple-mfd
2630

@@ -30,7 +34,8 @@ properties:
3034
ranges: true
3135

3236
'#address-cells':
33-
const: 1
37+
minimum: 1
38+
maximum: 2
3439

3540
'#size-cells':
3641
const: 1
@@ -76,6 +81,7 @@ patternProperties:
7681
- aspeed,ast2400-silicon-id
7782
- aspeed,ast2500-silicon-id
7883
- aspeed,ast2600-silicon-id
84+
- aspeed,ast2700-silicon-id
7985
- const: aspeed,silicon-id
8086

8187
reg:
Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
2+
/*
3+
* Device Tree binding constants for AST2700 clock controller.
4+
*
5+
* Copyright (c) 2024 Aspeed Technology Inc.
6+
*/
7+
8+
#ifndef __DT_BINDINGS_CLOCK_AST2700_H
9+
#define __DT_BINDINGS_CLOCK_AST2700_H
10+
11+
/* SOC0 clk */
12+
#define SCU0_CLKIN 0
13+
#define SCU0_CLK_24M 1
14+
#define SCU0_CLK_192M 2
15+
#define SCU0_CLK_UART 3
16+
#define SCU0_CLK_UART_DIV13 3
17+
#define SCU0_CLK_PSP 4
18+
#define SCU0_CLK_HPLL 5
19+
#define SCU0_CLK_HPLL_DIV2 6
20+
#define SCU0_CLK_HPLL_DIV4 7
21+
#define SCU0_CLK_HPLL_DIV_AHB 8
22+
#define SCU0_CLK_DPLL 9
23+
#define SCU0_CLK_MPLL 10
24+
#define SCU0_CLK_MPLL_DIV2 11
25+
#define SCU0_CLK_MPLL_DIV4 12
26+
#define SCU0_CLK_MPLL_DIV8 13
27+
#define SCU0_CLK_MPLL_DIV_AHB 14
28+
#define SCU0_CLK_D0 15
29+
#define SCU0_CLK_D1 16
30+
#define SCU0_CLK_CRT0 17
31+
#define SCU0_CLK_CRT1 18
32+
#define SCU0_CLK_MPHY 19
33+
#define SCU0_CLK_AXI0 20
34+
#define SCU0_CLK_AXI1 21
35+
#define SCU0_CLK_AHB 22
36+
#define SCU0_CLK_APB 23
37+
#define SCU0_CLK_UART4 24
38+
#define SCU0_CLK_EMMCMUX 25
39+
#define SCU0_CLK_EMMC 26
40+
#define SCU0_CLK_U2PHY_CLK12M 27
41+
#define SCU0_CLK_U2PHY_REFCLK 28
42+
43+
/* SOC0 clk-gate */
44+
#define SCU0_CLK_GATE_MCLK 29
45+
#define SCU0_CLK_GATE_ECLK 30
46+
#define SCU0_CLK_GATE_2DCLK 31
47+
#define SCU0_CLK_GATE_VCLK 32
48+
#define SCU0_CLK_GATE_BCLK 33
49+
#define SCU0_CLK_GATE_VGA0CLK 34
50+
#define SCU0_CLK_GATE_REFCLK 35
51+
#define SCU0_CLK_GATE_PORTBUSB2CLK 36
52+
#define SCU0_CLK_GATE_UHCICLK 37
53+
#define SCU0_CLK_GATE_VGA1CLK 38
54+
#define SCU0_CLK_GATE_DDRPHYCLK 39
55+
#define SCU0_CLK_GATE_E2M0CLK 40
56+
#define SCU0_CLK_GATE_HACCLK 41
57+
#define SCU0_CLK_GATE_PORTAUSB2CLK 42
58+
#define SCU0_CLK_GATE_UART4CLK 43
59+
#define SCU0_CLK_GATE_SLICLK 44
60+
#define SCU0_CLK_GATE_DACCLK 45
61+
#define SCU0_CLK_GATE_DP 46
62+
#define SCU0_CLK_GATE_E2M1CLK 47
63+
#define SCU0_CLK_GATE_CRT0CLK 48
64+
#define SCU0_CLK_GATE_CRT1CLK 49
65+
#define SCU0_CLK_GATE_ECDSACLK 50
66+
#define SCU0_CLK_GATE_RSACLK 51
67+
#define SCU0_CLK_GATE_RVAS0CLK 52
68+
#define SCU0_CLK_GATE_UFSCLK 53
69+
#define SCU0_CLK_GATE_EMMCCLK 54
70+
#define SCU0_CLK_GATE_RVAS1CLK 55
71+
72+
/* SOC1 clk */
73+
#define SCU1_CLKIN 0
74+
#define SCU1_CLK_HPLL 1
75+
#define SCU1_CLK_APLL 2
76+
#define SCU1_CLK_APLL_DIV2 3
77+
#define SCU1_CLK_APLL_DIV4 4
78+
#define SCU1_CLK_DPLL 5
79+
#define SCU1_CLK_UXCLK 6
80+
#define SCU1_CLK_HUXCLK 7
81+
#define SCU1_CLK_UARTX 8
82+
#define SCU1_CLK_HUARTX 9
83+
#define SCU1_CLK_AHB 10
84+
#define SCU1_CLK_APB 11
85+
#define SCU1_CLK_UART0 12
86+
#define SCU1_CLK_UART1 13
87+
#define SCU1_CLK_UART2 14
88+
#define SCU1_CLK_UART3 15
89+
#define SCU1_CLK_UART5 16
90+
#define SCU1_CLK_UART6 17
91+
#define SCU1_CLK_UART7 18
92+
#define SCU1_CLK_UART8 19
93+
#define SCU1_CLK_UART9 20
94+
#define SCU1_CLK_UART10 21
95+
#define SCU1_CLK_UART11 22
96+
#define SCU1_CLK_UART12 23
97+
#define SCU1_CLK_UART13 24
98+
#define SCU1_CLK_UART14 25
99+
#define SCU1_CLK_APLL_DIVN 26
100+
#define SCU1_CLK_SDMUX 27
101+
#define SCU1_CLK_SDCLK 28
102+
#define SCU1_CLK_RMII 29
103+
#define SCU1_CLK_RGMII 30
104+
#define SCU1_CLK_MACHCLK 31
105+
#define SCU1_CLK_MAC0RCLK 32
106+
#define SCU1_CLK_MAC1RCLK 33
107+
#define SCU1_CLK_CAN 34
108+
109+
/* SOC1 clk gate */
110+
#define SCU1_CLK_GATE_LCLK0 35
111+
#define SCU1_CLK_GATE_LCLK1 36
112+
#define SCU1_CLK_GATE_ESPI0CLK 37
113+
#define SCU1_CLK_GATE_ESPI1CLK 38
114+
#define SCU1_CLK_GATE_SDCLK 39
115+
#define SCU1_CLK_GATE_IPEREFCLK 40
116+
#define SCU1_CLK_GATE_REFCLK 41
117+
#define SCU1_CLK_GATE_LPCHCLK 42
118+
#define SCU1_CLK_GATE_MAC0CLK 43
119+
#define SCU1_CLK_GATE_MAC1CLK 44
120+
#define SCU1_CLK_GATE_MAC2CLK 45
121+
#define SCU1_CLK_GATE_UART0CLK 46
122+
#define SCU1_CLK_GATE_UART1CLK 47
123+
#define SCU1_CLK_GATE_UART2CLK 48
124+
#define SCU1_CLK_GATE_UART3CLK 49
125+
#define SCU1_CLK_GATE_I2CCLK 50
126+
#define SCU1_CLK_GATE_I3C0CLK 51
127+
#define SCU1_CLK_GATE_I3C1CLK 52
128+
#define SCU1_CLK_GATE_I3C2CLK 53
129+
#define SCU1_CLK_GATE_I3C3CLK 54
130+
#define SCU1_CLK_GATE_I3C4CLK 55
131+
#define SCU1_CLK_GATE_I3C5CLK 56
132+
#define SCU1_CLK_GATE_I3C6CLK 57
133+
#define SCU1_CLK_GATE_I3C7CLK 58
134+
#define SCU1_CLK_GATE_I3C8CLK 59
135+
#define SCU1_CLK_GATE_I3C9CLK 60
136+
#define SCU1_CLK_GATE_I3C10CLK 61
137+
#define SCU1_CLK_GATE_I3C11CLK 62
138+
#define SCU1_CLK_GATE_I3C12CLK 63
139+
#define SCU1_CLK_GATE_I3C13CLK 64
140+
#define SCU1_CLK_GATE_I3C14CLK 65
141+
#define SCU1_CLK_GATE_I3C15CLK 66
142+
#define SCU1_CLK_GATE_UART5CLK 67
143+
#define SCU1_CLK_GATE_UART6CLK 68
144+
#define SCU1_CLK_GATE_UART7CLK 69
145+
#define SCU1_CLK_GATE_UART8CLK 70
146+
#define SCU1_CLK_GATE_UART9CLK 71
147+
#define SCU1_CLK_GATE_UART10CLK 72
148+
#define SCU1_CLK_GATE_UART11CLK 73
149+
#define SCU1_CLK_GATE_UART12CLK 74
150+
#define SCU1_CLK_GATE_FSICLK 75
151+
#define SCU1_CLK_GATE_LTPIPHYCLK 76
152+
#define SCU1_CLK_GATE_LTPICLK 77
153+
#define SCU1_CLK_GATE_VGALCLK 78
154+
#define SCU1_CLK_GATE_UHCICLK 79
155+
#define SCU1_CLK_GATE_CANCLK 80
156+
#define SCU1_CLK_GATE_PCICLK 81
157+
#define SCU1_CLK_GATE_SLICLK 82
158+
#define SCU1_CLK_GATE_E2MCLK 83
159+
#define SCU1_CLK_GATE_PORTCUSB2CLK 84
160+
#define SCU1_CLK_GATE_PORTDUSB2CLK 85
161+
#define SCU1_CLK_GATE_LTPI1TXCLK 86
162+
163+
#endif
Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
2+
/*
3+
* Device Tree binding constants for AST2700 reset controller.
4+
*
5+
* Copyright (c) 2024 Aspeed Technology Inc.
6+
*/
7+
8+
#ifndef _MACH_ASPEED_AST2700_RESET_H_
9+
#define _MACH_ASPEED_AST2700_RESET_H_
10+
11+
/* SOC0 */
12+
#define SCU0_RESET_SDRAM 0
13+
#define SCU0_RESET_DDRPHY 1
14+
#define SCU0_RESET_RSA 2
15+
#define SCU0_RESET_SHA3 3
16+
#define SCU0_RESET_HACE 4
17+
#define SCU0_RESET_SOC 5
18+
#define SCU0_RESET_VIDEO 6
19+
#define SCU0_RESET_2D 7
20+
#define SCU0_RESET_PCIS 8
21+
#define SCU0_RESET_RVAS0 9
22+
#define SCU0_RESET_RVAS1 10
23+
#define SCU0_RESET_SM3 11
24+
#define SCU0_RESET_SM4 12
25+
#define SCU0_RESET_CRT0 13
26+
#define SCU0_RESET_ECC 14
27+
#define SCU0_RESET_DP_PCI 15
28+
#define SCU0_RESET_UFS 16
29+
#define SCU0_RESET_EMMC 17
30+
#define SCU0_RESET_PCIE1RST 18
31+
#define SCU0_RESET_PCIE1RSTOE 19
32+
#define SCU0_RESET_PCIE0RST 20
33+
#define SCU0_RESET_PCIE0RSTOE 21
34+
#define SCU0_RESET_JTAG 22
35+
#define SCU0_RESET_MCTP0 23
36+
#define SCU0_RESET_MCTP1 24
37+
#define SCU0_RESET_XDMA0 25
38+
#define SCU0_RESET_XDMA1 26
39+
#define SCU0_RESET_H2X1 27
40+
#define SCU0_RESET_DP 28
41+
#define SCU0_RESET_DP_MCU 29
42+
#define SCU0_RESET_SSP 30
43+
#define SCU0_RESET_H2X0 31
44+
#define SCU0_RESET_PORTA_VHUB 32
45+
#define SCU0_RESET_PORTA_PHY3 33
46+
#define SCU0_RESET_PORTA_XHCI 34
47+
#define SCU0_RESET_PORTB_VHUB 35
48+
#define SCU0_RESET_PORTB_PHY3 36
49+
#define SCU0_RESET_PORTB_XHCI 37
50+
#define SCU0_RESET_PORTA_VHUB_EHCI 38
51+
#define SCU0_RESET_PORTB_VHUB_EHCI 39
52+
#define SCU0_RESET_UHCI 40
53+
#define SCU0_RESET_TSP 41
54+
#define SCU0_RESET_E2M0 42
55+
#define SCU0_RESET_E2M1 43
56+
#define SCU0_RESET_VLINK 44
57+
58+
/* SOC1 */
59+
#define SCU1_RESET_LPC0 0
60+
#define SCU1_RESET_LPC1 1
61+
#define SCU1_RESET_MII 2
62+
#define SCU1_RESET_PECI 3
63+
#define SCU1_RESET_PWM 4
64+
#define SCU1_RESET_MAC0 5
65+
#define SCU1_RESET_MAC1 6
66+
#define SCU1_RESET_MAC2 7
67+
#define SCU1_RESET_ADC 8
68+
#define SCU1_RESET_SD 9
69+
#define SCU1_RESET_ESPI0 10
70+
#define SCU1_RESET_ESPI1 11
71+
#define SCU1_RESET_JTAG1 12
72+
#define SCU1_RESET_SPI0 13
73+
#define SCU1_RESET_SPI1 14
74+
#define SCU1_RESET_SPI2 15
75+
#define SCU1_RESET_I3C0 16
76+
#define SCU1_RESET_I3C1 17
77+
#define SCU1_RESET_I3C2 18
78+
#define SCU1_RESET_I3C3 19
79+
#define SCU1_RESET_I3C4 20
80+
#define SCU1_RESET_I3C5 21
81+
#define SCU1_RESET_I3C6 22
82+
#define SCU1_RESET_I3C7 23
83+
#define SCU1_RESET_I3C8 24
84+
#define SCU1_RESET_I3C9 25
85+
#define SCU1_RESET_I3C10 26
86+
#define SCU1_RESET_I3C11 27
87+
#define SCU1_RESET_I3C12 28
88+
#define SCU1_RESET_I3C13 29
89+
#define SCU1_RESET_I3C14 30
90+
#define SCU1_RESET_I3C15 31
91+
#define SCU1_RESET_MCU0 32
92+
#define SCU1_RESET_MCU1 33
93+
#define SCU1_RESET_H2A_SPI1 34
94+
#define SCU1_RESET_H2A_SPI2 35
95+
#define SCU1_RESET_UART0 36
96+
#define SCU1_RESET_UART1 37
97+
#define SCU1_RESET_UART2 38
98+
#define SCU1_RESET_UART3 39
99+
#define SCU1_RESET_I2C_FILTER 40
100+
#define SCU1_RESET_CALIPTRA 41
101+
#define SCU1_RESET_XDMA 42
102+
#define SCU1_RESET_FSI 43
103+
#define SCU1_RESET_CAN 44
104+
#define SCU1_RESET_MCTP 45
105+
#define SCU1_RESET_I2C 46
106+
#define SCU1_RESET_UART6 47
107+
#define SCU1_RESET_UART7 48
108+
#define SCU1_RESET_UART8 49
109+
#define SCU1_RESET_UART9 50
110+
#define SCU1_RESET_LTPI0 51
111+
#define SCU1_RESET_VGAL 52
112+
#define SCU1_RESET_LTPI1 53
113+
#define SCU1_RESET_ACE 54
114+
#define SCU1_RESET_E2M 55
115+
#define SCU1_RESET_UHCI 56
116+
#define SCU1_RESET_PORTC_USB2UART 57
117+
#define SCU1_RESET_PORTC_VHUB_EHCI 58
118+
#define SCU1_RESET_PORTD_USB2UART 59
119+
#define SCU1_RESET_PORTD_VHUB_EHCI 60
120+
#define SCU1_RESET_H2X 61
121+
#define SCU1_RESET_I3CDMA 62
122+
#define SCU1_RESET_PCIE2RST 63
123+
124+
#endif /* _MACH_ASPEED_AST2700_RESET_H_ */

0 commit comments

Comments
 (0)