rk3066a.dtsi 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697
  1. /*
  2. * Copyright (c) 2013 MundoReader S.L.
  3. * Author: Heiko Stuebner <heiko@sntech.de>
  4. *
  5. * This file is dual-licensed: you can use it either under the terms
  6. * of the GPL or the X11 license, at your option. Note that this dual
  7. * licensing only applies to this file, and not this project as a
  8. * whole.
  9. *
  10. * a) This file is free software; you can redistribute it and/or
  11. * modify it under the terms of the GNU General Public License as
  12. * published by the Free Software Foundation; either version 2 of the
  13. * License, or (at your option) any later version.
  14. *
  15. * This file is distributed in the hope that it will be useful,
  16. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18. * GNU General Public License for more details.
  19. *
  20. * Or, alternatively,
  21. *
  22. * b) Permission is hereby granted, free of charge, to any person
  23. * obtaining a copy of this software and associated documentation
  24. * files (the "Software"), to deal in the Software without
  25. * restriction, including without limitation the rights to use,
  26. * copy, modify, merge, publish, distribute, sublicense, and/or
  27. * sell copies of the Software, and to permit persons to whom the
  28. * Software is furnished to do so, subject to the following
  29. * conditions:
  30. *
  31. * The above copyright notice and this permission notice shall be
  32. * included in all copies or substantial portions of the Software.
  33. *
  34. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  35. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  36. * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  37. * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  38. * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  39. * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  40. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  41. * OTHER DEALINGS IN THE SOFTWARE.
  42. */
  43. #include <dt-bindings/gpio/gpio.h>
  44. #include <dt-bindings/pinctrl/rockchip.h>
  45. #include <dt-bindings/clock/rk3066a-cru.h>
  46. #include "rk3xxx.dtsi"
  47. / {
  48. compatible = "rockchip,rk3066a";
  49. cpus {
  50. #address-cells = <1>;
  51. #size-cells = <0>;
  52. enable-method = "rockchip,rk3066-smp";
  53. cpu0: cpu@0 {
  54. device_type = "cpu";
  55. compatible = "arm,cortex-a9";
  56. next-level-cache = <&L2>;
  57. reg = <0x0>;
  58. operating-points = <
  59. /* kHz uV */
  60. 1416000 1300000
  61. 1200000 1175000
  62. 1008000 1125000
  63. 816000 1125000
  64. 600000 1100000
  65. 504000 1100000
  66. 312000 1075000
  67. >;
  68. clock-latency = <40000>;
  69. clocks = <&cru ARMCLK>;
  70. };
  71. cpu@1 {
  72. device_type = "cpu";
  73. compatible = "arm,cortex-a9";
  74. next-level-cache = <&L2>;
  75. reg = <0x1>;
  76. };
  77. };
  78. sram: sram@10080000 {
  79. compatible = "mmio-sram";
  80. reg = <0x10080000 0x10000>;
  81. #address-cells = <1>;
  82. #size-cells = <1>;
  83. ranges = <0 0x10080000 0x10000>;
  84. smp-sram@0 {
  85. compatible = "rockchip,rk3066-smp-sram";
  86. reg = <0x0 0x50>;
  87. };
  88. };
  89. i2s0: i2s@10118000 {
  90. compatible = "rockchip,rk3066-i2s";
  91. reg = <0x10118000 0x2000>;
  92. interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
  93. #address-cells = <1>;
  94. #size-cells = <0>;
  95. pinctrl-names = "default";
  96. pinctrl-0 = <&i2s0_bus>;
  97. dmas = <&dmac1_s 4>, <&dmac1_s 5>;
  98. dma-names = "tx", "rx";
  99. clock-names = "i2s_hclk", "i2s_clk";
  100. clocks = <&cru HCLK_I2S0>, <&cru SCLK_I2S0>;
  101. rockchip,playback-channels = <8>;
  102. rockchip,capture-channels = <2>;
  103. status = "disabled";
  104. };
  105. i2s1: i2s@1011a000 {
  106. compatible = "rockchip,rk3066-i2s";
  107. reg = <0x1011a000 0x2000>;
  108. interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
  109. #address-cells = <1>;
  110. #size-cells = <0>;
  111. pinctrl-names = "default";
  112. pinctrl-0 = <&i2s1_bus>;
  113. dmas = <&dmac1_s 6>, <&dmac1_s 7>;
  114. dma-names = "tx", "rx";
  115. clock-names = "i2s_hclk", "i2s_clk";
  116. clocks = <&cru HCLK_I2S1>, <&cru SCLK_I2S1>;
  117. rockchip,playback-channels = <2>;
  118. rockchip,capture-channels = <2>;
  119. status = "disabled";
  120. };
  121. i2s2: i2s@1011c000 {
  122. compatible = "rockchip,rk3066-i2s";
  123. reg = <0x1011c000 0x2000>;
  124. interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
  125. #address-cells = <1>;
  126. #size-cells = <0>;
  127. pinctrl-names = "default";
  128. pinctrl-0 = <&i2s2_bus>;
  129. dmas = <&dmac1_s 9>, <&dmac1_s 10>;
  130. dma-names = "tx", "rx";
  131. clock-names = "i2s_hclk", "i2s_clk";
  132. clocks = <&cru HCLK_I2S2>, <&cru SCLK_I2S2>;
  133. rockchip,playback-channels = <2>;
  134. rockchip,capture-channels = <2>;
  135. status = "disabled";
  136. };
  137. cru: clock-controller@20000000 {
  138. compatible = "rockchip,rk3066a-cru";
  139. reg = <0x20000000 0x1000>;
  140. rockchip,grf = <&grf>;
  141. #clock-cells = <1>;
  142. #reset-cells = <1>;
  143. };
  144. timer@2000e000 {
  145. compatible = "snps,dw-apb-timer-osc";
  146. reg = <0x2000e000 0x100>;
  147. interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
  148. clocks = <&cru SCLK_TIMER2>, <&cru PCLK_TIMER2>;
  149. clock-names = "timer", "pclk";
  150. };
  151. efuse: efuse@20010000 {
  152. compatible = "rockchip,rockchip-efuse";
  153. reg = <0x20010000 0x4000>;
  154. #address-cells = <1>;
  155. #size-cells = <1>;
  156. clocks = <&cru PCLK_EFUSE>;
  157. clock-names = "pclk_efuse";
  158. cpu_leakage: cpu_leakage@17 {
  159. reg = <0x17 0x1>;
  160. };
  161. };
  162. timer@20038000 {
  163. compatible = "snps,dw-apb-timer-osc";
  164. reg = <0x20038000 0x100>;
  165. interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
  166. clocks = <&cru SCLK_TIMER0>, <&cru PCLK_TIMER0>;
  167. clock-names = "timer", "pclk";
  168. };
  169. timer@2003a000 {
  170. compatible = "snps,dw-apb-timer-osc";
  171. reg = <0x2003a000 0x100>;
  172. interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
  173. clocks = <&cru SCLK_TIMER1>, <&cru PCLK_TIMER1>;
  174. clock-names = "timer", "pclk";
  175. };
  176. tsadc: tsadc@20060000 {
  177. compatible = "rockchip,rk3066-tsadc";
  178. reg = <0x20060000 0x100>;
  179. clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
  180. clock-names = "saradc", "apb_pclk";
  181. interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
  182. #io-channel-cells = <1>;
  183. resets = <&cru SRST_SARADC>;
  184. reset-names = "saradc-apb";
  185. status = "disabled";
  186. };
  187. usbphy: phy {
  188. compatible = "rockchip,rk3066a-usb-phy", "rockchip,rk3288-usb-phy";
  189. rockchip,grf = <&grf>;
  190. #address-cells = <1>;
  191. #size-cells = <0>;
  192. status = "disabled";
  193. usbphy0: usb-phy@17c {
  194. #phy-cells = <0>;
  195. reg = <0x17c>;
  196. clocks = <&cru SCLK_OTGPHY0>;
  197. clock-names = "phyclk";
  198. #clock-cells = <0>;
  199. };
  200. usbphy1: usb-phy@188 {
  201. #phy-cells = <0>;
  202. reg = <0x188>;
  203. clocks = <&cru SCLK_OTGPHY1>;
  204. clock-names = "phyclk";
  205. #clock-cells = <0>;
  206. };
  207. };
  208. pinctrl: pinctrl {
  209. compatible = "rockchip,rk3066a-pinctrl";
  210. rockchip,grf = <&grf>;
  211. #address-cells = <1>;
  212. #size-cells = <1>;
  213. ranges;
  214. gpio0: gpio0@20034000 {
  215. compatible = "rockchip,gpio-bank";
  216. reg = <0x20034000 0x100>;
  217. interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
  218. clocks = <&cru PCLK_GPIO0>;
  219. gpio-controller;
  220. #gpio-cells = <2>;
  221. interrupt-controller;
  222. #interrupt-cells = <2>;
  223. };
  224. gpio1: gpio1@2003c000 {
  225. compatible = "rockchip,gpio-bank";
  226. reg = <0x2003c000 0x100>;
  227. interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
  228. clocks = <&cru PCLK_GPIO1>;
  229. gpio-controller;
  230. #gpio-cells = <2>;
  231. interrupt-controller;
  232. #interrupt-cells = <2>;
  233. };
  234. gpio2: gpio2@2003e000 {
  235. compatible = "rockchip,gpio-bank";
  236. reg = <0x2003e000 0x100>;
  237. interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
  238. clocks = <&cru PCLK_GPIO2>;
  239. gpio-controller;
  240. #gpio-cells = <2>;
  241. interrupt-controller;
  242. #interrupt-cells = <2>;
  243. };
  244. gpio3: gpio3@20080000 {
  245. compatible = "rockchip,gpio-bank";
  246. reg = <0x20080000 0x100>;
  247. interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
  248. clocks = <&cru PCLK_GPIO3>;
  249. gpio-controller;
  250. #gpio-cells = <2>;
  251. interrupt-controller;
  252. #interrupt-cells = <2>;
  253. };
  254. gpio4: gpio4@20084000 {
  255. compatible = "rockchip,gpio-bank";
  256. reg = <0x20084000 0x100>;
  257. interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
  258. clocks = <&cru PCLK_GPIO4>;
  259. gpio-controller;
  260. #gpio-cells = <2>;
  261. interrupt-controller;
  262. #interrupt-cells = <2>;
  263. };
  264. gpio6: gpio6@2000a000 {
  265. compatible = "rockchip,gpio-bank";
  266. reg = <0x2000a000 0x100>;
  267. interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
  268. clocks = <&cru PCLK_GPIO6>;
  269. gpio-controller;
  270. #gpio-cells = <2>;
  271. interrupt-controller;
  272. #interrupt-cells = <2>;
  273. };
  274. pcfg_pull_default: pcfg_pull_default {
  275. bias-pull-pin-default;
  276. };
  277. pcfg_pull_none: pcfg_pull_none {
  278. bias-disable;
  279. };
  280. emac {
  281. emac_xfer: emac-xfer {
  282. rockchip,pins = <RK_GPIO1 16 RK_FUNC_2 &pcfg_pull_none>, /* mac_clk */
  283. <RK_GPIO1 17 RK_FUNC_2 &pcfg_pull_none>, /* tx_en */
  284. <RK_GPIO1 18 RK_FUNC_2 &pcfg_pull_none>, /* txd1 */
  285. <RK_GPIO1 19 RK_FUNC_2 &pcfg_pull_none>, /* txd0 */
  286. <RK_GPIO1 20 RK_FUNC_2 &pcfg_pull_none>, /* rx_err */
  287. <RK_GPIO1 21 RK_FUNC_2 &pcfg_pull_none>, /* crs_dvalid */
  288. <RK_GPIO1 22 RK_FUNC_2 &pcfg_pull_none>, /* rxd1 */
  289. <RK_GPIO1 23 RK_FUNC_2 &pcfg_pull_none>; /* rxd0 */
  290. };
  291. emac_mdio: emac-mdio {
  292. rockchip,pins = <RK_GPIO1 24 RK_FUNC_2 &pcfg_pull_none>, /* mac_md */
  293. <RK_GPIO1 25 RK_FUNC_2 &pcfg_pull_none>; /* mac_mdclk */
  294. };
  295. };
  296. emmc {
  297. emmc_clk: emmc-clk {
  298. rockchip,pins = <RK_GPIO3 31 RK_FUNC_2 &pcfg_pull_default>;
  299. };
  300. emmc_cmd: emmc-cmd {
  301. rockchip,pins = <RK_GPIO4 9 RK_FUNC_2 &pcfg_pull_default>;
  302. };
  303. emmc_rst: emmc-rst {
  304. rockchip,pins = <RK_GPIO4 10 RK_FUNC_2 &pcfg_pull_default>;
  305. };
  306. /*
  307. * The data pins are shared between nandc and emmc and
  308. * not accessible through pinctrl. Also they should've
  309. * been already set correctly by firmware, as
  310. * flash/emmc is the boot-device.
  311. */
  312. };
  313. i2c0 {
  314. i2c0_xfer: i2c0-xfer {
  315. rockchip,pins = <RK_GPIO2 28 RK_FUNC_1 &pcfg_pull_none>,
  316. <RK_GPIO2 29 RK_FUNC_1 &pcfg_pull_none>;
  317. };
  318. };
  319. i2c1 {
  320. i2c1_xfer: i2c1-xfer {
  321. rockchip,pins = <RK_GPIO2 30 RK_FUNC_1 &pcfg_pull_none>,
  322. <RK_GPIO2 31 RK_FUNC_1 &pcfg_pull_none>;
  323. };
  324. };
  325. i2c2 {
  326. i2c2_xfer: i2c2-xfer {
  327. rockchip,pins = <RK_GPIO3 0 RK_FUNC_1 &pcfg_pull_none>,
  328. <RK_GPIO3 1 RK_FUNC_1 &pcfg_pull_none>;
  329. };
  330. };
  331. i2c3 {
  332. i2c3_xfer: i2c3-xfer {
  333. rockchip,pins = <RK_GPIO3 2 RK_FUNC_2 &pcfg_pull_none>,
  334. <RK_GPIO3 3 RK_FUNC_2 &pcfg_pull_none>;
  335. };
  336. };
  337. i2c4 {
  338. i2c4_xfer: i2c4-xfer {
  339. rockchip,pins = <RK_GPIO3 4 RK_FUNC_1 &pcfg_pull_none>,
  340. <RK_GPIO3 5 RK_FUNC_1 &pcfg_pull_none>;
  341. };
  342. };
  343. pwm0 {
  344. pwm0_out: pwm0-out {
  345. rockchip,pins = <RK_GPIO0 3 RK_FUNC_1 &pcfg_pull_none>;
  346. };
  347. };
  348. pwm1 {
  349. pwm1_out: pwm1-out {
  350. rockchip,pins = <RK_GPIO0 4 RK_FUNC_1 &pcfg_pull_none>;
  351. };
  352. };
  353. pwm2 {
  354. pwm2_out: pwm2-out {
  355. rockchip,pins = <RK_GPIO0 30 RK_FUNC_1 &pcfg_pull_none>;
  356. };
  357. };
  358. pwm3 {
  359. pwm3_out: pwm3-out {
  360. rockchip,pins = <RK_GPIO0 31 RK_FUNC_1 &pcfg_pull_none>;
  361. };
  362. };
  363. spi0 {
  364. spi0_clk: spi0-clk {
  365. rockchip,pins = <RK_GPIO1 5 RK_FUNC_2 &pcfg_pull_default>;
  366. };
  367. spi0_cs0: spi0-cs0 {
  368. rockchip,pins = <RK_GPIO1 4 RK_FUNC_2 &pcfg_pull_default>;
  369. };
  370. spi0_tx: spi0-tx {
  371. rockchip,pins = <RK_GPIO1 7 RK_FUNC_2 &pcfg_pull_default>;
  372. };
  373. spi0_rx: spi0-rx {
  374. rockchip,pins = <RK_GPIO1 6 RK_FUNC_2 &pcfg_pull_default>;
  375. };
  376. spi0_cs1: spi0-cs1 {
  377. rockchip,pins = <RK_GPIO4 15 RK_FUNC_1 &pcfg_pull_default>;
  378. };
  379. };
  380. spi1 {
  381. spi1_clk: spi1-clk {
  382. rockchip,pins = <RK_GPIO2 19 RK_FUNC_2 &pcfg_pull_default>;
  383. };
  384. spi1_cs0: spi1-cs0 {
  385. rockchip,pins = <RK_GPIO2 20 RK_FUNC_2 &pcfg_pull_default>;
  386. };
  387. spi1_rx: spi1-rx {
  388. rockchip,pins = <RK_GPIO2 22 RK_FUNC_2 &pcfg_pull_default>;
  389. };
  390. spi1_tx: spi1-tx {
  391. rockchip,pins = <RK_GPIO2 21 RK_FUNC_2 &pcfg_pull_default>;
  392. };
  393. spi1_cs1: spi1-cs1 {
  394. rockchip,pins = <RK_GPIO2 23 RK_FUNC_2 &pcfg_pull_default>;
  395. };
  396. };
  397. uart0 {
  398. uart0_xfer: uart0-xfer {
  399. rockchip,pins = <RK_GPIO1 0 RK_FUNC_1 &pcfg_pull_default>,
  400. <RK_GPIO1 1 RK_FUNC_1 &pcfg_pull_default>;
  401. };
  402. uart0_cts: uart0-cts {
  403. rockchip,pins = <RK_GPIO1 2 RK_FUNC_1 &pcfg_pull_default>;
  404. };
  405. uart0_rts: uart0-rts {
  406. rockchip,pins = <RK_GPIO1 3 RK_FUNC_1 &pcfg_pull_default>;
  407. };
  408. };
  409. uart1 {
  410. uart1_xfer: uart1-xfer {
  411. rockchip,pins = <RK_GPIO1 4 RK_FUNC_1 &pcfg_pull_default>,
  412. <RK_GPIO1 5 RK_FUNC_1 &pcfg_pull_default>;
  413. };
  414. uart1_cts: uart1-cts {
  415. rockchip,pins = <RK_GPIO1 6 RK_FUNC_1 &pcfg_pull_default>;
  416. };
  417. uart1_rts: uart1-rts {
  418. rockchip,pins = <RK_GPIO1 7 RK_FUNC_1 &pcfg_pull_default>;
  419. };
  420. };
  421. uart2 {
  422. uart2_xfer: uart2-xfer {
  423. rockchip,pins = <RK_GPIO1 8 RK_FUNC_1 &pcfg_pull_default>,
  424. <RK_GPIO1 9 RK_FUNC_1 &pcfg_pull_default>;
  425. };
  426. /* no rts / cts for uart2 */
  427. };
  428. uart3 {
  429. uart3_xfer: uart3-xfer {
  430. rockchip,pins = <RK_GPIO3 27 RK_FUNC_1 &pcfg_pull_default>,
  431. <RK_GPIO3 28 RK_FUNC_1 &pcfg_pull_default>;
  432. };
  433. uart3_cts: uart3-cts {
  434. rockchip,pins = <RK_GPIO3 29 RK_FUNC_1 &pcfg_pull_default>;
  435. };
  436. uart3_rts: uart3-rts {
  437. rockchip,pins = <RK_GPIO3 30 RK_FUNC_1 &pcfg_pull_default>;
  438. };
  439. };
  440. sd0 {
  441. sd0_clk: sd0-clk {
  442. rockchip,pins = <RK_GPIO3 8 RK_FUNC_1 &pcfg_pull_default>;
  443. };
  444. sd0_cmd: sd0-cmd {
  445. rockchip,pins = <RK_GPIO3 9 RK_FUNC_1 &pcfg_pull_default>;
  446. };
  447. sd0_cd: sd0-cd {
  448. rockchip,pins = <RK_GPIO3 14 RK_FUNC_1 &pcfg_pull_default>;
  449. };
  450. sd0_wp: sd0-wp {
  451. rockchip,pins = <RK_GPIO3 15 RK_FUNC_1 &pcfg_pull_default>;
  452. };
  453. sd0_bus1: sd0-bus-width1 {
  454. rockchip,pins = <RK_GPIO3 10 RK_FUNC_1 &pcfg_pull_default>;
  455. };
  456. sd0_bus4: sd0-bus-width4 {
  457. rockchip,pins = <RK_GPIO3 10 RK_FUNC_1 &pcfg_pull_default>,
  458. <RK_GPIO3 11 RK_FUNC_1 &pcfg_pull_default>,
  459. <RK_GPIO3 12 RK_FUNC_1 &pcfg_pull_default>,
  460. <RK_GPIO3 13 RK_FUNC_1 &pcfg_pull_default>;
  461. };
  462. };
  463. sd1 {
  464. sd1_clk: sd1-clk {
  465. rockchip,pins = <RK_GPIO3 21 RK_FUNC_1 &pcfg_pull_default>;
  466. };
  467. sd1_cmd: sd1-cmd {
  468. rockchip,pins = <RK_GPIO3 16 RK_FUNC_1 &pcfg_pull_default>;
  469. };
  470. sd1_cd: sd1-cd {
  471. rockchip,pins = <RK_GPIO3 22 RK_FUNC_1 &pcfg_pull_default>;
  472. };
  473. sd1_wp: sd1-wp {
  474. rockchip,pins = <RK_GPIO3 23 RK_FUNC_1 &pcfg_pull_default>;
  475. };
  476. sd1_bus1: sd1-bus-width1 {
  477. rockchip,pins = <RK_GPIO3 17 RK_FUNC_1 &pcfg_pull_default>;
  478. };
  479. sd1_bus4: sd1-bus-width4 {
  480. rockchip,pins = <RK_GPIO3 17 RK_FUNC_1 &pcfg_pull_default>,
  481. <RK_GPIO3 18 RK_FUNC_1 &pcfg_pull_default>,
  482. <RK_GPIO3 19 RK_FUNC_1 &pcfg_pull_default>,
  483. <RK_GPIO3 20 RK_FUNC_1 &pcfg_pull_default>;
  484. };
  485. };
  486. i2s0 {
  487. i2s0_bus: i2s0-bus {
  488. rockchip,pins = <RK_GPIO0 7 RK_FUNC_1 &pcfg_pull_default>,
  489. <RK_GPIO0 8 RK_FUNC_1 &pcfg_pull_default>,
  490. <RK_GPIO0 9 RK_FUNC_1 &pcfg_pull_default>,
  491. <RK_GPIO0 10 RK_FUNC_1 &pcfg_pull_default>,
  492. <RK_GPIO0 11 RK_FUNC_1 &pcfg_pull_default>,
  493. <RK_GPIO0 12 RK_FUNC_1 &pcfg_pull_default>,
  494. <RK_GPIO0 13 RK_FUNC_1 &pcfg_pull_default>,
  495. <RK_GPIO0 14 RK_FUNC_1 &pcfg_pull_default>,
  496. <RK_GPIO0 15 RK_FUNC_1 &pcfg_pull_default>;
  497. };
  498. };
  499. i2s1 {
  500. i2s1_bus: i2s1-bus {
  501. rockchip,pins = <RK_GPIO0 16 RK_FUNC_1 &pcfg_pull_default>,
  502. <RK_GPIO0 17 RK_FUNC_1 &pcfg_pull_default>,
  503. <RK_GPIO0 18 RK_FUNC_1 &pcfg_pull_default>,
  504. <RK_GPIO0 19 RK_FUNC_1 &pcfg_pull_default>,
  505. <RK_GPIO0 20 RK_FUNC_1 &pcfg_pull_default>,
  506. <RK_GPIO0 21 RK_FUNC_1 &pcfg_pull_default>;
  507. };
  508. };
  509. i2s2 {
  510. i2s2_bus: i2s2-bus {
  511. rockchip,pins = <RK_GPIO0 24 RK_FUNC_1 &pcfg_pull_default>,
  512. <RK_GPIO0 25 RK_FUNC_1 &pcfg_pull_default>,
  513. <RK_GPIO0 26 RK_FUNC_1 &pcfg_pull_default>,
  514. <RK_GPIO0 27 RK_FUNC_1 &pcfg_pull_default>,
  515. <RK_GPIO0 28 RK_FUNC_1 &pcfg_pull_default>,
  516. <RK_GPIO0 29 RK_FUNC_1 &pcfg_pull_default>;
  517. };
  518. };
  519. };
  520. };
  521. &i2c0 {
  522. pinctrl-names = "default";
  523. pinctrl-0 = <&i2c0_xfer>;
  524. };
  525. &i2c1 {
  526. pinctrl-names = "default";
  527. pinctrl-0 = <&i2c1_xfer>;
  528. };
  529. &i2c2 {
  530. pinctrl-names = "default";
  531. pinctrl-0 = <&i2c2_xfer>;
  532. };
  533. &i2c3 {
  534. pinctrl-names = "default";
  535. pinctrl-0 = <&i2c3_xfer>;
  536. };
  537. &i2c4 {
  538. pinctrl-names = "default";
  539. pinctrl-0 = <&i2c4_xfer>;
  540. };
  541. &mmc0 {
  542. pinctrl-names = "default";
  543. pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4>;
  544. };
  545. &mmc1 {
  546. pinctrl-names = "default";
  547. pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_cd &sd1_bus4>;
  548. };
  549. &pwm0 {
  550. pinctrl-names = "default";
  551. pinctrl-0 = <&pwm0_out>;
  552. };
  553. &pwm1 {
  554. pinctrl-names = "default";
  555. pinctrl-0 = <&pwm1_out>;
  556. };
  557. &pwm2 {
  558. pinctrl-names = "default";
  559. pinctrl-0 = <&pwm2_out>;
  560. };
  561. &pwm3 {
  562. pinctrl-names = "default";
  563. pinctrl-0 = <&pwm3_out>;
  564. };
  565. &spi0 {
  566. pinctrl-names = "default";
  567. pinctrl-0 = <&spi0_clk &spi0_tx &spi0_rx &spi0_cs0>;
  568. };
  569. &spi1 {
  570. pinctrl-names = "default";
  571. pinctrl-0 = <&spi1_clk &spi1_tx &spi1_rx &spi1_cs0>;
  572. };
  573. &uart0 {
  574. pinctrl-names = "default";
  575. pinctrl-0 = <&uart0_xfer>;
  576. };
  577. &uart1 {
  578. pinctrl-names = "default";
  579. pinctrl-0 = <&uart1_xfer>;
  580. };
  581. &uart2 {
  582. pinctrl-names = "default";
  583. pinctrl-0 = <&uart2_xfer>;
  584. };
  585. &uart3 {
  586. pinctrl-names = "default";
  587. pinctrl-0 = <&uart3_xfer>;
  588. };
  589. &wdt {
  590. compatible = "rockchip,rk3066-wdt", "snps,dw-wdt";
  591. };
  592. &emac {
  593. compatible = "rockchip,rk3066-emac";
  594. };