From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kever Yang Date: Thu, 28 Nov 2019 17:22:55 +0800 Subject: [U-Boot] [PATCH 2/2] rockchip: rk3399: rockpro64: enable force power on reset workaround In-Reply-To: <20191128061433.1952869-2-anarsoul@gmail.com> References: <20191128061433.1952869-1-anarsoul@gmail.com> <20191128061433.1952869-2-anarsoul@gmail.com> Message-ID: <1ab40490-a232-b5fd-6180-17867aa6a053@rock-chips.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: u-boot@lists.denx.de Hi Vasily,     I think this should not be needed, see comments below. Hi Philipp, Klaus and Christoph:     Could you help to check why do you need below patch for your board? ae0d33a729 rockchip: rk3399-puma: add code to allow forcing a power-on reset     I think we don't need this workaround for rk3399 CPU_B voltage supply, and here is what I got: - rockchip use cru glb_rst_1 for reboot in kernel; - the glb_rst_1 will reset all the GPIO logic to default state; - the cpu_b voltage supplier syr83x have a VSEL connect to rk3399, which may be    a pull up/down IO, - the syr83x output with the hardware default state of the VSEL(with RK3399 default IO output)   should be normal output(1.0V), and another state output for suspend(disabled), - In order to make the syr83x works as expected, the kernel setting of syr83x should be correct,   check property:     fcs,suspend-voltage-selector = <1>;    This is correct for rockpro64(vsel connect to a gpio with default pull down) on upstream,     but I don't have a puma schematic, so I don't know if this is correct for puma. - With correct setting in syr83x, the cpu_b should always have power supply after reboot/reset with   cru glb_rst_1 reg. So no workaround is needed in U-Boot, please correct me if anything is missing. Thanks, - Kever On 2019/11/28 下午2:14, Vasily Khoruzhick wrote: > Rockpro64 doesn't boot reliably after soft reset, so let's force power on > reset by asserting sysreset pin if we detected soft reset. > > Signed-off-by: Vasily Khoruzhick > --- > arch/arm/dts/rk3399-rockpro64-u-boot.dtsi | 8 ++++++++ > configs/rockpro64-rk3399_defconfig | 1 + > 2 files changed, 9 insertions(+) > > diff --git a/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi b/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi > index 4648513ea9..bb94bcf7be 100644 > --- a/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi > +++ b/arch/arm/dts/rk3399-rockpro64-u-boot.dtsi > @@ -6,11 +6,19 @@ > #include "rk3399-u-boot.dtsi" > #include "rk3399-sdram-lpddr4-100.dtsi" > / { > + config { > + sysreset-gpio = <&gpio1 RK_PA6 GPIO_ACTIVE_HIGH>; > + }; > + > chosen { > u-boot,spl-boot-order = "same-as-spl", &sdmmc, &sdhci; > }; > }; > > +&gpio1 { > + u-boot,dm-pre-reloc; > +}; > + > &vdd_center { > regulator-min-microvolt = <950000>; > regulator-max-microvolt = <950000>; > diff --git a/configs/rockpro64-rk3399_defconfig b/configs/rockpro64-rk3399_defconfig > index 49e27c91cb..d153ac5485 100644 > --- a/configs/rockpro64-rk3399_defconfig > +++ b/configs/rockpro64-rk3399_defconfig > @@ -1,6 +1,7 @@ > CONFIG_ARM=y > CONFIG_ARCH_ROCKCHIP=y > CONFIG_SYS_TEXT_BASE=0x00200000 > +CONFIG_SPL_GPIO_SUPPORT=y > CONFIG_ROCKCHIP_RK3399=y > CONFIG_ENV_OFFSET=0x3F8000 > CONFIG_TARGET_ROCKPRO64_RK3399=y