r8a7792-wheat.dts 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Device Tree Source for the Wheat board
  4. *
  5. * Copyright (C) 2016 Renesas Electronics Corporation
  6. * Copyright (C) 2016 Cogent Embedded, Inc.
  7. */
  8. /dts-v1/;
  9. #include "r8a7792.dtsi"
  10. #include <dt-bindings/gpio/gpio.h>
  11. #include <dt-bindings/input/input.h>
  12. / {
  13. model = "Wheat";
  14. compatible = "renesas,wheat", "renesas,r8a7792";
  15. aliases {
  16. serial0 = &scif0;
  17. };
  18. chosen {
  19. bootargs = "ignore_loglevel rw root=/dev/nfs ip=on";
  20. stdout-path = "serial0:115200n8";
  21. };
  22. memory@40000000 {
  23. device_type = "memory";
  24. reg = <0 0x40000000 0 0x40000000>;
  25. };
  26. d3_3v: regulator-3v3 {
  27. compatible = "regulator-fixed";
  28. regulator-name = "D3.3V";
  29. regulator-min-microvolt = <3300000>;
  30. regulator-max-microvolt = <3300000>;
  31. regulator-boot-on;
  32. regulator-always-on;
  33. };
  34. ethernet@18000000 {
  35. compatible = "smsc,lan89218", "smsc,lan9115";
  36. reg = <0 0x18000000 0 0x100>;
  37. phy-mode = "mii";
  38. interrupt-parent = <&irqc>;
  39. interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
  40. smsc,irq-push-pull;
  41. smsc,save-mac-address;
  42. reg-io-width = <4>;
  43. vddvario-supply = <&d3_3v>;
  44. vdd33a-supply = <&d3_3v>;
  45. pinctrl-0 = <&lan89218_pins>;
  46. pinctrl-names = "default";
  47. };
  48. keyboard {
  49. compatible = "gpio-keys";
  50. key-a {
  51. linux,code = <KEY_A>;
  52. label = "SW2";
  53. wakeup-source;
  54. debounce-interval = <20>;
  55. gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
  56. };
  57. key-b {
  58. linux,code = <KEY_B>;
  59. label = "SW3";
  60. wakeup-source;
  61. debounce-interval = <20>;
  62. gpios = <&gpio11 2 GPIO_ACTIVE_LOW>;
  63. };
  64. };
  65. vcc_sdhi0: regulator-vcc-sdhi0 {
  66. compatible = "regulator-fixed";
  67. regulator-name = "SDHI0 Vcc";
  68. regulator-min-microvolt = <3300000>;
  69. regulator-max-microvolt = <3300000>;
  70. gpio = <&gpio11 12 GPIO_ACTIVE_HIGH>;
  71. enable-active-high;
  72. };
  73. hdmi-out0 {
  74. compatible = "hdmi-connector";
  75. type = "a";
  76. port {
  77. hdmi_con0: endpoint {
  78. remote-endpoint = <&adv7513_0_out>;
  79. };
  80. };
  81. };
  82. hdmi-out1 {
  83. compatible = "hdmi-connector";
  84. type = "a";
  85. port {
  86. hdmi_con1: endpoint {
  87. remote-endpoint = <&adv7513_1_out>;
  88. };
  89. };
  90. };
  91. osc2_clk: osc2 {
  92. compatible = "fixed-clock";
  93. #clock-cells = <0>;
  94. clock-frequency = <74250000>;
  95. };
  96. };
  97. &extal_clk {
  98. clock-frequency = <20000000>;
  99. };
  100. &pfc {
  101. scif0_pins: scif0 {
  102. groups = "scif0_data";
  103. function = "scif0";
  104. };
  105. lan89218_pins: lan89218 {
  106. intc {
  107. groups = "intc_irq0";
  108. function = "intc";
  109. };
  110. lbsc {
  111. groups = "lbsc_ex_cs0";
  112. function = "lbsc";
  113. };
  114. };
  115. can0_pins: can0 {
  116. groups = "can0_data";
  117. function = "can0";
  118. };
  119. can1_pins: can1 {
  120. groups = "can1_data";
  121. function = "can1";
  122. };
  123. sdhi0_pins: sdhi0 {
  124. groups = "sdhi0_data4", "sdhi0_ctrl";
  125. function = "sdhi0";
  126. };
  127. qspi_pins: qspi {
  128. groups = "qspi_ctrl", "qspi_data4";
  129. function = "qspi";
  130. };
  131. du0_pins: du0 {
  132. groups = "du0_rgb888", "du0_sync", "du0_disp";
  133. function = "du0";
  134. };
  135. du1_pins: du1 {
  136. groups = "du1_rgb666", "du1_sync", "du1_disp";
  137. function = "du1";
  138. };
  139. };
  140. &rwdt {
  141. timeout-sec = <60>;
  142. status = "okay";
  143. };
  144. &scif0 {
  145. pinctrl-0 = <&scif0_pins>;
  146. pinctrl-names = "default";
  147. status = "okay";
  148. };
  149. &can0 {
  150. pinctrl-0 = <&can0_pins>;
  151. pinctrl-names = "default";
  152. status = "okay";
  153. };
  154. &can1 {
  155. pinctrl-0 = <&can1_pins>;
  156. pinctrl-names = "default";
  157. status = "okay";
  158. };
  159. &sdhi0 {
  160. pinctrl-0 = <&sdhi0_pins>;
  161. pinctrl-names = "default";
  162. vmmc-supply = <&vcc_sdhi0>;
  163. cd-gpios = <&gpio11 11 GPIO_ACTIVE_LOW>;
  164. status = "okay";
  165. };
  166. &qspi {
  167. pinctrl-0 = <&qspi_pins>;
  168. pinctrl-names = "default";
  169. status = "okay";
  170. flash@0 {
  171. compatible = "spansion,s25fl512s", "jedec,spi-nor";
  172. reg = <0>;
  173. spi-max-frequency = <30000000>;
  174. spi-tx-bus-width = <4>;
  175. spi-rx-bus-width = <4>;
  176. spi-cpol;
  177. spi-cpha;
  178. m25p,fast-read;
  179. partitions {
  180. compatible = "fixed-partitions";
  181. #address-cells = <1>;
  182. #size-cells = <1>;
  183. partition@0 {
  184. label = "loader";
  185. reg = <0x00000000 0x00040000>;
  186. read-only;
  187. };
  188. partition@40000 {
  189. label = "user";
  190. reg = <0x00040000 0x00400000>;
  191. read-only;
  192. };
  193. partition@440000 {
  194. label = "flash";
  195. reg = <0x00440000 0x03bc0000>;
  196. };
  197. };
  198. };
  199. };
  200. &i2c4 {
  201. status = "okay";
  202. clock-frequency = <400000>;
  203. /*
  204. * The adv75xx resets its addresses to defaults during low power mode.
  205. * Because we have two ADV7513 devices on the same bus, we must change
  206. * both of them away from the defaults so that they do not conflict.
  207. */
  208. hdmi@3d {
  209. compatible = "adi,adv7513";
  210. reg = <0x3d>, <0x4d>, <0x2d>, <0x5d>;
  211. reg-names = "main", "edid", "cec", "packet";
  212. adi,input-depth = <8>;
  213. adi,input-colorspace = "rgb";
  214. adi,input-clock = "1x";
  215. ports {
  216. #address-cells = <1>;
  217. #size-cells = <0>;
  218. port@0 {
  219. reg = <0>;
  220. adv7513_0_in: endpoint {
  221. remote-endpoint = <&du_out_rgb0>;
  222. };
  223. };
  224. port@1 {
  225. reg = <1>;
  226. adv7513_0_out: endpoint {
  227. remote-endpoint = <&hdmi_con0>;
  228. };
  229. };
  230. };
  231. };
  232. hdmi@39 {
  233. compatible = "adi,adv7513";
  234. reg = <0x39>, <0x49>, <0x29>, <0x59>;
  235. reg-names = "main", "edid", "cec", "packet";
  236. adi,input-depth = <8>;
  237. adi,input-colorspace = "rgb";
  238. adi,input-clock = "1x";
  239. ports {
  240. #address-cells = <1>;
  241. #size-cells = <0>;
  242. port@0 {
  243. reg = <0>;
  244. adv7513_1_in: endpoint {
  245. remote-endpoint = <&du_out_rgb1>;
  246. };
  247. };
  248. port@1 {
  249. reg = <1>;
  250. adv7513_1_out: endpoint {
  251. remote-endpoint = <&hdmi_con1>;
  252. };
  253. };
  254. };
  255. };
  256. };
  257. &du {
  258. pinctrl-0 = <&du0_pins>, <&du1_pins>;
  259. pinctrl-names = "default";
  260. clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>, <&osc2_clk>;
  261. clock-names = "du.0", "du.1", "dclkin.0";
  262. status = "okay";
  263. ports {
  264. port@0 {
  265. endpoint {
  266. remote-endpoint = <&adv7513_0_in>;
  267. };
  268. };
  269. port@1 {
  270. endpoint {
  271. remote-endpoint = <&adv7513_1_in>;
  272. };
  273. };
  274. };
  275. };