103-rockchip-rk3328-Add-support-for-Orange-Pi-R1-Plus.patch 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564
  1. From ff312af37d5f263f181468639aab83f645d331f1 Mon Sep 17 00:00:00 2001
  2. From: Tianling Shen <[email protected]>
  3. Date: Sat, 20 May 2023 18:50:38 +0800
  4. Subject: [PATCH] rockchip: rk3328: Add support for Orange Pi R1 Plus
  5. Orange Pi R1 Plus is a Rockchip RK3328 based SBC by Xunlong.
  6. This device is similar to the NanoPi R2S, and has a 16MB
  7. SPI NOR (mx25l12805d). The reset button is changed to
  8. directly reset the power supply, another detail is that
  9. both network ports have independent MAC addresses.
  10. The device tree and description are taken from kernel v6.3-rc1.
  11. Reviewed-by: Kever Yang <[email protected]>
  12. Signed-off-by: Tianling Shen <[email protected]>
  13. ---
  14. arch/arm/dts/Makefile | 1 +
  15. .../dts/rk3328-orangepi-r1-plus-u-boot.dtsi | 46 +++
  16. arch/arm/dts/rk3328-orangepi-r1-plus.dts | 373 ++++++++++++++++++
  17. board/rockchip/evb_rk3328/MAINTAINERS | 6 +
  18. configs/orangepi-r1-plus-rk3328_defconfig | 114 ++++++
  19. 5 files changed, 540 insertions(+)
  20. create mode 100644 arch/arm/dts/rk3328-orangepi-r1-plus-u-boot.dtsi
  21. create mode 100644 arch/arm/dts/rk3328-orangepi-r1-plus.dts
  22. create mode 100644 configs/orangepi-r1-plus-rk3328_defconfig
  23. --- a/arch/arm/dts/Makefile
  24. +++ b/arch/arm/dts/Makefile
  25. @@ -110,6 +110,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3328) += \
  26. rk3328-evb.dtb \
  27. rk3328-nanopi-r2c.dtb \
  28. rk3328-nanopi-r2s.dtb \
  29. + rk3328-orangepi-r1-plus.dtb \
  30. rk3328-roc-cc.dtb \
  31. rk3328-rock64.dtb \
  32. rk3328-rock-pi-e.dtb
  33. --- /dev/null
  34. +++ b/arch/arm/dts/rk3328-orangepi-r1-plus-u-boot.dtsi
  35. @@ -0,0 +1,46 @@
  36. +// SPDX-License-Identifier: GPL-2.0-or-later
  37. +/*
  38. + * (C) Copyright 2018-2019 Rockchip Electronics Co., Ltd
  39. + * (C) Copyright 2020 David Bauer
  40. + */
  41. +
  42. +#include "rk3328-u-boot.dtsi"
  43. +#include "rk3328-sdram-ddr4-666.dtsi"
  44. +/ {
  45. + chosen {
  46. + u-boot,spl-boot-order = "same-as-spl", &sdmmc, &emmc;
  47. + };
  48. +};
  49. +
  50. +&gpio0 {
  51. + u-boot,dm-spl;
  52. +};
  53. +
  54. +&pinctrl {
  55. + u-boot,dm-spl;
  56. +};
  57. +
  58. +&sdmmc0m1_gpio {
  59. + u-boot,dm-spl;
  60. +};
  61. +
  62. +&pcfg_pull_up_4ma {
  63. + u-boot,dm-spl;
  64. +};
  65. +
  66. +/* Need this and all the pinctrl/gpio stuff above to set pinmux */
  67. +&vcc_sd {
  68. + u-boot,dm-spl;
  69. +};
  70. +
  71. +&gmac2io {
  72. + snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
  73. + snps,reset-active-low;
  74. + snps,reset-delays-us = <0 10000 50000>;
  75. +};
  76. +
  77. +&spi0 {
  78. + spi_flash: spiflash@0 {
  79. + u-boot,dm-pre-reloc;
  80. + };
  81. +};
  82. --- /dev/null
  83. +++ b/arch/arm/dts/rk3328-orangepi-r1-plus.dts
  84. @@ -0,0 +1,359 @@
  85. +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  86. +/*
  87. + * Based on rk3328-nanopi-r2s.dts, which is:
  88. + * Copyright (c) 2020 David Bauer <[email protected]>
  89. + */
  90. +
  91. +/dts-v1/;
  92. +
  93. +#include <dt-bindings/gpio/gpio.h>
  94. +#include <dt-bindings/leds/common.h>
  95. +#include "rk3328.dtsi"
  96. +
  97. +/ {
  98. + model = "Xunlong Orange Pi R1 Plus";
  99. + compatible = "xunlong,orangepi-r1-plus", "rockchip,rk3328";
  100. +
  101. + aliases {
  102. + mmc0 = &sdmmc;
  103. + };
  104. +
  105. + chosen {
  106. + stdout-path = "serial2:1500000n8";
  107. + };
  108. +
  109. + gmac_clk: gmac-clock {
  110. + compatible = "fixed-clock";
  111. + clock-frequency = <125000000>;
  112. + clock-output-names = "gmac_clkin";
  113. + #clock-cells = <0>;
  114. + };
  115. +
  116. + leds {
  117. + compatible = "gpio-leds";
  118. + pinctrl-0 = <&lan_led_pin>, <&sys_led_pin>, <&wan_led_pin>;
  119. + pinctrl-names = "default";
  120. +
  121. + led-0 {
  122. + function = LED_FUNCTION_LAN;
  123. + color = <LED_COLOR_ID_GREEN>;
  124. + gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
  125. + };
  126. +
  127. + led-1 {
  128. + function = LED_FUNCTION_STATUS;
  129. + color = <LED_COLOR_ID_RED>;
  130. + gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;
  131. + linux,default-trigger = "heartbeat";
  132. + };
  133. +
  134. + led-2 {
  135. + function = LED_FUNCTION_WAN;
  136. + color = <LED_COLOR_ID_GREEN>;
  137. + gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>;
  138. + };
  139. + };
  140. +
  141. + vcc_sd: sdmmc-regulator {
  142. + compatible = "regulator-fixed";
  143. + gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
  144. + pinctrl-0 = <&sdmmc0m1_gpio>;
  145. + pinctrl-names = "default";
  146. + regulator-name = "vcc_sd";
  147. + regulator-boot-on;
  148. + vin-supply = <&vcc_io>;
  149. + };
  150. +
  151. + vcc_sys: vcc-sys-regulator {
  152. + compatible = "regulator-fixed";
  153. + regulator-name = "vcc_sys";
  154. + regulator-always-on;
  155. + regulator-boot-on;
  156. + regulator-min-microvolt = <5000000>;
  157. + regulator-max-microvolt = <5000000>;
  158. + };
  159. +
  160. + vdd_5v_lan: vdd-5v-lan-regulator {
  161. + compatible = "regulator-fixed";
  162. + enable-active-high;
  163. + gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>;
  164. + pinctrl-0 = <&lan_vdd_pin>;
  165. + pinctrl-names = "default";
  166. + regulator-name = "vdd_5v_lan";
  167. + regulator-always-on;
  168. + regulator-boot-on;
  169. + vin-supply = <&vcc_sys>;
  170. + };
  171. +};
  172. +
  173. +&cpu0 {
  174. + cpu-supply = <&vdd_arm>;
  175. +};
  176. +
  177. +&cpu1 {
  178. + cpu-supply = <&vdd_arm>;
  179. +};
  180. +
  181. +&cpu2 {
  182. + cpu-supply = <&vdd_arm>;
  183. +};
  184. +
  185. +&cpu3 {
  186. + cpu-supply = <&vdd_arm>;
  187. +};
  188. +
  189. +&display_subsystem {
  190. + status = "disabled";
  191. +};
  192. +
  193. +&gmac2io {
  194. + assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
  195. + assigned-clock-parents = <&gmac_clk>, <&gmac_clk>;
  196. + clock_in_out = "input";
  197. + phy-handle = <&rtl8211e>;
  198. + phy-mode = "rgmii";
  199. + phy-supply = <&vcc_io>;
  200. + pinctrl-0 = <&rgmiim1_pins>;
  201. + pinctrl-names = "default";
  202. + snps,aal;
  203. + rx_delay = <0x18>;
  204. + tx_delay = <0x24>;
  205. + status = "okay";
  206. +
  207. + mdio {
  208. + compatible = "snps,dwmac-mdio";
  209. + #address-cells = <1>;
  210. + #size-cells = <0>;
  211. +
  212. + rtl8211e: ethernet-phy@1 {
  213. + reg = <1>;
  214. + pinctrl-0 = <&eth_phy_reset_pin>;
  215. + pinctrl-names = "default";
  216. + reset-assert-us = <10000>;
  217. + reset-deassert-us = <50000>;
  218. + reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
  219. + };
  220. + };
  221. +};
  222. +
  223. +&i2c1 {
  224. + status = "okay";
  225. +
  226. + rk805: pmic@18 {
  227. + compatible = "rockchip,rk805";
  228. + reg = <0x18>;
  229. + interrupt-parent = <&gpio1>;
  230. + interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
  231. + #clock-cells = <1>;
  232. + clock-output-names = "xin32k", "rk805-clkout2";
  233. + gpio-controller;
  234. + #gpio-cells = <2>;
  235. + pinctrl-0 = <&pmic_int_l>;
  236. + pinctrl-names = "default";
  237. + rockchip,system-power-controller;
  238. + wakeup-source;
  239. +
  240. + vcc1-supply = <&vcc_sys>;
  241. + vcc2-supply = <&vcc_sys>;
  242. + vcc3-supply = <&vcc_sys>;
  243. + vcc4-supply = <&vcc_sys>;
  244. + vcc5-supply = <&vcc_io>;
  245. + vcc6-supply = <&vcc_sys>;
  246. +
  247. + regulators {
  248. + vdd_log: DCDC_REG1 {
  249. + regulator-name = "vdd_log";
  250. + regulator-always-on;
  251. + regulator-boot-on;
  252. + regulator-min-microvolt = <712500>;
  253. + regulator-max-microvolt = <1450000>;
  254. + regulator-ramp-delay = <12500>;
  255. +
  256. + regulator-state-mem {
  257. + regulator-on-in-suspend;
  258. + regulator-suspend-microvolt = <1000000>;
  259. + };
  260. + };
  261. +
  262. + vdd_arm: DCDC_REG2 {
  263. + regulator-name = "vdd_arm";
  264. + regulator-always-on;
  265. + regulator-boot-on;
  266. + regulator-min-microvolt = <712500>;
  267. + regulator-max-microvolt = <1450000>;
  268. + regulator-ramp-delay = <12500>;
  269. +
  270. + regulator-state-mem {
  271. + regulator-on-in-suspend;
  272. + regulator-suspend-microvolt = <950000>;
  273. + };
  274. + };
  275. +
  276. + vcc_ddr: DCDC_REG3 {
  277. + regulator-name = "vcc_ddr";
  278. + regulator-always-on;
  279. + regulator-boot-on;
  280. +
  281. + regulator-state-mem {
  282. + regulator-on-in-suspend;
  283. + };
  284. + };
  285. +
  286. + vcc_io: DCDC_REG4 {
  287. + regulator-name = "vcc_io";
  288. + regulator-always-on;
  289. + regulator-boot-on;
  290. + regulator-min-microvolt = <3300000>;
  291. + regulator-max-microvolt = <3300000>;
  292. +
  293. + regulator-state-mem {
  294. + regulator-on-in-suspend;
  295. + regulator-suspend-microvolt = <3300000>;
  296. + };
  297. + };
  298. +
  299. + vcc_18: LDO_REG1 {
  300. + regulator-name = "vcc_18";
  301. + regulator-always-on;
  302. + regulator-boot-on;
  303. + regulator-min-microvolt = <1800000>;
  304. + regulator-max-microvolt = <1800000>;
  305. +
  306. + regulator-state-mem {
  307. + regulator-on-in-suspend;
  308. + regulator-suspend-microvolt = <1800000>;
  309. + };
  310. + };
  311. +
  312. + vcc18_emmc: LDO_REG2 {
  313. + regulator-name = "vcc18_emmc";
  314. + regulator-always-on;
  315. + regulator-boot-on;
  316. + regulator-min-microvolt = <1800000>;
  317. + regulator-max-microvolt = <1800000>;
  318. +
  319. + regulator-state-mem {
  320. + regulator-on-in-suspend;
  321. + regulator-suspend-microvolt = <1800000>;
  322. + };
  323. + };
  324. +
  325. + vdd_10: LDO_REG3 {
  326. + regulator-name = "vdd_10";
  327. + regulator-always-on;
  328. + regulator-boot-on;
  329. + regulator-min-microvolt = <1000000>;
  330. + regulator-max-microvolt = <1000000>;
  331. +
  332. + regulator-state-mem {
  333. + regulator-on-in-suspend;
  334. + regulator-suspend-microvolt = <1000000>;
  335. + };
  336. + };
  337. + };
  338. + };
  339. +};
  340. +
  341. +&io_domains {
  342. + pmuio-supply = <&vcc_io>;
  343. + vccio1-supply = <&vcc_io>;
  344. + vccio2-supply = <&vcc18_emmc>;
  345. + vccio3-supply = <&vcc_io>;
  346. + vccio4-supply = <&vcc_io>;
  347. + vccio5-supply = <&vcc_io>;
  348. + vccio6-supply = <&vcc_io>;
  349. + status = "okay";
  350. +};
  351. +
  352. +&pinctrl {
  353. + gmac2io {
  354. + eth_phy_reset_pin: eth-phy-reset-pin {
  355. + rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
  356. + };
  357. + };
  358. +
  359. + leds {
  360. + lan_led_pin: lan-led-pin {
  361. + rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
  362. + };
  363. +
  364. + sys_led_pin: sys-led-pin {
  365. + rockchip,pins = <3 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
  366. + };
  367. +
  368. + wan_led_pin: wan-led-pin {
  369. + rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
  370. + };
  371. + };
  372. +
  373. + lan {
  374. + lan_vdd_pin: lan-vdd-pin {
  375. + rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
  376. + };
  377. + };
  378. +
  379. + pmic {
  380. + pmic_int_l: pmic-int-l {
  381. + rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
  382. + };
  383. + };
  384. +};
  385. +
  386. +&pwm2 {
  387. + status = "okay";
  388. +};
  389. +
  390. +&sdmmc {
  391. + bus-width = <4>;
  392. + cap-sd-highspeed;
  393. + disable-wp;
  394. + pinctrl-0 = <&sdmmc0_clk>, <&sdmmc0_cmd>, <&sdmmc0_dectn>, <&sdmmc0_bus4>;
  395. + pinctrl-names = "default";
  396. + vmmc-supply = <&vcc_sd>;
  397. + status = "okay";
  398. +};
  399. +
  400. +&spi0 {
  401. + status = "okay";
  402. +
  403. + flash@0 {
  404. + compatible = "jedec,spi-nor";
  405. + reg = <0>;
  406. + spi-max-frequency = <50000000>;
  407. + };
  408. +};
  409. +
  410. +&tsadc {
  411. + rockchip,hw-tshut-mode = <0>;
  412. + rockchip,hw-tshut-polarity = <0>;
  413. + status = "okay";
  414. +};
  415. +
  416. +&u2phy {
  417. + status = "okay";
  418. +};
  419. +
  420. +&u2phy_host {
  421. + status = "okay";
  422. +};
  423. +
  424. +&u2phy_otg {
  425. + status = "okay";
  426. +};
  427. +
  428. +&uart2 {
  429. + status = "okay";
  430. +};
  431. +
  432. +&usb20_otg {
  433. + dr_mode = "host";
  434. + status = "okay";
  435. +};
  436. +
  437. +&usb_host0_ehci {
  438. + status = "okay";
  439. +};
  440. +
  441. +&usb_host0_ohci {
  442. + status = "okay";
  443. +};
  444. --- a/board/rockchip/evb_rk3328/MAINTAINERS
  445. +++ b/board/rockchip/evb_rk3328/MAINTAINERS
  446. @@ -18,6 +18,12 @@ F: configs/nanopi-r2s-rk3328_defcon
  447. F: arch/arm/dts/rk3328-nanopi-r2s-u-boot.dtsi
  448. F: arch/arm/dts/rk3328-nanopi-r2s.dts
  449. +ORANGEPI-R1-PLUS-RK3328
  450. +M: Tianling Shen <[email protected]>
  451. +S: Maintained
  452. +F: configs/orangepi-r1-plus-rk3328_defconfig
  453. +F: arch/arm/dts/rk3328-orangepi-r1-plus-u-boot.dtsi
  454. +
  455. ROC-RK3328-CC
  456. M: Loic Devulder <[email protected]>
  457. M: Chen-Yu Tsai <[email protected]>
  458. --- /dev/null
  459. +++ b/configs/orangepi-r1-plus-rk3328_defconfig
  460. @@ -0,0 +1,98 @@
  461. +CONFIG_ARM=y
  462. +CONFIG_ARCH_ROCKCHIP=y
  463. +CONFIG_SYS_TEXT_BASE=0x00200000
  464. +CONFIG_SPL_GPIO_SUPPORT=y
  465. +CONFIG_ENV_OFFSET=0x3F8000
  466. +CONFIG_ROCKCHIP_RK3328=y
  467. +CONFIG_TPL_ROCKCHIP_COMMON_BOARD=y
  468. +CONFIG_TPL_LIBCOMMON_SUPPORT=y
  469. +CONFIG_TPL_LIBGENERIC_SUPPORT=y
  470. +CONFIG_SPL_DRIVERS_MISC_SUPPORT=y
  471. +CONFIG_SPL_STACK_R_ADDR=0x600000
  472. +CONFIG_NR_DRAM_BANKS=1
  473. +CONFIG_DEBUG_UART_BASE=0xFF130000
  474. +CONFIG_DEBUG_UART_CLOCK=24000000
  475. +CONFIG_SYSINFO=y
  476. +CONFIG_DEBUG_UART=y
  477. +CONFIG_TPL_SYS_MALLOC_F_LEN=0x800
  478. +# CONFIG_ANDROID_BOOT_IMAGE is not set
  479. +CONFIG_FIT=y
  480. +CONFIG_FIT_VERBOSE=y
  481. +CONFIG_SPL_LOAD_FIT=y
  482. +CONFIG_DEFAULT_FDT_FILE="rockchip/rk3328-orangepi-r1-plus.dtb"
  483. +CONFIG_MISC_INIT_R=y
  484. +# CONFIG_DISPLAY_CPUINFO is not set
  485. +CONFIG_DISPLAY_BOARDINFO_LATE=y
  486. +# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
  487. +CONFIG_TPL_SYS_MALLOC_SIMPLE=y
  488. +CONFIG_SPL_STACK_R=y
  489. +CONFIG_SPL_I2C_SUPPORT=y
  490. +CONFIG_SPL_POWER_SUPPORT=y
  491. +CONFIG_SPL_ATF=y
  492. +CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y
  493. +CONFIG_CMD_BOOTZ=y
  494. +CONFIG_CMD_GPT=y
  495. +CONFIG_CMD_MMC=y
  496. +CONFIG_CMD_USB=y
  497. +# CONFIG_CMD_SETEXPR is not set
  498. +CONFIG_CMD_TIME=y
  499. +CONFIG_SPL_OF_CONTROL=y
  500. +CONFIG_TPL_OF_CONTROL=y
  501. +CONFIG_DEFAULT_DEVICE_TREE="rk3328-orangepi-r1-plus"
  502. +CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
  503. +CONFIG_TPL_OF_PLATDATA=y
  504. +CONFIG_ENV_IS_IN_MMC=y
  505. +CONFIG_SYS_RELOC_GD_ENV_ADDR=y
  506. +CONFIG_NET_RANDOM_ETHADDR=y
  507. +CONFIG_TPL_DM=y
  508. +CONFIG_REGMAP=y
  509. +CONFIG_SPL_REGMAP=y
  510. +CONFIG_TPL_REGMAP=y
  511. +CONFIG_SYSCON=y
  512. +CONFIG_SPL_SYSCON=y
  513. +CONFIG_TPL_SYSCON=y
  514. +CONFIG_CLK=y
  515. +CONFIG_SPL_CLK=y
  516. +CONFIG_FASTBOOT_BUF_ADDR=0x800800
  517. +CONFIG_FASTBOOT_CMD_OEM_FORMAT=y
  518. +CONFIG_ROCKCHIP_GPIO=y
  519. +CONFIG_SYS_I2C_ROCKCHIP=y
  520. +CONFIG_MMC_DW=y
  521. +CONFIG_MMC_DW_ROCKCHIP=y
  522. +CONFIG_SF_DEFAULT_SPEED=20000000
  523. +CONFIG_DM_ETH=y
  524. +CONFIG_ETH_DESIGNWARE=y
  525. +CONFIG_GMAC_ROCKCHIP=y
  526. +CONFIG_PINCTRL=y
  527. +CONFIG_SPL_PINCTRL=y
  528. +CONFIG_DM_PMIC=y
  529. +CONFIG_PMIC_RK8XX=y
  530. +CONFIG_SPL_DM_REGULATOR=y
  531. +CONFIG_REGULATOR_PWM=y
  532. +CONFIG_DM_REGULATOR_FIXED=y
  533. +CONFIG_SPL_DM_REGULATOR_FIXED=y
  534. +CONFIG_REGULATOR_RK8XX=y
  535. +CONFIG_PWM_ROCKCHIP=y
  536. +CONFIG_RAM=y
  537. +CONFIG_SPL_RAM=y
  538. +CONFIG_TPL_RAM=y
  539. +CONFIG_DM_RESET=y
  540. +CONFIG_BAUDRATE=1500000
  541. +CONFIG_DEBUG_UART_SHIFT=2
  542. +CONFIG_SYSRESET=y
  543. +# CONFIG_TPL_SYSRESET is not set
  544. +CONFIG_USB=y
  545. +CONFIG_USB_XHCI_HCD=y
  546. +CONFIG_USB_XHCI_DWC3=y
  547. +CONFIG_USB_EHCI_HCD=y
  548. +CONFIG_USB_EHCI_GENERIC=y
  549. +CONFIG_USB_OHCI_HCD=y
  550. +CONFIG_USB_OHCI_GENERIC=y
  551. +CONFIG_USB_DWC2=y
  552. +CONFIG_USB_DWC3=y
  553. +# CONFIG_USB_DWC3_GADGET is not set
  554. +CONFIG_USB_GADGET=y
  555. +CONFIG_USB_GADGET_DWC2_OTG=y
  556. +CONFIG_SPL_TINY_MEMSET=y
  557. +CONFIG_TPL_TINY_MEMSET=y
  558. +CONFIG_ERRNO_STR=y