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

Chen-Yu Tsai wens at kernel.org
Fri Mar 27 18:44:00 CET 2020


Hi,

On Fri, Mar 27, 2020 at 11:07 PM Kurt Miller <kurt at intricatesoftware.com> wrote:
>
> On Fri, 2020-03-27 at 12:41 +0800, Chen-Yu Tsai wrote:
> > From: Chen-Yu Tsai <wens at csie.org>
> >
> > Hi everyone,
> >
> > 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.
> >
> > Thus this series creates a special target for this board to handle
> > muxing this specific pin to GPIO state. The GPIO is left in input mode,
> > letting the external pull-down work its magic.
> >
> > 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.
> >
>
> Thank you for updating the dts for rk3328. I have Rock64 v2 and v3
> boards and have tested your patchset with OpenBSD-current. The v2 board
> is working and I have not noticed any regressions. The v3 board prior
> to your patchset was not booting and continues to not boot.
>
> U-Boot TPL 2020.04-rc3-00172-gaf827140e5-dirty (Mar 27 2020 - 09:44:24)
> LPDDR3, 800MHz
> BW=32 Col=11 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=4096MB
> Trying to boot from BOOTROM
> Returning to boot ROM...
>
> U-Boot SPL 2020.04-rc3-00172-gaf827140e5-dirty (Mar 27 2020 - 09:44:24 -0400)
> Trying to boot from MMC1
> Card did not respond to voltage select!
> spl: mmc init failed with error: -95
> Trying to boot from MMC2
> Card did not respond to voltage select!
> spl: mmc init failed with error: -95
> SPL: failed to boot from all boot devices
> ### ERROR ### Please RESET the board ###
>
> The Rock64 v3 board issues are unrelated to your patch set, but I
> believe it needs a similar approach as ROC-RK3328-CC. Here is some
> info previously posted regarding this:
>
> https://marc.info/?t=155751506500001&r=1&w=2

So based on the changes from Pine64, it looks like v3 follows a similar
design as the ROC-RK3328-CC, that is use the SDMMC0_PWREN pin to control
power to the SD card. On the Rock64 v3, there's no external pull-down,
but the internal pull-down might be enough...

You could try setting the target to ROC-RK3328-CC through menuconfig
after you use the defconfig for rock64 and see if that works for you.


ChenYu

> Regards,
> -Kurt
>
>
> > 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        |   17 +
> >  .../{rk3328-rock64.dts => rk3328-roc-cc.dts}  |  135 +-
> >  arch/arm/dts/rk3328-rock64.dts                |  132 +-
> >  arch/arm/dts/rk3328.dtsi                      | 1420 +++++++++++------
> >  arch/arm/mach-rockchip/rk3328/Kconfig         |    8 +
> >  board/firefly/roc-cc-rk3328/Kconfig           |   24 +
> >  board/firefly/roc-cc-rk3328/MAINTAINERS       |    7 +
> >  board/firefly/roc-cc-rk3328/Makefile          |    1 +
> >  board/firefly/roc-cc-rk3328/board.c           |   38 +
> >  configs/roc-cc-rk3328_defconfig               |   97 ++
> >  doc/README.rockchip                           |    4 +-
> >  include/dt-bindings/clock/rk3328-cru.h        |  212 +--
> >  include/dt-bindings/power/rk3328-power.h      |   19 +
> >  16 files changed, 1622 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 board/firefly/roc-cc-rk3328/Kconfig
> >  create mode 100644 board/firefly/roc-cc-rk3328/MAINTAINERS
> >  create mode 100644 board/firefly/roc-cc-rk3328/Makefile
> >  create mode 100644 board/firefly/roc-cc-rk3328/board.c
> >  create mode 100644 configs/roc-cc-rk3328_defconfig
> >  create mode 100644 include/dt-bindings/power/rk3328-power.h
> >
>


More information about the U-Boot mailing list