1
0
Fork 0

pm-imx6: fix suspend of imx6sl with ddr3

eirik/updates-from-linux-fsl
Martin T. H. Sandsmark 2017-01-13 18:56:16 +01:00 committed by Eirik Schultz
parent 0bbf7cc7cd
commit 47165eee1f
No known key found for this signature in database
GPG Key ID: CA85F5BFB83767F3
1 changed files with 24 additions and 2 deletions

View File

@ -341,7 +341,7 @@ static const u32 imx6dl_mmdc_io_offset[] __initconst = {
0x74c, /* GPR_ADDS */
};
static const u32 imx6sl_mmdc_io_offset[] __initconst = {
static const u32 imx6sl_mmdc_io_lpddr2_offset[] __initconst = {
0x30c, 0x310, 0x314, 0x318, /* DQM0 ~ DQM3 */
0x5c4, 0x5cc, 0x5d4, 0x5d8, /* GPR_B0DS ~ GPR_B3DS */
0x300, 0x31c, 0x338, 0x5ac, /* CAS, RAS, SDCLK_0, GPR_ADDS */
@ -349,6 +349,14 @@ static const u32 imx6sl_mmdc_io_offset[] __initconst = {
0x330, 0x334, 0x320, /* SDCKE0, SDCKE1, RESET */
};
static const u32 imx6sl_mmdc_io_offset[] __initconst = {
0x30c, 0x310, 0x314, 0x318, /* DQM0 ~ DQM3 */
0x344, 0x348, 0x34c, 0x350, /* SDQS0 ~ SDQS3 */
0x5c4, 0x5cc, 0x5d4, 0x5d8, /* GPR_B0DS ~ GPR_B3DS */
0x300, 0x31c, 0x338, 0x5ac, /* CAS, RAS, SDCLK_0, GPR_ADDS */
0x33c, 0x340, 0x5b0, 0x5c0 /* SODT0, SODT1, MODE_CTL, MODE */
};
static const u32 imx6sx_mmdc_io_lpddr2_offset[] __initconst = {
0x2ec, 0x2f0, 0x2f4, 0x2f8, /* DQM0 ~ DQM3 */
0x300, 0x2fc, 0x32c, 0x5f4, /* CAS, RAS, SDCLK_0, GPR_ADDS */
@ -489,6 +497,17 @@ static const struct imx6_pm_socdata imx6sl_pm_data __initconst = {
.mmdc_offset = NULL,
};
static const struct imx6_pm_socdata imx6sl_lpddr2_pm_data __initconst = {
.mmdc_compat = "fsl,imx6sl-mmdc",
.src_compat = "fsl,imx6sl-src",
.iomuxc_compat = "fsl,imx6sl-iomuxc",
.gpc_compat = "fsl,imx6sl-gpc",
.mmdc_io_num = ARRAY_SIZE(imx6sl_mmdc_io_lpddr2_offset),
.mmdc_io_offset = imx6sl_mmdc_io_lpddr2_offset,
.mmdc_num = 0,
.mmdc_offset = NULL,
};
static const struct imx6_pm_socdata imx6sx_pm_data __initconst = {
.mmdc_compat = "fsl,imx6sx-mmdc",
.src_compat = "fsl,imx6sx-src",
@ -1298,7 +1317,10 @@ void __init imx6sl_pm_init(void)
return;
}
imx6_pm_common_init(&imx6sl_pm_data);
if (imx_mmdc_get_ddr_type() == IMX_DDR_TYPE_LPDDR2)
imx6_pm_common_init(&imx6sl_lpddr2_pm_data);
else
imx6_pm_common_init(&imx6sl_pm_data);
}
void __init imx6sx_pm_init(void)