FILE
rzg3s-smarc-som.dtsi
File preview with syntax highlighting.
linux-6.19.14/arch/arm64/boot/dts/renesas/rzg3s-smarc-som.dtsi
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/clock/renesas,r9a08g045-vbattb.h> 9#include <dt-bindings/gpio/gpio.h> 10#include <dt-bindings/pinctrl/rzg2l-pinctrl.h> 11 12#include "rzg3s-smarc-switches.h" 13 14/ { 15 compatible = "renesas,rzg3s-smarcm", "renesas,r9a08g045s33", "renesas,r9a08g045"; 16 17 aliases { 18 i2c1 = &i2c1; 19 mmc0 = &sdhi0; 20#if SW_CONFIG3 == SW_OFF 21 mmc2 = &sdhi2; 22#else 23 ethernet0 = ð0; 24 ethernet1 = ð1; 25#endif 26 }; 27 28 memory@48000000 { 29 device_type = "memory"; 30 /* First 128MB is reserved for secure area. */ 31 reg = <0x0 0x48000000 0x0 0x38000000>; 32 }; 33 34 vcc_sdhi0: regulator0 { 35 compatible = "regulator-fixed"; 36 regulator-name = "SDHI0 Vcc"; 37 regulator-min-microvolt = <3300000>; 38 regulator-max-microvolt = <3300000>; 39 gpios = <&pinctrl RZG2L_GPIO(2, 1) GPIO_ACTIVE_HIGH>; 40 enable-active-high; 41 }; 42 43 vccq_sdhi0: regulator1 { 44 compatible = "regulator-gpio"; 45 regulator-name = "SDHI0 VccQ"; 46 regulator-min-microvolt = <1800000>; 47 regulator-max-microvolt = <3300000>; 48 gpios = <&pinctrl RZG2L_GPIO(2, 2) GPIO_ACTIVE_HIGH>; 49 gpios-states = <1>; 50 states = <3300000 1>, <1800000 0>; 51 }; 52 53 reg_1p8v: regulator2 { 54 compatible = "regulator-fixed"; 55 regulator-name = "fixed-1.8V"; 56 regulator-min-microvolt = <1800000>; 57 regulator-max-microvolt = <1800000>; 58 regulator-boot-on; 59 regulator-always-on; 60 }; 61 62 reg_3p3v: regulator3 { 63 compatible = "regulator-fixed"; 64 regulator-name = "fixed-3.3V"; 65 regulator-min-microvolt = <3300000>; 66 regulator-max-microvolt = <3300000>; 67 regulator-boot-on; 68 regulator-always-on; 69 }; 70 71 vcc_sdhi2: regulator4 { 72 compatible = "regulator-fixed"; 73 regulator-name = "SDHI2 Vcc"; 74 regulator-min-microvolt = <3300000>; 75 regulator-max-microvolt = <3300000>; 76 gpios = <&pinctrl RZG2L_GPIO(8, 1) GPIO_ACTIVE_HIGH>; 77 enable-active-high; 78 }; 79 80 x3_clk: x3-clock { 81 compatible = "fixed-clock"; 82 #clock-cells = <0>; 83 clock-frequency = <24000000>; 84 }; 85}; 86 87#if SW_CONFIG3 == SW_ON 88ð0 { 89 pinctrl-0 = <ð0_pins>; 90 pinctrl-names = "default"; 91 phy-handle = <&phy0>; 92 phy-mode = "rgmii-id"; 93 status = "okay"; 94 95 phy0: ethernet-phy@7 { 96 reg = <7>; 97 interrupts-extended = <&pinctrl RZG2L_GPIO(12, 0) IRQ_TYPE_EDGE_FALLING>; 98 rxc-skew-psec = <0>; 99 txc-skew-psec = <0>; 100 rxdv-skew-psec = <0>; 101 txen-skew-psec = <0>; 102 rxd0-skew-psec = <0>; 103 rxd1-skew-psec = <0>; 104 rxd2-skew-psec = <0>; 105 rxd3-skew-psec = <0>; 106 txd0-skew-psec = <0>; 107 txd1-skew-psec = <0>; 108 txd2-skew-psec = <0>; 109 txd3-skew-psec = <0>; 110 }; 111}; 112 113ð1 { 114 pinctrl-0 = <ð1_pins>; 115 pinctrl-names = "default"; 116 phy-handle = <&phy1>; 117 phy-mode = "rgmii-id"; 118 status = "okay"; 119 120 phy1: ethernet-phy@7 { 121 reg = <7>; 122 interrupts-extended = <&pinctrl RZG2L_GPIO(12, 1) IRQ_TYPE_EDGE_FALLING>; 123 rxc-skew-psec = <0>; 124 txc-skew-psec = <0>; 125 rxdv-skew-psec = <0>; 126 txen-skew-psec = <0>; 127 rxd0-skew-psec = <0>; 128 rxd1-skew-psec = <0>; 129 rxd2-skew-psec = <0>; 130 rxd3-skew-psec = <0>; 131 txd0-skew-psec = <0>; 132 txd1-skew-psec = <0>; 133 txd2-skew-psec = <0>; 134 txd3-skew-psec = <0>; 135 }; 136}; 137#endif 138 139&extal_clk { 140 clock-frequency = <24000000>; 141}; 142 143&i2c1 { 144 status = "okay"; 145 146 versa3: clock-generator@68 { 147 compatible = "renesas,5l35023"; 148 reg = <0x68>; 149 clocks = <&x3_clk>; 150 #clock-cells = <1>; 151 assigned-clocks = <&versa3 0>, 152 <&versa3 1>, 153 <&versa3 2>, 154 <&versa3 3>, 155 <&versa3 4>, 156 <&versa3 5>; 157 assigned-clock-rates = <24000000>, 158 <12288000>, 159 <11289600>, 160 <25000000>, 161 <100000000>, 162 <100000000>; 163 renesas,settings = [ 164 80 00 11 19 4c 42 dc 2f 06 7d 20 1a 5f 1e f2 27 165 00 40 00 00 00 00 00 00 06 0c 19 02 3b f0 90 86 166 a0 80 30 30 9c 167 ]; 168 }; 169}; 170 171#if SW_CONFIG2 == SW_ON 172/* SD0 slot */ 173&sdhi0 { 174 pinctrl-0 = <&sdhi0_pins>; 175 pinctrl-1 = <&sdhi0_uhs_pins>; 176 pinctrl-names = "default", "state_uhs"; 177 vmmc-supply = <&vcc_sdhi0>; 178 vqmmc-supply = <&vccq_sdhi0>; 179 bus-width = <4>; 180 sd-uhs-sdr50; 181 sd-uhs-sdr104; 182 max-frequency = <125000000>; 183 status = "okay"; 184}; 185#else 186/* eMMC */ 187&sdhi0 { 188 pinctrl-0 = <&sdhi0_emmc_pins>; 189 pinctrl-1 = <&sdhi0_emmc_pins>; 190 pinctrl-names = "default", "state_uhs"; 191 vmmc-supply = <&vcc_sdhi0>; 192 vqmmc-supply = <®_1p8v>; 193 bus-width = <8>; 194 mmc-hs200-1_8v; 195 non-removable; 196 fixed-emmc-driver-type = <1>; 197 max-frequency = <125000000>; 198 status = "okay"; 199}; 200#endif 201 202#if SW_CONFIG3 == SW_OFF 203&sdhi2 { 204 pinctrl-0 = <&sdhi2_pins>; 205 pinctrl-names = "default"; 206 vmmc-supply = <&vcc_sdhi2>; 207 bus-width = <4>; 208 max-frequency = <50000000>; 209 status = "okay"; 210}; 211#endif 212 213&pinctrl { 214#if SW_CONFIG3 == SW_ON 215 eth0-phy-irq-hog { 216 gpio-hog; 217 gpios = <RZG2L_GPIO(12, 0) GPIO_ACTIVE_LOW>; 218 input; 219 line-name = "eth0-phy-irq"; 220 }; 221#endif 222 223 eth0_pins: eth0 { 224 txc { 225 pinmux = <RZG2L_PORT_PINMUX(1, 0, 1)>; /* ET0_TXC */ 226 power-source = <1800>; 227 output-enable; 228 input-enable; 229 drive-strength-microamp = <5200>; 230 }; 231 232 tx_ctl { 233 pinmux = <RZG2L_PORT_PINMUX(1, 1, 1)>; /* ET0_TX_CTL */ 234 power-source = <1800>; 235 output-enable; 236 drive-strength-microamp = <5200>; 237 }; 238 239 mux { 240 pinmux = <RZG2L_PORT_PINMUX(1, 2, 1)>, /* ET0_TXD0 */ 241 <RZG2L_PORT_PINMUX(1, 3, 1)>, /* ET0_TXD1 */ 242 <RZG2L_PORT_PINMUX(1, 4, 1)>, /* ET0_TXD2 */ 243 <RZG2L_PORT_PINMUX(2, 0, 1)>, /* ET0_TXD3 */ 244 <RZG2L_PORT_PINMUX(3, 0, 1)>, /* ET0_RXC */ 245 <RZG2L_PORT_PINMUX(3, 1, 1)>, /* ET0_RX_CTL */ 246 <RZG2L_PORT_PINMUX(3, 2, 1)>, /* ET0_RXD0 */ 247 <RZG2L_PORT_PINMUX(3, 3, 1)>, /* ET0_RXD1 */ 248 <RZG2L_PORT_PINMUX(4, 0, 1)>, /* ET0_RXD2 */ 249 <RZG2L_PORT_PINMUX(4, 1, 1)>, /* ET0_RXD3 */ 250 <RZG2L_PORT_PINMUX(4, 3, 1)>, /* ET0_MDC */ 251 <RZG2L_PORT_PINMUX(4, 4, 1)>, /* ET0_MDIO */ 252 <RZG2L_PORT_PINMUX(4, 5, 1)>; /* ET0_LINKSTA */ 253 power-source = <1800>; 254 }; 255 }; 256 257#if SW_CONFIG3 == SW_ON 258 eth1-phy-irq-hog { 259 gpio-hog; 260 gpios = <RZG2L_GPIO(12, 1) GPIO_ACTIVE_LOW>; 261 input; 262 line-name = "eth1-phy-irq"; 263 }; 264#endif 265 266 eth1_pins: eth1 { 267 txc { 268 pinmux = <RZG2L_PORT_PINMUX(7, 0, 1)>; /* ET1_TXC */ 269 power-source = <1800>; 270 output-enable; 271 input-enable; 272 drive-strength-microamp = <5200>; 273 }; 274 275 tx_ctl { 276 pinmux = <RZG2L_PORT_PINMUX(7, 1, 1)>; /* ET1_TX_CTL */ 277 power-source = <1800>; 278 output-enable; 279 drive-strength-microamp = <5200>; 280 }; 281 282 mux { 283 pinmux = <RZG2L_PORT_PINMUX(7, 2, 1)>, /* ET1_TXD0 */ 284 <RZG2L_PORT_PINMUX(7, 3, 1)>, /* ET1_TXD1 */ 285 <RZG2L_PORT_PINMUX(7, 4, 1)>, /* ET1_TXD2 */ 286 <RZG2L_PORT_PINMUX(8, 0, 1)>, /* ET1_TXD3 */ 287 <RZG2L_PORT_PINMUX(8, 4, 1)>, /* ET1_RXC */ 288 <RZG2L_PORT_PINMUX(9, 0, 1)>, /* ET1_RX_CTL */ 289 <RZG2L_PORT_PINMUX(9, 1, 1)>, /* ET1_RXD0 */ 290 <RZG2L_PORT_PINMUX(9, 2, 1)>, /* ET1_RXD1 */ 291 <RZG2L_PORT_PINMUX(9, 3, 1)>, /* ET1_RXD2 */ 292 <RZG2L_PORT_PINMUX(10, 0, 1)>, /* ET1_RXD3 */ 293 <RZG2L_PORT_PINMUX(10, 2, 1)>, /* ET1_MDC */ 294 <RZG2L_PORT_PINMUX(10, 3, 1)>, /* ET1_MDIO */ 295 <RZG2L_PORT_PINMUX(10, 4, 1)>; /* ET1_LINKSTA */ 296 power-source = <1800>; 297 }; 298 }; 299 300 sdhi0_pins: sd0 { 301 data { 302 pins = "SD0_DATA0", "SD0_DATA1", "SD0_DATA2", "SD0_DATA3"; 303 power-source = <3300>; 304 }; 305 306 ctrl { 307 pins = "SD0_CLK", "SD0_CMD"; 308 power-source = <3300>; 309 }; 310 311 cd { 312 pinmux = <RZG2L_PORT_PINMUX(0, 0, 1)>; /* SD0_CD */ 313 }; 314 }; 315 316 sdhi0_uhs_pins: sd0-uhs { 317 data { 318 pins = "SD0_DATA0", "SD0_DATA1", "SD0_DATA2", "SD0_DATA3"; 319 power-source = <1800>; 320 }; 321 322 ctrl { 323 pins = "SD0_CLK", "SD0_CMD"; 324 power-source = <1800>; 325 }; 326 327 cd { 328 pinmux = <RZG2L_PORT_PINMUX(0, 0, 1)>; /* SD0_CD */ 329 }; 330 }; 331 332 sdhi0_emmc_pins: sd0-emmc { 333 pins = "SD0_DATA0", "SD0_DATA1", "SD0_DATA2", "SD0_DATA3", 334 "SD0_DATA4", "SD0_DATA5", "SD0_DATA6", "SD0_DATA7", 335 "SD0_CLK", "SD0_CMD", "SD0_RST#"; 336 power-source = <1800>; 337 }; 338 339 sdhi2_pins: sd2 { 340 data { 341 pins = "P11_2", "P11_3", "P12_0", "P12_1"; 342 input-enable; 343 }; 344 345 ctrl { 346 pins = "P11_1"; 347 input-enable; 348 }; 349 350 mux { 351 pinmux = <RZG2L_PORT_PINMUX(11, 0, 8)>, /* SD2_CLK */ 352 <RZG2L_PORT_PINMUX(11, 1, 8)>, /* SD2_CMD */ 353 <RZG2L_PORT_PINMUX(11, 2, 8)>, /* SD2_DATA0 */ 354 <RZG2L_PORT_PINMUX(11, 3, 8)>, /* SD2_DATA1 */ 355 <RZG2L_PORT_PINMUX(12, 0, 8)>, /* SD2_DATA2 */ 356 <RZG2L_PORT_PINMUX(12, 1, 8)>, /* SD2_DATA3 */ 357 <RZG2L_PORT_PINMUX(14, 1, 7)>; /* SD2_CD# */ 358 }; 359 }; 360}; 361 362&rtc { 363 status = "okay"; 364}; 365 366&vbattb { 367 assigned-clocks = <&vbattb VBATTB_MUX>; 368 assigned-clock-parents = <&vbattb VBATTB_XC>; 369 quartz-load-femtofarads = <12500>; 370 status = "okay"; 371}; 372 373&vbattb_xtal { 374 clock-frequency = <32768>; 375}; 376 377&wdt0 { 378 timeout-sec = <60>; 379 status = "okay"; 380};
~/
Read-only file preview.