ARM: a few more SoC fixes for 3.4-rc
* A handful of warning and build fixes for Qualcomm MSM * Build/warning and bug fixes for Samsung Exynos * A fix from Rob Herring that removes misplaced interrupt-parent properties from a few device trees * A fix to OMAP dealing with cpufreq build errors, removing some of the offending code since it was redundant anyway -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iQIcBAABAgAGBQJPiwhZAAoJEIwa5zzehBx30A0P/RkEOmm7eSWj9sDMW0zTvdoO MDPIxp/D3gyUtp0IJlrikyGm+si8NlBFgz4O35np9NWmE/eek6ZDjF359Oj0SI2n /G21xjZT26TQevJtOXprWf3VhdUnCN3VQMiqJpB+doUuJdp7sHyOXdo6c3h76q9V cqOxtxb0gZFF6MxQpqOG1i1VaL8G1h697NeiUKJWKpgu3HIdzaA02T8X5YSRDTwU MMmAIa2004oaYMvJJJWWfWa2m7gkCUqwnCTupn9vJGKwA7dv/GPK2BakXYy9ChgE Rm2K/ddIQck7OwctP8MBj2Y7Pu2D3z762xqq1V43WpVgVknNsHZLEKeMrUcRTuVW N6bkvAQ30eAQ6Q/BoE22ihtm3K1lY+mkyvc+8UUA0Ph3qN5FTNrrjCCZgSp2KHUM 6Y7vmAAS89kC0ocjS+3VwRktP2FUyAQDuMiDuaNSwga3vdnf0WsDlCP0Cwn2mK6t pugBlX9ZShXzuVd68LvAkRSlFvqnexjyQlgkl/vuyfg2YAEgjDx9J2ngBrAwxUDa glwNv8njO2q4B7RWUd+jhXxPH2KI+7xaPHZ4PbyKpE0xK5qgstMmROQFQKloGnaI UtOt9i9clv2N8sCv6f6lwNw0P1f4Qt4KjBphquolMBTtTNwS4RDOywitDk7d8rc7 6nngNhd+UTCqfyQ4rCHn =OWRk -----END PGP SIGNATURE----- Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull "ARM: a few more SoC fixes for 3.4-rc" from Olof Johansson: - A handful of warning and build fixes for Qualcomm MSM - Build/warning and bug fixes for Samsung Exynos - A fix from Rob Herring that removes misplaced interrupt-parent properties from a few device trees - A fix to OMAP dealing with cpufreq build errors, removing some of the offending code since it was redundant anyway * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: ARM: OMAP: clock: cleanup CPUfreq leftovers, fix build errors ARM: dts: remove blank interrupt-parent properties ARM: EXYNOS: Fix Kconfig dependencies for device tree enabled machine files ARM: EXYNOS: Remove broken config values for touchscren for NURI board ARM: EXYNOS: set fix xusbxti clock for NURI and Universal210 boards ARM: EXYNOS: fix regulator name for NURI board ARM: SAMSUNG: make SAMSUNG_PM_DEBUG select DEBUG_LL ARM: msm: Fix section mismatches in proc_comm.c video: msm: Fix section mismatches in mddi.c arm: msm: trout: fix compile failure arm: msm: halibut: remove unneeded fixup ARM: EXYNOS: Add PDMA and MDMA physical base address defines ARM: S5PV210: Fix compiler warning in dma.c file ARM: EXYNOS: Fix compile error in exynos5250-cpufreq.c ARM: EXYNOS: Add missing definition for IRQ_I2S0 ARM: S5PV210: fix unused LDO supply field from wm8994_pdata
This commit is contained in:
commit
6c23b8e933
|
@ -55,7 +55,6 @@
|
||||||
#interrupt-cells = <2>;
|
#interrupt-cells = <2>;
|
||||||
compatible = "atmel,at91rm9200-aic";
|
compatible = "atmel,at91rm9200-aic";
|
||||||
interrupt-controller;
|
interrupt-controller;
|
||||||
interrupt-parent;
|
|
||||||
reg = <0xfffff000 0x200>;
|
reg = <0xfffff000 0x200>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -56,7 +56,6 @@
|
||||||
#interrupt-cells = <2>;
|
#interrupt-cells = <2>;
|
||||||
compatible = "atmel,at91rm9200-aic";
|
compatible = "atmel,at91rm9200-aic";
|
||||||
interrupt-controller;
|
interrupt-controller;
|
||||||
interrupt-parent;
|
|
||||||
reg = <0xfffff000 0x200>;
|
reg = <0xfffff000 0x200>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,6 @@
|
||||||
#interrupt-cells = <2>;
|
#interrupt-cells = <2>;
|
||||||
compatible = "atmel,at91rm9200-aic";
|
compatible = "atmel,at91rm9200-aic";
|
||||||
interrupt-controller;
|
interrupt-controller;
|
||||||
interrupt-parent;
|
|
||||||
reg = <0xfffff000 0x200>;
|
reg = <0xfffff000 0x200>;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,6 @@
|
||||||
#interrupt-cells = <3>;
|
#interrupt-cells = <3>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
interrupt-controller;
|
interrupt-controller;
|
||||||
interrupt-parent;
|
|
||||||
reg = <0xa0411000 0x1000>,
|
reg = <0xa0411000 0x1000>,
|
||||||
<0xa0410100 0x100>;
|
<0xa0410100 0x100>;
|
||||||
};
|
};
|
||||||
|
|
|
@ -89,7 +89,6 @@
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
interrupt-controller;
|
interrupt-controller;
|
||||||
interrupt-parent;
|
|
||||||
reg = <0xfff11000 0x1000>,
|
reg = <0xfff11000 0x1000>,
|
||||||
<0xfff10100 0x100>;
|
<0xfff10100 0x100>;
|
||||||
};
|
};
|
||||||
|
|
|
@ -368,6 +368,7 @@ comment "Flattened Device Tree based board for EXYNOS SoCs"
|
||||||
|
|
||||||
config MACH_EXYNOS4_DT
|
config MACH_EXYNOS4_DT
|
||||||
bool "Samsung Exynos4 Machine using device tree"
|
bool "Samsung Exynos4 Machine using device tree"
|
||||||
|
depends on ARCH_EXYNOS4
|
||||||
select CPU_EXYNOS4210
|
select CPU_EXYNOS4210
|
||||||
select USE_OF
|
select USE_OF
|
||||||
select ARM_AMBA
|
select ARM_AMBA
|
||||||
|
@ -380,6 +381,7 @@ config MACH_EXYNOS4_DT
|
||||||
|
|
||||||
config MACH_EXYNOS5_DT
|
config MACH_EXYNOS5_DT
|
||||||
bool "SAMSUNG EXYNOS5 Machine using device tree"
|
bool "SAMSUNG EXYNOS5 Machine using device tree"
|
||||||
|
depends on ARCH_EXYNOS5
|
||||||
select SOC_EXYNOS5250
|
select SOC_EXYNOS5250
|
||||||
select USE_OF
|
select USE_OF
|
||||||
select ARM_AMBA
|
select ARM_AMBA
|
||||||
|
|
|
@ -212,6 +212,8 @@
|
||||||
#define IRQ_MFC EXYNOS4_IRQ_MFC
|
#define IRQ_MFC EXYNOS4_IRQ_MFC
|
||||||
#define IRQ_SDO EXYNOS4_IRQ_SDO
|
#define IRQ_SDO EXYNOS4_IRQ_SDO
|
||||||
|
|
||||||
|
#define IRQ_I2S0 EXYNOS4_IRQ_I2S0
|
||||||
|
|
||||||
#define IRQ_ADC EXYNOS4_IRQ_ADC0
|
#define IRQ_ADC EXYNOS4_IRQ_ADC0
|
||||||
#define IRQ_TC EXYNOS4_IRQ_PEN0
|
#define IRQ_TC EXYNOS4_IRQ_PEN0
|
||||||
|
|
||||||
|
|
|
@ -89,6 +89,10 @@
|
||||||
#define EXYNOS4_PA_MDMA1 0x12840000
|
#define EXYNOS4_PA_MDMA1 0x12840000
|
||||||
#define EXYNOS4_PA_PDMA0 0x12680000
|
#define EXYNOS4_PA_PDMA0 0x12680000
|
||||||
#define EXYNOS4_PA_PDMA1 0x12690000
|
#define EXYNOS4_PA_PDMA1 0x12690000
|
||||||
|
#define EXYNOS5_PA_MDMA0 0x10800000
|
||||||
|
#define EXYNOS5_PA_MDMA1 0x11C10000
|
||||||
|
#define EXYNOS5_PA_PDMA0 0x121A0000
|
||||||
|
#define EXYNOS5_PA_PDMA1 0x121B0000
|
||||||
|
|
||||||
#define EXYNOS4_PA_SYSMMU_MDMA 0x10A40000
|
#define EXYNOS4_PA_SYSMMU_MDMA 0x10A40000
|
||||||
#define EXYNOS4_PA_SYSMMU_SSS 0x10A50000
|
#define EXYNOS4_PA_SYSMMU_SSS 0x10A50000
|
||||||
|
|
|
@ -255,9 +255,15 @@
|
||||||
|
|
||||||
/* For EXYNOS5250 */
|
/* For EXYNOS5250 */
|
||||||
|
|
||||||
|
#define EXYNOS5_APLL_LOCK EXYNOS_CLKREG(0x00000)
|
||||||
#define EXYNOS5_APLL_CON0 EXYNOS_CLKREG(0x00100)
|
#define EXYNOS5_APLL_CON0 EXYNOS_CLKREG(0x00100)
|
||||||
#define EXYNOS5_CLKSRC_CPU EXYNOS_CLKREG(0x00200)
|
#define EXYNOS5_CLKSRC_CPU EXYNOS_CLKREG(0x00200)
|
||||||
|
#define EXYNOS5_CLKMUX_STATCPU EXYNOS_CLKREG(0x00400)
|
||||||
#define EXYNOS5_CLKDIV_CPU0 EXYNOS_CLKREG(0x00500)
|
#define EXYNOS5_CLKDIV_CPU0 EXYNOS_CLKREG(0x00500)
|
||||||
|
#define EXYNOS5_CLKDIV_CPU1 EXYNOS_CLKREG(0x00504)
|
||||||
|
#define EXYNOS5_CLKDIV_STATCPU0 EXYNOS_CLKREG(0x00600)
|
||||||
|
#define EXYNOS5_CLKDIV_STATCPU1 EXYNOS_CLKREG(0x00604)
|
||||||
|
|
||||||
#define EXYNOS5_MPLL_CON0 EXYNOS_CLKREG(0x04100)
|
#define EXYNOS5_MPLL_CON0 EXYNOS_CLKREG(0x04100)
|
||||||
#define EXYNOS5_CLKSRC_CORE1 EXYNOS_CLKREG(0x04204)
|
#define EXYNOS5_CLKSRC_CORE1 EXYNOS_CLKREG(0x04204)
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ static const struct of_dev_auxdata exynos5250_auxdata_lookup[] __initconst = {
|
||||||
"exynos4210-uart.3", NULL),
|
"exynos4210-uart.3", NULL),
|
||||||
OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA0, "dma-pl330.0", NULL),
|
OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA0, "dma-pl330.0", NULL),
|
||||||
OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA1, "dma-pl330.1", NULL),
|
OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA1, "dma-pl330.1", NULL),
|
||||||
OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_PDMA1, "dma-pl330.2", NULL),
|
OF_DEV_AUXDATA("arm,pl330", EXYNOS5_PA_MDMA1, "dma-pl330.2", NULL),
|
||||||
{},
|
{},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -307,49 +307,7 @@ static struct i2c_board_info i2c1_devs[] __initdata = {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* TSP */
|
/* TSP */
|
||||||
static u8 mxt_init_vals[] = {
|
|
||||||
/* MXT_GEN_COMMAND(6) */
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
/* MXT_GEN_POWER(7) */
|
|
||||||
0x20, 0xff, 0x32,
|
|
||||||
/* MXT_GEN_ACQUIRE(8) */
|
|
||||||
0x0a, 0x00, 0x05, 0x00, 0x00, 0x00, 0x09, 0x23,
|
|
||||||
/* MXT_TOUCH_MULTI(9) */
|
|
||||||
0x00, 0x00, 0x00, 0x13, 0x0b, 0x00, 0x00, 0x00, 0x02, 0x00,
|
|
||||||
0x00, 0x01, 0x01, 0x0e, 0x0a, 0x0a, 0x0a, 0x0a, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00,
|
|
||||||
/* MXT_TOUCH_KEYARRAY(15) */
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
|
|
||||||
0x00,
|
|
||||||
/* MXT_SPT_GPIOPWM(19) */
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
/* MXT_PROCI_GRIPFACE(20) */
|
|
||||||
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x28, 0x04,
|
|
||||||
0x0f, 0x0a,
|
|
||||||
/* MXT_PROCG_NOISE(22) */
|
|
||||||
0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x23, 0x00,
|
|
||||||
0x00, 0x05, 0x0f, 0x19, 0x23, 0x2d, 0x03,
|
|
||||||
/* MXT_TOUCH_PROXIMITY(23) */
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
/* MXT_PROCI_ONETOUCH(24) */
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
/* MXT_SPT_SELFTEST(25) */
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
0x00, 0x00, 0x00, 0x00,
|
|
||||||
/* MXT_PROCI_TWOTOUCH(27) */
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
/* MXT_SPT_CTECONFIG(28) */
|
|
||||||
0x00, 0x00, 0x02, 0x08, 0x10, 0x00,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct mxt_platform_data mxt_platform_data = {
|
static struct mxt_platform_data mxt_platform_data = {
|
||||||
.config = mxt_init_vals,
|
|
||||||
.config_length = ARRAY_SIZE(mxt_init_vals),
|
|
||||||
|
|
||||||
.x_line = 18,
|
.x_line = 18,
|
||||||
.y_line = 11,
|
.y_line = 11,
|
||||||
.x_size = 1024,
|
.x_size = 1024,
|
||||||
|
@ -571,7 +529,7 @@ static struct regulator_init_data __initdata max8997_ldo7_data = {
|
||||||
|
|
||||||
static struct regulator_init_data __initdata max8997_ldo8_data = {
|
static struct regulator_init_data __initdata max8997_ldo8_data = {
|
||||||
.constraints = {
|
.constraints = {
|
||||||
.name = "VUSB/VDAC_3.3V_C210",
|
.name = "VUSB+VDAC_3.3V_C210",
|
||||||
.min_uV = 3300000,
|
.min_uV = 3300000,
|
||||||
.max_uV = 3300000,
|
.max_uV = 3300000,
|
||||||
.valid_ops_mask = REGULATOR_CHANGE_STATUS,
|
.valid_ops_mask = REGULATOR_CHANGE_STATUS,
|
||||||
|
@ -1347,6 +1305,7 @@ static struct platform_device *nuri_devices[] __initdata = {
|
||||||
|
|
||||||
static void __init nuri_map_io(void)
|
static void __init nuri_map_io(void)
|
||||||
{
|
{
|
||||||
|
clk_xusbxti.rate = 24000000;
|
||||||
exynos_init_io(NULL, 0);
|
exynos_init_io(NULL, 0);
|
||||||
s3c24xx_init_clocks(24000000);
|
s3c24xx_init_clocks(24000000);
|
||||||
s3c24xx_init_uarts(nuri_uartcfgs, ARRAY_SIZE(nuri_uartcfgs));
|
s3c24xx_init_uarts(nuri_uartcfgs, ARRAY_SIZE(nuri_uartcfgs));
|
||||||
|
@ -1379,7 +1338,6 @@ static void __init nuri_machine_init(void)
|
||||||
nuri_camera_init();
|
nuri_camera_init();
|
||||||
|
|
||||||
nuri_ehci_init();
|
nuri_ehci_init();
|
||||||
clk_xusbxti.rate = 24000000;
|
|
||||||
|
|
||||||
/* Last */
|
/* Last */
|
||||||
platform_add_devices(nuri_devices, ARRAY_SIZE(nuri_devices));
|
platform_add_devices(nuri_devices, ARRAY_SIZE(nuri_devices));
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
#include <asm/mach-types.h>
|
#include <asm/mach-types.h>
|
||||||
|
|
||||||
#include <plat/regs-serial.h>
|
#include <plat/regs-serial.h>
|
||||||
|
#include <plat/clock.h>
|
||||||
#include <plat/cpu.h>
|
#include <plat/cpu.h>
|
||||||
#include <plat/devs.h>
|
#include <plat/devs.h>
|
||||||
#include <plat/iic.h>
|
#include <plat/iic.h>
|
||||||
|
@ -1057,6 +1058,7 @@ static struct platform_device *universal_devices[] __initdata = {
|
||||||
|
|
||||||
static void __init universal_map_io(void)
|
static void __init universal_map_io(void)
|
||||||
{
|
{
|
||||||
|
clk_xusbxti.rate = 24000000;
|
||||||
exynos_init_io(NULL, 0);
|
exynos_init_io(NULL, 0);
|
||||||
s3c24xx_init_clocks(24000000);
|
s3c24xx_init_clocks(24000000);
|
||||||
s3c24xx_init_uarts(universal_uartcfgs, ARRAY_SIZE(universal_uartcfgs));
|
s3c24xx_init_uarts(universal_uartcfgs, ARRAY_SIZE(universal_uartcfgs));
|
||||||
|
|
|
@ -86,9 +86,6 @@ static void __init halibut_init(void)
|
||||||
static void __init halibut_fixup(struct tag *tags, char **cmdline,
|
static void __init halibut_fixup(struct tag *tags, char **cmdline,
|
||||||
struct meminfo *mi)
|
struct meminfo *mi)
|
||||||
{
|
{
|
||||||
mi->nr_banks=1;
|
|
||||||
mi->bank[0].start = PHYS_OFFSET;
|
|
||||||
mi->bank[0].size = (101*1024*1024);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __init halibut_map_io(void)
|
static void __init halibut_map_io(void)
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
|
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
#include <asm/mach-types.h>
|
#include <asm/mach-types.h>
|
||||||
|
#include <asm/system_info.h>
|
||||||
|
|
||||||
#include <mach/msm_fb.h>
|
#include <mach/msm_fb.h>
|
||||||
#include <mach/vreg.h>
|
#include <mach/vreg.h>
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/clkdev.h>
|
#include <linux/clkdev.h>
|
||||||
|
|
||||||
|
#include <asm/system_info.h>
|
||||||
#include <asm/mach-types.h>
|
#include <asm/mach-types.h>
|
||||||
#include <asm/mach/arch.h>
|
#include <asm/mach/arch.h>
|
||||||
#include <asm/mach/map.h>
|
#include <asm/mach/map.h>
|
||||||
|
|
|
@ -121,7 +121,7 @@ int msm_proc_comm(unsigned cmd, unsigned *data1, unsigned *data2)
|
||||||
* and unknown state. This function should be called early to
|
* and unknown state. This function should be called early to
|
||||||
* wait on the ARM9.
|
* wait on the ARM9.
|
||||||
*/
|
*/
|
||||||
void __init proc_comm_boot_wait(void)
|
void __devinit proc_comm_boot_wait(void)
|
||||||
{
|
{
|
||||||
void __iomem *base = MSM_SHARED_RAM_BASE;
|
void __iomem *base = MSM_SHARED_RAM_BASE;
|
||||||
|
|
||||||
|
|
|
@ -165,83 +165,3 @@ int omap2_select_table_rate(struct clk *clk, unsigned long rate)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_CPU_FREQ
|
|
||||||
/*
|
|
||||||
* Walk PRCM rate table and fillout cpufreq freq_table
|
|
||||||
* XXX This should be replaced by an OPP layer in the near future
|
|
||||||
*/
|
|
||||||
static struct cpufreq_frequency_table *freq_table;
|
|
||||||
|
|
||||||
void omap2_clk_init_cpufreq_table(struct cpufreq_frequency_table **table)
|
|
||||||
{
|
|
||||||
const struct prcm_config *prcm;
|
|
||||||
int i = 0;
|
|
||||||
int tbl_sz = 0;
|
|
||||||
|
|
||||||
if (!cpu_is_omap24xx())
|
|
||||||
return;
|
|
||||||
|
|
||||||
for (prcm = rate_table; prcm->mpu_speed; prcm++) {
|
|
||||||
if (!(prcm->flags & cpu_mask))
|
|
||||||
continue;
|
|
||||||
if (prcm->xtal_speed != sclk->rate)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
/* don't put bypass rates in table */
|
|
||||||
if (prcm->dpll_speed == prcm->xtal_speed)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
tbl_sz++;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* XXX Ensure that we're doing what CPUFreq expects for this error
|
|
||||||
* case and the following one
|
|
||||||
*/
|
|
||||||
if (tbl_sz == 0) {
|
|
||||||
pr_warning("%s: no matching entries in rate_table\n",
|
|
||||||
__func__);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Include the CPUFREQ_TABLE_END terminator entry */
|
|
||||||
tbl_sz++;
|
|
||||||
|
|
||||||
freq_table = kzalloc(sizeof(struct cpufreq_frequency_table) * tbl_sz,
|
|
||||||
GFP_ATOMIC);
|
|
||||||
if (!freq_table) {
|
|
||||||
pr_err("%s: could not kzalloc frequency table\n", __func__);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (prcm = rate_table; prcm->mpu_speed; prcm++) {
|
|
||||||
if (!(prcm->flags & cpu_mask))
|
|
||||||
continue;
|
|
||||||
if (prcm->xtal_speed != sclk->rate)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
/* don't put bypass rates in table */
|
|
||||||
if (prcm->dpll_speed == prcm->xtal_speed)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
freq_table[i].index = i;
|
|
||||||
freq_table[i].frequency = prcm->mpu_speed / 1000;
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
|
|
||||||
freq_table[i].index = i;
|
|
||||||
freq_table[i].frequency = CPUFREQ_TABLE_END;
|
|
||||||
|
|
||||||
*table = &freq_table[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
void omap2_clk_exit_cpufreq_table(struct cpufreq_frequency_table **table)
|
|
||||||
{
|
|
||||||
if (!cpu_is_omap24xx())
|
|
||||||
return;
|
|
||||||
|
|
||||||
kfree(freq_table);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -536,10 +536,5 @@ struct clk_functions omap2_clk_functions = {
|
||||||
.clk_set_rate = omap2_clk_set_rate,
|
.clk_set_rate = omap2_clk_set_rate,
|
||||||
.clk_set_parent = omap2_clk_set_parent,
|
.clk_set_parent = omap2_clk_set_parent,
|
||||||
.clk_disable_unused = omap2_clk_disable_unused,
|
.clk_disable_unused = omap2_clk_disable_unused,
|
||||||
#ifdef CONFIG_CPU_FREQ
|
|
||||||
/* These will be removed when the OPP code is integrated */
|
|
||||||
.clk_init_cpufreq_table = omap2_clk_init_cpufreq_table,
|
|
||||||
.clk_exit_cpufreq_table = omap2_clk_exit_cpufreq_table,
|
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -146,14 +146,6 @@ extern const struct clksel_rate gpt_sys_rates[];
|
||||||
extern const struct clksel_rate gfx_l3_rates[];
|
extern const struct clksel_rate gfx_l3_rates[];
|
||||||
extern const struct clksel_rate dsp_ick_rates[];
|
extern const struct clksel_rate dsp_ick_rates[];
|
||||||
|
|
||||||
#if defined(CONFIG_ARCH_OMAP2) && defined(CONFIG_CPU_FREQ)
|
|
||||||
extern void omap2_clk_init_cpufreq_table(struct cpufreq_frequency_table **table);
|
|
||||||
extern void omap2_clk_exit_cpufreq_table(struct cpufreq_frequency_table **table);
|
|
||||||
#else
|
|
||||||
#define omap2_clk_init_cpufreq_table 0
|
|
||||||
#define omap2_clk_exit_cpufreq_table 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern const struct clkops clkops_omap2_iclk_dflt_wait;
|
extern const struct clkops clkops_omap2_iclk_dflt_wait;
|
||||||
extern const struct clkops clkops_omap2_iclk_dflt;
|
extern const struct clkops clkops_omap2_iclk_dflt;
|
||||||
extern const struct clkops clkops_omap2_iclk_idle_only;
|
extern const struct clkops clkops_omap2_iclk_idle_only;
|
||||||
|
|
|
@ -33,8 +33,6 @@
|
||||||
#include <mach/irqs.h>
|
#include <mach/irqs.h>
|
||||||
#include <mach/dma.h>
|
#include <mach/dma.h>
|
||||||
|
|
||||||
static u64 dma_dmamask = DMA_BIT_MASK(32);
|
|
||||||
|
|
||||||
static u8 pdma0_peri[] = {
|
static u8 pdma0_peri[] = {
|
||||||
DMACH_UART0_RX,
|
DMACH_UART0_RX,
|
||||||
DMACH_UART0_TX,
|
DMACH_UART0_TX,
|
||||||
|
|
|
@ -484,8 +484,8 @@ static struct wm8994_pdata wm8994_platform_data = {
|
||||||
.gpio_defaults[8] = 0x0100,
|
.gpio_defaults[8] = 0x0100,
|
||||||
.gpio_defaults[9] = 0x0100,
|
.gpio_defaults[9] = 0x0100,
|
||||||
.gpio_defaults[10] = 0x0100,
|
.gpio_defaults[10] = 0x0100,
|
||||||
.ldo[0] = { S5PV210_MP03(6), NULL, &wm8994_ldo1_data }, /* XM0FRNB_2 */
|
.ldo[0] = { S5PV210_MP03(6), &wm8994_ldo1_data }, /* XM0FRNB_2 */
|
||||||
.ldo[1] = { 0, NULL, &wm8994_ldo2_data },
|
.ldo[1] = { 0, &wm8994_ldo2_data },
|
||||||
};
|
};
|
||||||
|
|
||||||
/* GPIO I2C PMIC */
|
/* GPIO I2C PMIC */
|
||||||
|
|
|
@ -674,8 +674,8 @@ static struct wm8994_pdata wm8994_platform_data = {
|
||||||
.gpio_defaults[8] = 0x0100,
|
.gpio_defaults[8] = 0x0100,
|
||||||
.gpio_defaults[9] = 0x0100,
|
.gpio_defaults[9] = 0x0100,
|
||||||
.gpio_defaults[10] = 0x0100,
|
.gpio_defaults[10] = 0x0100,
|
||||||
.ldo[0] = { S5PV210_MP03(6), NULL, &wm8994_ldo1_data }, /* XM0FRNB_2 */
|
.ldo[0] = { S5PV210_MP03(6), &wm8994_ldo1_data }, /* XM0FRNB_2 */
|
||||||
.ldo[1] = { 0, NULL, &wm8994_ldo2_data },
|
.ldo[1] = { 0, &wm8994_ldo2_data },
|
||||||
};
|
};
|
||||||
|
|
||||||
/* GPIO I2C PMIC */
|
/* GPIO I2C PMIC */
|
||||||
|
|
|
@ -398,32 +398,6 @@ struct clk dummy_ck = {
|
||||||
.ops = &clkops_null,
|
.ops = &clkops_null,
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef CONFIG_CPU_FREQ
|
|
||||||
void clk_init_cpufreq_table(struct cpufreq_frequency_table **table)
|
|
||||||
{
|
|
||||||
unsigned long flags;
|
|
||||||
|
|
||||||
if (!arch_clock || !arch_clock->clk_init_cpufreq_table)
|
|
||||||
return;
|
|
||||||
|
|
||||||
spin_lock_irqsave(&clockfw_lock, flags);
|
|
||||||
arch_clock->clk_init_cpufreq_table(table);
|
|
||||||
spin_unlock_irqrestore(&clockfw_lock, flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
void clk_exit_cpufreq_table(struct cpufreq_frequency_table **table)
|
|
||||||
{
|
|
||||||
unsigned long flags;
|
|
||||||
|
|
||||||
if (!arch_clock || !arch_clock->clk_exit_cpufreq_table)
|
|
||||||
return;
|
|
||||||
|
|
||||||
spin_lock_irqsave(&clockfw_lock, flags);
|
|
||||||
arch_clock->clk_exit_cpufreq_table(table);
|
|
||||||
spin_unlock_irqrestore(&clockfw_lock, flags);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -272,8 +272,6 @@ struct clk {
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
struct cpufreq_frequency_table;
|
|
||||||
|
|
||||||
struct clk_functions {
|
struct clk_functions {
|
||||||
int (*clk_enable)(struct clk *clk);
|
int (*clk_enable)(struct clk *clk);
|
||||||
void (*clk_disable)(struct clk *clk);
|
void (*clk_disable)(struct clk *clk);
|
||||||
|
@ -283,10 +281,6 @@ struct clk_functions {
|
||||||
void (*clk_allow_idle)(struct clk *clk);
|
void (*clk_allow_idle)(struct clk *clk);
|
||||||
void (*clk_deny_idle)(struct clk *clk);
|
void (*clk_deny_idle)(struct clk *clk);
|
||||||
void (*clk_disable_unused)(struct clk *clk);
|
void (*clk_disable_unused)(struct clk *clk);
|
||||||
#ifdef CONFIG_CPU_FREQ
|
|
||||||
void (*clk_init_cpufreq_table)(struct cpufreq_frequency_table **);
|
|
||||||
void (*clk_exit_cpufreq_table)(struct cpufreq_frequency_table **);
|
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
extern int mpurate;
|
extern int mpurate;
|
||||||
|
@ -301,10 +295,6 @@ extern void recalculate_root_clocks(void);
|
||||||
extern unsigned long followparent_recalc(struct clk *clk);
|
extern unsigned long followparent_recalc(struct clk *clk);
|
||||||
extern void clk_enable_init_clocks(void);
|
extern void clk_enable_init_clocks(void);
|
||||||
unsigned long omap_fixed_divisor_recalc(struct clk *clk);
|
unsigned long omap_fixed_divisor_recalc(struct clk *clk);
|
||||||
#ifdef CONFIG_CPU_FREQ
|
|
||||||
extern void clk_init_cpufreq_table(struct cpufreq_frequency_table **table);
|
|
||||||
extern void clk_exit_cpufreq_table(struct cpufreq_frequency_table **table);
|
|
||||||
#endif
|
|
||||||
extern struct clk *omap_clk_get_by_name(const char *name);
|
extern struct clk *omap_clk_get_by_name(const char *name);
|
||||||
extern int omap_clk_enable_autoidle_all(void);
|
extern int omap_clk_enable_autoidle_all(void);
|
||||||
extern int omap_clk_disable_autoidle_all(void);
|
extern int omap_clk_disable_autoidle_all(void);
|
||||||
|
|
|
@ -302,6 +302,7 @@ comment "Power management"
|
||||||
config SAMSUNG_PM_DEBUG
|
config SAMSUNG_PM_DEBUG
|
||||||
bool "S3C2410 PM Suspend debug"
|
bool "S3C2410 PM Suspend debug"
|
||||||
depends on PM
|
depends on PM
|
||||||
|
select DEBUG_LL
|
||||||
help
|
help
|
||||||
Say Y here if you want verbose debugging from the PM Suspend and
|
Say Y here if you want verbose debugging from the PM Suspend and
|
||||||
Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
|
Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt>
|
||||||
|
|
|
@ -420,7 +420,7 @@ static void mddi_resume(struct msm_mddi_client_data *cdata)
|
||||||
mddi_set_auto_hibernate(&mddi->client_data, 1);
|
mddi_set_auto_hibernate(&mddi->client_data, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __init mddi_get_client_caps(struct mddi_info *mddi)
|
static int __devinit mddi_get_client_caps(struct mddi_info *mddi)
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
|
@ -622,7 +622,7 @@ uint32_t mddi_remote_read(struct msm_mddi_client_data *cdata, uint32_t reg)
|
||||||
|
|
||||||
static struct mddi_info mddi_info[2];
|
static struct mddi_info mddi_info[2];
|
||||||
|
|
||||||
static int __init mddi_clk_setup(struct platform_device *pdev,
|
static int __devinit mddi_clk_setup(struct platform_device *pdev,
|
||||||
struct mddi_info *mddi,
|
struct mddi_info *mddi,
|
||||||
unsigned long clk_rate)
|
unsigned long clk_rate)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue