[PATCH v2 0/6] rockchip: rk3328: sync dts and add ROC-RK3328-CC board
Peter Geis
pgwipeout at gmail.com
Mon Apr 20 19:35:30 CEST 2020
On Thu, Apr 16, 2020 at 5:53 AM Loic Devulder <LDevulder at suse.com> wrote:
>
> Hi Chen,
>
> I tested your patches and all work pretty well. I just had issues with
> USB2 that doesn't recognize any of my USB keys (it's OK on USB3).
>
> I also had these issues with XHCI driver:
> => usb reset
> resetting USB...
> BUG at drivers/usb/host/xhci-mem.c:84/xhci_ring_free()!
> BUG!
> �esetting ...
>
> => usb stop
> stopping USB..
> Host not halted after 16000 microseconds.
> XHCI: failed to set VBus supply
> device_remove: Device 'usb at ff600000' failed to remove, but children are
> gone
>
> But for the whole series: Tested-by: Loic Devulder <ldevulder at suse.com>
>
> On Sun, 2020-04-05 at 10:25 +0800, Chen-Yu Tsai wrote:
> > From: Chen-Yu Tsai <wens at csie.org>
> >
> > Hi everyone,
> >
> > This is v2 of my ROC-RK3328-CC series. 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 (6):
> > 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
> > dt-bindings: clock: rk3328: sync from upstream Linux kernel
> > dt-bindings: power: rk3328-power: sync from upstream Linux kernel
> > rockchip: dts: rk3328: Sync device tree files from Linux
> > rockchip: rk3328: Add support for ROC-RK3328-CC board
> >
> > 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 | 38 +
> > .../{rk3328-rock64.dts => rk3328-roc-cc.dts} | 135 +-
> > arch/arm/dts/rk3328-rock64.dts | 132 +-
> > arch/arm/dts/rk3328.dtsi | 1420 +++++++++++--
> > ----
> > board/rockchip/evb_rk3328/MAINTAINERS | 7 +
> > configs/roc-cc-rk3328_defconfig | 103 ++
> > doc/README.rockchip | 4 +-
> > include/dt-bindings/clock/rk3328-cru.h | 212 +--
> > include/dt-bindings/power/rk3328-power.h | 19 +
> > 12 files changed, 1578 insertions(+), 752 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%)
> > create mode 100644 configs/roc-cc-rk3328_defconfig
> > create mode 100644 include/dt-bindings/power/rk3328-power.h
> >
> --
> Loic Devulder <ldevulder at suse.com> | ldevulder at irc
> 0x175A963893C85F55 | D220 DEF5 56A3 DE00 9DAA 78BA 175A 9638 93C8 5F55
> Senior QA Engineer | Container & Storage Solutions Quality Assurance
> team (qa-css)
> SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nuernberg, Germany
> GF: Felix Imendörffer, Mary Higgins, Sri Rasiah HRB, 21284 (AG
> Nuernberg)
Good Afternoon,
I have tested this patch set against u-boot git as of 20 April 2020
and have some feedback.
The issue of booting off the sdmmc is fixed, thanks!
The USB issues above come from a few issues:
vcc_host1_5v is set to regulator-always-on, which prevents USB from
resetting properly, remove this option allows xhci to clean up.
USB 2.0 Host does not work because there is no rockchip,rk3328-usb2phy yet.
This causes the generic ohci and ehci drivers to fail, removing
CONFIG_PHY from your defconfig resolves this.
The USB-OTG port appears to not work because it's stuck in peripheral mode.
The vbus-supply = <&vcc_host1_5v> should be on all three USB
controllers, as it powers all three ports.
Overall, excellent work!
For the whole series: Tested-by: Peter Geis <pgwipeout at gmail.com>
More information about the U-Boot
mailing list