r8a7740-armadillo800eva.dts 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Device Tree Source for the armadillo 800 eva board
  4. *
  5. * Copyright (C) 2012 Renesas Solutions Corp.
  6. */
  7. /dts-v1/;
  8. #include "r8a7740.dtsi"
  9. #include <dt-bindings/gpio/gpio.h>
  10. #include <dt-bindings/input/input.h>
  11. #include <dt-bindings/interrupt-controller/irq.h>
  12. #include <dt-bindings/pwm/pwm.h>
  13. / {
  14. model = "armadillo 800 eva";
  15. compatible = "renesas,armadillo800eva", "renesas,r8a7740";
  16. aliases {
  17. serial0 = &scifa1;
  18. };
  19. chosen {
  20. bootargs = "earlyprintk ignore_loglevel root=/dev/nfs ip=on rw";
  21. stdout-path = "serial0:115200n8";
  22. };
  23. memory@40000000 {
  24. device_type = "memory";
  25. reg = <0x40000000 0x20000000>;
  26. };
  27. reg_3p3v: regulator-3p3v {
  28. compatible = "regulator-fixed";
  29. regulator-name = "fixed-3.3V";
  30. regulator-min-microvolt = <3300000>;
  31. regulator-max-microvolt = <3300000>;
  32. regulator-always-on;
  33. regulator-boot-on;
  34. };
  35. vcc_sdhi0: regulator-vcc-sdhi0 {
  36. compatible = "regulator-fixed";
  37. regulator-name = "SDHI0 Vcc";
  38. regulator-min-microvolt = <3300000>;
  39. regulator-max-microvolt = <3300000>;
  40. gpio = <&pfc 75 GPIO_ACTIVE_HIGH>;
  41. enable-active-high;
  42. };
  43. vccq_sdhi0: regulator-vccq-sdhi0 {
  44. compatible = "regulator-gpio";
  45. regulator-name = "SDHI0 VccQ";
  46. regulator-min-microvolt = <1800000>;
  47. regulator-max-microvolt = <3300000>;
  48. vin-supply = <&vcc_sdhi0>;
  49. enable-gpio = <&pfc 74 GPIO_ACTIVE_HIGH>;
  50. gpios = <&pfc 17 GPIO_ACTIVE_HIGH>;
  51. states = <3300000 0>, <1800000 1>;
  52. enable-active-high;
  53. };
  54. reg_5p0v: regulator-5p0v {
  55. compatible = "regulator-fixed";
  56. regulator-name = "fixed-5.0V";
  57. regulator-min-microvolt = <5000000>;
  58. regulator-max-microvolt = <5000000>;
  59. regulator-always-on;
  60. regulator-boot-on;
  61. };
  62. keyboard {
  63. compatible = "gpio-keys";
  64. power-key {
  65. gpios = <&pfc 99 GPIO_ACTIVE_LOW>;
  66. linux,code = <KEY_POWER>;
  67. label = "SW3";
  68. wakeup-source;
  69. };
  70. back-key {
  71. gpios = <&pfc 100 GPIO_ACTIVE_LOW>;
  72. linux,code = <KEY_BACK>;
  73. label = "SW4";
  74. };
  75. menu-key {
  76. gpios = <&pfc 97 GPIO_ACTIVE_LOW>;
  77. linux,code = <KEY_MENU>;
  78. label = "SW5";
  79. };
  80. home-key {
  81. gpios = <&pfc 98 GPIO_ACTIVE_LOW>;
  82. linux,code = <KEY_HOME>;
  83. label = "SW6";
  84. };
  85. };
  86. leds {
  87. compatible = "gpio-leds";
  88. led3 {
  89. gpios = <&pfc 102 GPIO_ACTIVE_HIGH>;
  90. label = "LED3";
  91. };
  92. led4 {
  93. gpios = <&pfc 111 GPIO_ACTIVE_HIGH>;
  94. label = "LED4";
  95. };
  96. led5 {
  97. gpios = <&pfc 110 GPIO_ACTIVE_HIGH>;
  98. label = "LED5";
  99. };
  100. led6 {
  101. gpios = <&pfc 177 GPIO_ACTIVE_HIGH>;
  102. label = "LED6";
  103. };
  104. };
  105. i2c2: i2c-2 {
  106. #address-cells = <1>;
  107. #size-cells = <0>;
  108. compatible = "i2c-gpio";
  109. sda-gpios = <&pfc 208 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  110. scl-gpios = <&pfc 91 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  111. i2c-gpio,delay-us = <5>;
  112. };
  113. backlight {
  114. compatible = "pwm-backlight";
  115. pwms = <&tpu 2 33333 PWM_POLARITY_INVERTED>;
  116. brightness-levels = <0 1 2 4 8 16 32 64 128 255>;
  117. default-brightness-level = <9>;
  118. pinctrl-0 = <&backlight_pins>;
  119. pinctrl-names = "default";
  120. power-supply = <&reg_5p0v>;
  121. enable-gpios = <&pfc 61 GPIO_ACTIVE_HIGH>;
  122. };
  123. sound {
  124. compatible = "simple-audio-card";
  125. simple-audio-card,format = "i2s";
  126. simple-audio-card,cpu {
  127. sound-dai = <&sh_fsi2 0>;
  128. bitclock-inversion;
  129. };
  130. simple-audio-card,codec {
  131. sound-dai = <&wm8978>;
  132. bitclock-master;
  133. frame-master;
  134. system-clock-frequency = <12288000>;
  135. };
  136. };
  137. };
  138. &ether {
  139. pinctrl-0 = <&ether_pins>;
  140. pinctrl-names = "default";
  141. phy-handle = <&phy0>;
  142. status = "okay";
  143. phy0: ethernet-phy@0 {
  144. compatible = "ethernet-phy-id0007.c0f1",
  145. "ethernet-phy-ieee802.3-c22";
  146. reg = <0>;
  147. reset-gpios = <&pfc 18 GPIO_ACTIVE_LOW>;
  148. };
  149. };
  150. &extal1_clk {
  151. clock-frequency = <24000000>;
  152. };
  153. &extal2_clk {
  154. clock-frequency = <48000000>;
  155. };
  156. &fsibck_clk {
  157. clock-frequency = <12288000>;
  158. };
  159. &cpg_clocks {
  160. renesas,mode = <0x05>; /* MD_CK0 | MD_CK2 */
  161. };
  162. &cmt1 {
  163. status = "okay";
  164. };
  165. &i2c0 {
  166. status = "okay";
  167. touchscreen@55 {
  168. compatible = "sitronix,st1232";
  169. reg = <0x55>;
  170. interrupt-parent = <&irqpin1>;
  171. interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
  172. pinctrl-0 = <&st1232_pins>;
  173. pinctrl-names = "default";
  174. gpios = <&pfc 166 GPIO_ACTIVE_LOW>;
  175. };
  176. wm8978: codec@1a {
  177. #sound-dai-cells = <0>;
  178. compatible = "wlf,wm8978";
  179. reg = <0x1a>;
  180. };
  181. };
  182. &i2c2 {
  183. status = "okay";
  184. rtc@30 {
  185. compatible = "sii,s35390a";
  186. reg = <0x30>;
  187. };
  188. };
  189. &pfc {
  190. pinctrl-0 = <&lcd0_pins>;
  191. pinctrl-names = "default";
  192. ether_pins: ether {
  193. groups = "gether_mii", "gether_int";
  194. function = "gether";
  195. };
  196. scifa1_pins: scifa1 {
  197. groups = "scifa1_data";
  198. function = "scifa1";
  199. };
  200. st1232_pins: touchscreen {
  201. groups = "intc_irq10";
  202. function = "intc";
  203. };
  204. backlight_pins: backlight {
  205. groups = "tpu0_to2_1";
  206. function = "tpu0";
  207. };
  208. mmc0_pins: mmc0 {
  209. groups = "mmc0_data8_1", "mmc0_ctrl_1";
  210. function = "mmc0";
  211. };
  212. sdhi0_pins: sd0 {
  213. groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_wp";
  214. function = "sdhi0";
  215. };
  216. fsia_pins: sounda {
  217. groups = "fsia_sclk_in", "fsia_mclk_out",
  218. "fsia_data_in_1", "fsia_data_out_0";
  219. function = "fsia";
  220. };
  221. lcd0_pins: lcd0 {
  222. groups = "lcd0_data24_0", "lcd0_lclk_1", "lcd0_sync";
  223. function = "lcd0";
  224. };
  225. lcd0-mux-hog {
  226. /* DBGMD/LCDC0/FSIA MUX */
  227. gpio-hog;
  228. gpios = <176 0>;
  229. output-high;
  230. };
  231. };
  232. &tpu {
  233. status = "okay";
  234. };
  235. &mmcif0 {
  236. pinctrl-0 = <&mmc0_pins>;
  237. pinctrl-names = "default";
  238. vmmc-supply = <&reg_3p3v>;
  239. bus-width = <8>;
  240. non-removable;
  241. status = "okay";
  242. };
  243. &scifa1 {
  244. pinctrl-0 = <&scifa1_pins>;
  245. pinctrl-names = "default";
  246. status = "okay";
  247. };
  248. &sdhi0 {
  249. pinctrl-0 = <&sdhi0_pins>;
  250. pinctrl-names = "default";
  251. vmmc-supply = <&vcc_sdhi0>;
  252. vqmmc-supply = <&vccq_sdhi0>;
  253. bus-width = <4>;
  254. cd-gpios = <&pfc 167 GPIO_ACTIVE_LOW>;
  255. status = "okay";
  256. };
  257. &sh_fsi2 {
  258. pinctrl-0 = <&fsia_pins>;
  259. pinctrl-names = "default";
  260. status = "okay";
  261. };
  262. &tmu0 {
  263. status = "okay";
  264. };