rk3188.dtsi 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  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 "rk3188-clocks.dtsi"
  19. / {
  20. compatible = "rockchip,rk3188";
  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. cpu@2 {
  37. device_type = "cpu";
  38. compatible = "arm,cortex-a9";
  39. next-level-cache = <&L2>;
  40. reg = <0x2>;
  41. };
  42. cpu@3 {
  43. device_type = "cpu";
  44. compatible = "arm,cortex-a9";
  45. next-level-cache = <&L2>;
  46. reg = <0x3>;
  47. };
  48. };
  49. soc {
  50. global-timer@1013c200 {
  51. interrupts = <GIC_PPI 11 0xf04>;
  52. };
  53. local-timer@1013c600 {
  54. interrupts = <GIC_PPI 13 0xf04>;
  55. };
  56. pinctrl@20008000 {
  57. compatible = "rockchip,rk3188-pinctrl";
  58. reg = <0x20008000 0xa0>,
  59. <0x20008164 0x1a0>;
  60. reg-names = "base", "pull";
  61. #address-cells = <1>;
  62. #size-cells = <1>;
  63. ranges;
  64. gpio0: gpio0@0x2000a000 {
  65. compatible = "rockchip,rk3188-gpio-bank0";
  66. reg = <0x2000a000 0x100>,
  67. <0x20004064 0x8>;
  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@0x2003c000 {
  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. pcfg_pull_up: pcfg_pull_up {
  106. bias-pull-up;
  107. };
  108. pcfg_pull_down: pcfg_pull_down {
  109. bias-pull-down;
  110. };
  111. pcfg_pull_none: pcfg_pull_none {
  112. bias-disable;
  113. };
  114. uart0 {
  115. uart0_xfer: uart0-xfer {
  116. rockchip,pins = <RK_GPIO1 0 RK_FUNC_1 &pcfg_pull_none>,
  117. <RK_GPIO1 1 RK_FUNC_1 &pcfg_pull_none>;
  118. };
  119. uart0_cts: uart0-cts {
  120. rockchip,pins = <RK_GPIO1 2 RK_FUNC_1 &pcfg_pull_none>;
  121. };
  122. uart0_rts: uart0-rts {
  123. rockchip,pins = <RK_GPIO1 3 RK_FUNC_1 &pcfg_pull_none>;
  124. };
  125. };
  126. uart1 {
  127. uart1_xfer: uart1-xfer {
  128. rockchip,pins = <RK_GPIO1 4 RK_FUNC_1 &pcfg_pull_none>,
  129. <RK_GPIO1 5 RK_FUNC_1 &pcfg_pull_none>;
  130. };
  131. uart1_cts: uart1-cts {
  132. rockchip,pins = <RK_GPIO1 6 RK_FUNC_1 &pcfg_pull_none>;
  133. };
  134. uart1_rts: uart1-rts {
  135. rockchip,pins = <RK_GPIO1 7 RK_FUNC_1 &pcfg_pull_none>;
  136. };
  137. };
  138. uart2 {
  139. uart2_xfer: uart2-xfer {
  140. rockchip,pins = <RK_GPIO1 8 RK_FUNC_1 &pcfg_pull_none>,
  141. <RK_GPIO1 9 RK_FUNC_1 &pcfg_pull_none>;
  142. };
  143. /* no rts / cts for uart2 */
  144. };
  145. uart3 {
  146. uart3_xfer: uart3-xfer {
  147. rockchip,pins = <RK_GPIO1 10 RK_FUNC_1 &pcfg_pull_none>,
  148. <RK_GPIO1 11 RK_FUNC_1 &pcfg_pull_none>;
  149. };
  150. uart3_cts: uart3-cts {
  151. rockchip,pins = <RK_GPIO1 12 RK_FUNC_1 &pcfg_pull_none>;
  152. };
  153. uart3_rts: uart3-rts {
  154. rockchip,pins = <RK_GPIO1 13 RK_FUNC_1 &pcfg_pull_none>;
  155. };
  156. };
  157. sd0 {
  158. sd0_clk: sd0-clk {
  159. rockchip,pins = <RK_GPIO3 2 RK_FUNC_1 &pcfg_pull_none>;
  160. };
  161. sd0_cmd: sd0-cmd {
  162. rockchip,pins = <RK_GPIO3 3 RK_FUNC_1 &pcfg_pull_none>;
  163. };
  164. sd0_cd: sd0-cd {
  165. rockchip,pins = <RK_GPIO3 8 RK_FUNC_1 &pcfg_pull_none>;
  166. };
  167. sd0_wp: sd0-wp {
  168. rockchip,pins = <RK_GPIO3 9 RK_FUNC_1 &pcfg_pull_none>;
  169. };
  170. sd0_pwr: sd0-pwr {
  171. rockchip,pins = <RK_GPIO3 1 RK_FUNC_1 &pcfg_pull_none>;
  172. };
  173. sd0_bus1: sd0-bus-width1 {
  174. rockchip,pins = <RK_GPIO3 4 RK_FUNC_1 &pcfg_pull_none>;
  175. };
  176. sd0_bus4: sd0-bus-width4 {
  177. rockchip,pins = <RK_GPIO3 4 RK_FUNC_1 &pcfg_pull_none>,
  178. <RK_GPIO3 5 RK_FUNC_1 &pcfg_pull_none>,
  179. <RK_GPIO3 6 RK_FUNC_1 &pcfg_pull_none>,
  180. <RK_GPIO3 7 RK_FUNC_1 &pcfg_pull_none>;
  181. };
  182. };
  183. sd1 {
  184. sd1_clk: sd1-clk {
  185. rockchip,pins = <RK_GPIO3 21 RK_FUNC_1 &pcfg_pull_none>;
  186. };
  187. sd1_cmd: sd1-cmd {
  188. rockchip,pins = <RK_GPIO3 16 RK_FUNC_1 &pcfg_pull_none>;
  189. };
  190. sd1_cd: sd1-cd {
  191. rockchip,pins = <RK_GPIO3 22 RK_FUNC_1 &pcfg_pull_none>;
  192. };
  193. sd1_wp: sd1-wp {
  194. rockchip,pins = <RK_GPIO3 23 RK_FUNC_1 &pcfg_pull_none>;
  195. };
  196. sd1_bus1: sd1-bus-width1 {
  197. rockchip,pins = <RK_GPIO3 17 RK_FUNC_1 &pcfg_pull_none>;
  198. };
  199. sd1_bus4: sd1-bus-width4 {
  200. rockchip,pins = <RK_GPIO3 17 RK_FUNC_1 &pcfg_pull_none>,
  201. <RK_GPIO3 18 RK_FUNC_1 &pcfg_pull_none>,
  202. <RK_GPIO3 19 RK_FUNC_1 &pcfg_pull_none>,
  203. <RK_GPIO3 20 RK_FUNC_1 &pcfg_pull_none>;
  204. };
  205. };
  206. };
  207. };
  208. };