From patchwork Mon Apr 27 06:52:45 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chen-Yu Tsai X-Patchwork-Id: 238573 List-Id: U-Boot discussion From: wens at kernel.org (Chen-Yu Tsai) Date: Mon, 27 Apr 2020 14:52:45 +0800 Subject: [PATCH v3 0/9] rockchip: rk3328: sync dts and add ROC-RK3328-CC board Message-ID: <20200427065254.15397-1-wens@kernel.org> From: Chen-Yu Tsai 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