diff options
author | Lily Zhang <r58066@freescale.com> | 2010-12-16 12:47:09 +0800 |
---|---|---|
committer | Lily Zhang <r58066@freescale.com> | 2011-01-07 10:30:25 +0800 |
commit | 5f90f5c7c4c1bfc29c1cb1f5efa856c8b30948a9 (patch) | |
tree | a65bcddbacb0c5986851b948b06b7c4cfe24036f /arch/arm/mach-mx5 | |
parent | 639a190b01cf99f5b3689ecd5163fae3b91a39ab (diff) |
ENGR00137628 MX5: add busfreq platform data
Add platform data for MX5 bus frequency driver.
Update regulator name for DA9053 PMIC. Otherwise,
the system is broken to enter suspend
Signed-off-by: Lily Zhang <r58066@freescale.com>
Diffstat (limited to 'arch/arm/mach-mx5')
-rw-r--r-- | arch/arm/mach-mx5/bus_freq.c | 13 | ||||
-rw-r--r-- | arch/arm/mach-mx5/mx50_arm2.c | 9 | ||||
-rw-r--r-- | arch/arm/mach-mx5/mx50_rdp.c | 9 | ||||
-rw-r--r-- | arch/arm/mach-mx5/mx51_3stack.c | 9 | ||||
-rw-r--r-- | arch/arm/mach-mx5/mx51_babbage.c | 9 | ||||
-rw-r--r-- | arch/arm/mach-mx5/mx53_ard.c | 7 | ||||
-rw-r--r-- | arch/arm/mach-mx5/mx53_evk.c | 8 | ||||
-rw-r--r-- | arch/arm/mach-mx5/mx53_loco.c | 11 | ||||
-rw-r--r-- | arch/arm/mach-mx5/mx53_smd.c | 11 |
9 files changed, 65 insertions, 21 deletions
diff --git a/arch/arm/mach-mx5/bus_freq.c b/arch/arm/mach-mx5/bus_freq.c index a2ef4796949e..0358c867e106 100644 --- a/arch/arm/mach-mx5/bus_freq.c +++ b/arch/arm/mach-mx5/bus_freq.c @@ -1,5 +1,5 @@ /* - * Copyright 2009-2010 Freescale Semiconductor, Inc. All Rights Reserved. + * Copyright 2009-2011 Freescale Semiconductor, Inc. All Rights Reserved. */ /* @@ -95,8 +95,8 @@ int high_bus_freq_mode; int med_bus_freq_mode; int bus_freq_scaling_initialized; -char *gp_reg_id = "SW1"; -char *lp_reg_id = "SW2"; +char *gp_reg_id; +char *lp_reg_id; static struct cpu_wp *cpu_wp_tbl; static struct device *busfreq_dev; @@ -811,6 +811,11 @@ static int __devinit busfreq_probe(struct platform_device *pdev) int err = 0; unsigned long pll2_rate, pll1_rate; unsigned long iram_paddr; + struct mxc_bus_freq_platform_data *p_bus_freq_data; + + p_bus_freq_data = pdev->dev.platform_data; + gp_reg_id = p_bus_freq_data->gp_reg_id; + lp_reg_id = p_bus_freq_data->lp_reg_id; pll1_base = ioremap(MX53_BASE_ADDR(PLL1_BASE_ADDR), SZ_4K); if (cpu_is_mx53()) @@ -983,7 +988,7 @@ static int __devinit busfreq_probe(struct platform_device *pdev) change_ddr_freq = (void *)ddr_freq_change_iram_base; cur_ddr_rate = ddr_normal_rate; - lp_regulator = regulator_get(NULL, "SW2"); + lp_regulator = regulator_get(NULL, lp_reg_id); if (IS_ERR(lp_regulator)) { printk(KERN_DEBUG "%s: failed to get lp regulator\n", __func__); diff --git a/arch/arm/mach-mx5/mx50_arm2.c b/arch/arm/mach-mx5/mx50_arm2.c index e673838a9116..f5540b24a44a 100644 --- a/arch/arm/mach-mx5/mx50_arm2.c +++ b/arch/arm/mach-mx5/mx50_arm2.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010 Freescale Semiconductor, Inc. All Rights Reserved. + * Copyright (C) 2010-2011 Freescale Semiconductor, Inc. All Rights Reserved. */ /* @@ -301,6 +301,11 @@ static struct mxc_dvfs_platform_data dvfs_core_data = { .num_wp = 2, }; +static struct mxc_bus_freq_platform_data bus_freq_data = { + .gp_reg_id = "SW1", + .lp_reg_id = "SW2", +}; + /* working point(wp): 0 - 800MHz; 1 - 166.25MHz; */ static struct cpu_wp cpu_wp_auto[] = { { @@ -1184,7 +1189,7 @@ static void __init mxc_board_init(void) mxc_register_device(&mxc_pxp_client_device, NULL); mxc_register_device(&mxc_pxp_v4l2, NULL); mxc_register_device(&mxc_dvfs_core_device, &dvfs_core_data); - mxc_register_device(&busfreq_device, NULL); + mxc_register_device(&busfreq_device, &bus_freq_data); /* mxc_register_device(&mx53_lpmode_device, NULL); diff --git a/arch/arm/mach-mx5/mx50_rdp.c b/arch/arm/mach-mx5/mx50_rdp.c index 4d7eaabc4614..4d238415de64 100644 --- a/arch/arm/mach-mx5/mx50_rdp.c +++ b/arch/arm/mach-mx5/mx50_rdp.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010 Freescale Semiconductor, Inc. All Rights Reserved. + * Copyright (C) 2010-2011 Freescale Semiconductor, Inc. All Rights Reserved. */ /* @@ -375,6 +375,11 @@ static struct mxc_dvfs_platform_data dvfs_core_data = { .num_wp = 2, }; +static struct mxc_bus_freq_platform_data bus_freq_data = { + .gp_reg_id = "SW1", + .lp_reg_id = "SW2", +}; + /* working point(wp): 0 - 800MHz; 1 - 166.25MHz; */ static struct cpu_wp cpu_wp_auto[] = { { @@ -1397,7 +1402,7 @@ static void __init mxc_board_init(void) mxc_register_device(&mxc_pxp_device, NULL); mxc_register_device(&mxc_pxp_client_device, NULL); mxc_register_device(&mxc_pxp_v4l2, NULL); - mxc_register_device(&busfreq_device, NULL); + mxc_register_device(&busfreq_device, &bus_freq_data); mxc_register_device(&pm_device, &mx50_pm_data); mxc_register_device(&mxc_dvfs_core_device, &dvfs_core_data); diff --git a/arch/arm/mach-mx5/mx51_3stack.c b/arch/arm/mach-mx5/mx51_3stack.c index afc5cce6163d..f14b79eb048d 100644 --- a/arch/arm/mach-mx5/mx51_3stack.c +++ b/arch/arm/mach-mx5/mx51_3stack.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008-2010 Freescale Semiconductor, Inc. All Rights Reserved. + * Copyright (C) 2008-2011 Freescale Semiconductor, Inc. All Rights Reserved. */ /* @@ -301,6 +301,11 @@ static struct mxc_dvfs_platform_data dvfs_core_data = { .num_wp = 3, }; +static struct mxc_bus_freq_platform_data bus_freq_data = { + .gp_reg_id = "SW1", + .lp_reg_id = "SW2", +}; + static struct mxc_dvfsper_data dvfs_per_data = { .reg_id = "SW2", .clk_id = "gpc_dvfs_clk", @@ -975,7 +980,7 @@ static void __init mxc_board_init(void) mxc_register_device(&gpu_device, NULL); mxc_register_device(&mxcscc_device, NULL); mxc_register_device(&mx51_lpmode_device, NULL); - mxc_register_device(&busfreq_device, NULL); + mxc_register_device(&busfreq_device, &bus_freq_data); mxc_register_device(&sdram_autogating_device, NULL); mxc_register_device(&mxc_dvfs_core_device, &dvfs_core_data); mxc_register_device(&mxc_dvfs_per_device, &dvfs_per_data); diff --git a/arch/arm/mach-mx5/mx51_babbage.c b/arch/arm/mach-mx5/mx51_babbage.c index a6457168f1fb..64506a391e20 100644 --- a/arch/arm/mach-mx5/mx51_babbage.c +++ b/arch/arm/mach-mx5/mx51_babbage.c @@ -1,5 +1,5 @@ /* - * Copyright 2009-2010 Freescale Semiconductor, Inc. All Rights Reserved. + * Copyright 2009-2011 Freescale Semiconductor, Inc. All Rights Reserved. */ /* @@ -471,6 +471,11 @@ static struct mxc_dvfs_platform_data dvfs_core_data = { .num_wp = 3, }; +static struct mxc_bus_freq_platform_data bus_freq_data = { + .gp_reg_id = "SW1", + .lp_reg_id = "SW2", +}; + static struct mxc_dvfsper_data dvfs_per_data = { .reg_id = "SW2", .clk_id = "gpc_dvfs_clk", @@ -1236,7 +1241,7 @@ static void __init mxc_board_init(void) mxc_register_device(&gpu_device, NULL); mxc_register_device(&mxcscc_device, NULL); mxc_register_device(&mx51_lpmode_device, NULL); - mxc_register_device(&busfreq_device, NULL); + mxc_register_device(&busfreq_device, &bus_freq_data); mxc_register_device(&sdram_autogating_device, NULL); mxc_register_device(&mxc_dvfs_core_device, &dvfs_core_data); mxc_register_device(&mxc_dvfs_per_device, &dvfs_per_data); diff --git a/arch/arm/mach-mx5/mx53_ard.c b/arch/arm/mach-mx5/mx53_ard.c index eaf0f4d05c1e..f86900655882 100644 --- a/arch/arm/mach-mx5/mx53_ard.c +++ b/arch/arm/mach-mx5/mx53_ard.c @@ -625,6 +625,11 @@ static struct mxc_dvfs_platform_data dvfs_core_data = { .num_wp = 3, }; +static struct mxc_bus_freq_platform_data bus_freq_data = { + .gp_reg_id = "SW1", + .lp_reg_id = "SW2", +}; + static struct ldb_platform_data ldb_data = { .ext_ref = 1, }; @@ -1312,7 +1317,7 @@ static void __init mxc_board_init(void) mxc_register_device(&mxcscc_device, NULL); mxc_register_device(&mxc_dvfs_core_device, &dvfs_core_data); - mxc_register_device(&busfreq_device, NULL); + mxc_register_device(&busfreq_device, &bus_freq_data); mxc_register_device(&mxc_iim_device, &iim_data); diff --git a/arch/arm/mach-mx5/mx53_evk.c b/arch/arm/mach-mx5/mx53_evk.c index f9d7440b2946..81b42218b18c 100644 --- a/arch/arm/mach-mx5/mx53_evk.c +++ b/arch/arm/mach-mx5/mx53_evk.c @@ -762,6 +762,11 @@ static struct mxc_dvfs_platform_data dvfs_core_data = { .num_wp = 3, }; +static struct mxc_bus_freq_platform_data bus_freq_data = { + .gp_reg_id = "SW1", + .lp_reg_id = "SW2", +}; + static struct tve_platform_data tve_data = { .dac_reg = "VVIDEO", }; @@ -1590,11 +1595,10 @@ static void __init mxc_board_init(void) mxc_register_device(&mxcscc_device, NULL); /* mxc_register_device(&mx53_lpmode_device, NULL); - mxc_register_device(&busfreq_device, NULL); mxc_register_device(&sdram_autogating_device, NULL); */ mxc_register_device(&mxc_dvfs_core_device, &dvfs_core_data); - mxc_register_device(&busfreq_device, NULL); + mxc_register_device(&busfreq_device, &bus_freq_data); /* mxc_register_device(&mxc_dvfs_per_device, &dvfs_per_data); diff --git a/arch/arm/mach-mx5/mx53_loco.c b/arch/arm/mach-mx5/mx53_loco.c index 673b88f1e989..deff9bb5f82a 100644 --- a/arch/arm/mach-mx5/mx53_loco.c +++ b/arch/arm/mach-mx5/mx53_loco.c @@ -438,7 +438,7 @@ static struct mxc_srtc_platform_data srtc_data = { }; static struct mxc_dvfs_platform_data dvfs_core_data = { - .reg_id = "SW1", + .reg_id = "DA9052_BUCK_CORE", .clk1_id = "cpu_clk", .clk2_id = "gpc_dvfs_clk", .gpc_cntr_offset = MXC_GPC_CNTR_OFFSET, @@ -462,8 +462,13 @@ static struct mxc_dvfs_platform_data dvfs_core_data = { .num_wp = 3, }; +static struct mxc_bus_freq_platform_data bus_freq_data = { + .gp_reg_id = "DA9052_BUCK_CORE", + .lp_reg_id = "DA9052_BUCK_PRO", +}; + static struct tve_platform_data tve_data = { - .dac_reg = "VVIDEO", + .dac_reg = "DA9052_LDO7", }; static struct ldb_platform_data ldb_data = { @@ -855,7 +860,7 @@ static void __init mxc_board_init(void) mxc_register_device(&gpu_device, &z160_revision); mxc_register_device(&mxcscc_device, NULL); mxc_register_device(&mxc_dvfs_core_device, &dvfs_core_data); - mxc_register_device(&busfreq_device, NULL); + mxc_register_device(&busfreq_device, &bus_freq_data); mxc_register_device(&mxc_iim_device, &iim_data); mxc_register_device(&mxc_pwm2_device, NULL); mxc_register_device(&mxc_pwm1_backlight_device, &mxc_pwm_backlight_data); diff --git a/arch/arm/mach-mx5/mx53_smd.c b/arch/arm/mach-mx5/mx53_smd.c index 9d5ed6c9ad40..8e518eff6f90 100644 --- a/arch/arm/mach-mx5/mx53_smd.c +++ b/arch/arm/mach-mx5/mx53_smd.c @@ -619,7 +619,7 @@ static struct mxc_srtc_platform_data srtc_data = { }; static struct mxc_dvfs_platform_data dvfs_core_data = { - .reg_id = "SW1", + .reg_id = "DA9052_BUCK_CORE", .clk1_id = "cpu_clk", .clk2_id = "gpc_dvfs_clk", .gpc_cntr_offset = MXC_GPC_CNTR_OFFSET, @@ -643,8 +643,13 @@ static struct mxc_dvfs_platform_data dvfs_core_data = { .num_wp = 3, }; +static struct mxc_bus_freq_platform_data bus_freq_data = { + .gp_reg_id = "DA9052_BUCK_CORE", + .lp_reg_id = "DA9052_BUCK_PRO", +}; + static struct tve_platform_data tve_data = { - .dac_reg = "VVIDEO", + .dac_reg = "", }; static struct ldb_platform_data ldb_data = { @@ -1116,7 +1121,7 @@ static void __init mxc_board_init(void) mxc_register_device(&gpu_device, &z160_revision); mxc_register_device(&mxcscc_device, NULL); mxc_register_device(&mxc_dvfs_core_device, &dvfs_core_data); - mxc_register_device(&busfreq_device, NULL); + mxc_register_device(&busfreq_device, &bus_freq_data); mxc_register_device(&mxc_iim_device, &iim_data); mxc_register_device(&mxc_pwm2_device, NULL); mxc_register_device(&mxc_pwm1_backlight_device, &mxc_pwm_backlight_data); |