aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-pxa')
-rw-r--r--arch/arm/mach-pxa/akita-ioexp.c2
-rw-r--r--arch/arm/mach-pxa/pxa25x.c9
-rw-r--r--arch/arm/mach-pxa/pxa27x.c6
-rw-r--r--arch/arm/mach-pxa/pxa3xx.c2
-rw-r--r--arch/arm/mach-pxa/ssp.c2
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 */
32static unsigned short normal_i2c[] = { 0x18, I2C_CLIENT_END }; 32static const unsigned short normal_i2c[] = { 0x18, I2C_CLIENT_END };
33 33
34/* I2C Magic */ 34/* I2C Magic */
35I2C_CLIENT_INSMOD; 35I2C_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 */
114static struct clk pxa25x_hwuart_clk =
115 INIT_CKEN("UARTCLK", HWUART, 14745600, 1, &pxa_device_hwuart.dev)
116;
117
114static struct clk pxa25x_clks[] = { 118static 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
394void __init pxa_set_i2c_power_info(struct i2c_pxa_platform_data *info)
395{
396 pxa27x_device_i2c_power.dev.platform_data = info;
397}
398
393static struct platform_device *devices[] __initdata = { 399static 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
48static irqreturn_t ssp_interrupt(int irq, void *dev_id) 48static 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