[U-Boot] [PATCH 2/2] rockchip: rk3399: rockpro64: enable force power on reset workaround

Kever Yang kever.yang at rock-chips.com
Thu Nov 28 09:22:55 UTC 2019


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 <anarsoul at gmail.com>
> ---
>   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




More information about the U-Boot mailing list