All of lore.kernel.org
 help / color / mirror / Atom feed
From: Quentin Schulz <foss+uboot@0leil.net>
Cc: sjg@chromium.org, philipp.tomsich@vrull.eu,
	kever.yang@rock-chips.com, klaus.goger@theobroma-systems.com,
	knaerzche@gmail.com, u-boot@lists.denx.de,
	Quentin Schulz <quentin.schulz@theobroma-systems.com>,
	Quentin Schulz <foss+uboot@0leil.net>
Subject: [PATCH 02/12] rockchip: puma-rk3399: use gpio-hog instead of fixed-regulator for enabling eMMC/SPI-NOR
Date: Fri, 22 Jul 2022 18:06:45 +0200	[thread overview]
Message-ID: <20220722160655.3904213-3-foss+uboot@0leil.net> (raw)
In-Reply-To: <20220722160655.3904213-1-foss+uboot@0leil.net>

From: Quentin Schulz <quentin.schulz@theobroma-systems.com>

On Haikou devkit, it is possible to disable eMMC and SPI-NOR to force
booting from SD card or USB via rkdeveloptool by toggling a switch. This
switch needs to be overridden in software to be able to access eMMC and
SPI-NOR once the device has booted from SD Card. Puma SoM can override
this pin via gpio3_d5.

Until now, fixed regulator device was abused to model this, but since
there's now support for GPIO hogs, let's use it.

Since we want to be able to boot the SPL from SD Card but give it the
ability to load U-Boot proper from a fallback medium such as eMMC and
SPI-NOR, SPL support for GPIO hogs needs to be enabled too. Support for
other kinds of regulators are not needed anymore, so let's disable them.

Cc: Quentin Schulz <foss+uboot@0leil.net>
Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>
---

Depends on
https://lore.kernel.org/u-boot/20220712154422.265925-2-foss+uboot@0leil.net/

 arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi | 32 +++++++++------------
 configs/puma-rk3399_defconfig               |  5 ++--
 2 files changed, 16 insertions(+), 21 deletions(-)

diff --git a/arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi b/arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi
index e0476ab25c..b9b6ac3f6c 100644
--- a/arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi
+++ b/arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi
@@ -31,24 +31,6 @@
 		spi5 = &spi5;
 	};
 
-	/*
-	 * The Qseven BIOS_DISABLE signal on the RK3399-Q7 keeps the on-module
-	 * eMMC and SPI flash powered-down initially (in fact it keeps the
-	 * reset signal asserted).  Even though it is an enable signal, we
-	 * model this as a regulator.
-	 */
-	bios_enable: bios_enable {
-		compatible = "regulator-fixed";
-		u-boot,dm-pre-reloc;
-		regulator-name = "bios_enable";
-		enable-active-high;
-		gpio = <&gpio3 RK_PD5 GPIO_ACTIVE_LOW>;
-		regulator-always-on;
-		regulator-boot-on;
-		regulator-min-microvolt = <1800000>;
-		regulator-max-microvolt = <1800000>;
-	};
-
 	vdd_log: vdd-log {
 		compatible = "pwm-regulator";
 		pwms = <&pwm2 0 25000 1>;
@@ -68,6 +50,20 @@
 
 &gpio3 {
 	u-boot,dm-pre-reloc;
+
+	/*
+	 * The Qseven BIOS_DISABLE signal on the RK3399-Q7 keeps the on-module
+	 * eMMC and SPI flash powered-down initially (in fact it keeps the
+	 * reset signal asserted). BIOS_DISABLE_OVERRIDE pin allows to re-enable
+	 * eMMC and SPI after the SPL has been booted from SD Card.
+	 */
+	bios_disable_override {
+		u-boot,dm-pre-reloc;
+		gpios = <RK_PD5 GPIO_ACTIVE_LOW>;
+		output-high;
+		line-name = "bios_disable_override";
+		gpio-hog;
+	};
 };
 
 &norflash {
diff --git a/configs/puma-rk3399_defconfig b/configs/puma-rk3399_defconfig
index 7ce2dc0719..6093943ee8 100644
--- a/configs/puma-rk3399_defconfig
+++ b/configs/puma-rk3399_defconfig
@@ -49,6 +49,8 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_SYS_MMC_ENV_DEV=1
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
+CONFIG_GPIO_HOG=y
+CONFIG_SPL_GPIO_HOG=y
 CONFIG_ROCKCHIP_GPIO=y
 CONFIG_SYS_I2C_ROCKCHIP=y
 CONFIG_MISC=y
@@ -72,10 +74,7 @@ CONFIG_PHY_ROCKCHIP_TYPEC=y
 CONFIG_DM_PMIC_FAN53555=y
 CONFIG_PMIC_RK8XX=y
 CONFIG_SPL_PMIC_RK8XX=y
-CONFIG_SPL_DM_REGULATOR=y
 CONFIG_REGULATOR_PWM=y
-CONFIG_SPL_DM_REGULATOR_FIXED=y
-CONFIG_DM_REGULATOR_GPIO=y
 CONFIG_REGULATOR_RK8XX=y
 CONFIG_PWM_ROCKCHIP=y
 CONFIG_DM_RESET=y
-- 
2.37.1


  parent reply	other threads:[~2022-07-22 16:07 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-22 16:06 [PATCH 00/12] Puma RK3399 migration to TPL and numerous fixes Quentin Schulz
2022-07-22 16:06 ` [PATCH 01/12] rockchip: puma-rk3399: fix boot_targets swap depending on U-Boot proper load medium Quentin Schulz
2022-09-04 11:41   ` Kever Yang
2022-07-22 16:06 ` Quentin Schulz [this message]
2022-09-01 13:04   ` [PATCH 02/12] rockchip: puma-rk3399: use gpio-hog instead of fixed-regulator for enabling eMMC/SPI-NOR Kever Yang
2022-07-22 16:06 ` [PATCH 03/12] rockchip: puma-rk3399: allow non-SD-Card-loaded SPL to load U-Boot proper from SD-Card Quentin Schulz
2022-09-01 13:04   ` Kever Yang
2022-07-22 16:06 ` [PATCH 04/12] rockchip: puma-rk3399: remove unused default ENV_OFFSET for SPI flashes Quentin Schulz
2022-09-01 13:04   ` Kever Yang
2022-07-22 16:06 ` [PATCH 05/12] rockchip: puma-rk3399: load environment from same MMC as used for loading U-Boot proper Quentin Schulz
2022-09-01 13:05   ` Kever Yang
2022-07-22 16:06 ` [PATCH 06/12] rockchip: puma-rk3399: allow loading environment from SPI-NOR flash Quentin Schulz
2022-09-01 13:05   ` Kever Yang
2022-07-22 16:06 ` [PATCH 07/12] rockchip: puma-rk3399: load environment from same medium as one used to load U-Boot proper Quentin Schulz
2022-09-01 13:03   ` Kever Yang
2022-09-01 13:13     ` Quentin Schulz
2022-09-04 11:49       ` Kever Yang
2022-09-06  9:22         ` Quentin Schulz
2022-09-14  9:17           ` patrick.delaunay
2022-09-20 12:28             ` Kever Yang
2022-09-20 14:02               ` Quentin Schulz
2022-07-22 16:06 ` [PATCH 08/12] rockchip: puma-rk3399: remove useless CONFIG_SYS_SPI_U_BOOT_OFFS Quentin Schulz
2022-09-01 13:05   ` Kever Yang
2022-07-22 16:06 ` [PATCH 09/12] rockchip: puma-rk3399: migrate to TPL Quentin Schulz
2022-09-01 13:05   ` Kever Yang
2022-09-04 11:52   ` Kever Yang
2022-07-22 16:06 ` [PATCH 10/12] rockchip: puma-rk3399: migrate to u-boot-rockchip.bin Quentin Schulz
2022-09-01 13:06   ` Kever Yang
2022-07-22 16:06 ` [PATCH 11/12] rockchip: lion-rk3368: " Quentin Schulz
2022-07-22 16:06 ` [PATCH 12/12] rockchip: puma-rk3399: migrate to u-boot-rockchip-spi.bin Quentin Schulz
2022-09-01 13:06   ` Kever Yang

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=20220722160655.3904213-3-foss+uboot@0leil.net \
    --to=foss+uboot@0leil.net \
    --cc=kever.yang@rock-chips.com \
    --cc=klaus.goger@theobroma-systems.com \
    --cc=knaerzche@gmail.com \
    --cc=philipp.tomsich@vrull.eu \
    --cc=quentin.schulz@theobroma-systems.com \
    --cc=sjg@chromium.org \
    --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.