From: Kurt Miller <kurt@intricatesoftware.com>
To: u-boot@lists.denx.de
Subject: [PATCH v2 0/6] rockchip: rk3328: sync dts and add ROC-RK3328-CC board
Date: Fri, 10 Apr 2020 16:09:39 -0400 [thread overview]
Message-ID: <1586549379.7640.91.camel@intricatesoftware.com> (raw)
In-Reply-To: <20200405022544.31856-1-wens@kernel.org>
On Sun, 2020-04-05 at 10:25 +0800, Chen-Yu Tsai wrote:
> From: Chen-Yu Tsai <wens@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
>
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 @@
? };
?};
?
+&gpio0 {
+???????u-boot,dm-spl;
+};
+
+&pinctrl {
+???????u-boot,dm-spl;
+};
+
+&sdmmc0m1_gpio {
+???????u-boot,dm-spl;
+};
+
+&pcfg_pull_up_4ma {
+???????u-boot,dm-spl;
+};
+
?&usb_host0_xhci {
? status = "okay";
?};
+
+/* Need this and all the pinctrl/gpio stuff above to set pinmux */
+&vcc_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=0x00200000
+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
?CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y
?CONFIG_CMD_BOOTZ=y
@@ -36,7 +39,7 @@ CONFIG_CMD_TIME=y
?CONFIG_SPL_OF_CONTROL=y
?CONFIG_TPL_OF_CONTROL=y
?CONFIG_DEFAULT_DEVICE_TREE="rk3328-rock64"
-CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates
assigned-clock-parents"
+CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
?CONFIG_TPL_OF_PLATDATA=y
?CONFIG_ENV_IS_IN_MMC=y
?CONFIG_SYS_RELOC_GD_ENV_ADDR=y
@@ -65,7 +68,9 @@ CONFIG_PINCTRL=y
?CONFIG_SPL_PINCTRL=y
?CONFIG_DM_PMIC=y
?CONFIG_PMIC_RK8XX=y
+CONFIG_SPL_DM_REGULATOR=y
?CONFIG_REGULATOR_PWM=y
+CONFIG_SPL_DM_REGULATOR_FIXED=y
?CONFIG_DM_REGULATOR_FIXED=y
?CONFIG_REGULATOR_RK8XX=y
?CONFIG_PWM_ROCKCHIP=y
next prev parent reply other threads:[~2020-04-10 20:09 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-05 2:25 [PATCH v2 0/6] rockchip: rk3328: sync dts and add ROC-RK3328-CC board Chen-Yu Tsai
2020-04-05 2:25 ` [PATCH v2 1/6] rockchip: dts: rk3328-evb: Move vcc5v0-host-xhci-drv to -u-boot.dtsi Chen-Yu Tsai
2020-04-05 2:25 ` [PATCH v2 2/6] rockchip: dts: rk3328-evb: Move gmac2io related nodes " Chen-Yu Tsai
2020-04-05 2:25 ` [PATCH v2 3/6] dt-bindings: clock: rk3328: sync from upstream Linux kernel Chen-Yu Tsai
2020-04-05 2:25 ` [PATCH v2 4/6] dt-bindings: power: rk3328-power: " Chen-Yu Tsai
2020-04-05 2:25 ` [PATCH v2 5/6] rockchip: dts: rk3328: Sync device tree files from Linux Chen-Yu Tsai
2020-04-05 2:25 ` [PATCH v2 6/6] rockchip: rk3328: Add support for ROC-RK3328-CC board Chen-Yu Tsai
2020-04-10 20:09 ` Kurt Miller [this message]
[not found] ` <0fca50fb8f3d5f51a863db3bfc3dcc5a58fc76cc.camel@suse.com>
2020-04-20 17:35 ` [PATCH v2 0/6] rockchip: rk3328: sync dts and add " Peter Geis
2020-04-23 9:24 ` Chen-Yu Tsai
2020-04-23 21:20 ` Peter Geis
2020-04-24 9:40 ` Chen-Yu Tsai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1586549379.7640.91.camel@intricatesoftware.com \
--to=kurt@intricatesoftware.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.