rk3399-roc-pc.dtsi 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. /*
  3. * Copyright (c) 2017 T-Chip Intelligent Technology Co., Ltd
  4. */
  5. /dts-v1/;
  6. #include <dt-bindings/input/linux-event-codes.h>
  7. #include <dt-bindings/pwm/pwm.h>
  8. #include "rk3399.dtsi"
  9. #include "rk3399-opp.dtsi"
  10. / {
  11. model = "Firefly ROC-RK3399-PC Board";
  12. compatible = "firefly,roc-rk3399-pc", "rockchip,rk3399";
  13. aliases {
  14. mmc0 = &sdmmc;
  15. mmc1 = &sdhci;
  16. };
  17. chosen {
  18. stdout-path = "serial2:1500000n8";
  19. };
  20. backlight: backlight {
  21. compatible = "pwm-backlight";
  22. pwms = <&pwm0 0 25000 0>;
  23. };
  24. clkin_gmac: external-gmac-clock {
  25. compatible = "fixed-clock";
  26. clock-frequency = <125000000>;
  27. clock-output-names = "clkin_gmac";
  28. #clock-cells = <0>;
  29. };
  30. adc-keys {
  31. compatible = "adc-keys";
  32. io-channels = <&saradc 1>;
  33. io-channel-names = "buttons";
  34. keyup-threshold-microvolt = <1500000>;
  35. poll-interval = <100>;
  36. button-recovery {
  37. label = "Recovery";
  38. linux,code = <KEY_VENDOR>;
  39. press-threshold-microvolt = <18000>;
  40. };
  41. };
  42. gpio-keys {
  43. compatible = "gpio-keys";
  44. autorepeat;
  45. pinctrl-names = "default";
  46. pinctrl-0 = <&pwr_key_l>;
  47. key-power {
  48. debounce-interval = <100>;
  49. gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
  50. label = "GPIO Key Power";
  51. linux,code = <KEY_POWER>;
  52. wakeup-source;
  53. };
  54. };
  55. ir-receiver {
  56. compatible = "gpio-ir-receiver";
  57. gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
  58. pinctrl-names = "default";
  59. pinctrl-0 = <&ir_int>;
  60. };
  61. leds {
  62. compatible = "gpio-leds";
  63. pinctrl-names = "default";
  64. pinctrl-0 = <&work_led_pin>, <&diy_led_pin>, <&yellow_led_pin>;
  65. work_led: led-0 {
  66. label = "green:work";
  67. gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
  68. default-state = "on";
  69. linux,default-trigger = "heartbeat";
  70. };
  71. diy_led: led-1 {
  72. label = "red:diy";
  73. gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
  74. default-state = "off";
  75. linux,default-trigger = "mmc2";
  76. };
  77. yellow_led: led-2 {
  78. label = "yellow:yellow-led";
  79. gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
  80. default-state = "off";
  81. linux,default-trigger = "mmc1";
  82. };
  83. };
  84. sdio_pwrseq: sdio-pwrseq {
  85. compatible = "mmc-pwrseq-simple";
  86. clocks = <&rk808 1>;
  87. clock-names = "ext_clock";
  88. pinctrl-names = "default";
  89. pinctrl-0 = <&wifi_enable_h>;
  90. /*
  91. * On the module itself this is one of these (depending
  92. * on the actual card populated):
  93. * - SDIO_RESET_L_WL_REG_ON
  94. * - PDN (power down when low)
  95. */
  96. reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
  97. };
  98. vcc_vbus_typec0: vcc-vbus-typec0 {
  99. compatible = "regulator-fixed";
  100. regulator-name = "vcc_vbus_typec0";
  101. regulator-always-on;
  102. regulator-boot-on;
  103. regulator-min-microvolt = <5000000>;
  104. regulator-max-microvolt = <5000000>;
  105. };
  106. sys_12v: sys-12v {
  107. compatible = "regulator-fixed";
  108. regulator-name = "sys_12v";
  109. regulator-always-on;
  110. regulator-boot-on;
  111. vin-supply = <&dc_12v>;
  112. };
  113. /* switched by pmic_sleep */
  114. vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
  115. compatible = "regulator-fixed";
  116. regulator-name = "vcc1v8_s3";
  117. regulator-always-on;
  118. regulator-boot-on;
  119. regulator-min-microvolt = <1800000>;
  120. regulator-max-microvolt = <1800000>;
  121. vin-supply = <&vcc_1v8>;
  122. };
  123. vcc3v0_sd: vcc3v0-sd {
  124. compatible = "regulator-fixed";
  125. enable-active-high;
  126. gpio = <&gpio4 RK_PD6 GPIO_ACTIVE_HIGH>;
  127. pinctrl-names = "default";
  128. pinctrl-0 = <&vcc3v0_sd_en>;
  129. regulator-name = "vcc3v0_sd";
  130. regulator-boot-on;
  131. regulator-min-microvolt = <3000000>;
  132. regulator-max-microvolt = <3000000>;
  133. vin-supply = <&vcc3v3_sys>;
  134. };
  135. vcc3v3_sys: vcc3v3-sys {
  136. compatible = "regulator-fixed";
  137. regulator-name = "vcc3v3_sys";
  138. regulator-always-on;
  139. regulator-boot-on;
  140. regulator-min-microvolt = <3300000>;
  141. regulator-max-microvolt = <3300000>;
  142. vin-supply = <&sys_12v>;
  143. };
  144. vcca_0v9: vcca-0v9 {
  145. compatible = "regulator-fixed";
  146. regulator-name = "vcca_0v9";
  147. regulator-always-on;
  148. regulator-boot-on;
  149. regulator-min-microvolt = <900000>;
  150. regulator-max-microvolt = <900000>;
  151. vin-supply = <&vcc3v3_sys>;
  152. };
  153. /* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */
  154. vcc5v0_host: vcc5v0-host-regulator {
  155. compatible = "regulator-fixed";
  156. enable-active-high;
  157. gpio = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
  158. pinctrl-names = "default";
  159. pinctrl-0 = <&vcc5v0_host_en &hub_rst>;
  160. regulator-name = "vcc5v0_host";
  161. vin-supply = <&vcc_sys>;
  162. };
  163. vcc_vbus_typec1: vcc-vbus-typec1 {
  164. compatible = "regulator-fixed";
  165. enable-active-high;
  166. gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
  167. pinctrl-names = "default";
  168. pinctrl-0 = <&vcc_vbus_typec1_en>;
  169. regulator-name = "vcc_vbus_typec1";
  170. regulator-always-on;
  171. vin-supply = <&vcc_sys>;
  172. };
  173. vcc_sys: vcc-sys {
  174. compatible = "regulator-fixed";
  175. enable-active-high;
  176. gpio = <&gpio2 RK_PA6 GPIO_ACTIVE_HIGH>;
  177. pinctrl-names = "default";
  178. pinctrl-0 = <&vcc_sys_en>;
  179. regulator-name = "vcc_sys";
  180. regulator-boot-on;
  181. regulator-min-microvolt = <5000000>;
  182. regulator-max-microvolt = <5000000>;
  183. vin-supply = <&sys_12v>;
  184. };
  185. vdd_log: vdd-log {
  186. compatible = "pwm-regulator";
  187. pwms = <&pwm2 0 25000 1>;
  188. regulator-name = "vdd_log";
  189. regulator-always-on;
  190. regulator-boot-on;
  191. regulator-min-microvolt = <450000>;
  192. regulator-max-microvolt = <1400000>;
  193. pwm-supply = <&vcc3v3_sys>;
  194. };
  195. };
  196. &cpu_l0 {
  197. cpu-supply = <&vdd_cpu_l>;
  198. };
  199. &cpu_l1 {
  200. cpu-supply = <&vdd_cpu_l>;
  201. };
  202. &cpu_l2 {
  203. cpu-supply = <&vdd_cpu_l>;
  204. };
  205. &cpu_l3 {
  206. cpu-supply = <&vdd_cpu_l>;
  207. };
  208. &cpu_b0 {
  209. cpu-supply = <&vdd_cpu_b>;
  210. };
  211. &cpu_b1 {
  212. cpu-supply = <&vdd_cpu_b>;
  213. };
  214. &emmc_phy {
  215. status = "okay";
  216. };
  217. &gmac {
  218. assigned-clocks = <&cru SCLK_RMII_SRC>;
  219. assigned-clock-parents = <&clkin_gmac>;
  220. clock_in_out = "input";
  221. phy-supply = <&vcc_lan>;
  222. phy-mode = "rgmii";
  223. pinctrl-names = "default";
  224. pinctrl-0 = <&rgmii_pins>;
  225. snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
  226. snps,reset-active-low;
  227. snps,reset-delays-us = <0 10000 50000>;
  228. tx_delay = <0x28>;
  229. rx_delay = <0x11>;
  230. status = "okay";
  231. };
  232. &gpu {
  233. mali-supply = <&vdd_gpu>;
  234. status = "okay";
  235. };
  236. &hdmi {
  237. avdd-0v9-supply = <&vcca0v9_hdmi>;
  238. avdd-1v8-supply = <&vcca1v8_hdmi>;
  239. ddc-i2c-bus = <&i2c3>;
  240. pinctrl-names = "default";
  241. pinctrl-0 = <&hdmi_cec>;
  242. status = "okay";
  243. };
  244. &hdmi_sound {
  245. status = "okay";
  246. };
  247. &i2c0 {
  248. clock-frequency = <400000>;
  249. i2c-scl-rising-time-ns = <168>;
  250. i2c-scl-falling-time-ns = <4>;
  251. status = "okay";
  252. rk808: pmic@1b {
  253. compatible = "rockchip,rk808";
  254. reg = <0x1b>;
  255. interrupt-parent = <&gpio1>;
  256. interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
  257. #clock-cells = <1>;
  258. clock-output-names = "xin32k", "rk808-clkout2";
  259. pinctrl-names = "default";
  260. pinctrl-0 = <&pmic_int_l>;
  261. rockchip,system-power-controller;
  262. wakeup-source;
  263. vcc1-supply = <&vcc3v3_sys>;
  264. vcc2-supply = <&vcc3v3_sys>;
  265. vcc3-supply = <&vcc3v3_sys>;
  266. vcc4-supply = <&vcc3v3_sys>;
  267. vcc6-supply = <&vcc3v3_sys>;
  268. vcc7-supply = <&vcc3v3_sys>;
  269. vcc8-supply = <&vcc3v3_sys>;
  270. vcc9-supply = <&vcc3v3_sys>;
  271. vcc10-supply = <&vcc3v3_sys>;
  272. vcc11-supply = <&vcc3v3_sys>;
  273. vcc12-supply = <&vcc3v3_sys>;
  274. vddio-supply = <&vcc_3v0>;
  275. regulators {
  276. vdd_center: DCDC_REG1 {
  277. regulator-name = "vdd_center";
  278. regulator-always-on;
  279. regulator-boot-on;
  280. regulator-min-microvolt = <750000>;
  281. regulator-max-microvolt = <1350000>;
  282. regulator-ramp-delay = <6001>;
  283. regulator-state-mem {
  284. regulator-off-in-suspend;
  285. };
  286. };
  287. vdd_cpu_l: DCDC_REG2 {
  288. regulator-name = "vdd_cpu_l";
  289. regulator-always-on;
  290. regulator-boot-on;
  291. regulator-min-microvolt = <750000>;
  292. regulator-max-microvolt = <1350000>;
  293. regulator-ramp-delay = <6001>;
  294. regulator-state-mem {
  295. regulator-off-in-suspend;
  296. };
  297. };
  298. vcc_ddr: DCDC_REG3 {
  299. regulator-name = "vcc_ddr";
  300. regulator-always-on;
  301. regulator-boot-on;
  302. regulator-state-mem {
  303. regulator-on-in-suspend;
  304. };
  305. };
  306. vcc_1v8: DCDC_REG4 {
  307. regulator-name = "vcc_1v8";
  308. regulator-always-on;
  309. regulator-boot-on;
  310. regulator-min-microvolt = <1800000>;
  311. regulator-max-microvolt = <1800000>;
  312. regulator-state-mem {
  313. regulator-on-in-suspend;
  314. regulator-suspend-microvolt = <1800000>;
  315. };
  316. };
  317. vcca1v8_codec: LDO_REG1 {
  318. regulator-name = "vcca1v8_codec";
  319. regulator-always-on;
  320. regulator-boot-on;
  321. regulator-min-microvolt = <1800000>;
  322. regulator-max-microvolt = <1800000>;
  323. regulator-state-mem {
  324. regulator-off-in-suspend;
  325. };
  326. };
  327. vcca1v8_hdmi: LDO_REG2 {
  328. regulator-name = "vcca1v8_hdmi";
  329. regulator-always-on;
  330. regulator-boot-on;
  331. regulator-min-microvolt = <1800000>;
  332. regulator-max-microvolt = <1800000>;
  333. regulator-state-mem {
  334. regulator-off-in-suspend;
  335. };
  336. };
  337. vcc1v8_pmu: LDO_REG3 {
  338. regulator-name = "vcc1v8_pmu";
  339. regulator-always-on;
  340. regulator-boot-on;
  341. regulator-min-microvolt = <1800000>;
  342. regulator-max-microvolt = <1800000>;
  343. regulator-state-mem {
  344. regulator-on-in-suspend;
  345. regulator-suspend-microvolt = <1800000>;
  346. };
  347. };
  348. vcc_sdio: LDO_REG4 {
  349. regulator-name = "vcc_sdio";
  350. regulator-always-on;
  351. regulator-boot-on;
  352. regulator-min-microvolt = <1800000>;
  353. regulator-max-microvolt = <3000000>;
  354. regulator-state-mem {
  355. regulator-on-in-suspend;
  356. regulator-suspend-microvolt = <3000000>;
  357. };
  358. };
  359. vcca3v0_codec: LDO_REG5 {
  360. regulator-name = "vcca3v0_codec";
  361. regulator-always-on;
  362. regulator-boot-on;
  363. regulator-min-microvolt = <3000000>;
  364. regulator-max-microvolt = <3000000>;
  365. regulator-state-mem {
  366. regulator-off-in-suspend;
  367. };
  368. };
  369. vcc_1v5: LDO_REG6 {
  370. regulator-name = "vcc_1v5";
  371. regulator-always-on;
  372. regulator-boot-on;
  373. regulator-min-microvolt = <1500000>;
  374. regulator-max-microvolt = <1500000>;
  375. regulator-state-mem {
  376. regulator-on-in-suspend;
  377. regulator-suspend-microvolt = <1500000>;
  378. };
  379. };
  380. vcca0v9_hdmi: LDO_REG7 {
  381. regulator-name = "vcca0v9_hdmi";
  382. regulator-always-on;
  383. regulator-boot-on;
  384. regulator-min-microvolt = <900000>;
  385. regulator-max-microvolt = <900000>;
  386. regulator-state-mem {
  387. regulator-off-in-suspend;
  388. };
  389. };
  390. vcc_3v0: LDO_REG8 {
  391. regulator-name = "vcc_3v0";
  392. regulator-always-on;
  393. regulator-boot-on;
  394. regulator-min-microvolt = <3000000>;
  395. regulator-max-microvolt = <3000000>;
  396. regulator-state-mem {
  397. regulator-on-in-suspend;
  398. regulator-suspend-microvolt = <3000000>;
  399. };
  400. };
  401. vcc3v3_s3: vcc_lan: SWITCH_REG1 {
  402. regulator-name = "vcc3v3_s3";
  403. regulator-always-on;
  404. regulator-boot-on;
  405. regulator-state-mem {
  406. regulator-off-in-suspend;
  407. };
  408. };
  409. vcc3v3_s0: SWITCH_REG2 {
  410. regulator-name = "vcc3v3_s0";
  411. regulator-always-on;
  412. regulator-boot-on;
  413. regulator-state-mem {
  414. regulator-off-in-suspend;
  415. };
  416. };
  417. };
  418. };
  419. vdd_cpu_b: regulator@40 {
  420. compatible = "silergy,syr827";
  421. reg = <0x40>;
  422. fcs,suspend-voltage-selector = <1>;
  423. pinctrl-names = "default";
  424. pinctrl-0 = <&vsel1_pin>;
  425. regulator-name = "vdd_cpu_b";
  426. regulator-min-microvolt = <712500>;
  427. regulator-max-microvolt = <1500000>;
  428. regulator-ramp-delay = <1000>;
  429. regulator-always-on;
  430. regulator-boot-on;
  431. vin-supply = <&vcc3v3_sys>;
  432. regulator-state-mem {
  433. regulator-off-in-suspend;
  434. };
  435. };
  436. vdd_gpu: regulator@41 {
  437. compatible = "silergy,syr828";
  438. reg = <0x41>;
  439. fcs,suspend-voltage-selector = <1>;
  440. pinctrl-names = "default";
  441. pinctrl-0 = <&vsel2_pin>;
  442. regulator-name = "vdd_gpu";
  443. regulator-min-microvolt = <712500>;
  444. regulator-max-microvolt = <1500000>;
  445. regulator-ramp-delay = <1000>;
  446. regulator-always-on;
  447. regulator-boot-on;
  448. vin-supply = <&vcc3v3_sys>;
  449. regulator-state-mem {
  450. regulator-off-in-suspend;
  451. };
  452. };
  453. };
  454. &i2c1 {
  455. i2c-scl-rising-time-ns = <300>;
  456. i2c-scl-falling-time-ns = <15>;
  457. status = "okay";
  458. };
  459. &i2c3 {
  460. i2c-scl-rising-time-ns = <450>;
  461. i2c-scl-falling-time-ns = <15>;
  462. status = "okay";
  463. };
  464. &i2c4 {
  465. i2c-scl-rising-time-ns = <600>;
  466. i2c-scl-falling-time-ns = <20>;
  467. status = "okay";
  468. fusb1: usb-typec@22 {
  469. compatible = "fcs,fusb302";
  470. reg = <0x22>;
  471. interrupt-parent = <&gpio1>;
  472. interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
  473. pinctrl-names = "default";
  474. pinctrl-0 = <&fusb1_int>;
  475. vbus-supply = <&vcc_vbus_typec1>;
  476. status = "okay";
  477. };
  478. };
  479. &i2c7 {
  480. i2c-scl-rising-time-ns = <600>;
  481. i2c-scl-falling-time-ns = <20>;
  482. status = "okay";
  483. fusb0: usb-typec@22 {
  484. compatible = "fcs,fusb302";
  485. reg = <0x22>;
  486. interrupt-parent = <&gpio1>;
  487. interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
  488. pinctrl-names = "default";
  489. pinctrl-0 = <&fusb0_int>;
  490. vbus-supply = <&vcc_vbus_typec0>;
  491. status = "okay";
  492. };
  493. mp8859: regulator@66 {
  494. compatible = "mps,mp8859";
  495. reg = <0x66>;
  496. dc_12v: mp8859_dcdc {
  497. regulator-name = "dc_12v";
  498. regulator-min-microvolt = <12000000>;
  499. regulator-max-microvolt = <12000000>;
  500. regulator-always-on;
  501. regulator-boot-on;
  502. vin-supply = <&vcc_vbus_typec0>;
  503. regulator-state-mem {
  504. regulator-on-in-suspend;
  505. regulator-suspend-microvolt = <12000000>;
  506. };
  507. };
  508. };
  509. };
  510. &i2s0 {
  511. rockchip,playback-channels = <8>;
  512. rockchip,capture-channels = <8>;
  513. status = "okay";
  514. };
  515. &i2s1 {
  516. rockchip,playback-channels = <2>;
  517. rockchip,capture-channels = <2>;
  518. status = "okay";
  519. };
  520. &i2s2 {
  521. status = "okay";
  522. };
  523. &io_domains {
  524. audio-supply = <&vcca1v8_codec>;
  525. bt656-supply = <&vcc_3v0>;
  526. gpio1830-supply = <&vcc_3v0>;
  527. sdmmc-supply = <&vcc_sdio>;
  528. status = "okay";
  529. };
  530. &pmu_io_domains {
  531. pmu1830-supply = <&vcc_3v0>;
  532. status = "okay";
  533. };
  534. &pinctrl {
  535. buttons {
  536. pwr_key_l: pwr-key-l {
  537. rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
  538. };
  539. };
  540. ir {
  541. ir_int: ir-int {
  542. rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
  543. };
  544. };
  545. lcd-panel {
  546. lcd_panel_reset: lcd-panel-reset {
  547. rockchip,pins = <4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>;
  548. };
  549. };
  550. leds {
  551. diy_led_pin: diy-led-pin {
  552. rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
  553. };
  554. work_led_pin: work-led-pin {
  555. rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
  556. };
  557. yellow_led_pin: yellow-led-pin {
  558. rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
  559. };
  560. };
  561. pmic {
  562. vsel1_pin: vsel1-pin {
  563. rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
  564. };
  565. vsel2_pin: vsel2-pin {
  566. rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
  567. };
  568. };
  569. sdio-pwrseq {
  570. wifi_enable_h: wifi-enable-h {
  571. rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
  572. };
  573. };
  574. sdmmc {
  575. vcc3v0_sd_en: vcc3v0-sd-en {
  576. rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
  577. };
  578. };
  579. pmic {
  580. pmic_int_l: pmic-int-l {
  581. rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
  582. };
  583. };
  584. usb2 {
  585. vcc5v0_host_en: vcc5v0-host-en {
  586. rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
  587. };
  588. vcc_sys_en: vcc-sys-en {
  589. rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
  590. };
  591. hub_rst: hub-rst {
  592. rockchip,pins = <2 RK_PA4 RK_FUNC_GPIO &pcfg_output_high>;
  593. };
  594. };
  595. usb-typec {
  596. vcc_vbus_typec1_en: vcc-vbus-typec1-en {
  597. rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
  598. };
  599. };
  600. fusb30x {
  601. fusb0_int: fusb0-int {
  602. rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
  603. };
  604. fusb1_int: fusb1-int {
  605. rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
  606. };
  607. };
  608. };
  609. &pwm0 {
  610. status = "okay";
  611. };
  612. &pwm2 {
  613. status = "okay";
  614. };
  615. &saradc {
  616. vref-supply = <&vcca1v8_s3>;
  617. status = "okay";
  618. };
  619. &sdmmc {
  620. bus-width = <4>;
  621. cap-sd-highspeed;
  622. cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
  623. disable-wp;
  624. max-frequency = <150000000>;
  625. pinctrl-names = "default";
  626. pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
  627. sd-uhs-sdr104;
  628. vmmc-supply = <&vcc3v0_sd>;
  629. vqmmc-supply = <&vcc_sdio>;
  630. status = "okay";
  631. };
  632. &sdhci {
  633. bus-width = <8>;
  634. non-removable;
  635. status = "okay";
  636. };
  637. &spi1 {
  638. status = "okay";
  639. flash@0 {
  640. compatible = "jedec,spi-nor";
  641. reg = <0>;
  642. spi-max-frequency = <10000000>;
  643. };
  644. };
  645. &tcphy0 {
  646. status = "okay";
  647. };
  648. &tcphy1 {
  649. status = "okay";
  650. };
  651. &tsadc {
  652. /* tshut mode 0:CRU 1:GPIO */
  653. rockchip,hw-tshut-mode = <1>;
  654. /* tshut polarity 0:LOW 1:HIGH */
  655. rockchip,hw-tshut-polarity = <1>;
  656. status = "okay";
  657. };
  658. &u2phy0 {
  659. status = "okay";
  660. u2phy0_otg: otg-port {
  661. phy-supply = <&vcc_vbus_typec0>;
  662. status = "okay";
  663. };
  664. u2phy0_host: host-port {
  665. phy-supply = <&vcc5v0_host>;
  666. status = "okay";
  667. };
  668. };
  669. &u2phy1 {
  670. status = "okay";
  671. u2phy1_otg: otg-port {
  672. phy-supply = <&vcc_vbus_typec1>;
  673. status = "okay";
  674. };
  675. u2phy1_host: host-port {
  676. phy-supply = <&vcc5v0_host>;
  677. status = "okay";
  678. };
  679. };
  680. &uart0 {
  681. pinctrl-names = "default";
  682. pinctrl-0 = <&uart0_xfer &uart0_cts>;
  683. status = "okay";
  684. };
  685. &uart2 {
  686. status = "okay";
  687. };
  688. &usb_host0_ehci {
  689. status = "okay";
  690. };
  691. &usb_host0_ohci {
  692. status = "okay";
  693. };
  694. &usb_host1_ehci {
  695. status = "okay";
  696. };
  697. &usb_host1_ohci {
  698. status = "okay";
  699. };
  700. &usbdrd3_0 {
  701. status = "okay";
  702. };
  703. &usbdrd_dwc3_0 {
  704. status = "okay";
  705. };
  706. &usbdrd3_1 {
  707. status = "okay";
  708. };
  709. &usbdrd_dwc3_1 {
  710. status = "okay";
  711. dr_mode = "host";
  712. };
  713. &vopb {
  714. status = "okay";
  715. };
  716. &vopb_mmu {
  717. status = "okay";
  718. };
  719. &vopl {
  720. status = "okay";
  721. };
  722. &vopl_mmu {
  723. status = "okay";
  724. };