r8a77470-iwg23s-sbc.dts 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Device Tree Source for the iWave-RZ/G1C single board computer
  4. *
  5. * Copyright (C) 2018 Renesas Electronics Corp.
  6. */
  7. /dts-v1/;
  8. #include <dt-bindings/gpio/gpio.h>
  9. #include "r8a77470.dtsi"
  10. / {
  11. model = "iWave iW-RainboW-G23S single board computer based on RZ/G1C";
  12. compatible = "iwave,g23s", "renesas,r8a77470";
  13. aliases {
  14. ethernet0 = &avb;
  15. serial1 = &scif1;
  16. };
  17. chosen {
  18. bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
  19. stdout-path = "serial1:115200n8";
  20. };
  21. hdmi-out {
  22. compatible = "hdmi-connector";
  23. type = "a";
  24. port {
  25. hdmi_con: endpoint {
  26. remote-endpoint = <&bridge_out>;
  27. };
  28. };
  29. };
  30. memory@40000000 {
  31. device_type = "memory";
  32. reg = <0 0x40000000 0 0x20000000>;
  33. };
  34. reg_1p8v: reg-1p8v {
  35. compatible = "regulator-fixed";
  36. regulator-name = "fixed-1.8V";
  37. regulator-min-microvolt = <1800000>;
  38. regulator-max-microvolt = <1800000>;
  39. regulator-boot-on;
  40. regulator-always-on;
  41. };
  42. reg_3p3v: reg-3p3v {
  43. compatible = "regulator-fixed";
  44. regulator-name = "fixed-3.3V";
  45. regulator-min-microvolt = <3300000>;
  46. regulator-max-microvolt = <3300000>;
  47. regulator-boot-on;
  48. regulator-always-on;
  49. };
  50. vccq_sdhi2: regulator-vccq-sdhi2 {
  51. compatible = "regulator-gpio";
  52. regulator-name = "SDHI2 VccQ";
  53. regulator-min-microvolt = <1800000>;
  54. regulator-max-microvolt = <3300000>;
  55. gpios = <&gpio2 24 GPIO_ACTIVE_HIGH>;
  56. gpios-states = <1>;
  57. states = <3300000 1>, <1800000 0>;
  58. };
  59. };
  60. &avb {
  61. pinctrl-0 = <&avb_pins>;
  62. pinctrl-names = "default";
  63. phy-handle = <&phy3>;
  64. phy-mode = "gmii";
  65. renesas,no-ether-link;
  66. status = "okay";
  67. phy3: ethernet-phy@3 {
  68. compatible = "ethernet-phy-id0022.1622",
  69. "ethernet-phy-ieee802.3-c22";
  70. reg = <3>;
  71. interrupt-parent = <&gpio5>;
  72. interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
  73. micrel,led-mode = <1>;
  74. };
  75. };
  76. &cmt0 {
  77. status = "okay";
  78. };
  79. &du {
  80. pinctrl-0 = <&du0_pins>;
  81. pinctrl-names = "default";
  82. status = "okay";
  83. ports {
  84. port@0 {
  85. endpoint {
  86. remote-endpoint = <&bridge_in>;
  87. };
  88. };
  89. };
  90. };
  91. &ehci1 {
  92. status = "okay";
  93. };
  94. &extal_clk {
  95. clock-frequency = <20000000>;
  96. };
  97. &gpio2 {
  98. interrupt-fixup-hog {
  99. gpio-hog;
  100. gpios = <29 GPIO_ACTIVE_HIGH>;
  101. line-name = "hdmi-hpd-int";
  102. input;
  103. };
  104. };
  105. &hsusb0 {
  106. status = "okay";
  107. };
  108. &i2c3 {
  109. pinctrl-0 = <&i2c3_pins>;
  110. pinctrl-names = "default";
  111. status = "okay";
  112. clock-frequency = <400000>;
  113. rtc@51 {
  114. compatible = "nxp,pcf85263";
  115. reg = <0x51>;
  116. };
  117. };
  118. &i2c4 {
  119. pinctrl-0 = <&i2c4_pins>;
  120. pinctrl-names = "default";
  121. status = "okay";
  122. clock-frequency = <100000>;
  123. hdmi@39 {
  124. compatible = "sil,sii9022";
  125. reg = <0x39>;
  126. interrupt-parent = <&gpio2>;
  127. interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
  128. ports {
  129. #address-cells = <1>;
  130. #size-cells = <0>;
  131. port@0 {
  132. reg = <0>;
  133. bridge_in: endpoint {
  134. remote-endpoint = <&du_out_rgb0>;
  135. };
  136. };
  137. port@1 {
  138. reg = <1>;
  139. bridge_out: endpoint {
  140. remote-endpoint = <&hdmi_con>;
  141. };
  142. };
  143. };
  144. };
  145. };
  146. &ohci1 {
  147. status = "okay";
  148. };
  149. &pfc {
  150. avb_pins: avb {
  151. groups = "avb_mdio", "avb_gmii_tx_rx";
  152. function = "avb";
  153. };
  154. du0_pins: du0 {
  155. groups = "du0_rgb888", "du0_sync", "du0_disp", "du0_clk0_out";
  156. function = "du0";
  157. };
  158. i2c4_pins: i2c4 {
  159. groups = "i2c4_e";
  160. function = "i2c4";
  161. };
  162. i2c3_pins: i2c3 {
  163. groups = "i2c3_c";
  164. function = "i2c3";
  165. };
  166. mmc_pins_uhs: mmc_uhs {
  167. groups = "mmc_data8", "mmc_ctrl";
  168. function = "mmc";
  169. power-source = <1800>;
  170. };
  171. qspi0_pins: qspi0 {
  172. groups = "qspi0_ctrl", "qspi0_data2";
  173. function = "qspi0";
  174. };
  175. scif1_pins: scif1 {
  176. groups = "scif1_data_b";
  177. function = "scif1";
  178. };
  179. sdhi2_pins: sd2 {
  180. groups = "sdhi2_data4", "sdhi2_ctrl";
  181. function = "sdhi2";
  182. power-source = <3300>;
  183. };
  184. sdhi2_pins_uhs: sd2_uhs {
  185. groups = "sdhi2_data4", "sdhi2_ctrl";
  186. function = "sdhi2";
  187. power-source = <1800>;
  188. };
  189. usb0_pins: usb0 {
  190. groups = "usb0";
  191. function = "usb0";
  192. };
  193. usb1_pins: usb1 {
  194. groups = "usb1";
  195. function = "usb1";
  196. };
  197. };
  198. &qspi0 {
  199. pinctrl-0 = <&qspi0_pins>;
  200. pinctrl-names = "default";
  201. status = "okay";
  202. /* WARNING - This device contains the bootloader. Handle with care. */
  203. flash: flash@0 {
  204. #address-cells = <1>;
  205. #size-cells = <1>;
  206. compatible = "issi,is25lp016d", "jedec,spi-nor";
  207. reg = <0>;
  208. spi-max-frequency = <133000000>;
  209. spi-tx-bus-width = <1>;
  210. spi-rx-bus-width = <1>;
  211. m25p,fast-read;
  212. spi-cpol;
  213. spi-cpha;
  214. };
  215. };
  216. &rwdt {
  217. timeout-sec = <60>;
  218. status = "okay";
  219. };
  220. &scif1 {
  221. pinctrl-0 = <&scif1_pins>;
  222. pinctrl-names = "default";
  223. status = "okay";
  224. };
  225. &sdhi1 {
  226. pinctrl-0 = <&mmc_pins_uhs>;
  227. pinctrl-names = "state_uhs";
  228. vmmc-supply = <&reg_3p3v>;
  229. vqmmc-supply = <&reg_1p8v>;
  230. bus-width = <8>;
  231. mmc-hs200-1_8v;
  232. non-removable;
  233. fixed-emmc-driver-type = <1>;
  234. status = "okay";
  235. };
  236. &sdhi2 {
  237. pinctrl-0 = <&sdhi2_pins>;
  238. pinctrl-1 = <&sdhi2_pins_uhs>;
  239. pinctrl-names = "default", "state_uhs";
  240. vmmc-supply = <&reg_3p3v>;
  241. vqmmc-supply = <&vccq_sdhi2>;
  242. bus-width = <4>;
  243. cd-gpios = <&gpio4 20 GPIO_ACTIVE_LOW>;
  244. sd-uhs-sdr50;
  245. status = "okay";
  246. };
  247. &usb2_phy0 {
  248. status = "okay";
  249. };
  250. &usb2_phy1 {
  251. status = "okay";
  252. };
  253. &usbphy0 {
  254. pinctrl-0 = <&usb0_pins>;
  255. pinctrl-names = "default";
  256. status = "okay";
  257. };
  258. &usbphy1 {
  259. pinctrl-0 = <&usb1_pins>;
  260. pinctrl-names = "default";
  261. status = "okay";
  262. };