without this patch, the QoS setting will be lost after exit LPSR mode.
The patch moves the QoS setting into DDR setting group (in plugin mode), thus
when exit LPSR mode, QoS setting will be restored as well as DDR setting.
Signed-off-by: Robby Cai <robby.cai@nxp.com>
(cherry picked from commit
0b217456375bace3fbe9a72c7e92a46dc1907277)
#define SEMAPHORE1_BASE_ADDR SEMA41_IPS_BASE_ADDR
#define SEMAPHORE2_BASE_ADDR SEMA42_IPS_BASE_ADDR
#define RDC_BASE_ADDR RDC_IPS_BASE_ADDR
+#define REGS_QOS_BASE QOSC_IPS_BASE_ADDR
+#define REGS_QOS_EPDC (QOSC_IPS_BASE_ADDR + 0x3400)
+#define REGS_QOS_PXP0 (QOSC_IPS_BASE_ADDR + 0x2C00)
+#define REGS_QOS_PXP1 (QOSC_IPS_BASE_ADDR + 0x3C00)
+
#define FEC_QUIRK_ENET_MAC
#define SNVS_LPGPR 0x68
cmp r7, #0x1
bne 15b
+ imx7_qos_setting
+
/* enable port */
ldr r7, =0x1
str r7, [r3, #0x490]
.endm
.macro imx7_qos_setting
+ ldr r0, =REGS_QOS_BASE
+ ldr r1, =0
+ str r1, [r0, #0]
+
+ ldr r1, =0
+ str r1, [r0, #0x60]
+
+ ldr r0, =REGS_QOS_EPDC
+ ldr r1, =0
+ str r1, [r0, #0]
+
+ ldr r0, =REGS_QOS_PXP0
+ ldr r1, =0
+ str r1, [r0, #0]
+
+ ldr r0, =REGS_QOS_PXP1
+ ldr r1, =0
+ str r1, [r0, #0]
+
+ ldr r0, =REGS_QOS_EPDC
+ ldr r1, =0x0f020f22
+ str r1, [r0, #0xd0]
+ str r1, [r0, #0xe0]
+
+ ldr r0, =REGS_QOS_PXP0
+ ldr r1, =0x1
+ str r1, [r0, #0]
+ ldr r0, =REGS_QOS_PXP1
+ str r1, [r0, #0]
+
+ ldr r0, =REGS_QOS_PXP0
+ ldr r1, =0x0f020222
+ str r1, [r0, #0x50]
+ ldr r0, =REGS_QOS_PXP1
+ str r1, [r0, #0x50]
+
+ ldr r0, =REGS_QOS_PXP0
+ ldr r1, =0x0f020222
+ str r1, [r0, #0x60]
+ ldr r0, =REGS_QOS_PXP1
+ str r1, [r0, #0x60]
+
+ ldr r0, =REGS_QOS_PXP0
+ ldr r1, =0x0f020422
+ str r1, [r0, #0x70]
+ ldr r0, =REGS_QOS_PXP1
+ str r1, [r0, #0x70]
+
+ ldr r0, =IOMUXC_GPR_BASE_ADDR
+ ldr r1, =0xe080
+ str r1, [r0, #0x34]
.endm
.macro imx7_ddr_setting