rockchip: rk3328: Add support for ROC-RK3328-CC board
authorChen-Yu Tsai <wens@csie.org>
Mon, 27 Apr 2020 06:52:53 +0000 (14:52 +0800)
committerKever Yang <kever.yang@rock-chips.com>
Fri, 1 May 2020 10:32:56 +0000 (18:32 +0800)
commitbab972948e152e468fa5ab34764769fc4cddcaab
tree8494e888bbdc31527791046c8d5b2d284e42d8cd
parent50cbff7cf36371728024e95ed46e3b9793b2bd8a
rockchip: rk3328: Add support for ROC-RK3328-CC board

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

The ROC-RK3328-CC has the enable pin of the SD card power switch tied
to GPIO_0_D6. This pin also has the function SDMMC0_PWREN, which is
muxed by default. SDMMC0_PWREN is an active high signal controlled by
the MMC controller, however the switch enable is active low, and
pulled low (enabled) by default to make things work on boot.

As such, we need to mux away from SDMMC0_PWREN and use GPIO to enable
power to the card. The default GPIO state for the pin is pull-down and
input, which doesn't require extra configuration when paired with the
external pull-down and active low switch.

Deal with this by enabling regulator support in SPL, and setting
"u-boot,dm-spl" for the regulator and other device nodes needed for
muxing the pin.

The device tree file is synced from the Linux kernel next-20200324.

Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
arch/arm/dts/Makefile
arch/arm/dts/rk3328-roc-cc-u-boot.dtsi [new file with mode: 0644]
arch/arm/dts/rk3328-roc-cc.dts [new file with mode: 0644]
board/rockchip/evb_rk3328/MAINTAINERS
configs/roc-cc-rk3328_defconfig [new file with mode: 0644]
doc/README.rockchip