~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/renesas/rzg3s-smarc-som.dtsi

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 /*
  3  * Device Tree Source for the R9A08G045S33 SMARC Carrier-II's SoM board.
  4  *
  5  * Copyright (C) 2023 Renesas Electronics Corp.
  6  */
  7 
  8 #include <dt-bindings/gpio/gpio.h>
  9 #include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
 10 
 11 /*
 12  * On-board switches' states:
 13  * @SW_OFF: switch's state is OFF
 14  * @SW_ON:  switch's state is ON
 15  */
 16 #define SW_OFF          0
 17 #define SW_ON           1
 18 
 19 /*
 20  * SW_CONFIG[x] switches' states:
 21  * @SW_CONFIG2:
 22  *      SW_OFF - SD0 is connected to eMMC
 23  *      SW_ON  - SD0 is connected to uSD0 card
 24  * @SW_CONFIG3:
 25  *      SW_OFF - SD2 is connected to SoC
 26  *      SW_ON  - SCIF1, SSI0, IRQ0, IRQ1 connected to SoC
 27  */
 28 #define SW_CONFIG2      SW_OFF
 29 #define SW_CONFIG3      SW_ON
 30 
 31 / {
 32         compatible = "renesas,rzg3s-smarcm", "renesas,r9a08g045s33", "renesas,r9a08g045";
 33 
 34         aliases {
 35                 i2c1 = &i2c1;
 36                 mmc0 = &sdhi0;
 37 #if SW_CONFIG3 == SW_OFF
 38                 mmc2 = &sdhi2;
 39 #else
 40                 ethernet0 = &eth0;
 41                 ethernet1 = &eth1;
 42 #endif
 43         };
 44 
 45         chosen {
 46                 bootargs = "ignore_loglevel";
 47                 stdout-path = "serial0:115200n8";
 48         };
 49 
 50         memory@48000000 {
 51                 device_type = "memory";
 52                 /* First 128MB is reserved for secure area. */
 53                 reg = <0x0 0x48000000 0x0 0x38000000>;
 54         };
 55 
 56         vcc_sdhi0: regulator0 {
 57                 compatible = "regulator-fixed";
 58                 regulator-name = "SDHI0 Vcc";
 59                 regulator-min-microvolt = <3300000>;
 60                 regulator-max-microvolt = <3300000>;
 61                 gpios = <&pinctrl RZG2L_GPIO(2, 1) GPIO_ACTIVE_HIGH>;
 62                 enable-active-high;
 63         };
 64 
 65 #if SW_CONFIG2 == SW_ON
 66         vccq_sdhi0: regulator1 {
 67                 compatible = "regulator-gpio";
 68                 regulator-name = "SDHI0 VccQ";
 69                 regulator-min-microvolt = <1800000>;
 70                 regulator-max-microvolt = <3300000>;
 71                 gpios = <&pinctrl RZG2L_GPIO(2, 2) GPIO_ACTIVE_HIGH>;
 72                 gpios-states = <1>;
 73                 states = <3300000 1>, <1800000 0>;
 74         };
 75 #else
 76         reg_1p8v: regulator1 {
 77                 compatible = "regulator-fixed";
 78                 regulator-name = "fixed-1.8V";
 79                 regulator-min-microvolt = <1800000>;
 80                 regulator-max-microvolt = <1800000>;
 81                 regulator-boot-on;
 82                 regulator-always-on;
 83         };
 84 #endif
 85 
 86         vcc_sdhi2: regulator2 {
 87                 compatible = "regulator-fixed";
 88                 regulator-name = "SDHI2 Vcc";
 89                 regulator-min-microvolt = <3300000>;
 90                 regulator-max-microvolt = <3300000>;
 91                 gpios = <&pinctrl RZG2L_GPIO(8, 1) GPIO_ACTIVE_HIGH>;
 92                 enable-active-high;
 93         };
 94 };
 95 
 96 #if SW_CONFIG3 == SW_ON
 97 &eth0 {
 98         pinctrl-0 = <&eth0_pins>;
 99         pinctrl-names = "default";
100         phy-handle = <&phy0>;
101         phy-mode = "rgmii-id";
102         status = "okay";
103 
104         phy0: ethernet-phy@7 {
105                 reg = <7>;
106                 interrupt-parent = <&pinctrl>;
107                 interrupts = <RZG2L_GPIO(12, 0) IRQ_TYPE_EDGE_FALLING>;
108                 rxc-skew-psec = <0>;
109                 txc-skew-psec = <0>;
110                 rxdv-skew-psec = <0>;
111                 txen-skew-psec = <0>;
112                 rxd0-skew-psec = <0>;
113                 rxd1-skew-psec = <0>;
114                 rxd2-skew-psec = <0>;
115                 rxd3-skew-psec = <0>;
116                 txd0-skew-psec = <0>;
117                 txd1-skew-psec = <0>;
118                 txd2-skew-psec = <0>;
119                 txd3-skew-psec = <0>;
120         };
121 };
122 
123 &eth1 {
124         pinctrl-0 = <&eth1_pins>;
125         pinctrl-names = "default";
126         phy-handle = <&phy1>;
127         phy-mode = "rgmii-id";
128         status = "okay";
129 
130         phy1: ethernet-phy@7 {
131                 reg = <7>;
132                 interrupt-parent = <&pinctrl>;
133                 interrupts = <RZG2L_GPIO(12, 1) IRQ_TYPE_EDGE_FALLING>;
134                 rxc-skew-psec = <0>;
135                 txc-skew-psec = <0>;
136                 rxdv-skew-psec = <0>;
137                 txen-skew-psec = <0>;
138                 rxd0-skew-psec = <0>;
139                 rxd1-skew-psec = <0>;
140                 rxd2-skew-psec = <0>;
141                 rxd3-skew-psec = <0>;
142                 txd0-skew-psec = <0>;
143                 txd1-skew-psec = <0>;
144                 txd2-skew-psec = <0>;
145                 txd3-skew-psec = <0>;
146         };
147 };
148 #endif
149 
150 &extal_clk {
151         clock-frequency = <24000000>;
152 };
153 
154 &i2c1 {
155         status = "okay";
156 };
157 
158 #if SW_CONFIG2 == SW_ON
159 /* SD0 slot */
160 &sdhi0 {
161         pinctrl-0 = <&sdhi0_pins>;
162         pinctrl-1 = <&sdhi0_uhs_pins>;
163         pinctrl-names = "default", "state_uhs";
164         vmmc-supply = <&vcc_sdhi0>;
165         vqmmc-supply = <&vccq_sdhi0>;
166         bus-width = <4>;
167         sd-uhs-sdr50;
168         sd-uhs-sdr104;
169         max-frequency = <125000000>;
170         status = "okay";
171 };
172 #else
173 /* eMMC */
174 &sdhi0 {
175         pinctrl-0 = <&sdhi0_emmc_pins>;
176         pinctrl-1 = <&sdhi0_emmc_pins>;
177         pinctrl-names = "default", "state_uhs";
178         vmmc-supply = <&vcc_sdhi0>;
179         vqmmc-supply = <&reg_1p8v>;
180         bus-width = <8>;
181         mmc-hs200-1_8v;
182         non-removable;
183         fixed-emmc-driver-type = <1>;
184         max-frequency = <125000000>;
185         status = "okay";
186 };
187 #endif
188 
189 #if SW_CONFIG3 == SW_OFF
190 &sdhi2 {
191         pinctrl-0 = <&sdhi2_pins>;
192         pinctrl-names = "default";
193         vmmc-supply = <&vcc_sdhi2>;
194         bus-width = <4>;
195         max-frequency = <50000000>;
196         status = "okay";
197 };
198 #endif
199 
200 &pinctrl {
201 #if SW_CONFIG3 == SW_ON
202         eth0-phy-irq-hog {
203                 gpio-hog;
204                 gpios = <RZG2L_GPIO(12, 0) GPIO_ACTIVE_LOW>;
205                 input;
206                 line-name = "eth0-phy-irq";
207         };
208 #endif
209 
210         eth0_pins: eth0 {
211                 txc {
212                         pinmux = <RZG2L_PORT_PINMUX(1, 0, 1)>;  /* ET0_TXC */
213                         power-source = <1800>;
214                         output-enable;
215                         input-enable;
216                         drive-strength-microamp = <5200>;
217                 };
218 
219                 tx_ctl {
220                         pinmux = <RZG2L_PORT_PINMUX(1, 1, 1)>;  /* ET0_TX_CTL */
221                         power-source = <1800>;
222                         output-enable;
223                         drive-strength-microamp = <5200>;
224                 };
225 
226                 mux {
227                         pinmux = <RZG2L_PORT_PINMUX(1, 2, 1)>,  /* ET0_TXD0 */
228                                  <RZG2L_PORT_PINMUX(1, 3, 1)>,  /* ET0_TXD1 */
229                                  <RZG2L_PORT_PINMUX(1, 4, 1)>,  /* ET0_TXD2 */
230                                  <RZG2L_PORT_PINMUX(2, 0, 1)>,  /* ET0_TXD3 */
231                                  <RZG2L_PORT_PINMUX(3, 0, 1)>,  /* ET0_RXC */
232                                  <RZG2L_PORT_PINMUX(3, 1, 1)>,  /* ET0_RX_CTL */
233                                  <RZG2L_PORT_PINMUX(3, 2, 1)>,  /* ET0_RXD0 */
234                                  <RZG2L_PORT_PINMUX(3, 3, 1)>,  /* ET0_RXD1 */
235                                  <RZG2L_PORT_PINMUX(4, 0, 1)>,  /* ET0_RXD2 */
236                                  <RZG2L_PORT_PINMUX(4, 1, 1)>,  /* ET0_RXD3 */
237                                  <RZG2L_PORT_PINMUX(4, 3, 1)>,  /* ET0_MDC */
238                                  <RZG2L_PORT_PINMUX(4, 4, 1)>,  /* ET0_MDIO */
239                                  <RZG2L_PORT_PINMUX(4, 5, 1)>;  /* ET0_LINKSTA */
240                         power-source = <1800>;
241                 };
242         };
243 
244 #if SW_CONFIG3 == SW_ON
245         eth1-phy-irq-hog {
246                 gpio-hog;
247                 gpios = <RZG2L_GPIO(12, 1) GPIO_ACTIVE_LOW>;
248                 input;
249                 line-name = "eth1-phy-irq";
250         };
251 #endif
252 
253         eth1_pins: eth1 {
254                 txc {
255                         pinmux = <RZG2L_PORT_PINMUX(7, 0, 1)>;  /* ET1_TXC */
256                         power-source = <1800>;
257                         output-enable;
258                         input-enable;
259                         drive-strength-microamp = <5200>;
260                 };
261 
262                 tx_ctl {
263                         pinmux = <RZG2L_PORT_PINMUX(7, 1, 1)>;  /* ET1_TX_CTL */
264                         power-source = <1800>;
265                         output-enable;
266                         drive-strength-microamp = <5200>;
267                 };
268 
269                 mux {
270                         pinmux = <RZG2L_PORT_PINMUX(7, 2, 1)>,  /* ET1_TXD0 */
271                                  <RZG2L_PORT_PINMUX(7, 3, 1)>,  /* ET1_TXD1 */
272                                  <RZG2L_PORT_PINMUX(7, 4, 1)>,  /* ET1_TXD2 */
273                                  <RZG2L_PORT_PINMUX(8, 0, 1)>,  /* ET1_TXD3 */
274                                  <RZG2L_PORT_PINMUX(8, 4, 1)>,  /* ET1_RXC */
275                                  <RZG2L_PORT_PINMUX(9, 0, 1)>,  /* ET1_RX_CTL */
276                                  <RZG2L_PORT_PINMUX(9, 1, 1)>,  /* ET1_RXD0 */
277                                  <RZG2L_PORT_PINMUX(9, 2, 1)>,  /* ET1_RXD1 */
278                                  <RZG2L_PORT_PINMUX(9, 3, 1)>,  /* ET1_RXD2 */
279                                  <RZG2L_PORT_PINMUX(10, 0, 1)>, /* ET1_RXD3 */
280                                  <RZG2L_PORT_PINMUX(10, 2, 1)>, /* ET1_MDC */
281                                  <RZG2L_PORT_PINMUX(10, 3, 1)>, /* ET1_MDIO */
282                                  <RZG2L_PORT_PINMUX(10, 4, 1)>; /* ET1_LINKSTA */
283                         power-source = <1800>;
284                 };
285         };
286 
287         sdhi0_pins: sd0 {
288                 data {
289                         pins = "SD0_DATA0", "SD0_DATA1", "SD0_DATA2", "SD0_DATA3";
290                         power-source = <3300>;
291                 };
292 
293                 ctrl {
294                         pins = "SD0_CLK", "SD0_CMD";
295                         power-source = <3300>;
296                 };
297 
298                 cd {
299                         pinmux = <RZG2L_PORT_PINMUX(0, 0, 1)>; /* SD0_CD */
300                 };
301         };
302 
303         sdhi0_uhs_pins: sd0-uhs {
304                 data {
305                         pins = "SD0_DATA0", "SD0_DATA1", "SD0_DATA2", "SD0_DATA3";
306                         power-source = <1800>;
307                 };
308 
309                 ctrl {
310                         pins = "SD0_CLK", "SD0_CMD";
311                         power-source = <1800>;
312                 };
313 
314                 cd {
315                         pinmux = <RZG2L_PORT_PINMUX(0, 0, 1)>; /* SD0_CD */
316                 };
317         };
318 
319         sdhi0_emmc_pins: sd0-emmc {
320                 pins = "SD0_DATA0", "SD0_DATA1", "SD0_DATA2", "SD0_DATA3",
321                        "SD0_DATA4", "SD0_DATA5", "SD0_DATA6", "SD0_DATA7",
322                        "SD0_CLK", "SD0_CMD", "SD0_RST#";
323                 power-source = <1800>;
324         };
325 
326         sdhi2_pins: sd2 {
327                 data {
328                         pins = "P11_2", "P11_3", "P12_0", "P12_1";
329                         input-enable;
330                 };
331 
332                 ctrl {
333                         pins = "P11_1";
334                         input-enable;
335                 };
336 
337                 mux {
338                         pinmux = <RZG2L_PORT_PINMUX(11, 0, 8)>, /* SD2_CLK */
339                                  <RZG2L_PORT_PINMUX(11, 1, 8)>, /* SD2_CMD */
340                                  <RZG2L_PORT_PINMUX(11, 2, 8)>, /* SD2_DATA0 */
341                                  <RZG2L_PORT_PINMUX(11, 3, 8)>, /* SD2_DATA1 */
342                                  <RZG2L_PORT_PINMUX(12, 0, 8)>, /* SD2_DATA2 */
343                                  <RZG2L_PORT_PINMUX(12, 1, 8)>, /* SD2_DATA3 */
344                                  <RZG2L_PORT_PINMUX(14, 1, 7)>; /* SD2_CD# */
345                 };
346         };
347 };
348 
349 &wdt0 {
350         timeout-sec = <60>;
351         status = "okay";
352 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php