[PATCH v3 0/9] rockchip: rk3328: sync dts and add ROC-RK3328-CC board

Chen-Yu Tsai
2020-04-27T06:52:45Z

Hi everyone,

This is v3 of my ROC-RK3328-CC series. Changes from v2 are mainly
fixing USB functionality on RK3328 in U-boot. This includes restoring
the U-Boot specific "hnp-srp-disable" property for dwc2, moving the
dwc2 device node after the ehci/ohci ones, and making vbus controllable
and tied only to the XHCI controller. Because of this, I dropped review
and tested tags from the DTS sync and new board patches.

Changes from v1 are mainly dropping the custom board target, and dealing
with the pinmuxing through proper use of DM regulators / GPIO / pinctrl
in SPL.

This series adds proper support for Firefly / Libre Computer ROC-RK3328-CC
single board computer.

The ROC-RK3328-CC from Firefly and Libre Computer Project is a credit
card size development board based on the Rockchip RK3328 SoC, with:

- 1/2/4 GB DDR4 DRAM
- eMMC connector for optional module
- micro SD card slot
- 1 x USB 3.0 host port
- 2 x USB 2.0 host port
- 1 x USB 2.0 OTG port
- HDMI video output
- TRRS connector with audio and composite video output
- gigabit Ethernet
- consumer IR receiver
- debug UART pins

Originally I started with Loic's patches, and syncing the device tree
files from Linux. That didn't get very far, with SPL failing to detect
the SD card. Examining the schematics and internal state of GRF and
GPIOs, I realized that the logic for the SD card power enable switch
is opposite that of what the SD card controller's SDMMC0_PWREN pin
would use. Instead, directly using the GPIO is required.

To deal with this, DM regulator and GPIO are enabled in SPL, and
various device nodes are marked with u-boot,dm-spl to have them work.
pinctrl properties are not stripped, so as to have the SDMMC0_PWREN
pin muxed over to GPIO.

Along the way, there are some clean-ups of existing dts files, moving
U-boot only features to -u-boot.dtsi files, and then a wholesale sync
from Linux. Only boards already existing in U-boot are synced. DT
binding header files are synced separately as there is already one
patch floating around. The DT sync also includes clean-up changes only
recently posted, and likely won't make it in for at least a few weeks.

Please have a look, and test if possible. I cc-ed a couple people that
showed interest in this board on mailing lists recently.

Regards
ChenYu

Chen-Yu Tsai (9):
rockchip: dts: rk3328-evb: Move vcc5v0-host-xhci-drv to -u-boot.dtsi
rockchip: dts: rk3328-evb: Move gmac2io related nodes to -u-boot.dtsi
rockchip: dts: rk3328: Move OTG node's hnp-srp-disable to
rk3328-u-boot.dtsi
dt-bindings: clock: rk3328: sync from upstream Linux kernel
dt-bindings: power: rk3328-power: sync from upstream Linux kernel
rockchip: rk3328: Disable generic PHY support
rockchip: dts: rk3328: Sync device tree files from Linux
rockchip: rk3328: Add support for ROC-RK3328-CC board
rockchip: dts: rock64: Fix XHCI usage

arch/arm/dts/Makefile | 1 +
arch/arm/dts/rk3328-evb-u-boot.dtsi | 39 +
arch/arm/dts/rk3328-evb.dts | 220 +--
arch/arm/dts/rk3328-roc-cc-u-boot.dtsi | 47 +
.../{rk3328-rock64.dts => rk3328-roc-cc.dts} | 135 +-
arch/arm/dts/rk3328-rock64-u-boot.dtsi | 11 +
arch/arm/dts/rk3328-rock64.dts | 132 +-
arch/arm/dts/rk3328-u-boot.dtsi | 4 +
arch/arm/dts/rk3328.dtsi | 1415 +++++++++++------
board/rockchip/evb_rk3328/MAINTAINERS | 7 +
configs/evb-rk3328_defconfig | 1 -
...3328_defconfig => roc-cc-rk3328_defconfig} | 19 +-
configs/rock64-rk3328_defconfig | 1 -
doc/README.rockchip | 4 +-
include/dt-bindings/clock/rk3328-cru.h | 212 +--
include/dt-bindings/power/rk3328-power.h | 19 +
16 files changed, 1514 insertions(+), 753 deletions(-)
create mode 100644 arch/arm/dts/rk3328-roc-cc-u-boot.dtsi
copy arch/arm/dts/{rk3328-rock64.dts => rk3328-roc-cc.dts} (68%)
copy configs/{rock64-rk3328_defconfig => roc-cc-rk3328_defconfig} (81%)
create mode 100644 include/dt-bindings/power/rk3328-power.h

--
2.26.0