From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D7C30ECAAD3 for ; Thu, 1 Sep 2022 13:04:45 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id E9ACC848C1; Thu, 1 Sep 2022 15:04:43 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=rock-chips.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by phobos.denx.de (Postfix, from userid 109) id 6CA0B849EC; Thu, 1 Sep 2022 15:04:42 +0200 (CEST) Received: from mail-m11876.qiye.163.com (mail-m11876.qiye.163.com [115.236.118.76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 7D232844E4 for ; Thu, 1 Sep 2022 15:04:39 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=rock-chips.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=kever.yang@rock-chips.com Received: from [172.16.12.93] (unknown [58.22.7.114]) by mail-m11876.qiye.163.com (Hmail) with ESMTPA id 0F7313C03A8; Thu, 1 Sep 2022 21:04:26 +0800 (CST) Message-ID: <3c949afb-2f74-23dc-1211-06d6063d03e5@rock-chips.com> Date: Thu, 1 Sep 2022 21:04:25 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [PATCH 02/12] rockchip: puma-rk3399: use gpio-hog instead of fixed-regulator for enabling eMMC/SPI-NOR Content-Language: en-US To: Quentin Schulz Cc: sjg@chromium.org, philipp.tomsich@vrull.eu, klaus.goger@theobroma-systems.com, knaerzche@gmail.com, u-boot@lists.denx.de, Quentin Schulz References: <20220722160655.3904213-1-foss+uboot@0leil.net> <20220722160655.3904213-3-foss+uboot@0leil.net> From: Kever Yang In-Reply-To: <20220722160655.3904213-3-foss+uboot@0leil.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-HM-Spam-Status: e1kfGhgUHx5ZQUpXWQgPGg8OCBgUHx5ZQUlOS1dZFg8aDwILHllBWSg2Ly tZV1koWUFJSktLSjdXWS1ZQUlXWQ8JGhUIEh9ZQVlDGU5LVhlITBpJS0gYQk4aHlUTARMWGhIXJB QOD1lXWRgSC1lBWU5DVUlJVUxVSkpPWVdZFhoPEhUdFFlBWU9LSFVKSktITk9VSktLWQY+ X-HM-Sender-Digest: e1kMHhlZQR0aFwgeV1kSHx4VD1lBWUc6OAg6TQw6ED00HUMPKE4pOCE0 PhkKFC1VSlVKTU1JS0hMT01NTU9IVTMWGhIXVRAeDR4JVQIaFRw7CRQYEFYYExILCFUYFBZFWVdZ EgtZQVlOQ1VJSVVMVUpKT1lXWQgBWUFOT0pKNwY+ X-HM-Tid: 0a82f9271c822eb2kusn0f7313c03a8 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean On 2022/7/23 00:06, Quentin Schulz wrote: > From: Quentin Schulz > > 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 > Signed-off-by: Quentin Schulz Reviewed-by: Kever Yang Thanks, - Kever > --- > > 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 = ; > + 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