sh73a0-kzm9g-reference.dts 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357
  1. /*
  2. * Device Tree Source for the KZM-A9-GT board
  3. *
  4. * Copyright (C) 2012 Horms Solutions Ltd.
  5. *
  6. * Based on sh73a0-kzm9g.dts
  7. * Copyright (C) 2012 Renesas Solutions Corp.
  8. *
  9. * This file is licensed under the terms of the GNU General Public License
  10. * version 2. This program is licensed "as is" without any warranty of any
  11. * kind, whether express or implied.
  12. */
  13. /dts-v1/;
  14. #include "sh73a0.dtsi"
  15. #include <dt-bindings/gpio/gpio.h>
  16. #include <dt-bindings/input/input.h>
  17. #include <dt-bindings/interrupt-controller/irq.h>
  18. / {
  19. model = "KZM-A9-GT";
  20. compatible = "renesas,kzm9g-reference", "renesas,sh73a0";
  21. aliases {
  22. serial4 = &scifa4;
  23. };
  24. cpus {
  25. cpu@0 {
  26. cpu0-supply = <&vdd_dvfs>;
  27. operating-points = <
  28. /* kHz uV */
  29. 1196000 1315000
  30. 598000 1175000
  31. 398667 1065000
  32. >;
  33. voltage-tolerance = <1>; /* 1% */
  34. };
  35. };
  36. chosen {
  37. bootargs = "console=tty0 console=ttySC4,115200 root=/dev/nfs ip=dhcp ignore_loglevel rw";
  38. };
  39. memory {
  40. device_type = "memory";
  41. reg = <0x41000000 0x1e800000>;
  42. };
  43. reg_1p8v: regulator@0 {
  44. compatible = "regulator-fixed";
  45. regulator-name = "fixed-1.8V";
  46. regulator-min-microvolt = <1800000>;
  47. regulator-max-microvolt = <1800000>;
  48. regulator-always-on;
  49. regulator-boot-on;
  50. };
  51. reg_3p3v: regulator@1 {
  52. compatible = "regulator-fixed";
  53. regulator-name = "fixed-3.3V";
  54. regulator-min-microvolt = <3300000>;
  55. regulator-max-microvolt = <3300000>;
  56. regulator-always-on;
  57. regulator-boot-on;
  58. };
  59. vmmc_sdhi0: regulator@2 {
  60. compatible = "regulator-fixed";
  61. regulator-name = "SDHI0 Vcc";
  62. regulator-min-microvolt = <3300000>;
  63. regulator-max-microvolt = <3300000>;
  64. gpio = <&pfc 15 GPIO_ACTIVE_HIGH>;
  65. enable-active-high;
  66. };
  67. vmmc_sdhi2: regulator@3 {
  68. compatible = "regulator-fixed";
  69. regulator-name = "SDHI2 Vcc";
  70. regulator-min-microvolt = <3300000>;
  71. regulator-max-microvolt = <3300000>;
  72. gpio = <&pfc 14 GPIO_ACTIVE_HIGH>;
  73. enable-active-high;
  74. };
  75. lan9220@10000000 {
  76. compatible = "smsc,lan9220", "smsc,lan9115";
  77. reg = <0x10000000 0x100>;
  78. phy-mode = "mii";
  79. interrupt-parent = <&irqpin0>;
  80. interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
  81. reg-io-width = <4>;
  82. smsc,irq-push-pull;
  83. smsc,save-mac-address;
  84. vddvario-supply = <&reg_1p8v>;
  85. vdd33a-supply = <&reg_3p3v>;
  86. };
  87. leds {
  88. compatible = "gpio-leds";
  89. led1 {
  90. gpios = <&pfc 20 GPIO_ACTIVE_LOW>;
  91. };
  92. led2 {
  93. gpios = <&pfc 21 GPIO_ACTIVE_LOW>;
  94. };
  95. led3 {
  96. gpios = <&pfc 22 GPIO_ACTIVE_LOW>;
  97. };
  98. led4 {
  99. gpios = <&pfc 23 GPIO_ACTIVE_LOW>;
  100. };
  101. };
  102. gpio-keys {
  103. compatible = "gpio-keys";
  104. back-key {
  105. gpios = <&pcf8575 8 GPIO_ACTIVE_LOW>;
  106. linux,code = <KEY_BACK>;
  107. label = "SW3";
  108. };
  109. right-key {
  110. gpios = <&pcf8575 9 GPIO_ACTIVE_LOW>;
  111. linux,code = <KEY_RIGHT>;
  112. label = "SW2-R";
  113. };
  114. left-key {
  115. gpios = <&pcf8575 10 GPIO_ACTIVE_LOW>;
  116. linux,code = <KEY_LEFT>;
  117. label = "SW2-L";
  118. };
  119. enter-key {
  120. gpios = <&pcf8575 11 GPIO_ACTIVE_LOW>;
  121. linux,code = <KEY_ENTER>;
  122. label = "SW2-P";
  123. };
  124. up-key {
  125. gpios = <&pcf8575 12 GPIO_ACTIVE_LOW>;
  126. linux,code = <KEY_UP>;
  127. label = "SW2-U";
  128. };
  129. down-key {
  130. gpios = <&pcf8575 13 GPIO_ACTIVE_LOW>;
  131. linux,code = <KEY_DOWN>;
  132. label = "SW2-D";
  133. };
  134. home-key {
  135. gpios = <&pcf8575 14 GPIO_ACTIVE_LOW>;
  136. linux,code = <KEY_HOME>;
  137. label = "SW1";
  138. };
  139. };
  140. sound {
  141. compatible = "simple-audio-card";
  142. simple-audio-card,format = "left_j";
  143. simple-audio-card,cpu {
  144. sound-dai = <&sh_fsi2 0>;
  145. };
  146. simple-audio-card,codec {
  147. sound-dai = <&ak4648>;
  148. bitclock-master;
  149. frame-master;
  150. system-clock-frequency = <11289600>;
  151. };
  152. };
  153. };
  154. &cmt1 {
  155. status = "ok";
  156. };
  157. &i2c0 {
  158. status = "okay";
  159. as3711@40 {
  160. compatible = "ams,as3711";
  161. reg = <0x40>;
  162. regulators {
  163. vdd_dvfs: sd1 {
  164. regulator-name = "1.315V CPU";
  165. regulator-min-microvolt = <1050000>;
  166. regulator-max-microvolt = <1350000>;
  167. regulator-always-on;
  168. regulator-boot-on;
  169. };
  170. sd2 {
  171. regulator-name = "1.8V";
  172. regulator-min-microvolt = <1800000>;
  173. regulator-max-microvolt = <1800000>;
  174. regulator-always-on;
  175. regulator-boot-on;
  176. };
  177. sd4 {
  178. regulator-name = "1.215V";
  179. regulator-min-microvolt = <1215000>;
  180. regulator-max-microvolt = <1235000>;
  181. regulator-always-on;
  182. regulator-boot-on;
  183. };
  184. ldo2 {
  185. regulator-name = "2.8V CPU";
  186. regulator-min-microvolt = <2800000>;
  187. regulator-max-microvolt = <2800000>;
  188. regulator-always-on;
  189. regulator-boot-on;
  190. };
  191. ldo3 {
  192. regulator-name = "3.0V CPU";
  193. regulator-min-microvolt = <3000000>;
  194. regulator-max-microvolt = <3000000>;
  195. regulator-always-on;
  196. regulator-boot-on;
  197. };
  198. ldo4 {
  199. regulator-name = "2.8V";
  200. regulator-min-microvolt = <2800000>;
  201. regulator-max-microvolt = <2800000>;
  202. regulator-always-on;
  203. regulator-boot-on;
  204. };
  205. ldo5 {
  206. regulator-name = "2.8V #2";
  207. regulator-min-microvolt = <2800000>;
  208. regulator-max-microvolt = <2800000>;
  209. regulator-always-on;
  210. regulator-boot-on;
  211. };
  212. ldo7 {
  213. regulator-name = "1.15V CPU";
  214. regulator-min-microvolt = <1150000>;
  215. regulator-max-microvolt = <1150000>;
  216. regulator-always-on;
  217. regulator-boot-on;
  218. };
  219. ldo8 {
  220. regulator-name = "1.15V CPU #2";
  221. regulator-min-microvolt = <1150000>;
  222. regulator-max-microvolt = <1150000>;
  223. regulator-always-on;
  224. regulator-boot-on;
  225. };
  226. };
  227. };
  228. ak4648: ak4648@0x12 {
  229. #sound-dai-cells = <0>;
  230. compatible = "asahi-kasei,ak4648";
  231. reg = <0x12>;
  232. };
  233. };
  234. &i2c3 {
  235. pinctrl-0 = <&i2c3_pins>;
  236. pinctrl-names = "default";
  237. status = "okay";
  238. pcf8575: gpio@20 {
  239. compatible = "nxp,pcf8575";
  240. reg = <0x20>;
  241. interrupt-parent = <&irqpin2>;
  242. interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
  243. gpio-controller;
  244. #gpio-cells = <2>;
  245. interrupt-controller;
  246. #interrupt-cells = <2>;
  247. };
  248. };
  249. &mmcif {
  250. pinctrl-0 = <&mmcif_pins>;
  251. pinctrl-names = "default";
  252. bus-width = <8>;
  253. vmmc-supply = <&reg_1p8v>;
  254. status = "okay";
  255. };
  256. &pfc {
  257. i2c3_pins: i2c3 {
  258. renesas,groups = "i2c3_1";
  259. renesas,function = "i2c3";
  260. };
  261. mmcif_pins: mmc {
  262. mux {
  263. renesas,groups = "mmc0_data8_0", "mmc0_ctrl_0";
  264. renesas,function = "mmc0";
  265. };
  266. cfg {
  267. renesas,groups = "mmc0_data8_0";
  268. renesas,pins = "PORT279";
  269. bias-pull-up;
  270. };
  271. };
  272. scifa4_pins: serial4 {
  273. renesas,groups = "scifa4_data", "scifa4_ctrl";
  274. renesas,function = "scifa4";
  275. };
  276. sdhi0_pins: sd0 {
  277. renesas,groups = "sdhi0_data4", "sdhi0_ctrl", "sdhi0_cd", "sdhi0_wp";
  278. renesas,function = "sdhi0";
  279. };
  280. sdhi2_pins: sd2 {
  281. renesas,groups = "sdhi2_data4", "sdhi2_ctrl";
  282. renesas,function = "sdhi2";
  283. };
  284. fsia_pins: sounda {
  285. renesas,groups = "fsia_mclk_in", "fsia_sclk_in",
  286. "fsia_data_in", "fsia_data_out";
  287. renesas,function = "fsia";
  288. };
  289. };
  290. &scifa4 {
  291. pinctrl-0 = <&scifa4_pins>;
  292. pinctrl-names = "default";
  293. status = "okay";
  294. };
  295. &sdhi0 {
  296. pinctrl-0 = <&sdhi0_pins>;
  297. pinctrl-names = "default";
  298. vmmc-supply = <&vmmc_sdhi0>;
  299. bus-width = <4>;
  300. status = "okay";
  301. };
  302. &sdhi2 {
  303. pinctrl-0 = <&sdhi2_pins>;
  304. pinctrl-names = "default";
  305. vmmc-supply = <&vmmc_sdhi2>;
  306. bus-width = <4>;
  307. broken-cd;
  308. status = "okay";
  309. };
  310. &sh_fsi2 {
  311. pinctrl-0 = <&fsia_pins>;
  312. pinctrl-names = "default";
  313. status = "okay";
  314. };