1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 * Device Tree Source for the R9A08G045S33 SMARC Carrier-II's SoM board.
5 * Copyright (C) 2023 Renesas Electronics Corp.
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
12 * On-board switches' states:
13 * @SW_OFF: switch's state is OFF
14 * @SW_ON: switch's state is ON
20 * SW_CONFIG[x] switches' states:
22 * SW_OFF - SD0 is connected to eMMC
23 * SW_ON - SD0 is connected to uSD0 card
25 * SW_OFF - SD2 is connected to SoC
26 * SW_ON - SCIF1, SSI0, IRQ0, IRQ1 connected to SoC
28 #define SW_CONFIG2 SW_ON
29 #define SW_CONFIG3 SW_ON
32 compatible = "renesas,rzg3s-smarcm", "renesas,r9a08g045s33", "renesas,r9a08g045";
36 #if SW_CONFIG3 == SW_OFF
45 bootargs = "ignore_loglevel";
46 stdout-path = "serial0:115200n8";
50 device_type = "memory";
51 /* First 128MB is reserved for secure area. */
52 reg = <0x0 0x48000000 0x0 0x38000000>;
55 vcc_sdhi0: regulator0 {
56 compatible = "regulator-fixed";
57 regulator-name = "SDHI0 Vcc";
58 regulator-min-microvolt = <3300000>;
59 regulator-max-microvolt = <3300000>;
60 gpios = <&pinctrl RZG2L_GPIO(2, 1) GPIO_ACTIVE_HIGH>;
64 #if SW_CONFIG2 == SW_ON
65 vccq_sdhi0: regulator1 {
66 compatible = "regulator-gpio";
67 regulator-name = "SDHI0 VccQ";
68 regulator-min-microvolt = <1800000>;
69 regulator-max-microvolt = <3300000>;
70 gpios = <&pinctrl RZG2L_GPIO(2, 2) GPIO_ACTIVE_HIGH>;
72 states = <3300000 1>, <1800000 0>;
75 reg_1p8v: regulator1 {
76 compatible = "regulator-fixed";
77 regulator-name = "fixed-1.8V";
78 regulator-min-microvolt = <1800000>;
79 regulator-max-microvolt = <1800000>;
85 vcc_sdhi2: regulator2 {
86 compatible = "regulator-fixed";
87 regulator-name = "SDHI2 Vcc";
88 regulator-min-microvolt = <3300000>;
89 regulator-max-microvolt = <3300000>;
90 gpios = <&pinctrl RZG2L_GPIO(8, 1) GPIO_ACTIVE_HIGH>;
95 #if SW_CONFIG3 == SW_ON
97 pinctrl-0 = <ð0_pins>;
98 pinctrl-names = "default";
100 phy-mode = "rgmii-id";
103 phy0: ethernet-phy@7 {
105 interrupt-parent = <&pinctrl>;
106 interrupts = <RZG2L_GPIO(12, 0) IRQ_TYPE_EDGE_FALLING>;
109 rxdv-skew-psec = <0>;
110 txen-skew-psec = <0>;
111 rxd0-skew-psec = <0>;
112 rxd1-skew-psec = <0>;
113 rxd2-skew-psec = <0>;
114 rxd3-skew-psec = <0>;
115 txd0-skew-psec = <0>;
116 txd1-skew-psec = <0>;
117 txd2-skew-psec = <0>;
118 txd3-skew-psec = <0>;
123 pinctrl-0 = <ð1_pins>;
124 pinctrl-names = "default";
125 phy-handle = <&phy1>;
126 phy-mode = "rgmii-id";
129 phy1: ethernet-phy@7 {
131 interrupt-parent = <&pinctrl>;
132 interrupts = <RZG2L_GPIO(12, 1) IRQ_TYPE_EDGE_FALLING>;
135 rxdv-skew-psec = <0>;
136 txen-skew-psec = <0>;
137 rxd0-skew-psec = <0>;
138 rxd1-skew-psec = <0>;
139 rxd2-skew-psec = <0>;
140 rxd3-skew-psec = <0>;
141 txd0-skew-psec = <0>;
142 txd1-skew-psec = <0>;
143 txd2-skew-psec = <0>;
144 txd3-skew-psec = <0>;
150 clock-frequency = <24000000>;
153 #if SW_CONFIG2 == SW_ON
156 pinctrl-0 = <&sdhi0_pins>;
157 pinctrl-1 = <&sdhi0_uhs_pins>;
158 pinctrl-names = "default", "state_uhs";
159 vmmc-supply = <&vcc_sdhi0>;
160 vqmmc-supply = <&vccq_sdhi0>;
164 max-frequency = <125000000>;
170 pinctrl-0 = <&sdhi0_emmc_pins>;
171 pinctrl-1 = <&sdhi0_emmc_pins>;
172 pinctrl-names = "default", "state_uhs";
173 vmmc-supply = <&vcc_sdhi0>;
174 vqmmc-supply = <®_1p8v>;
178 fixed-emmc-driver-type = <1>;
179 max-frequency = <125000000>;
184 #if SW_CONFIG3 == SW_OFF
186 pinctrl-0 = <&sdhi2_pins>;
187 pinctrl-names = "default";
188 vmmc-supply = <&vcc_sdhi2>;
190 max-frequency = <50000000>;
198 gpios = <RZG2L_GPIO(12, 0) GPIO_ACTIVE_LOW>;
200 line-name = "eth0-phy-irq";
205 pinmux = <RZG2L_PORT_PINMUX(1, 0, 1)>; /* ET0_TXC */
206 power-source = <1800>;
209 drive-strength-microamp = <5200>;
213 pinmux = <RZG2L_PORT_PINMUX(1, 1, 1)>; /* ET0_TX_CTL */
214 power-source = <1800>;
216 drive-strength-microamp = <5200>;
220 pinmux = <RZG2L_PORT_PINMUX(1, 2, 1)>, /* ET0_TXD0 */
221 <RZG2L_PORT_PINMUX(1, 3, 1)>, /* ET0_TXD1 */
222 <RZG2L_PORT_PINMUX(1, 4, 1)>, /* ET0_TXD2 */
223 <RZG2L_PORT_PINMUX(2, 0, 1)>, /* ET0_TXD3 */
224 <RZG2L_PORT_PINMUX(3, 0, 1)>, /* ET0_RXC */
225 <RZG2L_PORT_PINMUX(3, 1, 1)>, /* ET0_RX_CTL */
226 <RZG2L_PORT_PINMUX(3, 2, 1)>, /* ET0_RXD0 */
227 <RZG2L_PORT_PINMUX(3, 3, 1)>, /* ET0_RXD1 */
228 <RZG2L_PORT_PINMUX(4, 0, 1)>, /* ET0_RXD2 */
229 <RZG2L_PORT_PINMUX(4, 1, 1)>, /* ET0_RXD3 */
230 <RZG2L_PORT_PINMUX(4, 3, 1)>, /* ET0_MDC */
231 <RZG2L_PORT_PINMUX(4, 4, 1)>, /* ET0_MDIO */
232 <RZG2L_PORT_PINMUX(4, 5, 1)>; /* ET0_LINKSTA */
233 power-source = <1800>;
239 gpios = <RZG2L_GPIO(12, 1) GPIO_ACTIVE_LOW>;
241 line-name = "eth1-phy-irq";
246 pinmux = <RZG2L_PORT_PINMUX(7, 0, 1)>; /* ET1_TXC */
247 power-source = <1800>;
250 drive-strength-microamp = <5200>;
254 pinmux = <RZG2L_PORT_PINMUX(7, 1, 1)>; /* ET1_TX_CTL */
255 power-source = <1800>;
257 drive-strength-microamp = <5200>;
261 pinmux = <RZG2L_PORT_PINMUX(7, 2, 1)>, /* ET1_TXD0 */
262 <RZG2L_PORT_PINMUX(7, 3, 1)>, /* ET1_TXD1 */
263 <RZG2L_PORT_PINMUX(7, 4, 1)>, /* ET1_TXD2 */
264 <RZG2L_PORT_PINMUX(8, 0, 1)>, /* ET1_TXD3 */
265 <RZG2L_PORT_PINMUX(8, 4, 1)>, /* ET1_RXC */
266 <RZG2L_PORT_PINMUX(9, 0, 1)>, /* ET1_RX_CTL */
267 <RZG2L_PORT_PINMUX(9, 1, 1)>, /* ET1_RXD0 */
268 <RZG2L_PORT_PINMUX(9, 2, 1)>, /* ET1_RXD1 */
269 <RZG2L_PORT_PINMUX(9, 3, 1)>, /* ET1_RXD2 */
270 <RZG2L_PORT_PINMUX(10, 0, 1)>, /* ET1_RXD3 */
271 <RZG2L_PORT_PINMUX(10, 2, 1)>, /* ET1_MDC */
272 <RZG2L_PORT_PINMUX(10, 3, 1)>, /* ET1_MDIO */
273 <RZG2L_PORT_PINMUX(10, 4, 1)>; /* ET1_LINKSTA */
274 power-source = <1800>;
280 pins = "SD0_DATA0", "SD0_DATA1", "SD0_DATA2", "SD0_DATA3";
281 power-source = <3300>;
285 pins = "SD0_CLK", "SD0_CMD";
286 power-source = <3300>;
290 pinmux = <RZG2L_PORT_PINMUX(0, 0, 1)>; /* SD0_CD */
294 sdhi0_uhs_pins: sd0-uhs {
296 pins = "SD0_DATA0", "SD0_DATA1", "SD0_DATA2", "SD0_DATA3";
297 power-source = <1800>;
301 pins = "SD0_CLK", "SD0_CMD";
302 power-source = <1800>;
306 pinmux = <RZG2L_PORT_PINMUX(0, 0, 1)>; /* SD0_CD */
310 sdhi0_emmc_pins: sd0-emmc {
311 pins = "SD0_DATA0", "SD0_DATA1", "SD0_DATA2", "SD0_DATA3",
312 "SD0_DATA4", "SD0_DATA5", "SD0_DATA6", "SD0_DATA7",
313 "SD0_CLK", "SD0_CMD", "SD0_RST#";
314 power-source = <1800>;
319 pins = "P11_2", "P11_3", "P12_0", "P12_1";
329 pinmux = <RZG2L_PORT_PINMUX(11, 0, 8)>, /* SD2_CLK */
330 <RZG2L_PORT_PINMUX(11, 1, 8)>, /* SD2_CMD */
331 <RZG2L_PORT_PINMUX(11, 2, 8)>, /* SD2_DATA0 */
332 <RZG2L_PORT_PINMUX(11, 3, 8)>, /* SD2_DATA1 */
333 <RZG2L_PORT_PINMUX(12, 0, 8)>, /* SD2_DATA2 */
334 <RZG2L_PORT_PINMUX(12, 1, 8)>, /* SD2_DATA3 */
335 <RZG2L_PORT_PINMUX(14, 1, 7)>; /* SD2_CD# */