rzg2ul-smarc-som.dtsi 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  1. // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. /*
  3. * Device Tree Source for the RZ/G2UL SMARC SOM common parts
  4. *
  5. * Copyright (C) 2022 Renesas Electronics Corp.
  6. */
  7. #include <dt-bindings/gpio/gpio.h>
  8. #include <dt-bindings/pinctrl/rzg2l-pinctrl.h>
  9. / {
  10. aliases {
  11. ethernet0 = &eth0;
  12. ethernet1 = &eth1;
  13. };
  14. chosen {
  15. bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
  16. };
  17. memory@48000000 {
  18. device_type = "memory";
  19. /* first 128MB is reserved for secure area. */
  20. reg = <0x0 0x48000000 0x0 0x38000000>;
  21. };
  22. reg_1p8v: regulator-1p8v {
  23. compatible = "regulator-fixed";
  24. regulator-name = "fixed-1.8V";
  25. regulator-min-microvolt = <1800000>;
  26. regulator-max-microvolt = <1800000>;
  27. regulator-boot-on;
  28. regulator-always-on;
  29. };
  30. reg_3p3v: regulator-3p3v {
  31. compatible = "regulator-fixed";
  32. regulator-name = "fixed-3.3V";
  33. regulator-min-microvolt = <3300000>;
  34. regulator-max-microvolt = <3300000>;
  35. regulator-boot-on;
  36. regulator-always-on;
  37. };
  38. #if !(SW_SW0_DEV_SEL)
  39. vccq_sdhi0: regulator-vccq-sdhi0 {
  40. compatible = "regulator-gpio";
  41. regulator-name = "SDHI0 VccQ";
  42. regulator-min-microvolt = <1800000>;
  43. regulator-max-microvolt = <3300000>;
  44. states = <3300000 1>, <1800000 0>;
  45. regulator-boot-on;
  46. gpios = <&pinctrl RZG2L_GPIO(6, 2) GPIO_ACTIVE_HIGH>;
  47. regulator-always-on;
  48. };
  49. #endif
  50. };
  51. #if (SW_SW0_DEV_SEL)
  52. &adc {
  53. pinctrl-0 = <&adc_pins>;
  54. pinctrl-names = "default";
  55. status = "okay";
  56. };
  57. #endif
  58. #if (!SW_ET0_EN_N)
  59. &eth0 {
  60. pinctrl-0 = <&eth0_pins>;
  61. pinctrl-names = "default";
  62. phy-handle = <&phy0>;
  63. phy-mode = "rgmii-id";
  64. status = "okay";
  65. phy0: ethernet-phy@7 {
  66. compatible = "ethernet-phy-id0022.1640",
  67. "ethernet-phy-ieee802.3-c22";
  68. reg = <7>;
  69. rxc-skew-psec = <2400>;
  70. txc-skew-psec = <2400>;
  71. rxdv-skew-psec = <0>;
  72. txen-skew-psec = <0>;
  73. rxd0-skew-psec = <0>;
  74. rxd1-skew-psec = <0>;
  75. rxd2-skew-psec = <0>;
  76. rxd3-skew-psec = <0>;
  77. txd0-skew-psec = <0>;
  78. txd1-skew-psec = <0>;
  79. txd2-skew-psec = <0>;
  80. txd3-skew-psec = <0>;
  81. };
  82. };
  83. #endif
  84. &eth1 {
  85. pinctrl-0 = <&eth1_pins>;
  86. pinctrl-names = "default";
  87. phy-handle = <&phy1>;
  88. phy-mode = "rgmii-id";
  89. status = "okay";
  90. phy1: ethernet-phy@7 {
  91. compatible = "ethernet-phy-id0022.1640",
  92. "ethernet-phy-ieee802.3-c22";
  93. reg = <7>;
  94. rxc-skew-psec = <2400>;
  95. txc-skew-psec = <2400>;
  96. rxdv-skew-psec = <0>;
  97. txen-skew-psec = <0>;
  98. rxd0-skew-psec = <0>;
  99. rxd1-skew-psec = <0>;
  100. rxd2-skew-psec = <0>;
  101. rxd3-skew-psec = <0>;
  102. txd0-skew-psec = <0>;
  103. txd1-skew-psec = <0>;
  104. txd2-skew-psec = <0>;
  105. txd3-skew-psec = <0>;
  106. };
  107. };
  108. &extal_clk {
  109. clock-frequency = <24000000>;
  110. };
  111. &ostm1 {
  112. status = "okay";
  113. };
  114. &ostm2 {
  115. status = "okay";
  116. };
  117. &pinctrl {
  118. adc_pins: adc {
  119. pinmux = <RZG2L_PORT_PINMUX(6, 2, 1)>; /* ADC_TRG */
  120. };
  121. eth0_pins: eth0 {
  122. pinmux = <RZG2L_PORT_PINMUX(4, 5, 1)>, /* ET0_LINKSTA */
  123. <RZG2L_PORT_PINMUX(4, 3, 1)>, /* ET0_MDC */
  124. <RZG2L_PORT_PINMUX(4, 4, 1)>, /* ET0_MDIO */
  125. <RZG2L_PORT_PINMUX(1, 0, 1)>, /* ET0_TXC */
  126. <RZG2L_PORT_PINMUX(1, 1, 1)>, /* ET0_TX_CTL */
  127. <RZG2L_PORT_PINMUX(1, 2, 1)>, /* ET0_TXD0 */
  128. <RZG2L_PORT_PINMUX(1, 3, 1)>, /* ET0_TXD1 */
  129. <RZG2L_PORT_PINMUX(1, 4, 1)>, /* ET0_TXD2 */
  130. <RZG2L_PORT_PINMUX(2, 0, 1)>, /* ET0_TXD3 */
  131. <RZG2L_PORT_PINMUX(3, 0, 1)>, /* ET0_RXC */
  132. <RZG2L_PORT_PINMUX(3, 1, 1)>, /* ET0_RX_CTL */
  133. <RZG2L_PORT_PINMUX(3, 2, 1)>, /* ET0_RXD0 */
  134. <RZG2L_PORT_PINMUX(3, 3, 1)>, /* ET0_RXD1 */
  135. <RZG2L_PORT_PINMUX(4, 0, 1)>, /* ET0_RXD2 */
  136. <RZG2L_PORT_PINMUX(4, 1, 1)>; /* ET0_RXD3 */
  137. };
  138. eth1_pins: eth1 {
  139. pinmux = <RZG2L_PORT_PINMUX(10, 4, 1)>, /* ET1_LINKSTA */
  140. <RZG2L_PORT_PINMUX(10, 2, 1)>, /* ET1_MDC */
  141. <RZG2L_PORT_PINMUX(10, 3, 1)>, /* ET1_MDIO */
  142. <RZG2L_PORT_PINMUX(7, 0, 1)>, /* ET1_TXC */
  143. <RZG2L_PORT_PINMUX(7, 1, 1)>, /* ET1_TX_CTL */
  144. <RZG2L_PORT_PINMUX(7, 2, 1)>, /* ET1_TXD0 */
  145. <RZG2L_PORT_PINMUX(7, 3, 1)>, /* ET1_TXD1 */
  146. <RZG2L_PORT_PINMUX(7, 4, 1)>, /* ET1_TXD2 */
  147. <RZG2L_PORT_PINMUX(8, 0, 1)>, /* ET1_TXD3 */
  148. <RZG2L_PORT_PINMUX(8, 4, 1)>, /* ET1_RXC */
  149. <RZG2L_PORT_PINMUX(9, 0, 1)>, /* ET1_RX_CTL */
  150. <RZG2L_PORT_PINMUX(9, 1, 1)>, /* ET1_RXD0 */
  151. <RZG2L_PORT_PINMUX(9, 2, 1)>, /* ET1_RXD1 */
  152. <RZG2L_PORT_PINMUX(9, 3, 1)>, /* ET1_RXD2 */
  153. <RZG2L_PORT_PINMUX(10, 0, 1)>; /* ET1_RXD3 */
  154. };
  155. sdhi0_emmc_pins: sd0emmc {
  156. sd0_emmc_data {
  157. pins = "SD0_DATA0", "SD0_DATA1", "SD0_DATA2", "SD0_DATA3",
  158. "SD0_DATA4", "SD0_DATA5", "SD0_DATA6", "SD0_DATA7";
  159. power-source = <1800>;
  160. };
  161. sd0_emmc_ctrl {
  162. pins = "SD0_CLK", "SD0_CMD";
  163. power-source = <1800>;
  164. };
  165. sd0_emmc_rst {
  166. pins = "SD0_RST#";
  167. power-source = <1800>;
  168. };
  169. };
  170. sdhi0_pins: sd0 {
  171. sd0_data {
  172. pins = "SD0_DATA0", "SD0_DATA1", "SD0_DATA2", "SD0_DATA3";
  173. power-source = <3300>;
  174. };
  175. sd0_ctrl {
  176. pins = "SD0_CLK", "SD0_CMD";
  177. power-source = <3300>;
  178. };
  179. sd0_mux {
  180. pinmux = <RZG2L_PORT_PINMUX(0, 0, 1)>; /* SD0_CD */
  181. };
  182. };
  183. sdhi0_pins_uhs: sd0_uhs {
  184. sd0_data_uhs {
  185. pins = "SD0_DATA0", "SD0_DATA1", "SD0_DATA2", "SD0_DATA3";
  186. power-source = <1800>;
  187. };
  188. sd0_ctrl_uhs {
  189. pins = "SD0_CLK", "SD0_CMD";
  190. power-source = <1800>;
  191. };
  192. sd0_mux_uhs {
  193. pinmux = <RZG2L_PORT_PINMUX(0, 0, 1)>; /* SD0_CD */
  194. };
  195. };
  196. spi1_pins: rspi1 {
  197. pinmux = <RZG2L_PORT_PINMUX(4, 0, 2)>, /* CK */
  198. <RZG2L_PORT_PINMUX(4, 1, 2)>, /* MOSI */
  199. <RZG2L_PORT_PINMUX(4, 2, 2)>, /* MISO */
  200. <RZG2L_PORT_PINMUX(4, 3, 2)>; /* SSL */
  201. };
  202. };
  203. #if (SW_SW0_DEV_SEL)
  204. &sdhi0 {
  205. pinctrl-0 = <&sdhi0_emmc_pins>;
  206. pinctrl-1 = <&sdhi0_emmc_pins>;
  207. pinctrl-names = "default", "state_uhs";
  208. vmmc-supply = <&reg_3p3v>;
  209. vqmmc-supply = <&reg_1p8v>;
  210. bus-width = <8>;
  211. mmc-hs200-1_8v;
  212. non-removable;
  213. fixed-emmc-driver-type = <1>;
  214. status = "okay";
  215. };
  216. #else
  217. &sdhi0 {
  218. pinctrl-0 = <&sdhi0_pins>;
  219. pinctrl-1 = <&sdhi0_pins_uhs>;
  220. pinctrl-names = "default", "state_uhs";
  221. vmmc-supply = <&reg_3p3v>;
  222. vqmmc-supply = <&vccq_sdhi0>;
  223. bus-width = <4>;
  224. sd-uhs-sdr50;
  225. sd-uhs-sdr104;
  226. status = "okay";
  227. };
  228. #endif
  229. &wdt0 {
  230. status = "okay";
  231. timeout-sec = <60>;
  232. };