add-board-rock-pi-4c-plus.patch 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738
  1. diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
  2. index 7eb135a5143f..1574279e61e8 100644
  3. --- a/arch/arm64/boot/dts/rockchip/Makefile
  4. +++ b/arch/arm64/boot/dts/rockchip/Makefile
  5. @@ -39,6 +39,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-roc-pc-mezzanine.dtb
  6. dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4a.dtb
  7. dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4b.dtb
  8. dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4c.dtb
  9. +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock-pi-4c-plus.dtb
  10. dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rock960.dtb
  11. dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rockpro64-v2.dtb
  12. dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-rockpro64.dtb
  13. diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4c-plus.dts b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4c-plus.dts
  14. new file mode 100644
  15. index 000000000000..9fc8d5baba54
  16. --- /dev/null
  17. +++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4c-plus.dts
  18. @@ -0,0 +1,720 @@
  19. +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  20. +/*
  21. + * Copyright (c) 2022 Fuzhou Rockchip Electronics Co., Ltd
  22. + * Copyright (c) 2022 Radxa Limited
  23. + */
  24. +
  25. +/dts-v1/;
  26. +#include <dt-bindings/input/linux-event-codes.h>
  27. +#include <dt-bindings/pwm/pwm.h>
  28. +#include "rk3399.dtsi"
  29. +#include "rk3399-opp.dtsi"
  30. +
  31. +/ {
  32. + model = "Radxa ROCK Pi 4C+";
  33. + compatible = "radxa,rockpi4c-plus", "radxa,rockpi4", "rockchip,rk3399";
  34. +
  35. + aliases {
  36. + mmc0 = &sdmmc;
  37. + mmc1 = &sdhci;
  38. + mmc2 = &sdio0;
  39. + };
  40. +
  41. + chosen {
  42. + stdout-path = "serial2:115200n8";
  43. + };
  44. +
  45. + clkin_gmac: external-gmac-clock {
  46. + compatible = "fixed-clock";
  47. + clock-frequency = <125000000>;
  48. + clock-output-names = "clkin_gmac";
  49. + #clock-cells = <0>;
  50. + };
  51. +
  52. + vcc_lan: vcc3v3-phy-regulator {
  53. + compatible = "regulator-fixed";
  54. + regulator-name = "vcc_lan";
  55. + regulator-always-on;
  56. + regulator-boot-on;
  57. + regulator-min-microvolt = <3300000>;
  58. + regulator-max-microvolt = <3300000>;
  59. +
  60. + regulator-state-mem {
  61. + regulator-off-in-suspend;
  62. + };
  63. + };
  64. +
  65. + vcc5v0_sys: vcc-sys {
  66. + compatible = "regulator-fixed";
  67. + regulator-name = "vcc5v0_sys";
  68. + regulator-always-on;
  69. + regulator-boot-on;
  70. + regulator-min-microvolt = <5000000>;
  71. + regulator-max-microvolt = <5000000>;
  72. + };
  73. +
  74. + vbus_host: vbus-host {
  75. + compatible = "regulator-fixed";
  76. + enable-active-high;
  77. + gpio = <&gpio3 RK_PD6 GPIO_ACTIVE_HIGH>;
  78. + pinctrl-names = "default";
  79. + pinctrl-0 = <&usb1_en_oc>;
  80. + regulator-name = "vbus_host"; /* HOST-5V */
  81. + regulator-always-on;
  82. + regulator-boot-on;
  83. + vin-supply = <&vcc5v0_usb2>;
  84. + };
  85. +
  86. + vcc5v0_typec: vcc5v0-typec-regulator {
  87. + compatible = "regulator-fixed";
  88. + enable-active-high;
  89. + gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
  90. + pinctrl-names = "default";
  91. + pinctrl-0 = <&vcc5v0_typec_en>;
  92. + regulator-name = "vcc5v0_typec";
  93. + regulator-always-on;
  94. + vin-supply = <&vcc5v0_sys>;
  95. + };
  96. +
  97. + virtual_pd: virtual-pd {
  98. + status = "disabled";
  99. + compatible = "linux,extcon-pd-virtual";
  100. + /* 0: positive, 1: negative*/
  101. + vpd,init-flip = <0>;
  102. + /* 0: u2, 1: u3*/
  103. + vpd,init-ss = <1>;
  104. + /* 0: dfp, 1: ufp, 2: dp 3: dp/ufp */
  105. + vpd,init-mode = <2>;
  106. + hpd-gpios = <&gpio4 25 GPIO_ACTIVE_LOW>;
  107. + pinctrl-names = "default";
  108. + pinctrl-0 = <&hpd_en>;
  109. + dp-pwr-supply = <&vcc3v3_sys>;
  110. + };
  111. +
  112. + vcc_0v9: vcc-0v9 {
  113. + compatible = "regulator-fixed";
  114. + regulator-name = "vcc_0v9";
  115. + regulator-always-on;
  116. + regulator-boot-on;
  117. + regulator-min-microvolt = <900000>;
  118. + regulator-max-microvolt = <900000>;
  119. + vin-supply = <&vcc3v3_sys>;
  120. + };
  121. +
  122. + vcc3v3_pcie: vcc3v3-pcie-regulator {
  123. + compatible = "regulator-fixed";
  124. + enable-active-high;
  125. + gpio = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>;
  126. + pinctrl-names = "default";
  127. + pinctrl-0 = <&pcie_drv>;
  128. + regulator-boot-on;
  129. + regulator-always-on;
  130. + regulator-name = "vcc3v3_pcie";
  131. + vin-supply = <&vcc5v0_sys>;
  132. + };
  133. +
  134. + sdio_pwrseq: sdio-pwrseq {
  135. + compatible = "mmc-pwrseq-simple";
  136. + clocks = <&rk809 1>;
  137. + clock-names = "ext_clock";
  138. + pinctrl-names = "default";
  139. + pinctrl-0 = <&wifi_enable_h>;
  140. +
  141. + /*
  142. + * On the module itself this is one of these (depending
  143. + * on the actual card populated):
  144. + * - SDIO_RESET_L_WL_REG_ON
  145. + * - PDN (power down when low)
  146. + */
  147. + reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
  148. + };
  149. +
  150. + wireless_wlan: wireless-wlan {
  151. + compatible = "wlan-platdata";
  152. + rockchip,grf = <&grf>;
  153. + wifi_chip_type = "ap6256";
  154. + sdio_vref = <1800>;
  155. + WIFI,host_wake_irq = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>;
  156. + status = "okay";
  157. + };
  158. +
  159. + gpio-leds {
  160. + compatible = "gpio-leds";
  161. + status = "okay";
  162. +
  163. + user-led1 {
  164. + gpios = <&gpio3 RK_PD4 GPIO_ACTIVE_LOW>;
  165. + linux,default-trigger = "default-on";
  166. + default-state = "on";
  167. + };
  168. +
  169. + user-led2 {
  170. + gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>;
  171. + linux,default-trigger = "heartbeat";
  172. + default-state = "on";
  173. + };
  174. + };
  175. +};
  176. +
  177. +&cdn_dp {
  178. + extcon = <&virtual_pd>;
  179. + status = "disabled";
  180. +};
  181. +
  182. +&cpu_l0 {
  183. + cpu-supply = <&vdd_cpu_l>;
  184. +};
  185. +
  186. +&cpu_l1 {
  187. + cpu-supply = <&vdd_cpu_l>;
  188. +};
  189. +
  190. +&cpu_l2 {
  191. + cpu-supply = <&vdd_cpu_l>;
  192. +};
  193. +
  194. +&cpu_l3 {
  195. + cpu-supply = <&vdd_cpu_l>;
  196. +};
  197. +
  198. +&cpu_b0 {
  199. + cpu-supply = <&vdd_cpu_b>;
  200. +};
  201. +
  202. +&cpu_b1 {
  203. + cpu-supply = <&vdd_cpu_b>;
  204. +};
  205. +
  206. +&gmac {
  207. + assigned-clocks = <&cru SCLK_RMII_SRC>;
  208. + assigned-clock-parents = <&clkin_gmac>;
  209. + clock_in_out = "input";
  210. + phy-supply = <&vcc_lan>;
  211. + phy-mode = "rgmii";
  212. + pinctrl-names = "default";
  213. + pinctrl-0 = <&rgmii_pins>;
  214. + snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
  215. + snps,reset-active-low;
  216. + snps,reset-delays-us = <0 10000 50000>;
  217. + tx_delay = <0x28>;
  218. + rx_delay = <0x11>;
  219. + status = "okay";
  220. +};
  221. +
  222. +&i2c0 {
  223. + status = "okay";
  224. + i2c-scl-falling-time-ns = <30>;
  225. + i2c-scl-rising-time-ns = <180>;
  226. + clock-frequency = <400000>;
  227. +
  228. + rk809: pmic@20 {
  229. + compatible = "rockchip,rk809";
  230. + reg = <0x20>;
  231. + interrupt-parent = <&gpio1>;
  232. + interrupts = <RK_PC5 IRQ_TYPE_LEVEL_LOW>;
  233. + #clock-cells = <1>;
  234. + clock-output-names = "rk808-clkout1", "rk808-clkout2";
  235. + pinctrl-names = "default";
  236. + pinctrl-0 = <&pmic_int_l>;
  237. + rockchip,system-power-controller;
  238. + wakeup-source;
  239. +
  240. + vcc1-supply = <&vcc5v0_sys>;
  241. + vcc2-supply = <&vcc5v0_sys>;
  242. + vcc3-supply = <&vcc5v0_sys>;
  243. + vcc4-supply = <&vcc5v0_sys>;
  244. + vcc5-supply = <&vcc_buck5>;
  245. + vcc6-supply = <&vcc_buck5>;
  246. + vcc7-supply = <&vcc5v0_sys>;
  247. + vcc8-supply = <&vcc3v3_sys>;
  248. + vcc9-supply = <&vcc5v0_sys>;
  249. +
  250. + regulators {
  251. + vdd_log: DCDC_REG1 {
  252. + regulator-always-on;
  253. + regulator-boot-on;
  254. + regulator-min-microvolt = <750000>;
  255. + regulator-max-microvolt = <1350000>;
  256. + regulator-initial-mode = <0x2>;
  257. + regulator-name = "vdd_log";
  258. + regulator-state-mem {
  259. + regulator-off-in-suspend;
  260. + regulator-suspend-microvolt = <900000>;
  261. + };
  262. + };
  263. +
  264. + vdd_cpu_l: DCDC_REG2 {
  265. + regulator-always-on;
  266. + regulator-boot-on;
  267. + regulator-min-microvolt = <750000>;
  268. + regulator-max-microvolt = <1350000>;
  269. + regulator-ramp-delay = <6001>;
  270. + regulator-initial-mode = <0x2>;
  271. + regulator-name = "vdd_cpu_l";
  272. + regulator-state-mem {
  273. + regulator-off-in-suspend;
  274. + };
  275. + };
  276. +
  277. + vcc_ddr: DCDC_REG3 {
  278. + regulator-always-on;
  279. + regulator-boot-on;
  280. + regulator-name = "vcc_ddr";
  281. + regulator-initial-mode = <0x2>;
  282. + regulator-state-mem {
  283. + regulator-on-in-suspend;
  284. + };
  285. + };
  286. +
  287. + vcc3v3_sys: DCDC_REG4 {
  288. + regulator-always-on;
  289. + regulator-boot-on;
  290. + regulator-min-microvolt = <3300000>;
  291. + regulator-max-microvolt = <3300000>;
  292. + regulator-initial-mode = <0x2>;
  293. + regulator-name = "vcc3v3_sys";
  294. + regulator-state-mem {
  295. + regulator-on-in-suspend;
  296. + regulator-suspend-microvolt = <3300000>;
  297. + };
  298. + };
  299. +
  300. + vcc_buck5: DCDC_REG5 {
  301. + regulator-always-on;
  302. + regulator-boot-on;
  303. + regulator-min-microvolt = <3300000>;
  304. + regulator-max-microvolt = <3300000>;
  305. + regulator-name = "vcc_buck5";
  306. + regulator-state-mem {
  307. + regulator-on-in-suspend;
  308. + regulator-suspend-microvolt = <3300000>;
  309. + };
  310. + };
  311. +
  312. + vcca_0v9: LDO_REG1 {
  313. + regulator-always-on;
  314. + regulator-boot-on;
  315. + regulator-min-microvolt = <900000>;
  316. + regulator-max-microvolt = <900000>;
  317. + regulator-name = "vcca_0v9";
  318. + regulator-state-mem {
  319. + regulator-off-in-suspend;
  320. + };
  321. + };
  322. +
  323. + vcc_1v8: LDO_REG2 {
  324. + regulator-always-on;
  325. + regulator-boot-on;
  326. + regulator-min-microvolt = <1800000>;
  327. + regulator-max-microvolt = <1800000>;
  328. +
  329. + regulator-name = "vcc_1v8";
  330. + regulator-state-mem {
  331. + regulator-on-in-suspend;
  332. + regulator-suspend-microvolt = <1800000>;
  333. + };
  334. + };
  335. +
  336. + vcc0v9_soc: LDO_REG3 {
  337. + regulator-always-on;
  338. + regulator-boot-on;
  339. + regulator-min-microvolt = <900000>;
  340. + regulator-max-microvolt = <900000>;
  341. +
  342. + regulator-name = "vcc0v9_soc";
  343. + regulator-state-mem {
  344. + regulator-on-in-suspend;
  345. + regulator-suspend-microvolt = <900000>;
  346. + };
  347. + };
  348. +
  349. + vcca_1v8: LDO_REG4 {
  350. + regulator-always-on;
  351. + regulator-boot-on;
  352. + regulator-min-microvolt = <1850000>;
  353. + regulator-max-microvolt = <1850000>;
  354. +
  355. + regulator-name = "vcca_1v8";
  356. + regulator-state-mem {
  357. + regulator-off-in-suspend;
  358. + };
  359. + };
  360. +
  361. + vcc_mipi: LDO_REG5 {
  362. + regulator-always-on;
  363. + regulator-boot-on;
  364. + regulator-min-microvolt = <1500000>;
  365. + regulator-max-microvolt = <1500000>;
  366. +
  367. + regulator-name = "vcc_mipi";
  368. + regulator-state-mem {
  369. + regulator-off-in-suspend;
  370. + };
  371. + };
  372. +
  373. + vcc_1v5: LDO_REG6 {
  374. + regulator-always-on;
  375. + regulator-boot-on;
  376. + regulator-min-microvolt = <1500000>;
  377. + regulator-max-microvolt = <1500000>;
  378. +
  379. + regulator-name = "vcc_1v5";
  380. + regulator-state-mem {
  381. + regulator-off-in-suspend;
  382. + };
  383. + };
  384. +
  385. + vcc_3v0: LDO_REG7 {
  386. + regulator-always-on;
  387. + regulator-boot-on;
  388. + regulator-min-microvolt = <3000000>;
  389. + regulator-max-microvolt = <3000000>;
  390. +
  391. + regulator-name = "vcc_3v0";
  392. + regulator-state-mem {
  393. + regulator-off-in-suspend;
  394. + };
  395. + };
  396. +
  397. + vccio_sd: LDO_REG8 {
  398. + regulator-always-on;
  399. + regulator-boot-on;
  400. + regulator-min-microvolt = <1800000>;
  401. + regulator-max-microvolt = <3300000>;
  402. +
  403. + regulator-name = "vccio_sd";
  404. + regulator-state-mem {
  405. + regulator-off-in-suspend;
  406. + };
  407. + };
  408. +
  409. + vcc_cam: LDO_REG9 {
  410. + regulator-always-on;
  411. + regulator-boot-on;
  412. + regulator-min-microvolt = <3300000>;
  413. + regulator-max-microvolt = <3300000>;
  414. +
  415. + regulator-name = "vcc_cam";
  416. + regulator-state-mem {
  417. + regulator-off-in-suspend;
  418. + };
  419. + };
  420. +
  421. + vcc5v0_usb2: SWITCH_REG1 {
  422. + regulator-min-microvolt = <5000000>;
  423. + regulator-max-microvolt = <5000000>;
  424. +
  425. + regulator-name = "vcc5v0_usb2.0";
  426. + regulator-state-mem {
  427. + regulator-on-in-suspend;
  428. + regulator-suspend-microvolt = <5000000>;
  429. + };
  430. + };
  431. +
  432. + lcd_3v3: SWITCH_REG2 {
  433. + regulator-always-on;
  434. + regulator-boot-on;
  435. + regulator-min-microvolt = <3300000>;
  436. + regulator-max-microvolt = <3300000>;
  437. +
  438. + regulator-name = "lcd_3v3";
  439. + regulator-state-mem {
  440. + regulator-off-in-suspend;
  441. + };
  442. + };
  443. + };
  444. + };
  445. +
  446. + vdd_cpu_b: syr827@40 {
  447. + compatible = "silergy,syr827";
  448. + reg = <0x40>;
  449. + regulator-compatible = "fan53555-reg";
  450. + pinctrl-0 = <&vsel1_gpio>;
  451. + vsel-gpios = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>;
  452. + regulator-name = "vdd_cpu_b";
  453. + regulator-min-microvolt = <712500>;
  454. + regulator-max-microvolt = <1500000>;
  455. + regulator-ramp-delay = <1000>;
  456. + fcs,suspend-voltage-selector = <1>;
  457. + regulator-always-on;
  458. + regulator-boot-on;
  459. + vin-supply = <&vcc5v0_sys>;
  460. + regulator-state-mem {
  461. + regulator-off-in-suspend;
  462. + };
  463. + };
  464. +
  465. + vdd_gpu: syr828@41 {
  466. + compatible = "silergy,syr828";
  467. + reg = <0x41>;
  468. + regulator-compatible = "fan53555-reg";
  469. + pinctrl-0 = <&vsel2_gpio>;
  470. + vsel-gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_HIGH>;
  471. + regulator-name = "vdd_gpu";
  472. + regulator-min-microvolt = <712500>;
  473. + regulator-max-microvolt = <1500000>;
  474. + regulator-ramp-delay = <1000>;
  475. + fcs,suspend-voltage-selector = <1>;
  476. + regulator-always-on;
  477. + regulator-boot-on;
  478. + vin-supply = <&vcc5v0_sys>;
  479. + regulator-initial-mode = <1>; /* 1:force PWM 2:auto */
  480. + regulator-state-mem {
  481. + regulator-off-in-suspend;
  482. + };
  483. + };
  484. +};
  485. +
  486. +&io_domains {
  487. + status = "okay";
  488. +
  489. + bt656-supply = <&vcc_3v0>;
  490. + audio-supply = <&vcca_1v8>;
  491. + sdmmc-supply = <&vccio_sd>;
  492. + gpio1830-supply = <&vcc_3v0>;
  493. +};
  494. +
  495. +&pmu_io_domains {
  496. + status = "okay";
  497. +
  498. + pmu1830-supply = <&vcc_3v0>;
  499. +};
  500. +
  501. +&sdmmc {
  502. + bus-width = <4>;
  503. + cap-mmc-highspeed;
  504. + cap-sd-highspeed;
  505. + card-detect-delay = <800>;
  506. + disable-wp;
  507. + pinctrl-names = "default";
  508. + pinctrl-0 = <&sdmmc_clk &sdmmc_cd &sdmmc_cmd &sdmmc_bus4>;
  509. + vqmmc-supply = <&vccio_sd>;
  510. + status = "okay";
  511. +};
  512. +
  513. +&sdio0 {
  514. + max-frequency = <200000000>;
  515. + supports-sdio;
  516. + bus-width = <4>;
  517. + disable-wp;
  518. + cap-sd-highspeed;
  519. + cap-sdio-irq;
  520. + keep-power-in-suspend;
  521. + mmc-pwrseq = <&sdio_pwrseq>;
  522. + non-removable;
  523. + num-slots = <1>;
  524. + pinctrl-names = "default";
  525. + pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
  526. + sd-uhs-sdr104;
  527. + status = "okay";
  528. +};
  529. +
  530. +&emmc_phy {
  531. + status = "okay";
  532. +};
  533. +
  534. +&sdhci {
  535. + bus-width = <8>;
  536. + mmc-hs400-1_8v;
  537. + mmc-hs400-enhanced-strobe;
  538. + non-removable;
  539. + status = "okay";
  540. +};
  541. +
  542. +&tcphy0 {
  543. + status = "okay";
  544. +};
  545. +
  546. +&tcphy1 {
  547. + status = "okay";
  548. +};
  549. +
  550. +&u2phy0 {
  551. + status = "okay";
  552. +
  553. + u2phy0_otg: otg-port {
  554. + status = "okay";
  555. + };
  556. +
  557. + u2phy0_host: host-port {
  558. + phy-supply = <&vbus_host>;
  559. + status = "okay";
  560. + };
  561. +};
  562. +
  563. +&u2phy1 {
  564. + status = "okay";
  565. +
  566. + u2phy1_otg: otg-port {
  567. + status = "okay";
  568. + };
  569. +
  570. + u2phy1_host: host-port {
  571. + phy-supply = <&vbus_host>;
  572. + status = "okay";
  573. + };
  574. +};
  575. +
  576. +&uart0 {
  577. + pinctrl-names = "default";
  578. + pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
  579. +};
  580. +
  581. +&uart2 {
  582. + status = "okay";
  583. +};
  584. +
  585. +&usb_host0_ehci {
  586. + status = "okay";
  587. +};
  588. +
  589. +&usb_host0_ohci {
  590. + status = "okay";
  591. +};
  592. +
  593. +&usb_host1_ehci {
  594. + status = "okay";
  595. +};
  596. +
  597. +&usb_host1_ohci {
  598. + status = "okay";
  599. +};
  600. +
  601. +&usbdrd3_0 {
  602. + status = "okay";
  603. +};
  604. +
  605. +&usbdrd_dwc3_0 {
  606. + status = "okay";
  607. + extcon = <&u2phy0>;
  608. + dr_mode = "otg";
  609. +};
  610. +
  611. +&usbdrd3_1 {
  612. + status = "okay";
  613. +};
  614. +
  615. +&usbdrd_dwc3_1 {
  616. + status = "okay";
  617. + dr_mode = "host";
  618. +};
  619. +
  620. +&vopb {
  621. + status = "okay";
  622. +};
  623. +
  624. +&vopb_mmu {
  625. + status = "okay";
  626. +};
  627. +
  628. +&vopl {
  629. + status = "okay";
  630. +};
  631. +
  632. +&vopl_mmu {
  633. + status = "okay";
  634. +};
  635. +
  636. +&hdmi {
  637. + pinctrl-names = "default";
  638. + pinctrl-0 = <&hdmi_i2c_xfer>, <&hdmi_cec>;
  639. + status = "okay";
  640. +};
  641. +
  642. +&hdmi_sound {
  643. + status = "okay";
  644. +};
  645. +
  646. +&hdmi_in_vopb {
  647. + status = "okay";
  648. +};
  649. +
  650. +&hdmi_in_vopl {
  651. + status = "okay";
  652. +};
  653. +
  654. +&i2c1 {
  655. + i2c-scl-rising-time-ns = <450>;
  656. + i2c-scl-falling-time-ns = <15>;
  657. + status = "okay";
  658. +};
  659. +
  660. +&pcie_phy {
  661. + status = "okay";
  662. +};
  663. +
  664. +&pcie0 {
  665. + ep-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>;
  666. + num-lanes = <4>;
  667. + pinctrl-0 = <&pcie_clkreqnb_cpm>;
  668. + pinctrl-names = "default";
  669. + vpcie0v9-supply = <&vcc_0v9>;
  670. + vpcie1v8-supply = <&vcc_1v8>;
  671. + vpcie3v3-supply = <&vcc3v3_pcie>;
  672. + status = "okay";
  673. +};
  674. +
  675. +&pinctrl {
  676. + hpd {
  677. + hpd_en: hpd-en {
  678. + rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
  679. + };
  680. + };
  681. +
  682. + pmic {
  683. + pmic_int_l: pmic-int-l {
  684. + rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
  685. + };
  686. +
  687. + vsel1_gpio: vsel1-gpio {
  688. + rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
  689. + };
  690. +
  691. + vsel2_gpio: vsel2-gpio {
  692. + rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
  693. + };
  694. + };
  695. +
  696. + sdmmc {
  697. + sdmmc_bus4: sdmmc-bus4 {
  698. + rockchip,pins = <4 8 1 &pcfg_pull_up_8ma>,
  699. + <4 9 1 &pcfg_pull_up_8ma>,
  700. + <4 10 1 &pcfg_pull_up_8ma>,
  701. + <4 11 1 &pcfg_pull_up_8ma>;
  702. + };
  703. +
  704. + sdmmc_clk: sdmmc-clk {
  705. + rockchip,pins = <4 12 1 &pcfg_pull_none_18ma>;
  706. + };
  707. +
  708. + sdmmc_cmd: sdmmc-cmd {
  709. + rockchip,pins = <4 13 1 &pcfg_pull_up_8ma>;
  710. + };
  711. + };
  712. +
  713. + usb-typec {
  714. + vcc5v0_typec_en: vcc5v0-typec-en {
  715. + rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
  716. + };
  717. + };
  718. +
  719. + vbus_host {
  720. + usb1_en_oc: usb1-en-oc {
  721. + rockchip,pins = <3 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>;
  722. + };
  723. + };
  724. +
  725. + pcie {
  726. + pcie_drv: pcie-drv {
  727. + rockchip,pins =
  728. + <3 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
  729. + };
  730. + };
  731. +
  732. + sdio-pwrseq {
  733. + wifi_enable_h: wifi-enable-h {
  734. + rockchip,pins =
  735. + <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
  736. + };
  737. + };
  738. +};