rk3066a.dtsi 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272
  1. /*
  2. * Copyright (c) 2013 MundoReader S.L.
  3. * Author: Heiko Stuebner <heiko@sntech.de>
  4. *
  5. * This program is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License as published by
  7. * the Free Software Foundation; either version 2 of the License, or
  8. * (at your option) any later version.
  9. *
  10. * This program is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. */
  15. #include <dt-bindings/gpio/gpio.h>
  16. #include <dt-bindings/pinctrl/rockchip.h>
  17. #include "rk3xxx.dtsi"
  18. #include "rk3066a-clocks.dtsi"
  19. / {
  20. compatible = "rockchip,rk3066a";
  21. cpus {
  22. #address-cells = <1>;
  23. #size-cells = <0>;
  24. cpu@0 {
  25. device_type = "cpu";
  26. compatible = "arm,cortex-a9";
  27. next-level-cache = <&L2>;
  28. reg = <0x0>;
  29. };
  30. cpu@1 {
  31. device_type = "cpu";
  32. compatible = "arm,cortex-a9";
  33. next-level-cache = <&L2>;
  34. reg = <0x1>;
  35. };
  36. };
  37. soc {
  38. timer@20038000 {
  39. compatible = "snps,dw-apb-timer-osc";
  40. reg = <0x20038000 0x100>;
  41. interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
  42. clocks = <&clk_gates1 0>, <&clk_gates7 7>;
  43. clock-names = "timer", "pclk";
  44. };
  45. timer@2003a000 {
  46. compatible = "snps,dw-apb-timer-osc";
  47. reg = <0x2003a000 0x100>;
  48. interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
  49. clocks = <&clk_gates1 1>, <&clk_gates7 8>;
  50. clock-names = "timer", "pclk";
  51. };
  52. timer@2000e000 {
  53. compatible = "snps,dw-apb-timer-osc";
  54. reg = <0x2000e000 0x100>;
  55. interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
  56. clocks = <&clk_gates1 2>, <&clk_gates7 9>;
  57. clock-names = "timer", "pclk";
  58. };
  59. pinctrl@20008000 {
  60. compatible = "rockchip,rk3066a-pinctrl";
  61. reg = <0x20008000 0x150>;
  62. #address-cells = <1>;
  63. #size-cells = <1>;
  64. ranges;
  65. gpio0: gpio0@20034000 {
  66. compatible = "rockchip,gpio-bank";
  67. reg = <0x20034000 0x100>;
  68. interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
  69. clocks = <&clk_gates8 9>;
  70. gpio-controller;
  71. #gpio-cells = <2>;
  72. interrupt-controller;
  73. #interrupt-cells = <2>;
  74. };
  75. gpio1: gpio1@2003c000 {
  76. compatible = "rockchip,gpio-bank";
  77. reg = <0x2003c000 0x100>;
  78. interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
  79. clocks = <&clk_gates8 10>;
  80. gpio-controller;
  81. #gpio-cells = <2>;
  82. interrupt-controller;
  83. #interrupt-cells = <2>;
  84. };
  85. gpio2: gpio2@2003e000 {
  86. compatible = "rockchip,gpio-bank";
  87. reg = <0x2003e000 0x100>;
  88. interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
  89. clocks = <&clk_gates8 11>;
  90. gpio-controller;
  91. #gpio-cells = <2>;
  92. interrupt-controller;
  93. #interrupt-cells = <2>;
  94. };
  95. gpio3: gpio3@20080000 {
  96. compatible = "rockchip,gpio-bank";
  97. reg = <0x20080000 0x100>;
  98. interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
  99. clocks = <&clk_gates8 12>;
  100. gpio-controller;
  101. #gpio-cells = <2>;
  102. interrupt-controller;
  103. #interrupt-cells = <2>;
  104. };
  105. gpio4: gpio4@20084000 {
  106. compatible = "rockchip,gpio-bank";
  107. reg = <0x20084000 0x100>;
  108. interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
  109. clocks = <&clk_gates8 13>;
  110. gpio-controller;
  111. #gpio-cells = <2>;
  112. interrupt-controller;
  113. #interrupt-cells = <2>;
  114. };
  115. gpio6: gpio6@2000a000 {
  116. compatible = "rockchip,gpio-bank";
  117. reg = <0x2000a000 0x100>;
  118. interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
  119. clocks = <&clk_gates8 15>;
  120. gpio-controller;
  121. #gpio-cells = <2>;
  122. interrupt-controller;
  123. #interrupt-cells = <2>;
  124. };
  125. pcfg_pull_default: pcfg_pull_default {
  126. bias-pull-pin-default;
  127. };
  128. pcfg_pull_none: pcfg_pull_none {
  129. bias-disable;
  130. };
  131. uart0 {
  132. uart0_xfer: uart0-xfer {
  133. rockchip,pins = <RK_GPIO1 0 RK_FUNC_1 &pcfg_pull_default>,
  134. <RK_GPIO1 1 RK_FUNC_1 &pcfg_pull_default>;
  135. };
  136. uart0_cts: uart0-cts {
  137. rockchip,pins = <RK_GPIO1 2 RK_FUNC_1 &pcfg_pull_default>;
  138. };
  139. uart0_rts: uart0-rts {
  140. rockchip,pins = <RK_GPIO1 3 RK_FUNC_1 &pcfg_pull_default>;
  141. };
  142. };
  143. uart1 {
  144. uart1_xfer: uart1-xfer {
  145. rockchip,pins = <RK_GPIO1 4 RK_FUNC_1 &pcfg_pull_default>,
  146. <RK_GPIO1 5 RK_FUNC_1 &pcfg_pull_default>;
  147. };
  148. uart1_cts: uart1-cts {
  149. rockchip,pins = <RK_GPIO1 6 RK_FUNC_1 &pcfg_pull_default>;
  150. };
  151. uart1_rts: uart1-rts {
  152. rockchip,pins = <RK_GPIO1 7 RK_FUNC_1 &pcfg_pull_default>;
  153. };
  154. };
  155. uart2 {
  156. uart2_xfer: uart2-xfer {
  157. rockchip,pins = <RK_GPIO1 8 RK_FUNC_1 &pcfg_pull_default>,
  158. <RK_GPIO1 9 RK_FUNC_1 &pcfg_pull_default>;
  159. };
  160. /* no rts / cts for uart2 */
  161. };
  162. uart3 {
  163. uart3_xfer: uart3-xfer {
  164. rockchip,pins = <RK_GPIO3 27 RK_FUNC_1 &pcfg_pull_default>,
  165. <RK_GPIO3 28 RK_FUNC_1 &pcfg_pull_default>;
  166. };
  167. uart3_cts: uart3-cts {
  168. rockchip,pins = <RK_GPIO3 29 RK_FUNC_1 &pcfg_pull_default>;
  169. };
  170. uart3_rts: uart3-rts {
  171. rockchip,pins = <RK_GPIO3 30 RK_FUNC_1 &pcfg_pull_default>;
  172. };
  173. };
  174. sd0 {
  175. sd0_clk: sd0-clk {
  176. rockchip,pins = <RK_GPIO3 8 RK_FUNC_1 &pcfg_pull_default>;
  177. };
  178. sd0_cmd: sd0-cmd {
  179. rockchip,pins = <RK_GPIO3 9 RK_FUNC_1 &pcfg_pull_default>;
  180. };
  181. sd0_cd: sd0-cd {
  182. rockchip,pins = <RK_GPIO3 14 RK_FUNC_1 &pcfg_pull_default>;
  183. };
  184. sd0_wp: sd0-wp {
  185. rockchip,pins = <RK_GPIO3 15 RK_FUNC_1 &pcfg_pull_default>;
  186. };
  187. sd0_bus1: sd0-bus-width1 {
  188. rockchip,pins = <RK_GPIO3 10 RK_FUNC_1 &pcfg_pull_default>;
  189. };
  190. sd0_bus4: sd0-bus-width4 {
  191. rockchip,pins = <RK_GPIO3 10 RK_FUNC_1 &pcfg_pull_default>,
  192. <RK_GPIO3 11 RK_FUNC_1 &pcfg_pull_default>,
  193. <RK_GPIO3 12 RK_FUNC_1 &pcfg_pull_default>,
  194. <RK_GPIO3 13 RK_FUNC_1 &pcfg_pull_default>;
  195. };
  196. };
  197. sd1 {
  198. sd1_clk: sd1-clk {
  199. rockchip,pins = <RK_GPIO3 21 RK_FUNC_1 &pcfg_pull_default>;
  200. };
  201. sd1_cmd: sd1-cmd {
  202. rockchip,pins = <RK_GPIO3 16 RK_FUNC_1 &pcfg_pull_default>;
  203. };
  204. sd1_cd: sd1-cd {
  205. rockchip,pins = <RK_GPIO3 22 RK_FUNC_1 &pcfg_pull_default>;
  206. };
  207. sd1_wp: sd1-wp {
  208. rockchip,pins = <RK_GPIO3 23 RK_FUNC_1 &pcfg_pull_default>;
  209. };
  210. sd1_bus1: sd1-bus-width1 {
  211. rockchip,pins = <RK_GPIO3 17 RK_FUNC_1 &pcfg_pull_default>;
  212. };
  213. sd1_bus4: sd1-bus-width4 {
  214. rockchip,pins = <RK_GPIO3 17 RK_FUNC_1 &pcfg_pull_default>,
  215. <RK_GPIO3 18 RK_FUNC_1 &pcfg_pull_default>,
  216. <RK_GPIO3 19 RK_FUNC_1 &pcfg_pull_default>,
  217. <RK_GPIO3 20 RK_FUNC_1 &pcfg_pull_default>;
  218. };
  219. };
  220. };
  221. };
  222. };