diff options
Diffstat (limited to 'arch/arm/mach-imx')
-rw-r--r-- | arch/arm/mach-imx/anatop.c | 10 | ||||
-rw-r--r-- | arch/arm/mach-imx/busfreq-imx.c | 26 | ||||
-rw-r--r-- | arch/arm/mach-imx/busfreq_ddr3.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-imx/busfreq_lpddr2.c | 3 | ||||
-rw-r--r-- | arch/arm/mach-imx/gpc.c | 20 | ||||
-rw-r--r-- | arch/arm/mach-imx/pm-imx6.c | 14 |
6 files changed, 40 insertions, 37 deletions
diff --git a/arch/arm/mach-imx/anatop.c b/arch/arm/mach-imx/anatop.c index c674ab94cc3f..a9ec0159b8f0 100644 --- a/arch/arm/mach-imx/anatop.c +++ b/arch/arm/mach-imx/anatop.c @@ -63,8 +63,8 @@ static void imx_anatop_enable_weak2p5(bool enable) regmap_read(anatop, ANADIG_ANA_MISC0, &val); - if (cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull() - || cpu_is_imx6sll()) + if (cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull() || + cpu_is_imx6ulz() || cpu_is_imx6sll()) mask = BM_ANADIG_ANA_MISC0_V3_STOP_MODE_CONFIG; else if (cpu_is_imx6sl()) mask = BM_ANADIG_ANA_MISC0_V2_STOP_MODE_CONFIG; @@ -92,7 +92,7 @@ static inline void imx_anatop_enable_2p5_pulldown(bool enable) static inline void imx_anatop_disconnect_high_snvs(bool enable) { if (cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull() || - cpu_is_imx6sll()) + cpu_is_imx6ulz() || cpu_is_imx6sll()) regmap_write(anatop, ANADIG_ANA_MISC0 + (enable ? REG_SET : REG_CLR), BM_ANADIG_ANA_MISC0_V2_DISCON_HIGH_SNVS); @@ -147,7 +147,7 @@ void imx_anatop_pre_suspend(void) imx_anatop_enable_fet_odrive(true); if (cpu_is_imx6sl() || cpu_is_imx6sx() || cpu_is_imx6ul() || - cpu_is_imx6ull() || cpu_is_imx6sll()) + cpu_is_imx6ull() || cpu_is_imx6ulz() || cpu_is_imx6sll()) imx_anatop_disconnect_high_snvs(true); } @@ -172,7 +172,7 @@ void imx_anatop_post_resume(void) imx_anatop_enable_fet_odrive(false); if (cpu_is_imx6sl() || cpu_is_imx6sx() || cpu_is_imx6ul() || - cpu_is_imx6ull() || cpu_is_imx6sll()) + cpu_is_imx6ull() || cpu_is_imx6ulz() || cpu_is_imx6sll()) imx_anatop_disconnect_high_snvs(false); } diff --git a/arch/arm/mach-imx/busfreq-imx.c b/arch/arm/mach-imx/busfreq-imx.c index 57fd6de9cf5a..1efaef308ebe 100644 --- a/arch/arm/mach-imx/busfreq-imx.c +++ b/arch/arm/mach-imx/busfreq-imx.c @@ -258,7 +258,7 @@ static void enter_lpm_imx6_up(void) clk_set_rate(mmdc_clk, HIGH_AUDIO_CLK); } - if ((cpu_is_imx6ull() | cpu_is_imx6sll()) && low_bus_freq_mode) + if ((cpu_is_imx6ull() || cpu_is_imx6ulz() || cpu_is_imx6sll()) && low_bus_freq_mode) imx6ull_lower_cpu_rate(false); audio_bus_freq_mode = 1; @@ -273,7 +273,7 @@ static void enter_lpm_imx6_up(void) if (audio_bus_freq_mode) clk_disable_unprepare(pll2_400_clk); - if (cpu_is_imx6ull() | cpu_is_imx6sll()) + if (cpu_is_imx6ull() || cpu_is_imx6ulz() || cpu_is_imx6sll()) imx6ull_lower_cpu_rate(true); low_bus_freq_mode = 1; @@ -337,7 +337,7 @@ static void enter_lpm_imx6_smp(void) static void exit_lpm_imx6_up(void) { - if ((cpu_is_imx6ull() | cpu_is_imx6sll()) && low_bus_freq_mode) + if ((cpu_is_imx6ull() || cpu_is_imx6ulz() || cpu_is_imx6sll()) && low_bus_freq_mode) imx6ull_lower_cpu_rate(false); clk_prepare_enable(pll2_400_clk); @@ -346,14 +346,15 @@ static void exit_lpm_imx6_up(void) * lower ahb/ocram's freq first to avoid too high * freq during parent switch from OSC to pll3. */ - if (cpu_is_imx6ul() || cpu_is_imx6ull() || cpu_is_imx6sll()) + if (cpu_is_imx6ul() || cpu_is_imx6ull() || cpu_is_imx6ulz() + || cpu_is_imx6sll()) clk_set_rate(ahb_clk, LPAPM_CLK / 4); else clk_set_rate(ahb_clk, LPAPM_CLK / 3); clk_set_rate(ocram_clk, LPAPM_CLK / 2); /* set periph clk to from pll2_bus on i.MX6UL */ - if (cpu_is_imx6ul() || cpu_is_imx6ull() || cpu_is_imx6sll()) + if (cpu_is_imx6ul() || cpu_is_imx6ull() || cpu_is_imx6ulz() || cpu_is_imx6sll()) clk_set_parent(periph_pre_clk, pll2_bus_clk); /* set periph clk to from pll2_400 */ else @@ -675,7 +676,7 @@ static void reduce_bus_freq(void) if (cpu_is_imx7d()) enter_lpm_imx7d(); else if (cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull() || - cpu_is_imx6sll()) + cpu_is_imx6ulz() || cpu_is_imx6sll()) enter_lpm_imx6_up(); else if (cpu_is_imx6q() || cpu_is_imx6dl()) enter_lpm_imx6_smp(); @@ -780,7 +781,7 @@ static int set_high_bus_freq(int high_bus_freq) if (cpu_is_imx7d()) exit_lpm_imx7d(); else if (cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull() || - cpu_is_imx6sll()) + cpu_is_imx6ulz() || cpu_is_imx6sll()) exit_lpm_imx6_up(); else if (cpu_is_imx6q() || cpu_is_imx6dl()) exit_lpm_imx6_smp(); @@ -1138,8 +1139,8 @@ static int busfreq_probe(struct platform_device *pdev) } } - if (cpu_is_imx6sx() || cpu_is_imx6sl() || cpu_is_imx6ul() || cpu_is_imx6ull() || - cpu_is_imx6sll()) { + if (cpu_is_imx6sx() || cpu_is_imx6sl() || cpu_is_imx6ul() || + cpu_is_imx6ull() || cpu_is_imx6ulz() || cpu_is_imx6sll()) { ahb_clk = devm_clk_get(&pdev->dev, "ahb"); ocram_clk = devm_clk_get(&pdev->dev, "ocram"); periph2_clk = devm_clk_get(&pdev->dev, "periph2"); @@ -1157,7 +1158,8 @@ static int busfreq_probe(struct platform_device *pdev) } } - if (cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull() || cpu_is_imx6sll()) { + if (cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull() || + cpu_is_imx6ulz() || cpu_is_imx6sll()) { mmdc_clk = devm_clk_get(&pdev->dev, "mmdc"); if (IS_ERR(mmdc_clk)) { dev_err(busfreq_dev, @@ -1193,7 +1195,7 @@ static int busfreq_probe(struct platform_device *pdev) } } - if (cpu_is_imx6sl() || cpu_is_imx6ull() || cpu_is_imx6sll()) { + if (cpu_is_imx6sl() || cpu_is_imx6ull() || cpu_is_imx6ulz() || cpu_is_imx6sll()) { arm_clk = devm_clk_get(&pdev->dev, "arm"); step_clk = devm_clk_get(&pdev->dev, "step"); pll1_clk = devm_clk_get(&pdev->dev, "pll1"); @@ -1298,7 +1300,7 @@ static int busfreq_probe(struct platform_device *pdev) } busfreq_func.init = &init_ddrc_ddr_settings; busfreq_func.update = &update_ddr_freq_imx_smp; - } else if (cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull() || + } else if (cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull() || cpu_is_imx6ulz() || cpu_is_imx6sll()) { ddr_type = imx_mmdc_get_ddr_type(); if (ddr_type == IMX_DDR_TYPE_DDR3) { diff --git a/arch/arm/mach-imx/busfreq_ddr3.c b/arch/arm/mach-imx/busfreq_ddr3.c index 24ce49d2d540..0088a5d80736 100644 --- a/arch/arm/mach-imx/busfreq_ddr3.c +++ b/arch/arm/mach-imx/busfreq_ddr3.c @@ -540,7 +540,7 @@ int init_mmdc_ddr3_settings_imx6_up(struct platform_device *busfreq_pdev) + normal_mmdc_settings[i][0]); } - if (cpu_is_imx6ul() || cpu_is_imx6ull()) + if (cpu_is_imx6ul() || cpu_is_imx6ull() || cpu_is_imx6ulz()) iomux_settings_size = ARRAY_SIZE(iomux_offsets_mx6ul); else iomux_settings_size = ARRAY_SIZE(iomux_offsets_mx6sx); @@ -566,7 +566,7 @@ int init_mmdc_ddr3_settings_imx6_up(struct platform_device *busfreq_pdev) } for (i = 0; i < iomux_settings_size; i++) { - if (cpu_is_imx6ul() || cpu_is_imx6ull()) { + if (cpu_is_imx6ul() || cpu_is_imx6ull() || cpu_is_imx6ulz()) { iomux_offsets_mx6ul[i][1] = readl_relaxed(iomux_base + iomux_offsets_mx6ul[i][0]); diff --git a/arch/arm/mach-imx/busfreq_lpddr2.c b/arch/arm/mach-imx/busfreq_lpddr2.c index dc6d4ce9b685..f5b3caa43645 100644 --- a/arch/arm/mach-imx/busfreq_lpddr2.c +++ b/arch/arm/mach-imx/busfreq_lpddr2.c @@ -167,7 +167,8 @@ int init_mmdc_lpddr2_settings(struct platform_device *busfreq_pdev) mx6_change_lpddr2_freq = (void *)fncpy( (void *)ddr_freq_change_iram_base, &mx6_lpddr2_freq_change, ddr_code_size); - if (cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull()) + if (cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull() || + cpu_is_imx6ulz()) mx6_change_lpddr2_freq = (void *)fncpy( (void *)ddr_freq_change_iram_base, &imx6_up_lpddr2_freq_change, ddr_code_size); diff --git a/arch/arm/mach-imx/gpc.c b/arch/arm/mach-imx/gpc.c index 5007a3b96c6f..838d93381c07 100644 --- a/arch/arm/mach-imx/gpc.c +++ b/arch/arm/mach-imx/gpc.c @@ -115,8 +115,8 @@ unsigned int imx_gpc_is_m4_sleeping(void) bool imx_gpc_usb_wakeup_enabled(void) { - if (!(cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull() - || cpu_is_imx6sll())) + if (!(cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull() || + cpu_is_imx6ulz() || cpu_is_imx6sll())) return false; /* @@ -196,8 +196,8 @@ void imx_gpc_pre_suspend(bool arm_power_off) int i; /* power down the mega-fast power domain */ - if ((cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull() - || cpu_is_imx6sll()) && arm_power_off) + if ((cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull() || + cpu_is_imx6ulz() || cpu_is_imx6sll()) && arm_power_off) imx_gpc_mf_mix_off(); /* Tell GPC to power off ARM core when suspend */ @@ -218,8 +218,8 @@ void imx_gpc_post_resume(void) /* Keep ARM core powered on for other low-power modes */ imx_gpc_set_arm_power_in_lpm(false); /* Keep M/F mix powered on for other low-power modes */ - if (cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull() - || cpu_is_imx6sll()) + if (cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull() || + cpu_is_imx6ulz() || cpu_is_imx6sll()) writel_relaxed(0x0, gpc_base + GPC_PGC_MF_PDN); for (i = 0; i < IMR_NUM; i++) @@ -386,8 +386,8 @@ int imx_gpc_mf_power_on(unsigned int irq, unsigned int on) int imx_gpc_mf_request_on(unsigned int irq, unsigned int on) { - if (cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull() - || cpu_is_imx6sll()) + if (cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull() || + cpu_is_imx6ulz() || cpu_is_imx6sll()) return imx_gpc_mf_power_on(irq, on); else if (cpu_is_imx7d()) return imx_gpcv2_mf_power_on(irq, on); @@ -469,8 +469,8 @@ static int __init imx_gpc_init(struct device_node *node, writel_relaxed(~0, gpc_base + GPC_IMR1 + i * 4); /* Read supported wakeup source in M/F domain */ - if (cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull() - || cpu_is_imx6sll()) { + if (cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull() || + cpu_is_imx6ulz() || cpu_is_imx6sll()) { of_property_read_u32_index(node, "fsl,mf-mix-wakeup-irq", 0, &gpc_mf_irqs[0]); of_property_read_u32_index(node, "fsl,mf-mix-wakeup-irq", 1, diff --git a/arch/arm/mach-imx/pm-imx6.c b/arch/arm/mach-imx/pm-imx6.c index 6681973ee9b5..9f44f0fa121f 100644 --- a/arch/arm/mach-imx/pm-imx6.c +++ b/arch/arm/mach-imx/pm-imx6.c @@ -680,7 +680,7 @@ int imx6_set_lpm(enum mxc_cpu_pwr_mode mode) if (cpu_is_imx6sl() || cpu_is_imx6sx() || cpu_is_imx6sll()) val |= BM_CLPCR_BYPASS_PMIC_READY; if (cpu_is_imx6sl() || cpu_is_imx6sx() || cpu_is_imx6ul() || - cpu_is_imx6ull() || cpu_is_imx6sll()) + cpu_is_imx6ull() || cpu_is_imx6ulz() || cpu_is_imx6sll()) val |= BM_CLPCR_BYP_MMDC_CH0_LPM_HS; else if (cpu_is_imx6q() && imx_mmdc_get_ddr_type() == IMX_DDR_TYPE_LPDDR2 && @@ -705,7 +705,7 @@ int imx6_set_lpm(enum mxc_cpu_pwr_mode mode) if (cpu_is_imx6sl() || cpu_is_imx6sx() || cpu_is_imx6sll()) val |= BM_CLPCR_BYPASS_PMIC_READY; if (cpu_is_imx6sl() || cpu_is_imx6sx() || cpu_is_imx6ul() || - cpu_is_imx6ull() || cpu_is_imx6sll()) + cpu_is_imx6ull() || cpu_is_imx6ulz() || cpu_is_imx6sll()) val |= BM_CLPCR_BYP_MMDC_CH0_LPM_HS; else if (cpu_is_imx6q() && imx_mmdc_get_ddr_type() == IMX_DDR_TYPE_LPDDR2 && @@ -887,7 +887,7 @@ static int imx6q_pm_enter(suspend_state_t state) imx6_enable_rbc(true); imx_gpc_pre_suspend(true); imx_anatop_pre_suspend(); - if ((cpu_is_imx6ull() || cpu_is_imx6sll()) && + if ((cpu_is_imx6ull() || cpu_is_imx6ulz() || cpu_is_imx6sll()) && imx_gpc_is_mf_mix_off()) imx6_console_save(console_saved_reg); if (cpu_is_imx6sx() && imx_gpc_is_mf_mix_off()) { @@ -928,7 +928,7 @@ static int imx6q_pm_enter(suspend_state_t state) sizeof(qspi_regs_imx6sx) / sizeof(struct qspi_regs)); } - if ((cpu_is_imx6ull() || cpu_is_imx6sll()) && + if ((cpu_is_imx6ull() || cpu_is_imx6ulz() || cpu_is_imx6sll()) && imx_gpc_is_mf_mix_off()) imx6_console_restore(console_saved_reg); if (cpu_is_imx6q() || cpu_is_imx6dl()) @@ -1193,7 +1193,7 @@ static int __init imx6q_suspend_init(const struct imx6_pm_socdata *socdata) } /* need to overwrite the value for some mmdc registers */ - if ((cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull()) && + if ((cpu_is_imx6sx() || cpu_is_imx6ul() || cpu_is_imx6ull() || cpu_is_imx6ulz()) && pm_info->ddr_type != IMX_DDR_TYPE_LPDDR2) { pm_info->mmdc_val[20][1] = (pm_info->mmdc_val[20][1] & 0xffff0000) | 0x0202; @@ -1212,7 +1212,7 @@ static int __init imx6q_suspend_init(const struct imx6_pm_socdata *socdata) pm_info->mmdc_val[32][1] = 0xa1310003; } - if ((cpu_is_imx6ul() || cpu_is_imx6ull()) && + if ((cpu_is_imx6ul() || cpu_is_imx6ull() || cpu_is_imx6ulz()) && pm_info->ddr_type == IMX_DDR_TYPE_LPDDR2) { pm_info->mmdc_val[0][1] = 0x8000; pm_info->mmdc_val[2][1] = 0xa1390003; @@ -1385,7 +1385,7 @@ void __init imx6ul_pm_init(void) else imx6_pm_common_init(&imx6ul_pm_data); - if (cpu_is_imx6ull()) { + if (cpu_is_imx6ull() || cpu_is_imx6ulz()) { np = of_find_node_by_path( "/soc/aips-bus@02000000/spba-bus@02000000/serial@02020000"); if (np) |