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

2020-04-24 Thread Chen-Yu Tsai
On Fri, Apr 24, 2020 at 5:20 AM Peter Geis  wrote:
>
> On Thu, Apr 23, 2020 at 5:24 AM Chen-Yu Tsai  wrote:
> >
> > Hi,
> >
> > On Tue, Apr 21, 2020 at 1:35 AM Peter Geis  wrote:
> > >
> > > On Thu, Apr 16, 2020 at 5:53 AM Loic Devulder  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@ff60' failed to remove, but children are
> > > > gone
> > > >
> > > > But for the whole series: Tested-by: Loic Devulder 
> > > >
> > > > On Sun, 2020-04-05 at 10:25 +0800, Chen-Yu Tsai wrote:
> > > > > From: Chen-Yu Tsai 
> > > > >
> > > > > 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 

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

2020-04-23 Thread Peter Geis
On Thu, Apr 23, 2020 at 5:24 AM Chen-Yu Tsai  wrote:
>
> Hi,
>
> On Tue, Apr 21, 2020 at 1:35 AM Peter Geis  wrote:
> >
> > On Thu, Apr 16, 2020 at 5:53 AM Loic Devulder  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@ff60' failed to remove, but children are
> > > gone
> > >
> > > But for the whole series: Tested-by: Loic Devulder 
> > >
> > > On Sun, 2020-04-05 at 10:25 +0800, Chen-Yu Tsai wrote:
> > > > From: Chen-Yu Tsai 
> > > >
> > > > 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@irc
> > > 

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

2020-04-23 Thread Chen-Yu Tsai
Hi,

On Tue, Apr 21, 2020 at 1:35 AM Peter Geis  wrote:
>
> On Thu, Apr 16, 2020 at 5:53 AM Loic Devulder  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@ff60' failed to remove, but children are
> > gone
> >
> > But for the whole series: Tested-by: Loic Devulder 
> >
> > On Sun, 2020-04-05 at 10:25 +0800, Chen-Yu Tsai wrote:
> > > From: Chen-Yu Tsai 
> > >
> > > 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@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
> > 

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

2020-04-20 Thread Peter Geis
On Thu, Apr 16, 2020 at 5:53 AM Loic Devulder  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@ff60' failed to remove, but children are
> gone
>
> But for the whole series: Tested-by: Loic Devulder 
>
> On Sun, 2020-04-05 at 10:25 +0800, Chen-Yu Tsai wrote:
> > From: Chen-Yu Tsai 
> >
> > 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@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 

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

2020-04-11 Thread Kurt Miller
On Sun, 2020-04-05 at 10:25 +0800, Chen-Yu Tsai wrote:
> From: Chen-Yu Tsai 
> 
> 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
> 

Hi ChenYu,

I needed to apply the following additional diff to your patchset
to allow the Rock64 v3 board to boot through SPL. I copied the
same approach from your ROC-RK3328-CC changes. While it works
it needs expert review.

diff --git a/arch/arm/dts/rk3328-rock64-u-boot.dtsi 
b/arch/arm/dts/rk3328-rock64-u-boot.dtsi
index e5946d2d2d..7d4ae66834 100644
--- a/arch/arm/dts/rk3328-rock64-u-boot.dtsi
+++ b/arch/arm/dts/rk3328-rock64-u-boot.dtsi
@@ -11,6 +11,27 @@
    };
 };
 
+ {
+   u-boot,dm-spl;
+};
+
+ {
+   u-boot,dm-spl;
+};
+
+_gpio {
+   u-boot,dm-spl;
+};
+
+_pull_up_4ma {
+   u-boot,dm-spl;
+};
+
 _host0_xhci {
    status = "okay";
 };
+
+/* Need this and all the pinctrl/gpio stuff above to set pinmux */
+_sd {
+   u-boot,dm-spl;
+};
diff --git a/configs/rock64-rk3328_defconfig b/configs/rock64-rk3328_defconfig
index 826c7a6917..5e4516635e 100644
--- a/configs/rock64-rk3328_defconfig
+++ b/configs/rock64-rk3328_defconfig
@@ -1,6 +1,7 @@
 CONFIG_ARM=y
 CONFIG_ARCH_ROCKCHIP=y
 CONFIG_SYS_TEXT_BASE=0x0020
+CONFIG_SPL_GPIO_SUPPORT=y
 CONFIG_ENV_OFFSET=0x3F8000
 CONFIG_ROCKCHIP_RK3328=y
 CONFIG_TPL_ROCKCHIP_COMMON_BOARD=y
@@ -25,6 +26,8 @@ CONFIG_DISPLAY_BOARDINFO_LATE=y
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_TPL_SYS_MALLOC_SIMPLE=y
 CONFIG_SPL_STACK_R=y
+CONFIG_SPL_I2C_SUPPORT=y
+CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_ATF=y
 

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

2020-04-04 Thread Chen-Yu Tsai
From: Chen-Yu Tsai 

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

-- 
2.26.0