Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Path: blob/next/external/patch/atf/atf-rk3399/switch-power-domains-on-before-reset.patch
Views: 3960
diff --git a/plat/rockchip/rk3399/drivers/pmu/pmu.c b/plat/rockchip/rk3399/drivers/pmu/pmu.c1index 42589b9..8f2a419 1006442--- a/plat/rockchip/rk3399/drivers/pmu/pmu.c3+++ b/plat/rockchip/rk3399/drivers/pmu/pmu.c4@@ -400,7 +400,26 @@ static void pmu_power_domains_resume(void)5clk_gate_con_restore();6}78-void rk3399_flush_l2_b(void)9+void pmu_power_domains_on(void)10+{11+ clk_gate_con_disable();12+ pmu_set_power_domain(PD_VDU, pmu_pd_on);13+ pmu_set_power_domain(PD_VCODEC, pmu_pd_on);14+ pmu_set_power_domain(PD_RGA, pmu_pd_on);15+ pmu_set_power_domain(PD_IEP, pmu_pd_on);16+ pmu_set_power_domain(PD_EDP, pmu_pd_on);17+ pmu_set_power_domain(PD_GMAC, pmu_pd_on);18+ pmu_set_power_domain(PD_SDIOAUDIO, pmu_pd_on);19+ pmu_set_power_domain(PD_HDCP, pmu_pd_on);20+ pmu_set_power_domain(PD_ISP1, pmu_pd_on);21+ pmu_set_power_domain(PD_ISP0, pmu_pd_on);22+ pmu_set_power_domain(PD_VO, pmu_pd_on);23+ pmu_set_power_domain(PD_TCPD1, pmu_pd_on);24+ pmu_set_power_domain(PD_TCPD0, pmu_pd_on);25+ pmu_set_power_domain(PD_GPU, pmu_pd_on);26+}27+28+void rk3399_flush_l2_b(void)29{30uint32_t wait_cnt = 0;3132diff --git a/plat/rockchip/rk3399/drivers/pmu/pmu.h b/plat/rockchip/rk3399/drivers/pmu/pmu.h33index e1ba410..27a453b 10064434--- a/plat/rockchip/rk3399/drivers/pmu/pmu.h35+++ b/plat/rockchip/rk3399/drivers/pmu/pmu.h36@@ -136,5 +136,6 @@ struct pmu_slpdata_s {37extern uint32_t clst_warmboot_data[PLATFORM_CLUSTER_COUNT];3839extern void sram_func_set_ddrctl_pll(uint32_t pll_src);40+void pmu_power_domains_on(void);4142#endif /* PMU_H */43diff --git a/plat/rockchip/rk3399/drivers/soc/soc.c b/plat/rockchip/rk3399/drivers/soc/soc.c44index c877dbd..98b5ad6 10064445--- a/plat/rockchip/rk3399/drivers/soc/soc.c46+++ b/plat/rockchip/rk3399/drivers/soc/soc.c47@@ -17,6 +17,7 @@48#include <dram.h>49#include <m0_ctl.h>50#include <plat_private.h>51+#include <pmu.h>52#include <rk3399_def.h>53#include <secure.h>54#include <soc.h>55@@ -327,6 +328,7 @@ void soc_global_soft_reset_init(void)5657void __dead2 soc_global_soft_reset(void)58{59+ pmu_power_domains_on();60set_pll_slow_mode(VPLL_ID);61set_pll_slow_mode(NPLL_ID);62set_pll_slow_mode(GPLL_ID);636465