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 <[email protected]>
---
  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


_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to