]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
imx: imx8ulp: Change LPAV assignment for dual boot
authorYe Li <ye.li@nxp.com>
Wed, 6 Apr 2022 06:30:17 +0000 (14:30 +0800)
committerStefano Babic <sbabic@denx.de>
Tue, 12 Apr 2022 15:33:56 +0000 (17:33 +0200)
Assign the LPAV owner to RTD, and assign LPAV masters and peripherals
to APD. So except the masters and peripherals, other resources
(like DDR, cgc2, pcc5) in LPAV won't be reset during reboot and suspend.

No needs to initialize DDR again after reboot.

Reviewed-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
arch/arm/mach-imx/imx8ulp/soc.c

index 5f0a45b356a51dd9f93fb9e2c952f2abe2efa512..eb540e3881f6c19f222f58340cb832b2f5f2d4f1 100644 (file)
@@ -524,10 +524,10 @@ static int trdc_set_access(void)
        return 0;
 }
 
-void lpav_configure(void)
+void lpav_configure(bool lpav_to_m33)
 {
-       /* LPAV to APD */
-       setbits_le32(SIM_SEC_BASE_ADDR + 0x44, BIT(7));
+       if (!lpav_to_m33)
+               setbits_le32(SIM_SEC_BASE_ADDR + 0x44, BIT(7)); /* LPAV to APD */
 
        /* PXP/GPU 2D/3D/DCNANO/MIPI_DSI/EPDC/HIFI4 to APD */
        setbits_le32(SIM_SEC_BASE_ADDR + 0x4c, 0x7F);
@@ -584,8 +584,9 @@ int arch_cpu_init(void)
                                release_rdc(RDC_TRDC);
 
                        trdc_set_access();
-
-                       lpav_configure();
+                       lpav_configure(false);
+               } else {
+                       lpav_configure(true);
                }
 
                /* Release xrdc, then allow A35 to write SRAM2 */