r8a77995-draak.dts 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Device Tree Source for the Draak board
  4. *
  5. * Copyright (C) 2016 Renesas Electronics Corp.
  6. * Copyright (C) 2017 Glider bvba
  7. */
  8. /dts-v1/;
  9. #include "r8a77995.dtsi"
  10. #include <dt-bindings/gpio/gpio.h>
  11. / {
  12. model = "Renesas Draak board based on r8a77995";
  13. compatible = "renesas,draak", "renesas,r8a77995";
  14. aliases {
  15. serial0 = &scif2;
  16. ethernet0 = &avb;
  17. };
  18. chosen {
  19. bootargs = "ignore_loglevel";
  20. stdout-path = "serial0:115200n8";
  21. };
  22. vga {
  23. compatible = "vga-connector";
  24. port {
  25. vga_in: endpoint {
  26. remote-endpoint = <&adv7123_out>;
  27. };
  28. };
  29. };
  30. vga-encoder {
  31. compatible = "adi,adv7123";
  32. ports {
  33. #address-cells = <1>;
  34. #size-cells = <0>;
  35. port@0 {
  36. reg = <0>;
  37. adv7123_in: endpoint {
  38. remote-endpoint = <&du_out_rgb>;
  39. };
  40. };
  41. port@1 {
  42. reg = <1>;
  43. adv7123_out: endpoint {
  44. remote-endpoint = <&vga_in>;
  45. };
  46. };
  47. };
  48. };
  49. composite-in {
  50. compatible = "composite-video-connector";
  51. port {
  52. composite_con_in: endpoint {
  53. remote-endpoint = <&adv7180_in>;
  54. };
  55. };
  56. };
  57. hdmi-in {
  58. compatible = "hdmi-connector";
  59. type = "a";
  60. port {
  61. hdmi_con_in: endpoint {
  62. remote-endpoint = <&adv7612_in>;
  63. };
  64. };
  65. };
  66. memory@48000000 {
  67. device_type = "memory";
  68. /* first 128MB is reserved for secure area. */
  69. reg = <0x0 0x48000000 0x0 0x18000000>;
  70. };
  71. reg_1p8v: regulator0 {
  72. compatible = "regulator-fixed";
  73. regulator-name = "fixed-1.8V";
  74. regulator-min-microvolt = <1800000>;
  75. regulator-max-microvolt = <1800000>;
  76. regulator-boot-on;
  77. regulator-always-on;
  78. };
  79. reg_3p3v: regulator1 {
  80. compatible = "regulator-fixed";
  81. regulator-name = "fixed-3.3V";
  82. regulator-min-microvolt = <3300000>;
  83. regulator-max-microvolt = <3300000>;
  84. regulator-boot-on;
  85. regulator-always-on;
  86. };
  87. x12_clk: x12 {
  88. compatible = "fixed-clock";
  89. #clock-cells = <0>;
  90. clock-frequency = <74250000>;
  91. };
  92. };
  93. &extal_clk {
  94. clock-frequency = <48000000>;
  95. };
  96. &pfc {
  97. avb0_pins: avb {
  98. mux {
  99. groups = "avb0_link", "avb0_mdio", "avb0_mii";
  100. function = "avb0";
  101. };
  102. };
  103. du_pins: du {
  104. groups = "du_rgb888", "du_sync", "du_disp", "du_clk_out_0";
  105. function = "du";
  106. };
  107. i2c0_pins: i2c0 {
  108. groups = "i2c0";
  109. function = "i2c0";
  110. };
  111. i2c1_pins: i2c1 {
  112. groups = "i2c1";
  113. function = "i2c1";
  114. };
  115. pwm0_pins: pwm0 {
  116. groups = "pwm0_c";
  117. function = "pwm0";
  118. };
  119. pwm1_pins: pwm1 {
  120. groups = "pwm1_c";
  121. function = "pwm1";
  122. };
  123. scif2_pins: scif2 {
  124. groups = "scif2_data";
  125. function = "scif2";
  126. };
  127. sdhi2_pins: sd2 {
  128. groups = "mmc_data8", "mmc_ctrl";
  129. function = "mmc";
  130. power-source = <1800>;
  131. };
  132. sdhi2_pins_uhs: sd2_uhs {
  133. groups = "mmc_data8", "mmc_ctrl";
  134. function = "mmc";
  135. power-source = <1800>;
  136. };
  137. usb0_pins: usb0 {
  138. groups = "usb0";
  139. function = "usb0";
  140. };
  141. vin4_pins_cvbs: vin4 {
  142. groups = "vin4_data8", "vin4_sync", "vin4_clk";
  143. function = "vin4";
  144. };
  145. };
  146. &i2c0 {
  147. pinctrl-0 = <&i2c0_pins>;
  148. pinctrl-names = "default";
  149. status = "okay";
  150. eeprom@50 {
  151. compatible = "rohm,br24t01", "atmel,24c01";
  152. reg = <0x50>;
  153. pagesize = <8>;
  154. };
  155. composite-in@20 {
  156. compatible = "adi,adv7180cp";
  157. reg = <0x20>;
  158. ports {
  159. #address-cells = <1>;
  160. #size-cells = <0>;
  161. port@0 {
  162. reg = <0>;
  163. adv7180_in: endpoint {
  164. remote-endpoint = <&composite_con_in>;
  165. };
  166. };
  167. port@3 {
  168. reg = <3>;
  169. /*
  170. * The VIN4 video input path is shared between
  171. * CVBS and HDMI inputs through SW[49-53]
  172. * switches.
  173. *
  174. * CVBS is the default selection, link it to
  175. * VIN4 here.
  176. */
  177. adv7180_out: endpoint {
  178. remote-endpoint = <&vin4_in>;
  179. };
  180. };
  181. };
  182. };
  183. hdmi-decoder@4c {
  184. compatible = "adi,adv7612";
  185. reg = <0x4c>;
  186. default-input = <0>;
  187. ports {
  188. #address-cells = <1>;
  189. #size-cells = <0>;
  190. port@0 {
  191. reg = <0>;
  192. adv7612_in: endpoint {
  193. remote-endpoint = <&hdmi_con_in>;
  194. };
  195. };
  196. port@2 {
  197. reg = <2>;
  198. /*
  199. * The VIN4 video input path is shared between
  200. * CVBS and HDMI inputs through SW[49-53]
  201. * switches.
  202. *
  203. * CVBS is the default selection, leave HDMI
  204. * not connected here.
  205. */
  206. adv7612_out: endpoint {
  207. pclk-sample = <0>;
  208. hsync-active = <0>;
  209. vsync-active = <0>;
  210. };
  211. };
  212. };
  213. };
  214. };
  215. &i2c1 {
  216. pinctrl-0 = <&i2c1_pins>;
  217. pinctrl-names = "default";
  218. status = "okay";
  219. };
  220. &du {
  221. pinctrl-0 = <&du_pins>;
  222. pinctrl-names = "default";
  223. status = "okay";
  224. clocks = <&cpg CPG_MOD 724>,
  225. <&cpg CPG_MOD 723>,
  226. <&x12_clk>;
  227. clock-names = "du.0", "du.1", "dclkin.0";
  228. ports {
  229. port@0 {
  230. endpoint {
  231. remote-endpoint = <&adv7123_in>;
  232. };
  233. };
  234. };
  235. };
  236. &ehci0 {
  237. status = "okay";
  238. };
  239. &ohci0 {
  240. status = "okay";
  241. };
  242. &avb {
  243. pinctrl-0 = <&avb0_pins>;
  244. pinctrl-names = "default";
  245. renesas,no-ether-link;
  246. phy-handle = <&phy0>;
  247. phy-mode = "rgmii-txid";
  248. status = "okay";
  249. phy0: ethernet-phy@0 {
  250. rxc-skew-ps = <1500>;
  251. reg = <0>;
  252. interrupt-parent = <&gpio5>;
  253. interrupts = <19 IRQ_TYPE_LEVEL_LOW>;
  254. };
  255. };
  256. &scif2 {
  257. pinctrl-0 = <&scif2_pins>;
  258. pinctrl-names = "default";
  259. status = "okay";
  260. };
  261. &sdhi2 {
  262. /* used for on-board eMMC */
  263. pinctrl-0 = <&sdhi2_pins>;
  264. pinctrl-1 = <&sdhi2_pins_uhs>;
  265. pinctrl-names = "default", "state_uhs";
  266. vmmc-supply = <&reg_3p3v>;
  267. vqmmc-supply = <&reg_1p8v>;
  268. bus-width = <8>;
  269. mmc-hs200-1_8v;
  270. non-removable;
  271. status = "okay";
  272. };
  273. &usb2_phy0 {
  274. pinctrl-0 = <&usb0_pins>;
  275. pinctrl-names = "default";
  276. status = "okay";
  277. };
  278. &pwm0 {
  279. pinctrl-0 = <&pwm0_pins>;
  280. pinctrl-names = "default";
  281. status = "okay";
  282. };
  283. &pwm1 {
  284. pinctrl-0 = <&pwm1_pins>;
  285. pinctrl-names = "default";
  286. status = "okay";
  287. };
  288. &rwdt {
  289. timeout-sec = <60>;
  290. status = "okay";
  291. };
  292. &vin4 {
  293. pinctrl-0 = <&vin4_pins_cvbs>;
  294. pinctrl-names = "default";
  295. status = "okay";
  296. ports {
  297. #address-cells = <1>;
  298. #size-cells = <0>;
  299. port@0 {
  300. reg = <0>;
  301. vin4_in: endpoint {
  302. remote-endpoint = <&adv7180_out>;
  303. };
  304. };
  305. };
  306. };