mbox series

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

Message ID 20200427065254.15397-1-wens@kernel.org
Headers show
Series rockchip: rk3328: sync dts and add ROC-RK3328-CC board | expand

Message

Chen-Yu Tsai April 27, 2020, 6:52 a.m. UTC
From: Chen-Yu Tsai <wens at csie.org>

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

Comments

Kever Yang April 30, 2020, 9:04 a.m. UTC | #1
On 2020/4/27 ??2:52, Chen-Yu Tsai wrote:
> From: Chen-Yu Tsai <wens at csie.org>
>
> 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
>
Applied to u-boot-rockchip/master,

Thanks,

- Kever