diff options
Diffstat (limited to 'arch/arm/mach-mmp')
-rw-r--r-- | arch/arm/mach-mmp/include/mach/irqs.h | 1 | ||||
-rw-r--r-- | arch/arm/mach-mmp/include/mach/mfp-pxa168.h | 27 | ||||
-rw-r--r-- | arch/arm/mach-mmp/include/mach/mfp-pxa910.h | 8 | ||||
-rw-r--r-- | arch/arm/mach-mmp/include/mach/pxa168.h | 44 | ||||
-rw-r--r-- | arch/arm/mach-mmp/include/mach/pxa910.h | 44 | ||||
-rw-r--r-- | arch/arm/mach-mmp/include/mach/regs-apbc.h | 14 | ||||
-rw-r--r-- | arch/arm/mach-mmp/pxa168.c | 18 | ||||
-rw-r--r-- | arch/arm/mach-mmp/pxa910.c | 18 |
8 files changed, 168 insertions, 6 deletions
diff --git a/arch/arm/mach-mmp/include/mach/irqs.h b/arch/arm/mach-mmp/include/mach/irqs.h index e83e45ebf7a4..16295cfd5e29 100644 --- a/arch/arm/mach-mmp/include/mach/irqs.h +++ b/arch/arm/mach-mmp/include/mach/irqs.h | |||
@@ -52,6 +52,7 @@ | |||
52 | /* | 52 | /* |
53 | * Interrupt numbers for PXA910 | 53 | * Interrupt numbers for PXA910 |
54 | */ | 54 | */ |
55 | #define IRQ_PXA910_NONE (-1) | ||
55 | #define IRQ_PXA910_AIRQ 0 | 56 | #define IRQ_PXA910_AIRQ 0 |
56 | #define IRQ_PXA910_SSP3 1 | 57 | #define IRQ_PXA910_SSP3 1 |
57 | #define IRQ_PXA910_SSP2 2 | 58 | #define IRQ_PXA910_SSP2 2 |
diff --git a/arch/arm/mach-mmp/include/mach/mfp-pxa168.h b/arch/arm/mach-mmp/include/mach/mfp-pxa168.h index 2e914649b9e4..3b216bf41e7f 100644 --- a/arch/arm/mach-mmp/include/mach/mfp-pxa168.h +++ b/arch/arm/mach-mmp/include/mach/mfp-pxa168.h | |||
@@ -253,6 +253,10 @@ | |||
253 | #define GPIO58_LCD_PCLK_WR MFP_CFG(GPIO58, AF1) | 253 | #define GPIO58_LCD_PCLK_WR MFP_CFG(GPIO58, AF1) |
254 | #define GPIO85_LCD_VSYNC MFP_CFG(GPIO85, AF1) | 254 | #define GPIO85_LCD_VSYNC MFP_CFG(GPIO85, AF1) |
255 | 255 | ||
256 | /* I2C */ | ||
257 | #define GPIO105_CI2C_SDA MFP_CFG(GPIO105, AF1) | ||
258 | #define GPIO106_CI2C_SCL MFP_CFG(GPIO106, AF1) | ||
259 | |||
256 | /* I2S */ | 260 | /* I2S */ |
257 | #define GPIO113_I2S_MCLK MFP_CFG(GPIO113,AF6) | 261 | #define GPIO113_I2S_MCLK MFP_CFG(GPIO113,AF6) |
258 | #define GPIO114_I2S_FRM MFP_CFG(GPIO114,AF1) | 262 | #define GPIO114_I2S_FRM MFP_CFG(GPIO114,AF1) |
@@ -260,4 +264,27 @@ | |||
260 | #define GPIO116_I2S_RXD MFP_CFG(GPIO116,AF2) | 264 | #define GPIO116_I2S_RXD MFP_CFG(GPIO116,AF2) |
261 | #define GPIO117_I2S_TXD MFP_CFG(GPIO117,AF2) | 265 | #define GPIO117_I2S_TXD MFP_CFG(GPIO117,AF2) |
262 | 266 | ||
267 | /* PWM */ | ||
268 | #define GPIO96_PWM3_OUT MFP_CFG(GPIO96, AF1) | ||
269 | #define GPIO97_PWM2_OUT MFP_CFG(GPIO97, AF1) | ||
270 | #define GPIO98_PWM1_OUT MFP_CFG(GPIO98, AF1) | ||
271 | #define GPIO104_PWM4_OUT MFP_CFG(GPIO104, AF1) | ||
272 | #define GPIO106_PWM2_OUT MFP_CFG(GPIO106, AF2) | ||
273 | #define GPIO74_PWM4_OUT MFP_CFG(GPIO74, AF2) | ||
274 | #define GPIO75_PWM3_OUT MFP_CFG(GPIO75, AF2) | ||
275 | #define GPIO76_PWM2_OUT MFP_CFG(GPIO76, AF2) | ||
276 | #define GPIO77_PWM1_OUT MFP_CFG(GPIO77, AF2) | ||
277 | #define GPIO82_PWM4_OUT MFP_CFG(GPIO82, AF2) | ||
278 | #define GPIO83_PWM3_OUT MFP_CFG(GPIO83, AF2) | ||
279 | #define GPIO84_PWM2_OUT MFP_CFG(GPIO84, AF2) | ||
280 | #define GPIO85_PWM1_OUT MFP_CFG(GPIO85, AF2) | ||
281 | #define GPIO84_PWM1_OUT MFP_CFG(GPIO84, AF4) | ||
282 | #define GPIO122_PWM3_OUT MFP_CFG(GPIO122, AF3) | ||
283 | #define GPIO123_PWM1_OUT MFP_CFG(GPIO123, AF1) | ||
284 | #define GPIO124_PWM2_OUT MFP_CFG(GPIO124, AF1) | ||
285 | #define GPIO125_PWM3_OUT MFP_CFG(GPIO125, AF1) | ||
286 | #define GPIO126_PWM4_OUT MFP_CFG(GPIO126, AF1) | ||
287 | #define GPIO86_PWM1_OUT MFP_CFG(GPIO86, AF2) | ||
288 | #define GPIO86_PWM2_OUT MFP_CFG(GPIO86, AF3) | ||
289 | |||
263 | #endif /* __ASM_MACH_MFP_PXA168_H */ | 290 | #endif /* __ASM_MACH_MFP_PXA168_H */ |
diff --git a/arch/arm/mach-mmp/include/mach/mfp-pxa910.h b/arch/arm/mach-mmp/include/mach/mfp-pxa910.h index d97de36c50ad..bf1189ff9a34 100644 --- a/arch/arm/mach-mmp/include/mach/mfp-pxa910.h +++ b/arch/arm/mach-mmp/include/mach/mfp-pxa910.h | |||
@@ -159,4 +159,12 @@ | |||
159 | #define MMC1_CD_MMC1_CD MFP_CFG_DRV(MMC1_CD, AF0, MEDIUM) | 159 | #define MMC1_CD_MMC1_CD MFP_CFG_DRV(MMC1_CD, AF0, MEDIUM) |
160 | #define MMC1_WP_MMC1_WP MFP_CFG_DRV(MMC1_WP, AF0, MEDIUM) | 160 | #define MMC1_WP_MMC1_WP MFP_CFG_DRV(MMC1_WP, AF0, MEDIUM) |
161 | 161 | ||
162 | /* PWM */ | ||
163 | #define GPIO27 PWM3 AF2 MFP_CFG(GPIO27, AF2) | ||
164 | #define GPIO51_PWM2_OUT MFP_CFG(GPIO51, AF2) | ||
165 | #define GPIO117_PWM1_OUT MFP_CFG(GPIO117, AF2) | ||
166 | #define GPIO118_PWM2_OUT MFP_CFG(GPIO118, AF2) | ||
167 | #define GPIO119_PWM3_OUT MFP_CFG(GPIO119, AF2) | ||
168 | #define GPIO120_PWM4_OUT MFP_CFG(GPIO120, AF2) | ||
169 | |||
162 | #endif /* __ASM_MACH MFP_PXA910_H */ | 170 | #endif /* __ASM_MACH MFP_PXA910_H */ |
diff --git a/arch/arm/mach-mmp/include/mach/pxa168.h b/arch/arm/mach-mmp/include/mach/pxa168.h index ef0a8a2076e9..6bf1f0eefcd1 100644 --- a/arch/arm/mach-mmp/include/mach/pxa168.h +++ b/arch/arm/mach-mmp/include/mach/pxa168.h | |||
@@ -1,10 +1,18 @@ | |||
1 | #ifndef __ASM_MACH_PXA168_H | 1 | #ifndef __ASM_MACH_PXA168_H |
2 | #define __ASM_MACH_PXA168_H | 2 | #define __ASM_MACH_PXA168_H |
3 | 3 | ||
4 | #include <linux/i2c.h> | ||
4 | #include <mach/devices.h> | 5 | #include <mach/devices.h> |
6 | #include <plat/i2c.h> | ||
5 | 7 | ||
6 | extern struct pxa_device_desc pxa168_device_uart1; | 8 | extern struct pxa_device_desc pxa168_device_uart1; |
7 | extern struct pxa_device_desc pxa168_device_uart2; | 9 | extern struct pxa_device_desc pxa168_device_uart2; |
10 | extern struct pxa_device_desc pxa168_device_twsi0; | ||
11 | extern struct pxa_device_desc pxa168_device_twsi1; | ||
12 | extern struct pxa_device_desc pxa168_device_pwm1; | ||
13 | extern struct pxa_device_desc pxa168_device_pwm2; | ||
14 | extern struct pxa_device_desc pxa168_device_pwm3; | ||
15 | extern struct pxa_device_desc pxa168_device_pwm4; | ||
8 | 16 | ||
9 | static inline int pxa168_add_uart(int id) | 17 | static inline int pxa168_add_uart(int id) |
10 | { | 18 | { |
@@ -20,4 +28,40 @@ static inline int pxa168_add_uart(int id) | |||
20 | 28 | ||
21 | return pxa_register_device(d, NULL, 0); | 29 | return pxa_register_device(d, NULL, 0); |
22 | } | 30 | } |
31 | |||
32 | static inline int pxa168_add_twsi(int id, struct i2c_pxa_platform_data *data, | ||
33 | struct i2c_board_info *info, unsigned size) | ||
34 | { | ||
35 | struct pxa_device_desc *d = NULL; | ||
36 | int ret; | ||
37 | |||
38 | switch (id) { | ||
39 | case 0: d = &pxa168_device_twsi0; break; | ||
40 | case 1: d = &pxa168_device_twsi1; break; | ||
41 | default: | ||
42 | return -EINVAL; | ||
43 | } | ||
44 | |||
45 | ret = i2c_register_board_info(id, info, size); | ||
46 | if (ret) | ||
47 | return ret; | ||
48 | |||
49 | return pxa_register_device(d, data, sizeof(*data)); | ||
50 | } | ||
51 | |||
52 | static inline int pxa168_add_pwm(int id) | ||
53 | { | ||
54 | struct pxa_device_desc *d = NULL; | ||
55 | |||
56 | switch (id) { | ||
57 | case 1: d = &pxa168_device_pwm1; break; | ||
58 | case 2: d = &pxa168_device_pwm2; break; | ||
59 | case 3: d = &pxa168_device_pwm3; break; | ||
60 | case 4: d = &pxa168_device_pwm4; break; | ||
61 | default: | ||
62 | return -EINVAL; | ||
63 | } | ||
64 | |||
65 | return pxa_register_device(d, NULL, 0); | ||
66 | } | ||
23 | #endif /* __ASM_MACH_PXA168_H */ | 67 | #endif /* __ASM_MACH_PXA168_H */ |
diff --git a/arch/arm/mach-mmp/include/mach/pxa910.h b/arch/arm/mach-mmp/include/mach/pxa910.h index b7aeaf574c36..6ae1ed7a0a9f 100644 --- a/arch/arm/mach-mmp/include/mach/pxa910.h +++ b/arch/arm/mach-mmp/include/mach/pxa910.h | |||
@@ -1,10 +1,18 @@ | |||
1 | #ifndef __ASM_MACH_PXA910_H | 1 | #ifndef __ASM_MACH_PXA910_H |
2 | #define __ASM_MACH_PXA910_H | 2 | #define __ASM_MACH_PXA910_H |
3 | 3 | ||
4 | #include <linux/i2c.h> | ||
4 | #include <mach/devices.h> | 5 | #include <mach/devices.h> |
6 | #include <plat/i2c.h> | ||
5 | 7 | ||
6 | extern struct pxa_device_desc pxa910_device_uart1; | 8 | extern struct pxa_device_desc pxa910_device_uart1; |
7 | extern struct pxa_device_desc pxa910_device_uart2; | 9 | extern struct pxa_device_desc pxa910_device_uart2; |
10 | extern struct pxa_device_desc pxa910_device_twsi0; | ||
11 | extern struct pxa_device_desc pxa910_device_twsi1; | ||
12 | extern struct pxa_device_desc pxa910_device_pwm1; | ||
13 | extern struct pxa_device_desc pxa910_device_pwm2; | ||
14 | extern struct pxa_device_desc pxa910_device_pwm3; | ||
15 | extern struct pxa_device_desc pxa910_device_pwm4; | ||
8 | 16 | ||
9 | static inline int pxa910_add_uart(int id) | 17 | static inline int pxa910_add_uart(int id) |
10 | { | 18 | { |
@@ -20,4 +28,40 @@ static inline int pxa910_add_uart(int id) | |||
20 | 28 | ||
21 | return pxa_register_device(d, NULL, 0); | 29 | return pxa_register_device(d, NULL, 0); |
22 | } | 30 | } |
31 | |||
32 | static inline int pxa910_add_twsi(int id, struct i2c_pxa_platform_data *data, | ||
33 | struct i2c_board_info *info, unsigned size) | ||
34 | { | ||
35 | struct pxa_device_desc *d = NULL; | ||
36 | int ret; | ||
37 | |||
38 | switch (id) { | ||
39 | case 0: d = &pxa910_device_twsi0; break; | ||
40 | case 1: d = &pxa910_device_twsi1; break; | ||
41 | default: | ||
42 | return -EINVAL; | ||
43 | } | ||
44 | |||
45 | ret = i2c_register_board_info(id, info, size); | ||
46 | if (ret) | ||
47 | return ret; | ||
48 | |||
49 | return pxa_register_device(d, data, sizeof(*data)); | ||
50 | } | ||
51 | |||
52 | static inline int pxa910_add_pwm(int id) | ||
53 | { | ||
54 | struct pxa_device_desc *d = NULL; | ||
55 | |||
56 | switch (id) { | ||
57 | case 1: d = &pxa910_device_pwm1; break; | ||
58 | case 2: d = &pxa910_device_pwm2; break; | ||
59 | case 3: d = &pxa910_device_pwm3; break; | ||
60 | case 4: d = &pxa910_device_pwm4; break; | ||
61 | default: | ||
62 | return -EINVAL; | ||
63 | } | ||
64 | |||
65 | return pxa_register_device(d, NULL, 0); | ||
66 | } | ||
23 | #endif /* __ASM_MACH_PXA910_H */ | 67 | #endif /* __ASM_MACH_PXA910_H */ |
diff --git a/arch/arm/mach-mmp/include/mach/regs-apbc.h b/arch/arm/mach-mmp/include/mach/regs-apbc.h index c6b8c9dc2026..98ccbee4bd0c 100644 --- a/arch/arm/mach-mmp/include/mach/regs-apbc.h +++ b/arch/arm/mach-mmp/include/mach/regs-apbc.h | |||
@@ -22,8 +22,10 @@ | |||
22 | #define APBC_PXA168_UART1 APBC_REG(0x000) | 22 | #define APBC_PXA168_UART1 APBC_REG(0x000) |
23 | #define APBC_PXA168_UART2 APBC_REG(0x004) | 23 | #define APBC_PXA168_UART2 APBC_REG(0x004) |
24 | #define APBC_PXA168_GPIO APBC_REG(0x008) | 24 | #define APBC_PXA168_GPIO APBC_REG(0x008) |
25 | #define APBC_PXA168_PWM0 APBC_REG(0x00c) | 25 | #define APBC_PXA168_PWM1 APBC_REG(0x00c) |
26 | #define APBC_PXA168_PWM1 APBC_REG(0x010) | 26 | #define APBC_PXA168_PWM2 APBC_REG(0x010) |
27 | #define APBC_PXA168_PWM3 APBC_REG(0x014) | ||
28 | #define APBC_PXA168_PWM4 APBC_REG(0x018) | ||
27 | #define APBC_PXA168_SSP1 APBC_REG(0x01c) | 29 | #define APBC_PXA168_SSP1 APBC_REG(0x01c) |
28 | #define APBC_PXA168_SSP2 APBC_REG(0x020) | 30 | #define APBC_PXA168_SSP2 APBC_REG(0x020) |
29 | #define APBC_PXA168_RTC APBC_REG(0x028) | 31 | #define APBC_PXA168_RTC APBC_REG(0x028) |
@@ -48,10 +50,10 @@ | |||
48 | #define APBC_PXA910_UART0 APBC_REG(0x000) | 50 | #define APBC_PXA910_UART0 APBC_REG(0x000) |
49 | #define APBC_PXA910_UART1 APBC_REG(0x004) | 51 | #define APBC_PXA910_UART1 APBC_REG(0x004) |
50 | #define APBC_PXA910_GPIO APBC_REG(0x008) | 52 | #define APBC_PXA910_GPIO APBC_REG(0x008) |
51 | #define APBC_PXA910_PWM0 APBC_REG(0x00c) | 53 | #define APBC_PXA910_PWM1 APBC_REG(0x00c) |
52 | #define APBC_PXA910_PWM1 APBC_REG(0x010) | 54 | #define APBC_PXA910_PWM2 APBC_REG(0x010) |
53 | #define APBC_PXA910_PWM2 APBC_REG(0x014) | 55 | #define APBC_PXA910_PWM3 APBC_REG(0x014) |
54 | #define APBC_PXA910_PWM3 APBC_REG(0x018) | 56 | #define APBC_PXA910_PWM4 APBC_REG(0x018) |
55 | #define APBC_PXA910_SSP1 APBC_REG(0x01c) | 57 | #define APBC_PXA910_SSP1 APBC_REG(0x01c) |
56 | #define APBC_PXA910_SSP2 APBC_REG(0x020) | 58 | #define APBC_PXA910_SSP2 APBC_REG(0x020) |
57 | #define APBC_PXA910_IPC APBC_REG(0x024) | 59 | #define APBC_PXA910_IPC APBC_REG(0x024) |
diff --git a/arch/arm/mach-mmp/pxa168.c b/arch/arm/mach-mmp/pxa168.c index ae924468658c..71b1ae338753 100644 --- a/arch/arm/mach-mmp/pxa168.c +++ b/arch/arm/mach-mmp/pxa168.c | |||
@@ -65,11 +65,23 @@ void __init pxa168_init_irq(void) | |||
65 | /* APB peripheral clocks */ | 65 | /* APB peripheral clocks */ |
66 | static APBC_CLK(uart1, PXA168_UART1, 1, 14745600); | 66 | static APBC_CLK(uart1, PXA168_UART1, 1, 14745600); |
67 | static APBC_CLK(uart2, PXA168_UART2, 1, 14745600); | 67 | static APBC_CLK(uart2, PXA168_UART2, 1, 14745600); |
68 | static APBC_CLK(twsi0, PXA168_TWSI0, 1, 33000000); | ||
69 | static APBC_CLK(twsi1, PXA168_TWSI1, 1, 33000000); | ||
70 | static APBC_CLK(pwm1, PXA168_PWM1, 1, 13000000); | ||
71 | static APBC_CLK(pwm2, PXA168_PWM2, 1, 13000000); | ||
72 | static APBC_CLK(pwm3, PXA168_PWM3, 1, 13000000); | ||
73 | static APBC_CLK(pwm4, PXA168_PWM4, 1, 13000000); | ||
68 | 74 | ||
69 | /* device and clock bindings */ | 75 | /* device and clock bindings */ |
70 | static struct clk_lookup pxa168_clkregs[] = { | 76 | static struct clk_lookup pxa168_clkregs[] = { |
71 | INIT_CLKREG(&clk_uart1, "pxa2xx-uart.0", NULL), | 77 | INIT_CLKREG(&clk_uart1, "pxa2xx-uart.0", NULL), |
72 | INIT_CLKREG(&clk_uart2, "pxa2xx-uart.1", NULL), | 78 | INIT_CLKREG(&clk_uart2, "pxa2xx-uart.1", NULL), |
79 | INIT_CLKREG(&clk_twsi0, "pxa2xx-i2c.0", NULL), | ||
80 | INIT_CLKREG(&clk_twsi1, "pxa2xx-i2c.1", NULL), | ||
81 | INIT_CLKREG(&clk_pwm1, "pxa168-pwm.0", NULL), | ||
82 | INIT_CLKREG(&clk_pwm2, "pxa168-pwm.1", NULL), | ||
83 | INIT_CLKREG(&clk_pwm3, "pxa168-pwm.2", NULL), | ||
84 | INIT_CLKREG(&clk_pwm4, "pxa168-pwm.3", NULL), | ||
73 | }; | 85 | }; |
74 | 86 | ||
75 | static int __init pxa168_init(void) | 87 | static int __init pxa168_init(void) |
@@ -109,3 +121,9 @@ struct sys_timer pxa168_timer = { | |||
109 | /* on-chip devices */ | 121 | /* on-chip devices */ |
110 | PXA168_DEVICE(uart1, "pxa2xx-uart", 0, UART1, 0xd4017000, 0x30, 21, 22); | 122 | PXA168_DEVICE(uart1, "pxa2xx-uart", 0, UART1, 0xd4017000, 0x30, 21, 22); |
111 | PXA168_DEVICE(uart2, "pxa2xx-uart", 1, UART2, 0xd4018000, 0x30, 23, 24); | 123 | PXA168_DEVICE(uart2, "pxa2xx-uart", 1, UART2, 0xd4018000, 0x30, 23, 24); |
124 | PXA168_DEVICE(twsi0, "pxa2xx-i2c", 0, TWSI0, 0xd4011000, 0x28); | ||
125 | PXA168_DEVICE(twsi1, "pxa2xx-i2c", 1, TWSI1, 0xd4025000, 0x28); | ||
126 | PXA168_DEVICE(pwm1, "pxa168-pwm", 0, NONE, 0xd401a000, 0x10); | ||
127 | PXA168_DEVICE(pwm2, "pxa168-pwm", 1, NONE, 0xd401a400, 0x10); | ||
128 | PXA168_DEVICE(pwm3, "pxa168-pwm", 2, NONE, 0xd401a800, 0x10); | ||
129 | PXA168_DEVICE(pwm4, "pxa168-pwm", 3, NONE, 0xd401ac00, 0x10); | ||
diff --git a/arch/arm/mach-mmp/pxa910.c b/arch/arm/mach-mmp/pxa910.c index 453f8f7758bf..5882ca6b49fb 100644 --- a/arch/arm/mach-mmp/pxa910.c +++ b/arch/arm/mach-mmp/pxa910.c | |||
@@ -103,11 +103,23 @@ void __init pxa910_init_irq(void) | |||
103 | /* APB peripheral clocks */ | 103 | /* APB peripheral clocks */ |
104 | static APBC_CLK(uart1, PXA910_UART0, 1, 14745600); | 104 | static APBC_CLK(uart1, PXA910_UART0, 1, 14745600); |
105 | static APBC_CLK(uart2, PXA910_UART1, 1, 14745600); | 105 | static APBC_CLK(uart2, PXA910_UART1, 1, 14745600); |
106 | static APBC_CLK(twsi0, PXA168_TWSI0, 1, 33000000); | ||
107 | static APBC_CLK(twsi1, PXA168_TWSI1, 1, 33000000); | ||
108 | static APBC_CLK(pwm1, PXA910_PWM1, 1, 13000000); | ||
109 | static APBC_CLK(pwm2, PXA910_PWM2, 1, 13000000); | ||
110 | static APBC_CLK(pwm3, PXA910_PWM3, 1, 13000000); | ||
111 | static APBC_CLK(pwm4, PXA910_PWM4, 1, 13000000); | ||
106 | 112 | ||
107 | /* device and clock bindings */ | 113 | /* device and clock bindings */ |
108 | static struct clk_lookup pxa910_clkregs[] = { | 114 | static struct clk_lookup pxa910_clkregs[] = { |
109 | INIT_CLKREG(&clk_uart1, "pxa2xx-uart.0", NULL), | 115 | INIT_CLKREG(&clk_uart1, "pxa2xx-uart.0", NULL), |
110 | INIT_CLKREG(&clk_uart2, "pxa2xx-uart.1", NULL), | 116 | INIT_CLKREG(&clk_uart2, "pxa2xx-uart.1", NULL), |
117 | INIT_CLKREG(&clk_twsi0, "pxa2xx-i2c.0", NULL), | ||
118 | INIT_CLKREG(&clk_twsi1, "pxa2xx-i2c.1", NULL), | ||
119 | INIT_CLKREG(&clk_pwm1, "pxa910-pwm.0", NULL), | ||
120 | INIT_CLKREG(&clk_pwm2, "pxa910-pwm.1", NULL), | ||
121 | INIT_CLKREG(&clk_pwm3, "pxa910-pwm.2", NULL), | ||
122 | INIT_CLKREG(&clk_pwm4, "pxa910-pwm.3", NULL), | ||
111 | }; | 123 | }; |
112 | 124 | ||
113 | static int __init pxa910_init(void) | 125 | static int __init pxa910_init(void) |
@@ -156,3 +168,9 @@ struct sys_timer pxa910_timer = { | |||
156 | */ | 168 | */ |
157 | PXA910_DEVICE(uart1, "pxa2xx-uart", 0, UART2, 0xd4017000, 0x30, 21, 22); | 169 | PXA910_DEVICE(uart1, "pxa2xx-uart", 0, UART2, 0xd4017000, 0x30, 21, 22); |
158 | PXA910_DEVICE(uart2, "pxa2xx-uart", 1, UART3, 0xd4018000, 0x30, 23, 24); | 170 | PXA910_DEVICE(uart2, "pxa2xx-uart", 1, UART3, 0xd4018000, 0x30, 23, 24); |
171 | PXA910_DEVICE(twsi0, "pxa2xx-i2c", 0, TWSI0, 0xd4011000, 0x28); | ||
172 | PXA910_DEVICE(twsi1, "pxa2xx-i2c", 1, TWSI1, 0xd4025000, 0x28); | ||
173 | PXA910_DEVICE(pwm1, "pxa910-pwm", 0, NONE, 0xd401a000, 0x10); | ||
174 | PXA910_DEVICE(pwm2, "pxa910-pwm", 1, NONE, 0xd401a400, 0x10); | ||
175 | PXA910_DEVICE(pwm3, "pxa910-pwm", 2, NONE, 0xd401a800, 0x10); | ||
176 | PXA910_DEVICE(pwm4, "pxa910-pwm", 3, NONE, 0xd401ac00, 0x10); | ||