rk322x.dtsi 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707
  1. /*
  2. * This file is dual-licensed: you can use it either under the terms
  3. * of the GPL or the X11 license, at your option. Note that this dual
  4. * licensing only applies to this file, and not this project as a
  5. * whole.
  6. *
  7. * a) This file is free software; you can redistribute it and/or
  8. * modify it under the terms of the GNU General Public License as
  9. * published by the Free Software Foundation; either version 2 of the
  10. * License, or (at your option) any later version.
  11. *
  12. * This file is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * Or, alternatively,
  18. *
  19. * b) Permission is hereby granted, free of charge, to any person
  20. * obtaining a copy of this software and associated documentation
  21. * files (the "Software"), to deal in the Software without
  22. * restriction, including without limitation the rights to use,
  23. * copy, modify, merge, publish, distribute, sublicense, and/or
  24. * sell copies of the Software, and to permit persons to whom the
  25. * Software is furnished to do so, subject to the following
  26. * conditions:
  27. *
  28. * The above copyright notice and this permission notice shall be
  29. * included in all copies or substantial portions of the Software.
  30. *
  31. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  32. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  33. * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  34. * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  35. * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  36. * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  37. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  38. * OTHER DEALINGS IN THE SOFTWARE.
  39. */
  40. #include <dt-bindings/gpio/gpio.h>
  41. #include <dt-bindings/interrupt-controller/irq.h>
  42. #include <dt-bindings/interrupt-controller/arm-gic.h>
  43. #include <dt-bindings/pinctrl/rockchip.h>
  44. #include <dt-bindings/clock/rk3228-cru.h>
  45. #include <dt-bindings/thermal/thermal.h>
  46. / {
  47. #address-cells = <1>;
  48. #size-cells = <1>;
  49. interrupt-parent = <&gic>;
  50. aliases {
  51. serial0 = &uart0;
  52. serial1 = &uart1;
  53. serial2 = &uart2;
  54. };
  55. cpus {
  56. #address-cells = <1>;
  57. #size-cells = <0>;
  58. cpu0: cpu@f00 {
  59. device_type = "cpu";
  60. compatible = "arm,cortex-a7";
  61. reg = <0xf00>;
  62. resets = <&cru SRST_CORE0>;
  63. operating-points = <
  64. /* KHz uV */
  65. 816000 1000000
  66. >;
  67. #cooling-cells = <2>; /* min followed by max */
  68. clock-latency = <40000>;
  69. clocks = <&cru ARMCLK>;
  70. };
  71. cpu1: cpu@f01 {
  72. device_type = "cpu";
  73. compatible = "arm,cortex-a7";
  74. reg = <0xf01>;
  75. resets = <&cru SRST_CORE1>;
  76. };
  77. cpu2: cpu@f02 {
  78. device_type = "cpu";
  79. compatible = "arm,cortex-a7";
  80. reg = <0xf02>;
  81. resets = <&cru SRST_CORE2>;
  82. };
  83. cpu3: cpu@f03 {
  84. device_type = "cpu";
  85. compatible = "arm,cortex-a7";
  86. reg = <0xf03>;
  87. resets = <&cru SRST_CORE3>;
  88. };
  89. };
  90. amba {
  91. compatible = "simple-bus";
  92. #address-cells = <1>;
  93. #size-cells = <1>;
  94. ranges;
  95. pdma: pdma@110f0000 {
  96. compatible = "arm,pl330", "arm,primecell";
  97. reg = <0x110f0000 0x4000>;
  98. interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
  99. <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
  100. #dma-cells = <1>;
  101. clocks = <&cru ACLK_DMAC>;
  102. clock-names = "apb_pclk";
  103. };
  104. };
  105. arm-pmu {
  106. compatible = "arm,cortex-a7-pmu";
  107. interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
  108. <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
  109. <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
  110. <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
  111. interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
  112. };
  113. timer {
  114. compatible = "arm,armv7-timer";
  115. arm,cpu-registers-not-fw-configured;
  116. interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
  117. <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
  118. <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
  119. <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
  120. clock-frequency = <24000000>;
  121. };
  122. xin24m: oscillator {
  123. compatible = "fixed-clock";
  124. clock-frequency = <24000000>;
  125. clock-output-names = "xin24m";
  126. #clock-cells = <0>;
  127. };
  128. i2s1: i2s1@100b0000 {
  129. compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s";
  130. reg = <0x100b0000 0x4000>;
  131. interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
  132. #address-cells = <1>;
  133. #size-cells = <0>;
  134. clock-names = "i2s_clk", "i2s_hclk";
  135. clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S1_8CH>;
  136. dmas = <&pdma 14>, <&pdma 15>;
  137. dma-names = "tx", "rx";
  138. pinctrl-names = "default";
  139. pinctrl-0 = <&i2s1_bus>;
  140. status = "disabled";
  141. };
  142. i2s0: i2s0@100c0000 {
  143. compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s";
  144. reg = <0x100c0000 0x4000>;
  145. interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
  146. #address-cells = <1>;
  147. #size-cells = <0>;
  148. clock-names = "i2s_clk", "i2s_hclk";
  149. clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0_8CH>;
  150. dmas = <&pdma 11>, <&pdma 12>;
  151. dma-names = "tx", "rx";
  152. status = "disabled";
  153. };
  154. i2s2: i2s2@100e0000 {
  155. compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s";
  156. reg = <0x100e0000 0x4000>;
  157. interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
  158. #address-cells = <1>;
  159. #size-cells = <0>;
  160. clock-names = "i2s_clk", "i2s_hclk";
  161. clocks = <&cru SCLK_I2S2>, <&cru HCLK_I2S2_2CH>;
  162. dmas = <&pdma 0>, <&pdma 1>;
  163. dma-names = "tx", "rx";
  164. status = "disabled";
  165. };
  166. grf: syscon@11000000 {
  167. compatible = "syscon";
  168. reg = <0x11000000 0x1000>;
  169. };
  170. uart0: serial@11010000 {
  171. compatible = "snps,dw-apb-uart";
  172. reg = <0x11010000 0x100>;
  173. interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
  174. clock-frequency = <24000000>;
  175. clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
  176. clock-names = "baudclk", "apb_pclk";
  177. pinctrl-names = "default";
  178. pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
  179. reg-shift = <2>;
  180. reg-io-width = <4>;
  181. status = "disabled";
  182. };
  183. uart1: serial@11020000 {
  184. compatible = "snps,dw-apb-uart";
  185. reg = <0x11020000 0x100>;
  186. interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
  187. clock-frequency = <24000000>;
  188. clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
  189. clock-names = "baudclk", "apb_pclk";
  190. pinctrl-names = "default";
  191. pinctrl-0 = <&uart1_xfer>;
  192. reg-shift = <2>;
  193. reg-io-width = <4>;
  194. status = "disabled";
  195. };
  196. uart2: serial@11030000 {
  197. compatible = "snps,dw-apb-uart";
  198. reg = <0x11030000 0x100>;
  199. interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
  200. clock-frequency = <24000000>;
  201. clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
  202. clock-names = "baudclk", "apb_pclk";
  203. pinctrl-names = "default";
  204. pinctrl-0 = <&uart2_xfer>;
  205. reg-shift = <2>;
  206. reg-io-width = <4>;
  207. status = "disabled";
  208. };
  209. i2c0: i2c@11050000 {
  210. compatible = "rockchip,rk3228-i2c";
  211. reg = <0x11050000 0x1000>;
  212. interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
  213. #address-cells = <1>;
  214. #size-cells = <0>;
  215. clock-names = "i2c";
  216. clocks = <&cru PCLK_I2C0>;
  217. pinctrl-names = "default";
  218. pinctrl-0 = <&i2c0_xfer>;
  219. status = "disabled";
  220. };
  221. i2c1: i2c@11060000 {
  222. compatible = "rockchip,rk3228-i2c";
  223. reg = <0x11060000 0x1000>;
  224. interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
  225. #address-cells = <1>;
  226. #size-cells = <0>;
  227. clock-names = "i2c";
  228. clocks = <&cru PCLK_I2C1>;
  229. pinctrl-names = "default";
  230. pinctrl-0 = <&i2c1_xfer>;
  231. status = "disabled";
  232. };
  233. i2c2: i2c@11070000 {
  234. compatible = "rockchip,rk3228-i2c";
  235. reg = <0x11070000 0x1000>;
  236. interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
  237. #address-cells = <1>;
  238. #size-cells = <0>;
  239. clock-names = "i2c";
  240. clocks = <&cru PCLK_I2C2>;
  241. pinctrl-names = "default";
  242. pinctrl-0 = <&i2c2_xfer>;
  243. status = "disabled";
  244. };
  245. i2c3: i2c@11080000 {
  246. compatible = "rockchip,rk3228-i2c";
  247. reg = <0x11080000 0x1000>;
  248. interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
  249. #address-cells = <1>;
  250. #size-cells = <0>;
  251. clock-names = "i2c";
  252. clocks = <&cru PCLK_I2C3>;
  253. pinctrl-names = "default";
  254. pinctrl-0 = <&i2c3_xfer>;
  255. status = "disabled";
  256. };
  257. pwm0: pwm@110b0000 {
  258. compatible = "rockchip,rk3288-pwm";
  259. reg = <0x110b0000 0x10>;
  260. #pwm-cells = <3>;
  261. clocks = <&cru PCLK_PWM>;
  262. clock-names = "pwm";
  263. pinctrl-names = "default";
  264. pinctrl-0 = <&pwm0_pin>;
  265. status = "disabled";
  266. };
  267. pwm1: pwm@110b0010 {
  268. compatible = "rockchip,rk3288-pwm";
  269. reg = <0x110b0010 0x10>;
  270. #pwm-cells = <3>;
  271. clocks = <&cru PCLK_PWM>;
  272. clock-names = "pwm";
  273. pinctrl-names = "default";
  274. pinctrl-0 = <&pwm1_pin>;
  275. status = "disabled";
  276. };
  277. pwm2: pwm@110b0020 {
  278. compatible = "rockchip,rk3288-pwm";
  279. reg = <0x110b0020 0x10>;
  280. #pwm-cells = <3>;
  281. clocks = <&cru PCLK_PWM>;
  282. clock-names = "pwm";
  283. pinctrl-names = "default";
  284. pinctrl-0 = <&pwm2_pin>;
  285. status = "disabled";
  286. };
  287. pwm3: pwm@110b0030 {
  288. compatible = "rockchip,rk3288-pwm";
  289. reg = <0x110b0030 0x10>;
  290. #pwm-cells = <2>;
  291. clocks = <&cru PCLK_PWM>;
  292. clock-names = "pwm";
  293. pinctrl-names = "default";
  294. pinctrl-0 = <&pwm3_pin>;
  295. status = "disabled";
  296. };
  297. timer: timer@110c0000 {
  298. compatible = "rockchip,rk3228-timer", "rockchip,rk3288-timer";
  299. reg = <0x110c0000 0x20>;
  300. interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
  301. clocks = <&xin24m>, <&cru PCLK_TIMER>;
  302. clock-names = "timer", "pclk";
  303. };
  304. cru: clock-controller@110e0000 {
  305. compatible = "rockchip,rk3228-cru";
  306. reg = <0x110e0000 0x1000>;
  307. rockchip,grf = <&grf>;
  308. #clock-cells = <1>;
  309. #reset-cells = <1>;
  310. assigned-clocks = <&cru PLL_GPLL>;
  311. assigned-clock-rates = <594000000>;
  312. };
  313. thermal-zones {
  314. cpu_thermal: cpu-thermal {
  315. polling-delay-passive = <100>; /* milliseconds */
  316. polling-delay = <5000>; /* milliseconds */
  317. thermal-sensors = <&tsadc 0>;
  318. trips {
  319. cpu_alert0: cpu_alert0 {
  320. temperature = <70000>; /* millicelsius */
  321. hysteresis = <2000>; /* millicelsius */
  322. type = "passive";
  323. };
  324. cpu_alert1: cpu_alert1 {
  325. temperature = <75000>; /* millicelsius */
  326. hysteresis = <2000>; /* millicelsius */
  327. type = "passive";
  328. };
  329. cpu_crit: cpu_crit {
  330. temperature = <90000>; /* millicelsius */
  331. hysteresis = <2000>; /* millicelsius */
  332. type = "critical";
  333. };
  334. };
  335. cooling-maps {
  336. map0 {
  337. trip = <&cpu_alert0>;
  338. cooling-device =
  339. <&cpu0 THERMAL_NO_LIMIT 6>;
  340. };
  341. map1 {
  342. trip = <&cpu_alert1>;
  343. cooling-device =
  344. <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
  345. };
  346. };
  347. };
  348. };
  349. tsadc: tsadc@11150000 {
  350. compatible = "rockchip,rk3228-tsadc";
  351. reg = <0x11150000 0x100>;
  352. interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
  353. clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>;
  354. clock-names = "tsadc", "apb_pclk";
  355. resets = <&cru SRST_TSADC>;
  356. reset-names = "tsadc-apb";
  357. pinctrl-names = "init", "default", "sleep";
  358. pinctrl-0 = <&otp_gpio>;
  359. pinctrl-1 = <&otp_out>;
  360. pinctrl-2 = <&otp_gpio>;
  361. #thermal-sensor-cells = <0>;
  362. rockchip,hw-tshut-temp = <95000>;
  363. status = "disabled";
  364. };
  365. emmc: dwmmc@30020000 {
  366. compatible = "rockchip,rk3288-dw-mshc";
  367. reg = <0x30020000 0x4000>;
  368. interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
  369. clock-frequency = <37500000>;
  370. max-frequency = <37500000>;
  371. clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>,
  372. <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>;
  373. clock-names = "biu", "ciu", "ciu_drv", "ciu_sample";
  374. bus-width = <8>;
  375. default-sample-phase = <158>;
  376. num-slots = <1>;
  377. fifo-depth = <0x100>;
  378. pinctrl-names = "default";
  379. pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
  380. status = "disabled";
  381. };
  382. gmac: ethernet@30200000 {
  383. compatible = "rockchip,rk3228-gmac";
  384. reg = <0x30200000 0x10000>;
  385. interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
  386. interrupt-names = "macirq";
  387. clocks = <&cru SCLK_MAC>, <&cru SCLK_MAC_RX>,
  388. <&cru SCLK_MAC_TX>, <&cru SCLK_MAC_REF>,
  389. <&cru SCLK_MAC_REFOUT>, <&cru ACLK_GMAC>,
  390. <&cru PCLK_GMAC>;
  391. clock-names = "stmmaceth", "mac_clk_rx",
  392. "mac_clk_tx", "clk_mac_ref",
  393. "clk_mac_refout", "aclk_mac",
  394. "pclk_mac";
  395. resets = <&cru SRST_GMAC>;
  396. reset-names = "stmmaceth";
  397. rockchip,grf = <&grf>;
  398. status = "disabled";
  399. };
  400. gic: interrupt-controller@32010000 {
  401. compatible = "arm,gic-400";
  402. interrupt-controller;
  403. #interrupt-cells = <3>;
  404. #address-cells = <0>;
  405. reg = <0x32011000 0x1000>,
  406. <0x32012000 0x2000>,
  407. <0x32014000 0x2000>,
  408. <0x32016000 0x2000>;
  409. interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
  410. };
  411. pinctrl: pinctrl {
  412. compatible = "rockchip,rk3228-pinctrl";
  413. rockchip,grf = <&grf>;
  414. #address-cells = <1>;
  415. #size-cells = <1>;
  416. ranges;
  417. gpio0: gpio0@11110000 {
  418. compatible = "rockchip,gpio-bank";
  419. reg = <0x11110000 0x100>;
  420. interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
  421. clocks = <&cru PCLK_GPIO0>;
  422. gpio-controller;
  423. #gpio-cells = <2>;
  424. interrupt-controller;
  425. #interrupt-cells = <2>;
  426. };
  427. gpio1: gpio1@11120000 {
  428. compatible = "rockchip,gpio-bank";
  429. reg = <0x11120000 0x100>;
  430. interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
  431. clocks = <&cru PCLK_GPIO1>;
  432. gpio-controller;
  433. #gpio-cells = <2>;
  434. interrupt-controller;
  435. #interrupt-cells = <2>;
  436. };
  437. gpio2: gpio2@11130000 {
  438. compatible = "rockchip,gpio-bank";
  439. reg = <0x11130000 0x100>;
  440. interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
  441. clocks = <&cru PCLK_GPIO2>;
  442. gpio-controller;
  443. #gpio-cells = <2>;
  444. interrupt-controller;
  445. #interrupt-cells = <2>;
  446. };
  447. gpio3: gpio3@11140000 {
  448. compatible = "rockchip,gpio-bank";
  449. reg = <0x11140000 0x100>;
  450. interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
  451. clocks = <&cru PCLK_GPIO3>;
  452. gpio-controller;
  453. #gpio-cells = <2>;
  454. interrupt-controller;
  455. #interrupt-cells = <2>;
  456. };
  457. pcfg_pull_up: pcfg-pull-up {
  458. bias-pull-up;
  459. };
  460. pcfg_pull_down: pcfg-pull-down {
  461. bias-pull-down;
  462. };
  463. pcfg_pull_none: pcfg-pull-none {
  464. bias-disable;
  465. };
  466. pcfg_pull_none_drv_12ma: pcfg-pull-none-drv-12ma {
  467. drive-strength = <12>;
  468. };
  469. emmc {
  470. emmc_clk: emmc-clk {
  471. rockchip,pins = <2 7 RK_FUNC_2 &pcfg_pull_none>;
  472. };
  473. emmc_cmd: emmc-cmd {
  474. rockchip,pins = <1 22 RK_FUNC_2 &pcfg_pull_none>;
  475. };
  476. emmc_bus8: emmc-bus8 {
  477. rockchip,pins = <1 24 RK_FUNC_2 &pcfg_pull_none>,
  478. <1 25 RK_FUNC_2 &pcfg_pull_none>,
  479. <1 26 RK_FUNC_2 &pcfg_pull_none>,
  480. <1 27 RK_FUNC_2 &pcfg_pull_none>,
  481. <1 28 RK_FUNC_2 &pcfg_pull_none>,
  482. <1 29 RK_FUNC_2 &pcfg_pull_none>,
  483. <1 30 RK_FUNC_2 &pcfg_pull_none>,
  484. <1 31 RK_FUNC_2 &pcfg_pull_none>;
  485. };
  486. };
  487. gmac {
  488. rgmii_pins: rgmii-pins {
  489. rockchip,pins = <2 14 RK_FUNC_1 &pcfg_pull_none>,
  490. <2 12 RK_FUNC_1 &pcfg_pull_none>,
  491. <2 25 RK_FUNC_1 &pcfg_pull_none>,
  492. <2 19 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
  493. <2 18 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
  494. <2 22 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
  495. <2 23 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
  496. <2 9 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
  497. <2 13 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
  498. <2 17 RK_FUNC_1 &pcfg_pull_none>,
  499. <2 16 RK_FUNC_1 &pcfg_pull_none>,
  500. <2 21 RK_FUNC_2 &pcfg_pull_none>,
  501. <2 20 RK_FUNC_2 &pcfg_pull_none>,
  502. <2 11 RK_FUNC_1 &pcfg_pull_none>,
  503. <2 8 RK_FUNC_1 &pcfg_pull_none>;
  504. };
  505. rmii_pins: rmii-pins {
  506. rockchip,pins = <2 14 RK_FUNC_1 &pcfg_pull_none>,
  507. <2 12 RK_FUNC_1 &pcfg_pull_none>,
  508. <2 25 RK_FUNC_1 &pcfg_pull_none>,
  509. <2 19 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
  510. <2 18 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
  511. <2 13 RK_FUNC_1 &pcfg_pull_none_drv_12ma>,
  512. <2 17 RK_FUNC_1 &pcfg_pull_none>,
  513. <2 16 RK_FUNC_1 &pcfg_pull_none>,
  514. <2 8 RK_FUNC_1 &pcfg_pull_none>,
  515. <2 15 RK_FUNC_1 &pcfg_pull_none>;
  516. };
  517. phy_pins: phy-pins {
  518. rockchip,pins = <2 14 RK_FUNC_2 &pcfg_pull_none>,
  519. <2 8 RK_FUNC_2 &pcfg_pull_none>;
  520. };
  521. };
  522. i2c0 {
  523. i2c0_xfer: i2c0-xfer {
  524. rockchip,pins = <0 0 RK_FUNC_1 &pcfg_pull_none>,
  525. <0 1 RK_FUNC_1 &pcfg_pull_none>;
  526. };
  527. };
  528. i2c1 {
  529. i2c1_xfer: i2c1-xfer {
  530. rockchip,pins = <0 2 RK_FUNC_1 &pcfg_pull_none>,
  531. <0 3 RK_FUNC_1 &pcfg_pull_none>;
  532. };
  533. };
  534. i2c2 {
  535. i2c2_xfer: i2c2-xfer {
  536. rockchip,pins = <2 20 RK_FUNC_1 &pcfg_pull_none>,
  537. <2 21 RK_FUNC_1 &pcfg_pull_none>;
  538. };
  539. };
  540. i2c3 {
  541. i2c3_xfer: i2c3-xfer {
  542. rockchip,pins = <0 6 RK_FUNC_1 &pcfg_pull_none>,
  543. <0 7 RK_FUNC_1 &pcfg_pull_none>;
  544. };
  545. };
  546. i2s1 {
  547. i2s1_bus: i2s1-bus {
  548. rockchip,pins = <0 8 RK_FUNC_1 &pcfg_pull_none>,
  549. <0 9 RK_FUNC_1 &pcfg_pull_none>,
  550. <0 11 RK_FUNC_1 &pcfg_pull_none>,
  551. <0 12 RK_FUNC_1 &pcfg_pull_none>,
  552. <0 13 RK_FUNC_1 &pcfg_pull_none>,
  553. <0 14 RK_FUNC_1 &pcfg_pull_none>,
  554. <1 2 RK_FUNC_1 &pcfg_pull_none>,
  555. <1 4 RK_FUNC_1 &pcfg_pull_none>,
  556. <1 5 RK_FUNC_1 &pcfg_pull_none>;
  557. };
  558. };
  559. pwm0 {
  560. pwm0_pin: pwm0-pin {
  561. rockchip,pins = <3 21 RK_FUNC_1 &pcfg_pull_none>;
  562. };
  563. };
  564. pwm1 {
  565. pwm1_pin: pwm1-pin {
  566. rockchip,pins = <0 30 RK_FUNC_2 &pcfg_pull_none>;
  567. };
  568. };
  569. pwm2 {
  570. pwm2_pin: pwm2-pin {
  571. rockchip,pins = <1 12 RK_FUNC_2 &pcfg_pull_none>;
  572. };
  573. };
  574. pwm3 {
  575. pwm3_pin: pwm3-pin {
  576. rockchip,pins = <1 11 RK_FUNC_2 &pcfg_pull_none>;
  577. };
  578. };
  579. tsadc {
  580. otp_gpio: otp-gpio {
  581. rockchip,pins = <0 24 RK_FUNC_GPIO &pcfg_pull_none>;
  582. };
  583. otp_out: otp-out {
  584. rockchip,pins = <0 24 RK_FUNC_2 &pcfg_pull_none>;
  585. };
  586. };
  587. uart0 {
  588. uart0_xfer: uart0-xfer {
  589. rockchip,pins = <2 26 RK_FUNC_1 &pcfg_pull_none>,
  590. <2 27 RK_FUNC_1 &pcfg_pull_none>;
  591. };
  592. uart0_cts: uart0-cts {
  593. rockchip,pins = <2 29 RK_FUNC_1 &pcfg_pull_none>;
  594. };
  595. uart0_rts: uart0-rts {
  596. rockchip,pins = <0 17 RK_FUNC_1 &pcfg_pull_none>;
  597. };
  598. };
  599. uart1 {
  600. uart1_xfer: uart1-xfer {
  601. rockchip,pins = <1 9 RK_FUNC_1 &pcfg_pull_none>,
  602. <1 10 RK_FUNC_1 &pcfg_pull_none>;
  603. };
  604. uart1_cts: uart1-cts {
  605. rockchip,pins = <1 8 RK_FUNC_1 &pcfg_pull_none>;
  606. };
  607. uart1_rts: uart1-rts {
  608. rockchip,pins = <1 11 RK_FUNC_1 &pcfg_pull_none>;
  609. };
  610. };
  611. uart2 {
  612. uart2_xfer: uart2-xfer {
  613. rockchip,pins = <1 18 RK_FUNC_2 &pcfg_pull_none>,
  614. <1 19 RK_FUNC_2 &pcfg_pull_none>;
  615. };
  616. uart2_cts: uart2-cts {
  617. rockchip,pins = <0 25 RK_FUNC_1 &pcfg_pull_none>;
  618. };
  619. uart2_rts: uart2-rts {
  620. rockchip,pins = <0 24 RK_FUNC_1 &pcfg_pull_none>;
  621. };
  622. };
  623. };
  624. };