diff options
Diffstat (limited to 'arch/arm/mach-pxa')
-rw-r--r-- | arch/arm/mach-pxa/akita-ioexp.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pxa25x.c | 9 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pxa27x.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-pxa/pxa3xx.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-pxa/ssp.c | 2 |
5 files changed, 17 insertions, 4 deletions
diff --git a/arch/arm/mach-pxa/akita-ioexp.c b/arch/arm/mach-pxa/akita-ioexp.c index 12d2fe0ceff6..254892ac30cd 100644 --- a/arch/arm/mach-pxa/akita-ioexp.c +++ b/arch/arm/mach-pxa/akita-ioexp.c | |||
@@ -29,7 +29,7 @@ | |||
29 | #define MAX7310_TIMEOUT 0x04 | 29 | #define MAX7310_TIMEOUT 0x04 |
30 | 30 | ||
31 | /* Addresses to scan */ | 31 | /* Addresses to scan */ |
32 | static unsigned short normal_i2c[] = { 0x18, I2C_CLIENT_END }; | 32 | static const unsigned short normal_i2c[] = { 0x18, I2C_CLIENT_END }; |
33 | 33 | ||
34 | /* I2C Magic */ | 34 | /* I2C Magic */ |
35 | I2C_CLIENT_INSMOD; | 35 | I2C_CLIENT_INSMOD; |
diff --git a/arch/arm/mach-pxa/pxa25x.c b/arch/arm/mach-pxa/pxa25x.c index 73a5f068e167..ddd05bf78e02 100644 --- a/arch/arm/mach-pxa/pxa25x.c +++ b/arch/arm/mach-pxa/pxa25x.c | |||
@@ -111,11 +111,14 @@ static const struct clkops clk_pxa25x_lcd_ops = { | |||
111 | * 95.842MHz -> MMC 19.169MHz, I2C 31.949MHz, FICP 47.923MHz, USB 47.923MHz | 111 | * 95.842MHz -> MMC 19.169MHz, I2C 31.949MHz, FICP 47.923MHz, USB 47.923MHz |
112 | * 147.456MHz -> UART 14.7456MHz, AC97 12.288MHz, I2S 5.672MHz (allegedly) | 112 | * 147.456MHz -> UART 14.7456MHz, AC97 12.288MHz, I2S 5.672MHz (allegedly) |
113 | */ | 113 | */ |
114 | static struct clk pxa25x_hwuart_clk = | ||
115 | INIT_CKEN("UARTCLK", HWUART, 14745600, 1, &pxa_device_hwuart.dev) | ||
116 | ; | ||
117 | |||
114 | static struct clk pxa25x_clks[] = { | 118 | static struct clk pxa25x_clks[] = { |
115 | INIT_CK("LCDCLK", LCD, &clk_pxa25x_lcd_ops, &pxa_device_fb.dev), | 119 | INIT_CK("LCDCLK", LCD, &clk_pxa25x_lcd_ops, &pxa_device_fb.dev), |
116 | INIT_CKEN("UARTCLK", FFUART, 14745600, 1, &pxa_device_ffuart.dev), | 120 | INIT_CKEN("UARTCLK", FFUART, 14745600, 1, &pxa_device_ffuart.dev), |
117 | INIT_CKEN("UARTCLK", BTUART, 14745600, 1, &pxa_device_btuart.dev), | 121 | INIT_CKEN("UARTCLK", BTUART, 14745600, 1, &pxa_device_btuart.dev), |
118 | INIT_CKEN("UARTCLK", BTUART, 14745600, 1, &pxa_device_btuart.dev), | ||
119 | INIT_CKEN("UARTCLK", STUART, 14745600, 1, NULL), | 122 | INIT_CKEN("UARTCLK", STUART, 14745600, 1, NULL), |
120 | INIT_CKEN("UDCCLK", USB, 47923000, 5, &pxa_device_udc.dev), | 123 | INIT_CKEN("UDCCLK", USB, 47923000, 5, &pxa_device_udc.dev), |
121 | INIT_CKEN("MMCCLK", MMC, 19169000, 0, &pxa_device_mci.dev), | 124 | INIT_CKEN("MMCCLK", MMC, 19169000, 0, &pxa_device_mci.dev), |
@@ -305,6 +308,10 @@ static int __init pxa25x_init(void) | |||
305 | { | 308 | { |
306 | int ret = 0; | 309 | int ret = 0; |
307 | 310 | ||
311 | /* Only add HWUART for PXA255/26x; PXA210/250/27x do not have it. */ | ||
312 | if (cpu_is_pxa25x()) | ||
313 | clks_register(&pxa25x_hwuart_clk, 1); | ||
314 | |||
308 | if (cpu_is_pxa21x() || cpu_is_pxa25x()) { | 315 | if (cpu_is_pxa21x() || cpu_is_pxa25x()) { |
309 | clks_register(pxa25x_clks, ARRAY_SIZE(pxa25x_clks)); | 316 | clks_register(pxa25x_clks, ARRAY_SIZE(pxa25x_clks)); |
310 | 317 | ||
diff --git a/arch/arm/mach-pxa/pxa27x.c b/arch/arm/mach-pxa/pxa27x.c index db0c4c6fea9b..96cf274ec7cb 100644 --- a/arch/arm/mach-pxa/pxa27x.c +++ b/arch/arm/mach-pxa/pxa27x.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <asm/arch/ohci.h> | 25 | #include <asm/arch/ohci.h> |
26 | #include <asm/arch/pm.h> | 26 | #include <asm/arch/pm.h> |
27 | #include <asm/arch/dma.h> | 27 | #include <asm/arch/dma.h> |
28 | #include <asm/arch/i2c.h> | ||
28 | 29 | ||
29 | #include "generic.h" | 30 | #include "generic.h" |
30 | #include "devices.h" | 31 | #include "devices.h" |
@@ -390,6 +391,11 @@ struct platform_device pxa27x_device_i2c_power = { | |||
390 | .num_resources = ARRAY_SIZE(i2c_power_resources), | 391 | .num_resources = ARRAY_SIZE(i2c_power_resources), |
391 | }; | 392 | }; |
392 | 393 | ||
394 | void __init pxa_set_i2c_power_info(struct i2c_pxa_platform_data *info) | ||
395 | { | ||
396 | pxa27x_device_i2c_power.dev.platform_data = info; | ||
397 | } | ||
398 | |||
393 | static struct platform_device *devices[] __initdata = { | 399 | static struct platform_device *devices[] __initdata = { |
394 | &pxa_device_udc, | 400 | &pxa_device_udc, |
395 | &pxa_device_ffuart, | 401 | &pxa_device_ffuart, |
diff --git a/arch/arm/mach-pxa/pxa3xx.c b/arch/arm/mach-pxa/pxa3xx.c index 0b2a15ed3999..5cbf057a1b32 100644 --- a/arch/arm/mach-pxa/pxa3xx.c +++ b/arch/arm/mach-pxa/pxa3xx.c | |||
@@ -87,7 +87,7 @@ unsigned int pxa3xx_get_clk_frequency_khz(int info) | |||
87 | HSS / 1000000, (HSS % 1000000) / 10000); | 87 | HSS / 1000000, (HSS % 1000000) / 10000); |
88 | } | 88 | } |
89 | 89 | ||
90 | return CLK; | 90 | return CLK / 1000; |
91 | } | 91 | } |
92 | 92 | ||
93 | /* | 93 | /* |
diff --git a/arch/arm/mach-pxa/ssp.c b/arch/arm/mach-pxa/ssp.c index 4954da907d42..00af7f2fed66 100644 --- a/arch/arm/mach-pxa/ssp.c +++ b/arch/arm/mach-pxa/ssp.c | |||
@@ -47,7 +47,7 @@ | |||
47 | 47 | ||
48 | static irqreturn_t ssp_interrupt(int irq, void *dev_id) | 48 | static irqreturn_t ssp_interrupt(int irq, void *dev_id) |
49 | { | 49 | { |
50 | struct ssp_dev *dev = (struct ssp_dev*) dev_id; | 50 | struct ssp_dev *dev = dev_id; |
51 | struct ssp_device *ssp = dev->ssp; | 51 | struct ssp_device *ssp = dev->ssp; |
52 | unsigned int status; | 52 | unsigned int status; |
53 | 53 | ||