diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-23 21:24:08 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-23 21:24:08 -0400 |
commit | 30d38542ec777468bb6a31829076a2dbc5690e35 (patch) | |
tree | 698b7a4fdd730befa34c4c9642cdbe72ce7d336a /include | |
parent | 20b7997e8abdf338dcc27fb4f1333c4973a7f113 (diff) | |
parent | 044e5f45e4ad890d03bd1e8bb44c634397cac24d (diff) |
Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (85 commits)
[ARM] pxa: add base support for PXA930 Handheld Platform (aka SAAR)
[ARM] pxa: add base support for PXA930 Evaluation Board (aka TavorEVB)
[ARM] pxa: add base support for PXA930 (aka Tavor-P)
[ARM] Update mach-types
[ARM] pxa: make littleton to use the new smc91x platform data
[ARM] pxa: make zylonite to use the new smc91x platform data
[ARM] pxa: make mainstone to use the new smc91x platform data
[ARM] pxa: make lubbock to use new smc91x platform data
[NET] smc91x: prepare SMC_USE_PXA_DMA to be specified in platform data
[NET] smc91x: prepare for SMC_IO_SHIFT to be a platform configurable variable
[NET] smc91x: add SMC91X_NOWAIT flag to platform data
[NET] smc91x: favor the use of SMC91X_USE_* instead of SMC_CAN_USE_*
[NET] smc91x: remove "irq_flags" from "struct smc91x_platdata"
[ARM] 5146/1: pxa2xx: convert all boards to call pxa2xx_transceiver_mode helper
Support for LCD on e740 e750 e400 and e800 e-series PDAs
E-series UDC support
PXA UDC - allow use of inverted GPIO for pullup
Add e350 support
Fix broken e-series build
E-series GPIO / IRQ definitions.
...
Diffstat (limited to 'include')
25 files changed, 947 insertions, 91 deletions
diff --git a/include/asm-arm/arch-pxa/cm-x270.h b/include/asm-arm/arch-pxa/cm-x270.h deleted file mode 100644 index f8fac9e18009..000000000000 --- a/include/asm-arm/arch-pxa/cm-x270.h +++ /dev/null | |||
@@ -1,50 +0,0 @@ | |||
1 | /* | ||
2 | * linux/include/asm/arch-pxa/cm-x270.h | ||
3 | * | ||
4 | * Copyright Compulab Ltd., 2003, 2007 | ||
5 | * Mike Rapoport <mike@compulab.co.il> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License version 2 as | ||
9 | * published by the Free Software Foundation. | ||
10 | */ | ||
11 | |||
12 | |||
13 | /* CM-x270 device physical addresses */ | ||
14 | #define CMX270_CS1_PHYS (PXA_CS1_PHYS) | ||
15 | #define MARATHON_PHYS (PXA_CS2_PHYS) | ||
16 | #define CMX270_IDE104_PHYS (PXA_CS3_PHYS) | ||
17 | #define CMX270_IT8152_PHYS (PXA_CS4_PHYS) | ||
18 | |||
19 | /* Statically mapped regions */ | ||
20 | #define CMX270_VIRT_BASE (0xe8000000) | ||
21 | #define CMX270_IT8152_VIRT (CMX270_VIRT_BASE) | ||
22 | #define CMX270_IDE104_VIRT (CMX270_IT8152_VIRT + SZ_64M) | ||
23 | |||
24 | /* GPIO related definitions */ | ||
25 | #define GPIO_IT8152_IRQ (22) | ||
26 | |||
27 | #define IRQ_GPIO_IT8152_IRQ IRQ_GPIO(GPIO_IT8152_IRQ) | ||
28 | #define PME_IRQ IRQ_GPIO(0) | ||
29 | #define CMX270_IDE_IRQ IRQ_GPIO(100) | ||
30 | #define CMX270_GPIRQ1 IRQ_GPIO(101) | ||
31 | #define CMX270_TOUCHIRQ IRQ_GPIO(96) | ||
32 | #define CMX270_ETHIRQ IRQ_GPIO(10) | ||
33 | #define CMX270_GFXIRQ IRQ_GPIO(95) | ||
34 | #define CMX270_NANDIRQ IRQ_GPIO(89) | ||
35 | #define CMX270_MMC_IRQ IRQ_GPIO(83) | ||
36 | |||
37 | /* PCMCIA related definitions */ | ||
38 | #define PCC_DETECT(x) (GPLR(84 - (x)) & GPIO_bit(84 - (x))) | ||
39 | #define PCC_READY(x) (GPLR(82 - (x)) & GPIO_bit(82 - (x))) | ||
40 | |||
41 | #define PCMCIA_S0_CD_VALID IRQ_GPIO(84) | ||
42 | #define PCMCIA_S0_CD_VALID_EDGE GPIO_BOTH_EDGES | ||
43 | |||
44 | #define PCMCIA_S1_CD_VALID IRQ_GPIO(83) | ||
45 | #define PCMCIA_S1_CD_VALID_EDGE GPIO_BOTH_EDGES | ||
46 | |||
47 | #define PCMCIA_S0_RDYINT IRQ_GPIO(82) | ||
48 | #define PCMCIA_S1_RDYINT IRQ_GPIO(81) | ||
49 | |||
50 | #define PCMCIA_RESET_GPIO 53 | ||
diff --git a/include/asm-arm/arch-pxa/eseries-gpio.h b/include/asm-arm/arch-pxa/eseries-gpio.h new file mode 100644 index 000000000000..4c90b1310270 --- /dev/null +++ b/include/asm-arm/arch-pxa/eseries-gpio.h | |||
@@ -0,0 +1,50 @@ | |||
1 | /* | ||
2 | * eseries-gpio.h | ||
3 | * | ||
4 | * Copyright (C) Ian Molton <spyro@f2s.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | */ | ||
11 | |||
12 | /* e-series power button */ | ||
13 | #define GPIO_ESERIES_POWERBTN 0 | ||
14 | |||
15 | /* UDC GPIO definitions */ | ||
16 | #define GPIO_E7XX_USB_DISC 13 | ||
17 | #define GPIO_E7XX_USB_PULLUP 3 | ||
18 | |||
19 | #define GPIO_E800_USB_DISC 4 | ||
20 | #define GPIO_E800_USB_PULLUP 84 | ||
21 | |||
22 | /* e740 PCMCIA GPIO definitions */ | ||
23 | /* Note: PWR1 seems to be inverted */ | ||
24 | #define GPIO_E740_PCMCIA_CD0 8 | ||
25 | #define GPIO_E740_PCMCIA_CD1 44 | ||
26 | #define GPIO_E740_PCMCIA_RDY0 11 | ||
27 | #define GPIO_E740_PCMCIA_RDY1 6 | ||
28 | #define GPIO_E740_PCMCIA_RST0 27 | ||
29 | #define GPIO_E740_PCMCIA_RST1 24 | ||
30 | #define GPIO_E740_PCMCIA_PWR0 20 | ||
31 | #define GPIO_E740_PCMCIA_PWR1 23 | ||
32 | |||
33 | /* e750 PCMCIA GPIO definitions */ | ||
34 | #define GPIO_E750_PCMCIA_CD0 8 | ||
35 | #define GPIO_E750_PCMCIA_RDY0 12 | ||
36 | #define GPIO_E750_PCMCIA_RST0 27 | ||
37 | #define GPIO_E750_PCMCIA_PWR0 20 | ||
38 | |||
39 | /* e800 PCMCIA GPIO definitions */ | ||
40 | #define GPIO_E800_PCMCIA_RST0 69 | ||
41 | #define GPIO_E800_PCMCIA_RST1 72 | ||
42 | #define GPIO_E800_PCMCIA_PWR0 20 | ||
43 | #define GPIO_E800_PCMCIA_PWR1 73 | ||
44 | |||
45 | /* e7xx IrDA power control */ | ||
46 | #define GPIO_E7XX_IR_ON 38 | ||
47 | |||
48 | /* ASIC related GPIOs */ | ||
49 | #define GPIO_ESERIES_TMIO_IRQ 5 | ||
50 | #define GPIO_E800_ANGELX_IRQ 8 | ||
diff --git a/include/asm-arm/arch-pxa/eseries-irq.h b/include/asm-arm/arch-pxa/eseries-irq.h new file mode 100644 index 000000000000..f2a93d5e31d3 --- /dev/null +++ b/include/asm-arm/arch-pxa/eseries-irq.h | |||
@@ -0,0 +1,27 @@ | |||
1 | /* | ||
2 | * eseries-irq.h | ||
3 | * | ||
4 | * Copyright (C) Ian Molton <spyro@f2s.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | * | ||
10 | */ | ||
11 | |||
12 | #define ANGELX_IRQ_BASE (IRQ_BOARD_START+8) | ||
13 | #define IRQ_ANGELX(n) (ANGELX_IRQ_BASE + (n)) | ||
14 | |||
15 | #define ANGELX_RDY0_IRQ IRQ_ANGELX(0) | ||
16 | #define ANGELX_ST0_IRQ IRQ_ANGELX(1) | ||
17 | #define ANGELX_CD0_IRQ IRQ_ANGELX(2) | ||
18 | #define ANGELX_RDY1_IRQ IRQ_ANGELX(3) | ||
19 | #define ANGELX_ST1_IRQ IRQ_ANGELX(4) | ||
20 | #define ANGELX_CD1_IRQ IRQ_ANGELX(5) | ||
21 | |||
22 | #define TMIO_IRQ_BASE (IRQ_BOARD_START+0) | ||
23 | #define IRQ_TMIO(n) (TMIO_IRQ_BASE + (n)) | ||
24 | |||
25 | #define TMIO_SD_IRQ IRQ_TMIO(1) | ||
26 | #define TMIO_USB_IRQ IRQ_TMIO(2) | ||
27 | |||
diff --git a/include/asm-arm/arch-pxa/hardware.h b/include/asm-arm/arch-pxa/hardware.h index d9af6dabc899..979a45695d7d 100644 --- a/include/asm-arm/arch-pxa/hardware.h +++ b/include/asm-arm/arch-pxa/hardware.h | |||
@@ -69,6 +69,12 @@ | |||
69 | _id == 0x212; \ | 69 | _id == 0x212; \ |
70 | }) | 70 | }) |
71 | 71 | ||
72 | #define __cpu_is_pxa255(id) \ | ||
73 | ({ \ | ||
74 | unsigned int _id = (id) >> 4 & 0xfff; \ | ||
75 | _id == 0x2d0; \ | ||
76 | }) | ||
77 | |||
72 | #define __cpu_is_pxa25x(id) \ | 78 | #define __cpu_is_pxa25x(id) \ |
73 | ({ \ | 79 | ({ \ |
74 | unsigned int _id = (id) >> 4 & 0xfff; \ | 80 | unsigned int _id = (id) >> 4 & 0xfff; \ |
@@ -76,6 +82,7 @@ | |||
76 | }) | 82 | }) |
77 | #else | 83 | #else |
78 | #define __cpu_is_pxa21x(id) (0) | 84 | #define __cpu_is_pxa21x(id) (0) |
85 | #define __cpu_is_pxa255(id) (0) | ||
79 | #define __cpu_is_pxa25x(id) (0) | 86 | #define __cpu_is_pxa25x(id) (0) |
80 | #endif | 87 | #endif |
81 | 88 | ||
@@ -119,11 +126,26 @@ | |||
119 | #define __cpu_is_pxa320(id) (0) | 126 | #define __cpu_is_pxa320(id) (0) |
120 | #endif | 127 | #endif |
121 | 128 | ||
129 | #ifdef CONFIG_CPU_PXA930 | ||
130 | #define __cpu_is_pxa930(id) \ | ||
131 | ({ \ | ||
132 | unsigned int _id = (id) >> 4 & 0xfff; \ | ||
133 | _id == 0x683; \ | ||
134 | }) | ||
135 | #else | ||
136 | #define __cpu_is_pxa930(id) (0) | ||
137 | #endif | ||
138 | |||
122 | #define cpu_is_pxa21x() \ | 139 | #define cpu_is_pxa21x() \ |
123 | ({ \ | 140 | ({ \ |
124 | __cpu_is_pxa21x(read_cpuid_id()); \ | 141 | __cpu_is_pxa21x(read_cpuid_id()); \ |
125 | }) | 142 | }) |
126 | 143 | ||
144 | #define cpu_is_pxa255() \ | ||
145 | ({ \ | ||
146 | __cpu_is_pxa255(read_cpuid_id()); \ | ||
147 | }) | ||
148 | |||
127 | #define cpu_is_pxa25x() \ | 149 | #define cpu_is_pxa25x() \ |
128 | ({ \ | 150 | ({ \ |
129 | __cpu_is_pxa25x(read_cpuid_id()); \ | 151 | __cpu_is_pxa25x(read_cpuid_id()); \ |
@@ -149,6 +171,12 @@ | |||
149 | __cpu_is_pxa320(read_cpuid_id()); \ | 171 | __cpu_is_pxa320(read_cpuid_id()); \ |
150 | }) | 172 | }) |
151 | 173 | ||
174 | #define cpu_is_pxa930() \ | ||
175 | ({ \ | ||
176 | unsigned int id = read_cpuid(CPUID_ID); \ | ||
177 | __cpu_is_pxa930(id); \ | ||
178 | }) | ||
179 | |||
152 | /* | 180 | /* |
153 | * CPUID Core Generation Bit | 181 | * CPUID Core Generation Bit |
154 | * <= 0x2 for pxa21x/pxa25x/pxa26x/pxa27x | 182 | * <= 0x2 for pxa21x/pxa25x/pxa26x/pxa27x |
@@ -196,6 +224,11 @@ extern void pxa_gpio_set_value(unsigned gpio, int value); | |||
196 | */ | 224 | */ |
197 | extern unsigned int get_memclk_frequency_10khz(void); | 225 | extern unsigned int get_memclk_frequency_10khz(void); |
198 | 226 | ||
227 | /* | ||
228 | * register GPIO as reset generator | ||
229 | */ | ||
230 | extern int init_gpio_reset(int gpio); | ||
231 | |||
199 | #endif | 232 | #endif |
200 | 233 | ||
201 | #if defined(CONFIG_MACH_ARMCORE) && defined(CONFIG_PCI) | 234 | #if defined(CONFIG_MACH_ARMCORE) && defined(CONFIG_PCI) |
diff --git a/include/asm-arm/arch-pxa/irqs.h b/include/asm-arm/arch-pxa/irqs.h index b6c8fe377683..9413121b0ed9 100644 --- a/include/asm-arm/arch-pxa/irqs.h +++ b/include/asm-arm/arch-pxa/irqs.h | |||
@@ -180,10 +180,13 @@ | |||
180 | #define NR_IRQS (IRQ_LOCOMO_SPI_TEND + 1) | 180 | #define NR_IRQS (IRQ_LOCOMO_SPI_TEND + 1) |
181 | #elif defined(CONFIG_ARCH_LUBBOCK) || \ | 181 | #elif defined(CONFIG_ARCH_LUBBOCK) || \ |
182 | defined(CONFIG_MACH_LOGICPD_PXA270) || \ | 182 | defined(CONFIG_MACH_LOGICPD_PXA270) || \ |
183 | defined(CONFIG_MACH_TOSA) || \ | ||
183 | defined(CONFIG_MACH_MAINSTONE) || \ | 184 | defined(CONFIG_MACH_MAINSTONE) || \ |
184 | defined(CONFIG_MACH_PCM027) || \ | 185 | defined(CONFIG_MACH_PCM027) || \ |
185 | defined(CONFIG_MACH_MAGICIAN) | 186 | defined(CONFIG_MACH_MAGICIAN) |
186 | #define NR_IRQS (IRQ_BOARD_END) | 187 | #define NR_IRQS (IRQ_BOARD_END) |
188 | #elif defined(CONFIG_MACH_ZYLONITE) | ||
189 | #define NR_IRQS (IRQ_BOARD_START + 32) | ||
187 | #else | 190 | #else |
188 | #define NR_IRQS (IRQ_BOARD_START) | 191 | #define NR_IRQS (IRQ_BOARD_START) |
189 | #endif | 192 | #endif |
diff --git a/include/asm-arm/arch-pxa/mfp-pxa2xx.h b/include/asm-arm/arch-pxa/mfp-pxa2xx.h index db8d890d237c..8de1c0dae624 100644 --- a/include/asm-arm/arch-pxa/mfp-pxa2xx.h +++ b/include/asm-arm/arch-pxa/mfp-pxa2xx.h | |||
@@ -128,5 +128,6 @@ | |||
128 | #define GPIO84_GPIO MFP_CFG_IN(GPIO84, AF0) | 128 | #define GPIO84_GPIO MFP_CFG_IN(GPIO84, AF0) |
129 | 129 | ||
130 | extern void pxa2xx_mfp_config(unsigned long *mfp_cfgs, int num); | 130 | extern void pxa2xx_mfp_config(unsigned long *mfp_cfgs, int num); |
131 | extern void pxa2xx_mfp_set_lpm(int mfp, unsigned long lpm); | ||
131 | extern int gpio_set_wake(unsigned int gpio, unsigned int on); | 132 | extern int gpio_set_wake(unsigned int gpio, unsigned int on); |
132 | #endif /* __ASM_ARCH_MFP_PXA2XX_H */ | 133 | #endif /* __ASM_ARCH_MFP_PXA2XX_H */ |
diff --git a/include/asm-arm/arch-pxa/mfp-pxa930.h b/include/asm-arm/arch-pxa/mfp-pxa930.h new file mode 100644 index 000000000000..c4e945ab1923 --- /dev/null +++ b/include/asm-arm/arch-pxa/mfp-pxa930.h | |||
@@ -0,0 +1,491 @@ | |||
1 | /* | ||
2 | * linux/include/asm-arm/arch-pxa/mfp-pxa930.h | ||
3 | * | ||
4 | * PXA930 specific MFP configuration definitions | ||
5 | * | ||
6 | * Copyright (C) 2007-2008 Marvell International Ltd. | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #ifndef __ASM_ARCH_MFP_PXA9xx_H | ||
14 | #define __ASM_ARCH_MFP_PXA9xx_H | ||
15 | |||
16 | #include <asm/arch/mfp.h> | ||
17 | #include <asm/arch/mfp-pxa3xx.h> | ||
18 | |||
19 | /* GPIO */ | ||
20 | #define GPIO46_GPIO MFP_CFG(GPIO46, AF0) | ||
21 | #define GPIO49_GPIO MFP_CFG(GPIO49, AF0) | ||
22 | #define GPIO50_GPIO MFP_CFG(GPIO50, AF0) | ||
23 | #define GPIO51_GPIO MFP_CFG(GPIO51, AF0) | ||
24 | #define GPIO52_GPIO MFP_CFG(GPIO52, AF0) | ||
25 | #define GPIO56_GPIO MFP_CFG(GPIO56, AF0) | ||
26 | #define GPIO58_GPIO MFP_CFG(GPIO58, AF0) | ||
27 | #define GPIO59_GPIO MFP_CFG(GPIO59, AF0) | ||
28 | #define GPIO60_GPIO MFP_CFG(GPIO60, AF0) | ||
29 | #define GPIO61_GPIO MFP_CFG(GPIO61, AF0) | ||
30 | #define GPIO62_GPIO MFP_CFG(GPIO62, AF0) | ||
31 | |||
32 | #define GSIM_UCLK_GPIO_79 MFP_CFG(GSIM_UCLK, AF0) | ||
33 | #define GSIM_UIO_GPIO_80 MFP_CFG(GSIM_UIO, AF0) | ||
34 | #define GSIM_nURST_GPIO_81 MFP_CFG(GSIM_nURST, AF0) | ||
35 | #define GSIM_UDET_GPIO_82 MFP_CFG(GSIM_UDET, AF0) | ||
36 | |||
37 | #define DF_IO15_GPIO_28 MFP_CFG(DF_IO15, AF0) | ||
38 | #define DF_IO14_GPIO_29 MFP_CFG(DF_IO14, AF0) | ||
39 | #define DF_IO13_GPIO_30 MFP_CFG(DF_IO13, AF0) | ||
40 | #define DF_IO12_GPIO_31 MFP_CFG(DF_IO12, AF0) | ||
41 | #define DF_IO11_GPIO_32 MFP_CFG(DF_IO11, AF0) | ||
42 | #define DF_IO10_GPIO_33 MFP_CFG(DF_IO10, AF0) | ||
43 | #define DF_IO9_GPIO_34 MFP_CFG(DF_IO9, AF0) | ||
44 | #define DF_IO8_GPIO_35 MFP_CFG(DF_IO8, AF0) | ||
45 | #define DF_IO7_GPIO_36 MFP_CFG(DF_IO7, AF0) | ||
46 | #define DF_IO6_GPIO_37 MFP_CFG(DF_IO6, AF0) | ||
47 | #define DF_IO5_GPIO_38 MFP_CFG(DF_IO5, AF0) | ||
48 | #define DF_IO4_GPIO_39 MFP_CFG(DF_IO4, AF0) | ||
49 | #define DF_IO3_GPIO_40 MFP_CFG(DF_IO3, AF0) | ||
50 | #define DF_IO2_GPIO_41 MFP_CFG(DF_IO2, AF0) | ||
51 | #define DF_IO1_GPIO_42 MFP_CFG(DF_IO1, AF0) | ||
52 | #define DF_IO0_GPIO_43 MFP_CFG(DF_IO0, AF0) | ||
53 | #define DF_nCS0_GPIO_44 MFP_CFG(DF_nCS0, AF0) | ||
54 | #define DF_nCS1_GPIO_45 MFP_CFG(DF_nCS1, AF0) | ||
55 | #define DF_nWE_GPIO_46 MFP_CFG(DF_nWE, AF0) | ||
56 | #define DF_nRE_nOE_GPIO_47 MFP_CFG(DF_nRE_nOE, AF0) | ||
57 | #define DF_CLE_nOE_GPIO_48 MFP_CFG(DF_CLE_nOE, AF0) | ||
58 | #define DF_nADV1_ALE_GPIO_49 MFP_CFG(DF_nADV1_ALE, AF0) | ||
59 | #define DF_nADV2_ALE_GPIO_50 MFP_CFG(DF_nADV2_ALE, AF0) | ||
60 | #define DF_INT_RnB_GPIO_51 MFP_CFG(DF_INT_RnB, AF0) | ||
61 | #define DF_SCLK_E_GPIO_52 MFP_CFG(DF_SCLK_E, AF0) | ||
62 | |||
63 | #define DF_ADDR0_GPIO_53 MFP_CFG(DF_ADDR0, AF0) | ||
64 | #define DF_ADDR1_GPIO_54 MFP_CFG(DF_ADDR1, AF0) | ||
65 | #define DF_ADDR2_GPIO_55 MFP_CFG(DF_ADDR2, AF0) | ||
66 | #define DF_ADDR3_GPIO_56 MFP_CFG(DF_ADDR3, AF0) | ||
67 | #define nXCVREN_GPIO_57 MFP_CFG(nXCVREN, AF0) | ||
68 | #define nLUA_GPIO_58 MFP_CFG(nLUA, AF0) | ||
69 | #define nLLA_GPIO_59 MFP_CFG(nLLA, AF0) | ||
70 | #define nBE0_GPIO_60 MFP_CFG(nBE0, AF0) | ||
71 | #define nBE1_GPIO_61 MFP_CFG(nBE1, AF0) | ||
72 | #define RDY_GPIO_62 MFP_CFG(RDY, AF0) | ||
73 | |||
74 | /* Chip Select */ | ||
75 | #define DF_nCS0_nCS2 MFP_CFG_LPM(DF_nCS0, AF3, PULL_HIGH) | ||
76 | #define DF_nCS1_nCS3 MFP_CFG_LPM(DF_nCS1, AF3, PULL_HIGH) | ||
77 | |||
78 | /* AC97 */ | ||
79 | #define GPIO83_BAC97_SYSCLK MFP_CFG(GPIO83, AF3) | ||
80 | #define GPIO84_BAC97_SDATA_IN0 MFP_CFG(GPIO84, AF3) | ||
81 | #define GPIO85_BAC97_BITCLK MFP_CFG(GPIO85, AF3) | ||
82 | #define GPIO86_BAC97_nRESET MFP_CFG(GPIO86, AF3) | ||
83 | #define GPIO87_BAC97_SYNC MFP_CFG(GPIO87, AF3) | ||
84 | #define GPIO88_BAC97_SDATA_OUT MFP_CFG(GPIO88, AF3) | ||
85 | |||
86 | /* I2C */ | ||
87 | #define GPIO39_CI2C_SCL MFP_CFG_LPM(GPIO39, AF3, PULL_HIGH) | ||
88 | #define GPIO40_CI2C_SDA MFP_CFG_LPM(GPIO40, AF3, PULL_HIGH) | ||
89 | |||
90 | #define GPIO51_CI2C_SCL MFP_CFG_LPM(GPIO51, AF3, PULL_HIGH) | ||
91 | #define GPIO52_CI2C_SDA MFP_CFG_LPM(GPIO52, AF3, PULL_HIGH) | ||
92 | |||
93 | #define GPIO63_CI2C_SCL MFP_CFG_LPM(GPIO63, AF4, PULL_HIGH) | ||
94 | #define GPIO64_CI2C_SDA MFP_CFG_LPM(GPIO64, AF4, PULL_HIGH) | ||
95 | |||
96 | #define GPIO77_CI2C_SCL MFP_CFG_LPM(GPIO77, AF2, PULL_HIGH) | ||
97 | #define GPIO78_CI2C_SDA MFP_CFG_LPM(GPIO78, AF2, PULL_HIGH) | ||
98 | |||
99 | #define GPIO89_CI2C_SCL MFP_CFG_LPM(GPIO89, AF1, PULL_HIGH) | ||
100 | #define GPIO90_CI2C_SDA MFP_CFG_LPM(GPIO90, AF1, PULL_HIGH) | ||
101 | |||
102 | #define GPIO95_CI2C_SCL MFP_CFG_LPM(GPIO95, AF1, PULL_HIGH) | ||
103 | #define GPIO96_CI2C_SDA MFP_CFG_LPM(GPIO96, AF1, PULL_HIGH) | ||
104 | |||
105 | #define GPIO97_CI2C_SCL MFP_CFG_LPM(GPIO97, AF3, PULL_HIGH) | ||
106 | #define GPIO98_CI2C_SDA MFP_CFG_LPM(GPIO98, AF3, PULL_HIGH) | ||
107 | |||
108 | /* QCI */ | ||
109 | #define GPIO63_CI_DD_9 MFP_CFG_LPM(GPIO63, AF1, PULL_LOW) | ||
110 | #define GPIO64_CI_DD_8 MFP_CFG_LPM(GPIO64, AF1, PULL_LOW) | ||
111 | #define GPIO65_CI_DD_7 MFP_CFG_LPM(GPIO65, AF1, PULL_LOW) | ||
112 | #define GPIO66_CI_DD_6 MFP_CFG_LPM(GPIO66, AF1, PULL_LOW) | ||
113 | #define GPIO67_CI_DD_5 MFP_CFG_LPM(GPIO67, AF1, PULL_LOW) | ||
114 | #define GPIO68_CI_DD_4 MFP_CFG_LPM(GPIO68, AF1, PULL_LOW) | ||
115 | #define GPIO69_CI_DD_3 MFP_CFG_LPM(GPIO69, AF1, PULL_LOW) | ||
116 | #define GPIO70_CI_DD_2 MFP_CFG_LPM(GPIO70, AF1, PULL_LOW) | ||
117 | #define GPIO71_CI_DD_1 MFP_CFG_LPM(GPIO71, AF1, PULL_LOW) | ||
118 | #define GPIO72_CI_DD_0 MFP_CFG_LPM(GPIO72, AF1, PULL_LOW) | ||
119 | #define GPIO73_CI_HSYNC MFP_CFG_LPM(GPIO73, AF1, PULL_LOW) | ||
120 | #define GPIO74_CI_VSYNC MFP_CFG_LPM(GPIO74, AF1, PULL_LOW) | ||
121 | #define GPIO75_CI_MCLK MFP_CFG_LPM(GPIO75, AF1, PULL_LOW) | ||
122 | #define GPIO76_CI_PCLK MFP_CFG_LPM(GPIO76, AF1, PULL_LOW) | ||
123 | |||
124 | /* KEYPAD */ | ||
125 | #define GPIO4_KP_DKIN_4 MFP_CFG_LPM(GPIO4, AF3, FLOAT) | ||
126 | #define GPIO5_KP_DKIN_5 MFP_CFG_LPM(GPIO5, AF3, FLOAT) | ||
127 | #define GPIO6_KP_DKIN_6 MFP_CFG_LPM(GPIO6, AF3, FLOAT) | ||
128 | #define GPIO7_KP_DKIN_7 MFP_CFG_LPM(GPIO7, AF3, FLOAT) | ||
129 | #define GPIO8_KP_DKIN_4 MFP_CFG_LPM(GPIO8, AF3, FLOAT) | ||
130 | #define GPIO9_KP_DKIN_5 MFP_CFG_LPM(GPIO9, AF3, FLOAT) | ||
131 | #define GPIO10_KP_DKIN_6 MFP_CFG_LPM(GPIO10, AF3, FLOAT) | ||
132 | #define GPIO11_KP_DKIN_7 MFP_CFG_LPM(GPIO11, AF3, FLOAT) | ||
133 | |||
134 | #define GPIO12_KP_DKIN_0 MFP_CFG_LPM(GPIO12, AF2, FLOAT) | ||
135 | #define GPIO13_KP_DKIN_1 MFP_CFG_LPM(GPIO13, AF2, FLOAT) | ||
136 | #define GPIO14_KP_DKIN_2 MFP_CFG_LPM(GPIO14, AF2, FLOAT) | ||
137 | #define GPIO15_KP_DKIN_3 MFP_CFG_LPM(GPIO15, AF2, FLOAT) | ||
138 | |||
139 | #define GPIO41_KP_DKIN_0 MFP_CFG_LPM(GPIO41, AF2, FLOAT) | ||
140 | #define GPIO42_KP_DKIN_1 MFP_CFG_LPM(GPIO42, AF2, FLOAT) | ||
141 | #define GPIO43_KP_DKIN_2 MFP_CFG_LPM(GPIO43, AF2, FLOAT) | ||
142 | #define GPIO44_KP_DKIN_3 MFP_CFG_LPM(GPIO44, AF2, FLOAT) | ||
143 | #define GPIO41_KP_DKIN_4 MFP_CFG_LPM(GPIO41, AF4, FLOAT) | ||
144 | #define GPIO42_KP_DKIN_5 MFP_CFG_LPM(GPIO42, AF4, FLOAT) | ||
145 | |||
146 | #define GPIO0_KP_MKIN_0 MFP_CFG_LPM(GPIO0, AF1, FLOAT) | ||
147 | #define GPIO2_KP_MKIN_1 MFP_CFG_LPM(GPIO2, AF1, FLOAT) | ||
148 | #define GPIO4_KP_MKIN_2 MFP_CFG_LPM(GPIO4, AF1, FLOAT) | ||
149 | #define GPIO6_KP_MKIN_3 MFP_CFG_LPM(GPIO6, AF1, FLOAT) | ||
150 | #define GPIO8_KP_MKIN_4 MFP_CFG_LPM(GPIO8, AF1, FLOAT) | ||
151 | #define GPIO10_KP_MKIN_5 MFP_CFG_LPM(GPIO10, AF1, FLOAT) | ||
152 | #define GPIO12_KP_MKIN_6 MFP_CFG_LPM(GPIO12, AF1, FLOAT) | ||
153 | #define GPIO14_KP_MKIN_7 MFP_CFG(GPIO14, AF1) | ||
154 | #define GPIO35_KP_MKIN_5 MFP_CFG(GPIO35, AF4) | ||
155 | |||
156 | #define GPIO1_KP_MKOUT_0 MFP_CFG_LPM(GPIO1, AF1, DRIVE_HIGH) | ||
157 | #define GPIO3_KP_MKOUT_1 MFP_CFG_LPM(GPIO3, AF1, DRIVE_HIGH) | ||
158 | #define GPIO5_KP_MKOUT_2 MFP_CFG_LPM(GPIO5, AF1, DRIVE_HIGH) | ||
159 | #define GPIO7_KP_MKOUT_3 MFP_CFG_LPM(GPIO7, AF1, DRIVE_HIGH) | ||
160 | #define GPIO9_KP_MKOUT_4 MFP_CFG_LPM(GPIO9, AF1, DRIVE_HIGH) | ||
161 | #define GPIO11_KP_MKOUT_5 MFP_CFG_LPM(GPIO11, AF1, DRIVE_HIGH) | ||
162 | #define GPIO13_KP_MKOUT_6 MFP_CFG_LPM(GPIO13, AF1, DRIVE_HIGH) | ||
163 | #define GPIO15_KP_MKOUT_7 MFP_CFG_LPM(GPIO15, AF1, DRIVE_HIGH) | ||
164 | #define GPIO36_KP_MKOUT_5 MFP_CFG_LPM(GPIO36, AF4, DRIVE_HIGH) | ||
165 | |||
166 | /* LCD */ | ||
167 | #define GPIO17_LCD_FCLK_RD MFP_CFG(GPIO17, AF1) | ||
168 | #define GPIO18_LCD_LCLK_A0 MFP_CFG(GPIO18, AF1) | ||
169 | #define GPIO19_LCD_PCLK_WR MFP_CFG(GPIO19, AF1) | ||
170 | #define GPIO20_LCD_BIAS MFP_CFG(GPIO20, AF1) | ||
171 | #define GPIO21_LCD_CS MFP_CFG(GPIO21, AF1) | ||
172 | #define GPIO22_LCD_CS2 MFP_CFG(GPIO22, AF2) | ||
173 | #define GPIO22_LCD_VSYNC MFP_CFG(GPIO22, AF1) | ||
174 | #define GPIO23_LCD_DD0 MFP_CFG(GPIO23, AF1) | ||
175 | #define GPIO24_LCD_DD1 MFP_CFG(GPIO24, AF1) | ||
176 | #define GPIO25_LCD_DD2 MFP_CFG(GPIO25, AF1) | ||
177 | #define GPIO26_LCD_DD3 MFP_CFG(GPIO26, AF1) | ||
178 | #define GPIO27_LCD_DD4 MFP_CFG(GPIO27, AF1) | ||
179 | #define GPIO28_LCD_DD5 MFP_CFG(GPIO28, AF1) | ||
180 | #define GPIO29_LCD_DD6 MFP_CFG(GPIO29, AF1) | ||
181 | #define GPIO30_LCD_DD7 MFP_CFG(GPIO30, AF1) | ||
182 | #define GPIO31_LCD_DD8 MFP_CFG(GPIO31, AF1) | ||
183 | #define GPIO32_LCD_DD9 MFP_CFG(GPIO32, AF1) | ||
184 | #define GPIO33_LCD_DD10 MFP_CFG(GPIO33, AF1) | ||
185 | #define GPIO34_LCD_DD11 MFP_CFG(GPIO34, AF1) | ||
186 | #define GPIO35_LCD_DD12 MFP_CFG(GPIO35, AF1) | ||
187 | #define GPIO36_LCD_DD13 MFP_CFG(GPIO36, AF1) | ||
188 | #define GPIO37_LCD_DD14 MFP_CFG(GPIO37, AF1) | ||
189 | #define GPIO38_LCD_DD15 MFP_CFG(GPIO38, AF1) | ||
190 | #define GPIO39_LCD_DD16 MFP_CFG(GPIO39, AF1) | ||
191 | #define GPIO40_LCD_DD17 MFP_CFG(GPIO40, AF1) | ||
192 | #define GPIO41_LCD_CS2 MFP_CFG(GPIO41, AF3) | ||
193 | #define GPIO42_LCD_VSYNC2 MFP_CFG(GPIO42, AF3) | ||
194 | #define GPIO44_LCD_DD7 MFP_CFG(GPIO44, AF1) | ||
195 | |||
196 | /* Mini-LCD */ | ||
197 | #define GPIO17_MLCD_FCLK MFP_CFG(GPIO17, AF3) | ||
198 | #define GPIO18_MLCD_LCLK MFP_CFG(GPIO18, AF3) | ||
199 | #define GPIO19_MLCD_PCLK MFP_CFG(GPIO19, AF3) | ||
200 | #define GPIO20_MLCD_BIAS MFP_CFG(GPIO20, AF3) | ||
201 | #define GPIO23_MLCD_DD0 MFP_CFG(GPIO23, AF3) | ||
202 | #define GPIO24_MLCD_DD1 MFP_CFG(GPIO24, AF3) | ||
203 | #define GPIO25_MLCD_DD2 MFP_CFG(GPIO25, AF3) | ||
204 | #define GPIO26_MLCD_DD3 MFP_CFG(GPIO26, AF3) | ||
205 | #define GPIO27_MLCD_DD4 MFP_CFG(GPIO27, AF3) | ||
206 | #define GPIO28_MLCD_DD5 MFP_CFG(GPIO28, AF3) | ||
207 | #define GPIO29_MLCD_DD6 MFP_CFG(GPIO29, AF3) | ||
208 | #define GPIO30_MLCD_DD7 MFP_CFG(GPIO30, AF3) | ||
209 | #define GPIO31_MLCD_DD8 MFP_CFG(GPIO31, AF3) | ||
210 | #define GPIO32_MLCD_DD9 MFP_CFG(GPIO32, AF3) | ||
211 | #define GPIO33_MLCD_DD10 MFP_CFG(GPIO33, AF3) | ||
212 | #define GPIO34_MLCD_DD11 MFP_CFG(GPIO34, AF3) | ||
213 | #define GPIO35_MLCD_DD12 MFP_CFG(GPIO35, AF3) | ||
214 | #define GPIO36_MLCD_DD13 MFP_CFG(GPIO36, AF3) | ||
215 | #define GPIO37_MLCD_DD14 MFP_CFG(GPIO37, AF3) | ||
216 | #define GPIO38_MLCD_DD15 MFP_CFG(GPIO38, AF3) | ||
217 | #define GPIO44_MLCD_DD7 MFP_CFG(GPIO44, AF5) | ||
218 | |||
219 | /* MMC1 */ | ||
220 | #define GPIO10_MMC1_DAT3 MFP_CFG(GPIO10, AF4) | ||
221 | #define GPIO11_MMC1_DAT2 MFP_CFG(GPIO11, AF4) | ||
222 | #define GPIO12_MMC1_DAT1 MFP_CFG(GPIO12, AF4) | ||
223 | #define GPIO13_MMC1_DAT0 MFP_CFG(GPIO13, AF4) | ||
224 | #define GPIO14_MMC1_CMD MFP_CFG(GPIO14, AF4) | ||
225 | #define GPIO15_MMC1_CLK MFP_CFG(GPIO15, AF4) | ||
226 | #define GPIO55_MMC1_CMD MFP_CFG(GPIO55, AF3) | ||
227 | #define GPIO56_MMC1_CLK MFP_CFG(GPIO56, AF3) | ||
228 | #define GPIO57_MMC1_DAT0 MFP_CFG(GPIO57, AF3) | ||
229 | #define GPIO58_MMC1_DAT1 MFP_CFG(GPIO58, AF3) | ||
230 | #define GPIO59_MMC1_DAT2 MFP_CFG(GPIO59, AF3) | ||
231 | #define GPIO60_MMC1_DAT3 MFP_CFG(GPIO60, AF3) | ||
232 | |||
233 | #define DF_ADDR0_MMC1_CLK MFP_CFG(DF_ADDR0, AF2) | ||
234 | #define DF_ADDR1_MMC1_CMD MFP_CFG(DF_ADDR1, AF2) | ||
235 | #define DF_ADDR2_MMC1_DAT0 MFP_CFG(DF_ADDR2, AF2) | ||
236 | #define DF_ADDR3_MMC1_DAT1 MFP_CFG(DF_ADDR3, AF3) | ||
237 | #define nXCVREN_MMC1_DAT2 MFP_CFG(nXCVREN, AF2) | ||
238 | |||
239 | /* MMC2 */ | ||
240 | #define GPIO31_MMC2_CMD MFP_CFG(GPIO31, AF7) | ||
241 | #define GPIO32_MMC2_CLK MFP_CFG(GPIO32, AF7) | ||
242 | #define GPIO33_MMC2_DAT0 MFP_CFG(GPIO33, AF7) | ||
243 | #define GPIO34_MMC2_DAT1 MFP_CFG(GPIO34, AF7) | ||
244 | #define GPIO35_MMC2_DAT2 MFP_CFG(GPIO35, AF7) | ||
245 | #define GPIO36_MMC2_DAT3 MFP_CFG(GPIO36, AF7) | ||
246 | |||
247 | #define GPIO101_MMC2_DAT3 MFP_CFG(GPIO101, AF1) | ||
248 | #define GPIO102_MMC2_DAT2 MFP_CFG(GPIO102, AF1) | ||
249 | #define GPIO103_MMC2_DAT1 MFP_CFG(GPIO103, AF1) | ||
250 | #define GPIO104_MMC2_DAT0 MFP_CFG(GPIO104, AF1) | ||
251 | #define GPIO105_MMC2_CMD MFP_CFG(GPIO105, AF1) | ||
252 | #define GPIO106_MMC2_CLK MFP_CFG(GPIO106, AF1) | ||
253 | |||
254 | #define DF_IO10_MMC2_DAT3 MFP_CFG(DF_IO10, AF3) | ||
255 | #define DF_IO11_MMC2_DAT2 MFP_CFG(DF_IO11, AF3) | ||
256 | #define DF_IO12_MMC2_DAT1 MFP_CFG(DF_IO12, AF3) | ||
257 | #define DF_IO13_MMC2_DAT0 MFP_CFG(DF_IO13, AF3) | ||
258 | #define DF_IO14_MMC2_CLK MFP_CFG(DF_IO14, AF3) | ||
259 | #define DF_IO15_MMC2_CMD MFP_CFG(DF_IO15, AF3) | ||
260 | |||
261 | /* BSSP1 */ | ||
262 | #define GPIO12_BSSP1_CLK MFP_CFG(GPIO12, AF3) | ||
263 | #define GPIO13_BSSP1_FRM MFP_CFG(GPIO13, AF3) | ||
264 | #define GPIO14_BSSP1_RXD MFP_CFG(GPIO14, AF3) | ||
265 | #define GPIO15_BSSP1_TXD MFP_CFG(GPIO15, AF3) | ||
266 | #define GPIO97_BSSP1_CLK MFP_CFG(GPIO97, AF5) | ||
267 | #define GPIO98_BSSP1_FRM MFP_CFG(GPIO98, AF5) | ||
268 | |||
269 | /* BSSP2 */ | ||
270 | #define GPIO84_BSSP2_SDATA_IN MFP_CFG(GPIO84, AF1) | ||
271 | #define GPIO85_BSSP2_BITCLK MFP_CFG(GPIO85, AF1) | ||
272 | #define GPIO86_BSSP2_SYSCLK MFP_CFG(GPIO86, AF1) | ||
273 | #define GPIO87_BSSP2_SYNC MFP_CFG(GPIO87, AF1) | ||
274 | #define GPIO88_BSSP2_DATA_OUT MFP_CFG(GPIO88, AF1) | ||
275 | #define GPIO86_BSSP2_SDATA_IN MFP_CFG(GPIO86, AF4) | ||
276 | |||
277 | /* BSSP3 */ | ||
278 | #define GPIO79_BSSP3_CLK MFP_CFG(GPIO79, AF1) | ||
279 | #define GPIO80_BSSP3_FRM MFP_CFG(GPIO80, AF1) | ||
280 | #define GPIO81_BSSP3_TXD MFP_CFG(GPIO81, AF1) | ||
281 | #define GPIO82_BSSP3_RXD MFP_CFG(GPIO82, AF1) | ||
282 | #define GPIO83_BSSP3_SYSCLK MFP_CFG(GPIO83, AF1) | ||
283 | |||
284 | /* BSSP4 */ | ||
285 | #define GPIO43_BSSP4_CLK MFP_CFG(GPIO43, AF4) | ||
286 | #define GPIO44_BSSP4_FRM MFP_CFG(GPIO44, AF4) | ||
287 | #define GPIO45_BSSP4_TXD MFP_CFG(GPIO45, AF4) | ||
288 | #define GPIO46_BSSP4_RXD MFP_CFG(GPIO46, AF4) | ||
289 | |||
290 | #define GPIO51_BSSP4_CLK MFP_CFG(GPIO51, AF4) | ||
291 | #define GPIO52_BSSP4_FRM MFP_CFG(GPIO52, AF4) | ||
292 | #define GPIO53_BSSP4_TXD MFP_CFG(GPIO53, AF4) | ||
293 | #define GPIO54_BSSP4_RXD MFP_CFG(GPIO54, AF4) | ||
294 | |||
295 | /* GSSP1 */ | ||
296 | #define GPIO79_GSSP1_CLK MFP_CFG(GPIO79, AF2) | ||
297 | #define GPIO80_GSSP1_FRM MFP_CFG(GPIO80, AF2) | ||
298 | #define GPIO81_GSSP1_TXD MFP_CFG(GPIO81, AF2) | ||
299 | #define GPIO82_GSSP1_RXD MFP_CFG(GPIO82, AF2) | ||
300 | #define GPIO83_GSSP1_SYSCLK MFP_CFG(GPIO83, AF2) | ||
301 | |||
302 | #define GPIO93_GSSP1_CLK MFP_CFG(GPIO93, AF4) | ||
303 | #define GPIO94_GSSP1_FRM MFP_CFG(GPIO94, AF4) | ||
304 | #define GPIO95_GSSP1_TXD MFP_CFG(GPIO95, AF4) | ||
305 | #define GPIO96_GSSP1_RXD MFP_CFG(GPIO96, AF4) | ||
306 | |||
307 | /* GSSP2 */ | ||
308 | #define GPIO47_GSSP2_CLK MFP_CFG(GPIO47, AF4) | ||
309 | #define GPIO48_GSSP2_FRM MFP_CFG(GPIO48, AF4) | ||
310 | #define GPIO49_GSSP2_RXD MFP_CFG(GPIO49, AF4) | ||
311 | #define GPIO50_GSSP2_TXD MFP_CFG(GPIO50, AF4) | ||
312 | |||
313 | #define GPIO69_GSSP2_CLK MFP_CFG(GPIO69, AF4) | ||
314 | #define GPIO70_GSSP2_FRM MFP_CFG(GPIO70, AF4) | ||
315 | #define GPIO71_GSSP2_RXD MFP_CFG(GPIO71, AF4) | ||
316 | #define GPIO72_GSSP2_TXD MFP_CFG(GPIO72, AF4) | ||
317 | |||
318 | #define GPIO84_GSSP2_RXD MFP_CFG(GPIO84, AF2) | ||
319 | #define GPIO85_GSSP2_CLK MFP_CFG(GPIO85, AF2) | ||
320 | #define GPIO86_GSSP2_SYSCLK MFP_CFG(GPIO86, AF2) | ||
321 | #define GPIO87_GSSP2_FRM MFP_CFG(GPIO87, AF2) | ||
322 | #define GPIO88_GSSP2_TXD MFP_CFG(GPIO88, AF2) | ||
323 | #define GPIO86_GSSP2_RXD MFP_CFG(GPIO86, AF5) | ||
324 | |||
325 | #define GPIO103_GSSP2_CLK MFP_CFG(GPIO103, AF2) | ||
326 | #define GPIO104_GSSP2_FRM MFP_CFG(GPIO104, AF2) | ||
327 | #define GPIO105_GSSP2_RXD MFP_CFG(GPIO105, AF2) | ||
328 | #define GPIO106_GSSP2_TXD MFP_CFG(GPIO106, AF2) | ||
329 | |||
330 | /* UART1 - FFUART */ | ||
331 | #define GPIO47_UART1_DSR_N MFP_CFG(GPIO47, AF1) | ||
332 | #define GPIO48_UART1_DTR_N MFP_CFG(GPIO48, AF1) | ||
333 | #define GPIO49_UART1_RI MFP_CFG(GPIO49, AF1) | ||
334 | #define GPIO50_UART1_DCD MFP_CFG(GPIO50, AF1) | ||
335 | #define GPIO51_UART1_CTS MFP_CFG(GPIO51, AF1) | ||
336 | #define GPIO52_UART1_RTS MFP_CFG(GPIO52, AF1) | ||
337 | #define GPIO53_UART1_RXD MFP_CFG(GPIO53, AF1) | ||
338 | #define GPIO54_UART1_TXD MFP_CFG(GPIO54, AF1) | ||
339 | |||
340 | #define GPIO63_UART1_TXD MFP_CFG(GPIO63, AF2) | ||
341 | #define GPIO64_UART1_RXD MFP_CFG(GPIO64, AF2) | ||
342 | #define GPIO65_UART1_DSR MFP_CFG(GPIO65, AF2) | ||
343 | #define GPIO66_UART1_DTR MFP_CFG(GPIO66, AF2) | ||
344 | #define GPIO67_UART1_RI MFP_CFG(GPIO67, AF2) | ||
345 | #define GPIO68_UART1_DCD MFP_CFG(GPIO68, AF2) | ||
346 | #define GPIO69_UART1_CTS MFP_CFG(GPIO69, AF2) | ||
347 | #define GPIO70_UART1_RTS MFP_CFG(GPIO70, AF2) | ||
348 | |||
349 | /* UART2 - BTUART */ | ||
350 | #define GPIO91_UART2_RXD MFP_CFG(GPIO91, AF1) | ||
351 | #define GPIO92_UART2_TXD MFP_CFG(GPIO92, AF1) | ||
352 | #define GPIO93_UART2_CTS MFP_CFG(GPIO93, AF1) | ||
353 | #define GPIO94_UART2_RTS MFP_CFG(GPIO94, AF1) | ||
354 | |||
355 | /* UART3 - STUART */ | ||
356 | #define GPIO43_UART3_RTS MFP_CFG(GPIO43, AF3) | ||
357 | #define GPIO44_UART3_CTS MFP_CFG(GPIO44, AF3) | ||
358 | #define GPIO45_UART3_RXD MFP_CFG(GPIO45, AF3) | ||
359 | #define GPIO46_UART3_TXD MFP_CFG(GPIO46, AF3) | ||
360 | |||
361 | #define GPIO75_UART3_RTS MFP_CFG(GPIO75, AF5) | ||
362 | #define GPIO76_UART3_CTS MFP_CFG(GPIO76, AF5) | ||
363 | #define GPIO77_UART3_TXD MFP_CFG(GPIO77, AF5) | ||
364 | #define GPIO78_UART3_RXD MFP_CFG(GPIO78, AF5) | ||
365 | |||
366 | /* DFI */ | ||
367 | #define DF_IO0_DF_IO0 MFP_CFG(DF_IO0, AF2) | ||
368 | #define DF_IO1_DF_IO1 MFP_CFG(DF_IO1, AF2) | ||
369 | #define DF_IO2_DF_IO2 MFP_CFG(DF_IO2, AF2) | ||
370 | #define DF_IO3_DF_IO3 MFP_CFG(DF_IO3, AF2) | ||
371 | #define DF_IO4_DF_IO4 MFP_CFG(DF_IO4, AF2) | ||
372 | #define DF_IO5_DF_IO5 MFP_CFG(DF_IO5, AF2) | ||
373 | #define DF_IO6_DF_IO6 MFP_CFG(DF_IO6, AF2) | ||
374 | #define DF_IO7_DF_IO7 MFP_CFG(DF_IO7, AF2) | ||
375 | #define DF_IO8_DF_IO8 MFP_CFG(DF_IO8, AF2) | ||
376 | #define DF_IO9_DF_IO9 MFP_CFG(DF_IO9, AF2) | ||
377 | #define DF_IO10_DF_IO10 MFP_CFG(DF_IO10, AF2) | ||
378 | #define DF_IO11_DF_IO11 MFP_CFG(DF_IO11, AF2) | ||
379 | #define DF_IO12_DF_IO12 MFP_CFG(DF_IO12, AF2) | ||
380 | #define DF_IO13_DF_IO13 MFP_CFG(DF_IO13, AF2) | ||
381 | #define DF_IO14_DF_IO14 MFP_CFG(DF_IO14, AF2) | ||
382 | #define DF_IO15_DF_IO15 MFP_CFG(DF_IO15, AF2) | ||
383 | #define DF_nADV1_ALE_DF_nADV1 MFP_CFG(DF_nADV1_ALE, AF2) | ||
384 | #define DF_nADV2_ALE_DF_nADV2 MFP_CFG(DF_nADV2_ALE, AF2) | ||
385 | #define DF_nCS0_DF_nCS0 MFP_CFG(DF_nCS0, AF2) | ||
386 | #define DF_nCS1_DF_nCS1 MFP_CFG(DF_nCS1, AF2) | ||
387 | #define DF_nRE_nOE_DF_nOE MFP_CFG(DF_nRE_nOE, AF2) | ||
388 | #define DF_nWE_DF_nWE MFP_CFG(DF_nWE, AF2) | ||
389 | |||
390 | /* DFI - NAND */ | ||
391 | #define DF_CLE_nOE_ND_CLE MFP_CFG_LPM(DF_CLE_nOE, AF1, PULL_HIGH) | ||
392 | #define DF_INT_RnB_ND_INT_RnB MFP_CFG_LPM(DF_INT_RnB, AF1, PULL_LOW) | ||
393 | #define DF_IO0_ND_IO0 MFP_CFG_LPM(DF_IO0, AF1, PULL_LOW) | ||
394 | #define DF_IO1_ND_IO1 MFP_CFG_LPM(DF_IO1, AF1, PULL_LOW) | ||
395 | #define DF_IO2_ND_IO2 MFP_CFG_LPM(DF_IO2, AF1, PULL_LOW) | ||
396 | #define DF_IO3_ND_IO3 MFP_CFG_LPM(DF_IO3, AF1, PULL_LOW) | ||
397 | #define DF_IO4_ND_IO4 MFP_CFG_LPM(DF_IO4, AF1, PULL_LOW) | ||
398 | #define DF_IO5_ND_IO5 MFP_CFG_LPM(DF_IO5, AF1, PULL_LOW) | ||
399 | #define DF_IO6_ND_IO6 MFP_CFG_LPM(DF_IO6, AF1, PULL_LOW) | ||
400 | #define DF_IO7_ND_IO7 MFP_CFG_LPM(DF_IO7, AF1, PULL_LOW) | ||
401 | #define DF_IO8_ND_IO8 MFP_CFG_LPM(DF_IO8, AF1, PULL_LOW) | ||
402 | #define DF_IO9_ND_IO9 MFP_CFG_LPM(DF_IO9, AF1, PULL_LOW) | ||
403 | #define DF_IO10_ND_IO10 MFP_CFG_LPM(DF_IO10, AF1, PULL_LOW) | ||
404 | #define DF_IO11_ND_IO11 MFP_CFG_LPM(DF_IO11, AF1, PULL_LOW) | ||
405 | #define DF_IO12_ND_IO12 MFP_CFG_LPM(DF_IO12, AF1, PULL_LOW) | ||
406 | #define DF_IO13_ND_IO13 MFP_CFG_LPM(DF_IO13, AF1, PULL_LOW) | ||
407 | #define DF_IO14_ND_IO14 MFP_CFG_LPM(DF_IO14, AF1, PULL_LOW) | ||
408 | #define DF_IO15_ND_IO15 MFP_CFG_LPM(DF_IO15, AF1, PULL_LOW) | ||
409 | #define DF_nADV1_ALE_ND_ALE MFP_CFG_LPM(DF_nADV1_ALE, AF1, PULL_HIGH) | ||
410 | #define DF_nADV2_ALE_ND_ALE MFP_CFG_LPM(DF_nADV2_ALE, AF1, PULL_HIGH) | ||
411 | #define DF_nADV2_ALE_nCS3 MFP_CFG_LPM(DF_nADV2_ALE, AF3, PULL_HIGH) | ||
412 | #define DF_nCS0_ND_nCS0 MFP_CFG_LPM(DF_nCS0, AF1, PULL_HIGH) | ||
413 | #define DF_nCS1_ND_nCS1 MFP_CFG_LPM(DF_nCS1, AF1, PULL_HIGH) | ||
414 | #define DF_nRE_nOE_ND_nRE MFP_CFG_LPM(DF_nRE_nOE, AF1, PULL_HIGH) | ||
415 | #define DF_nWE_ND_nWE MFP_CFG_LPM(DF_nWE, AF1, PULL_HIGH) | ||
416 | |||
417 | /* PWM */ | ||
418 | #define GPIO41_PWM0 MFP_CFG_LPM(GPIO41, AF1, PULL_LOW) | ||
419 | #define GPIO42_PWM1 MFP_CFG_LPM(GPIO42, AF1, PULL_LOW) | ||
420 | #define GPIO43_PWM3 MFP_CFG_LPM(GPIO43, AF1, PULL_LOW) | ||
421 | #define GPIO20_PWM0 MFP_CFG_LPM(GPIO20, AF2, PULL_LOW) | ||
422 | #define GPIO21_PWM2 MFP_CFG_LPM(GPIO21, AF3, PULL_LOW) | ||
423 | #define GPIO22_PWM3 MFP_CFG_LPM(GPIO22, AF3, PULL_LOW) | ||
424 | |||
425 | /* CIR */ | ||
426 | #define GPIO46_CIR_OUT MFP_CFG(GPIO46, AF1) | ||
427 | #define GPIO77_CIR_OUT MFP_CFG(GPIO77, AF3) | ||
428 | |||
429 | /* USB P2 */ | ||
430 | #define GPIO0_USB_P2_7 MFP_CFG(GPIO0, AF3) | ||
431 | #define GPIO15_USB_P2_7 MFP_CFG(GPIO15, AF5) | ||
432 | #define GPIO16_USB_P2_7 MFP_CFG(GPIO16, AF2) | ||
433 | #define GPIO48_USB_P2_7 MFP_CFG(GPIO48, AF7) | ||
434 | #define GPIO49_USB_P2_7 MFP_CFG(GPIO49, AF6) | ||
435 | #define DF_IO9_USB_P2_7 MFP_CFG(DF_IO9, AF3) | ||
436 | |||
437 | #define GPIO48_USB_P2_8 MFP_CFG(GPIO48, AF2) | ||
438 | #define GPIO50_USB_P2_7 MFP_CFG_X(GPIO50, AF2, DS02X, FLOAT) | ||
439 | #define GPIO51_USB_P2_5 MFP_CFG(GPIO51, AF2) | ||
440 | #define GPIO47_USB_P2_4 MFP_CFG(GPIO47, AF2) | ||
441 | #define GPIO53_USB_P2_3 MFP_CFG(GPIO53, AF2) | ||
442 | #define GPIO54_USB_P2_6 MFP_CFG(GPIO54, AF2) | ||
443 | #define GPIO49_USB_P2_2 MFP_CFG(GPIO49, AF2) | ||
444 | #define GPIO52_USB_P2_1 MFP_CFG(GPIO52, AF2) | ||
445 | |||
446 | #define GPIO63_USB_P2_8 MFP_CFG(GPIO63, AF3) | ||
447 | #define GPIO64_USB_P2_7 MFP_CFG(GPIO64, AF3) | ||
448 | #define GPIO65_USB_P2_6 MFP_CFG(GPIO65, AF3) | ||
449 | #define GPIO66_USG_P2_5 MFP_CFG(GPIO66, AF3) | ||
450 | #define GPIO67_USB_P2_4 MFP_CFG(GPIO67, AF3) | ||
451 | #define GPIO68_USB_P2_3 MFP_CFG(GPIO68, AF3) | ||
452 | #define GPIO69_USB_P2_2 MFP_CFG(GPIO69, AF3) | ||
453 | #define GPIO70_USB_P2_1 MFP_CFG(GPIO70, AF3) | ||
454 | |||
455 | /* ULPI */ | ||
456 | #define GPIO31_USB_ULPI_D0 MFP_CFG(GPIO31, AF4) | ||
457 | #define GPIO30_USB_ULPI_D1 MFP_CFG(GPIO30, AF7) | ||
458 | #define GPIO33_USB_ULPI_D2 MFP_CFG(GPIO33, AF5) | ||
459 | #define GPIO34_USB_ULPI_D3 MFP_CFG(GPIO34, AF5) | ||
460 | #define GPIO35_USB_ULPI_D4 MFP_CFG(GPIO35, AF5) | ||
461 | #define GPIO36_USB_ULPI_D5 MFP_CFG(GPIO36, AF5) | ||
462 | #define GPIO41_USB_ULPI_D6 MFP_CFG(GPIO41, AF5) | ||
463 | #define GPIO42_USB_ULPI_D7 MFP_CFG(GPIO42, AF5) | ||
464 | #define GPIO37_USB_ULPI_DIR MFP_CFG(GPIO37, AF4) | ||
465 | #define GPIO38_USB_ULPI_CLK MFP_CFG(GPIO38, AF4) | ||
466 | #define GPIO39_USB_ULPI_STP MFP_CFG(GPIO39, AF4) | ||
467 | #define GPIO40_USB_ULPI_NXT MFP_CFG(GPIO40, AF4) | ||
468 | |||
469 | #define GPIO3_CLK26MOUTDMD MFP_CFG(GPIO3, AF3) | ||
470 | #define GPIO40_CLK26MOUTDMD MFP_CFG(GPIO40, AF7) | ||
471 | #define GPIO94_CLK26MOUTDMD MFP_CFG(GPIO94, AF5) | ||
472 | #define GPIO104_CLK26MOUTDMD MFP_CFG(GPIO104, AF4) | ||
473 | #define DF_ADDR1_CLK26MOUTDMD MFP_CFG(DF_ADDR2, AF3) | ||
474 | #define DF_ADDR3_CLK26MOUTDMD MFP_CFG(DF_ADDR3, AF3) | ||
475 | |||
476 | #define GPIO14_CLK26MOUT MFP_CFG(GPIO14, AF5) | ||
477 | #define GPIO38_CLK26MOUT MFP_CFG(GPIO38, AF7) | ||
478 | #define GPIO92_CLK26MOUT MFP_CFG(GPIO92, AF5) | ||
479 | #define GPIO105_CLK26MOUT MFP_CFG(GPIO105, AF4) | ||
480 | |||
481 | #define GPIO2_CLK13MOUTDMD MFP_CFG(GPIO2, AF3) | ||
482 | #define GPIO39_CLK13MOUTDMD MFP_CFG(GPIO39, AF7) | ||
483 | #define GPIO50_CLK13MOUTDMD MFP_CFG(GPIO50, AF3) | ||
484 | #define GPIO93_CLK13MOUTDMD MFP_CFG(GPIO93, AF5) | ||
485 | #define GPIO103_CLK13MOUTDMD MFP_CFG(GPIO103, AF4) | ||
486 | #define DF_ADDR2_CLK13MOUTDMD MFP_CFG(DF_ADDR2, AF3) | ||
487 | |||
488 | /* 1 wire */ | ||
489 | #define GPIO95_OW_DQ_IN MFP_CFG(GPIO95, AF5) | ||
490 | |||
491 | #endif /* __ASM_ARCH_MFP_PXA9xx_H */ | ||
diff --git a/include/asm-arm/arch-pxa/mfp.h b/include/asm-arm/arch-pxa/mfp.h index 02f6157396d3..e7d58798da67 100644 --- a/include/asm-arm/arch-pxa/mfp.h +++ b/include/asm-arm/arch-pxa/mfp.h | |||
@@ -210,6 +210,14 @@ enum { | |||
210 | MFP_PIN_DF_IO14, | 210 | MFP_PIN_DF_IO14, |
211 | MFP_PIN_DF_IO15, | 211 | MFP_PIN_DF_IO15, |
212 | 212 | ||
213 | /* additional pins on PXA930 */ | ||
214 | MFP_PIN_GSIM_UIO, | ||
215 | MFP_PIN_GSIM_UCLK, | ||
216 | MFP_PIN_GSIM_UDET, | ||
217 | MFP_PIN_GSIM_nURST, | ||
218 | MFP_PIN_PMIC_INT, | ||
219 | MFP_PIN_RDY, | ||
220 | |||
213 | MFP_PIN_MAX, | 221 | MFP_PIN_MAX, |
214 | }; | 222 | }; |
215 | 223 | ||
diff --git a/include/asm-arm/arch-pxa/palmtx.h b/include/asm-arm/arch-pxa/palmtx.h new file mode 100644 index 000000000000..1e8bccbda510 --- /dev/null +++ b/include/asm-arm/arch-pxa/palmtx.h | |||
@@ -0,0 +1,106 @@ | |||
1 | /* | ||
2 | * GPIOs and interrupts for Palm T|X Handheld Computer | ||
3 | * | ||
4 | * Based on palmld-gpio.h by Alex Osborne | ||
5 | * | ||
6 | * Authors: Marek Vasut <marek.vasut@gmail.com> | ||
7 | * Cristiano P. <cristianop@users.sourceforge.net> | ||
8 | * Jan Herman <2hp@seznam.cz> | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License version 2 as | ||
12 | * published by the Free Software Foundation. | ||
13 | * | ||
14 | */ | ||
15 | |||
16 | #ifndef _INCLUDE_PALMTX_H_ | ||
17 | #define _INCLUDE_PALMTX_H_ | ||
18 | |||
19 | /** HERE ARE GPIOs **/ | ||
20 | |||
21 | /* GPIOs */ | ||
22 | #define GPIO_NR_PALMTX_GPIO_RESET 1 | ||
23 | |||
24 | #define GPIO_NR_PALMTX_POWER_DETECT 12 /* 90 */ | ||
25 | #define GPIO_NR_PALMTX_HOTSYNC_BUTTON_N 10 | ||
26 | #define GPIO_NR_PALMTX_EARPHONE_DETECT 107 | ||
27 | |||
28 | /* SD/MMC */ | ||
29 | #define GPIO_NR_PALMTX_SD_DETECT_N 14 | ||
30 | #define GPIO_NR_PALMTX_SD_POWER 114 /* probably */ | ||
31 | #define GPIO_NR_PALMTX_SD_READONLY 115 /* probably */ | ||
32 | |||
33 | /* TOUCHSCREEN */ | ||
34 | #define GPIO_NR_PALMTX_WM9712_IRQ 27 | ||
35 | |||
36 | /* IRDA - disable GPIO connected to SD pin of tranceiver (TFBS4710?) ? */ | ||
37 | #define GPIO_NR_PALMTX_IR_DISABLE 40 | ||
38 | |||
39 | /* USB */ | ||
40 | #define GPIO_NR_PALMTX_USB_DETECT_N 13 | ||
41 | #define GPIO_NR_PALMTX_USB_POWER 95 | ||
42 | #define GPIO_NR_PALMTX_USB_PULLUP 93 | ||
43 | |||
44 | /* LCD/BACKLIGHT */ | ||
45 | #define GPIO_NR_PALMTX_BL_POWER 84 | ||
46 | #define GPIO_NR_PALMTX_LCD_POWER 96 | ||
47 | |||
48 | /* LCD BORDER */ | ||
49 | #define GPIO_NR_PALMTX_BORDER_SWITCH 98 | ||
50 | #define GPIO_NR_PALMTX_BORDER_SELECT 22 | ||
51 | |||
52 | /* BLUETOOTH */ | ||
53 | #define GPIO_NR_PALMTX_BT_POWER 17 | ||
54 | #define GPIO_NR_PALMTX_BT_RESET 83 | ||
55 | |||
56 | /* PCMCIA (WiFi) */ | ||
57 | #define GPIO_NR_PALMTX_PCMCIA_POWER1 94 | ||
58 | #define GPIO_NR_PALMTX_PCMCIA_POWER2 108 | ||
59 | #define GPIO_NR_PALMTX_PCMCIA_RESET 79 | ||
60 | #define GPIO_NR_PALMTX_PCMCIA_READY 116 | ||
61 | |||
62 | /* NAND Flash ... this GPIO may be incorrect! */ | ||
63 | #define GPIO_NR_PALMTX_NAND_BUFFER_DIR 79 | ||
64 | |||
65 | /* INTERRUPTS */ | ||
66 | #define IRQ_GPIO_PALMTX_SD_DETECT_N IRQ_GPIO(GPIO_NR_PALMTX_SD_DETECT_N) | ||
67 | #define IRQ_GPIO_PALMTX_WM9712_IRQ IRQ_GPIO(GPIO_NR_PALMTX_WM9712_IRQ) | ||
68 | #define IRQ_GPIO_PALMTX_USB_DETECT IRQ_GPIO(GPIO_NR_PALMTX_USB_DETECT) | ||
69 | #define IRQ_GPIO_PALMTX_GPIO_RESET IRQ_GPIO(GPIO_NR_PALMTX_GPIO_RESET) | ||
70 | |||
71 | /** HERE ARE INIT VALUES **/ | ||
72 | |||
73 | /* Various addresses */ | ||
74 | #define PALMTX_PCMCIA_PHYS 0x28000000 | ||
75 | #define PALMTX_PCMCIA_VIRT 0xf0000000 | ||
76 | #define PALMTX_PCMCIA_SIZE 0x100000 | ||
77 | |||
78 | #define PALMTX_PHYS_RAM_START 0xa0000000 | ||
79 | #define PALMTX_PHYS_IO_START 0x40000000 | ||
80 | |||
81 | #define PALMTX_PHYS_FLASH_START PXA_CS0_PHYS /* ChipSelect 0 */ | ||
82 | #define PALMTX_PHYS_NAND_START PXA_CS1_PHYS /* ChipSelect 1 */ | ||
83 | |||
84 | /* TOUCHSCREEN */ | ||
85 | #define AC97_LINK_FRAME 21 | ||
86 | |||
87 | |||
88 | /* BATTERY */ | ||
89 | #define PALMTX_BAT_MAX_VOLTAGE 4000 /* 4.00v current voltage */ | ||
90 | #define PALMTX_BAT_MIN_VOLTAGE 3550 /* 3.55v critical voltage */ | ||
91 | #define PALMTX_BAT_MAX_CURRENT 0 /* unknokn */ | ||
92 | #define PALMTX_BAT_MIN_CURRENT 0 /* unknown */ | ||
93 | #define PALMTX_BAT_MAX_CHARGE 1 /* unknown */ | ||
94 | #define PALMTX_BAT_MIN_CHARGE 1 /* unknown */ | ||
95 | #define PALMTX_MAX_LIFE_MINS 360 /* on-life in minutes */ | ||
96 | |||
97 | #define PALMTX_BAT_MEASURE_DELAY (HZ * 1) | ||
98 | |||
99 | /* BACKLIGHT */ | ||
100 | #define PALMTX_MAX_INTENSITY 0xFE | ||
101 | #define PALMTX_DEFAULT_INTENSITY 0x7E | ||
102 | #define PALMTX_LIMIT_MASK 0x7F | ||
103 | #define PALMTX_PRESCALER 0x3F | ||
104 | #define PALMTX_PERIOD_NS 3500 | ||
105 | |||
106 | #endif | ||
diff --git a/include/asm-arm/arch-pxa/pxa27x-udc.h b/include/asm-arm/arch-pxa/pxa27x-udc.h index bc1cf7d0773a..ab1443f8bd89 100644 --- a/include/asm-arm/arch-pxa/pxa27x-udc.h +++ b/include/asm-arm/arch-pxa/pxa27x-udc.h | |||
@@ -97,7 +97,7 @@ | |||
97 | #define UP2OCR_IDON (1 << 10) /* OTG ID Read Enable */ | 97 | #define UP2OCR_IDON (1 << 10) /* OTG ID Read Enable */ |
98 | #define UP2OCR_HXS (1 << 16) /* Host Port 2 Transceiver Output Select */ | 98 | #define UP2OCR_HXS (1 << 16) /* Host Port 2 Transceiver Output Select */ |
99 | #define UP2OCR_HXOE (1 << 17) /* Host Port 2 Transceiver Output Enable */ | 99 | #define UP2OCR_HXOE (1 << 17) /* Host Port 2 Transceiver Output Enable */ |
100 | #define UP2OCR_SEOS (1 << 24) /* Single-Ended Output Select */ | 100 | #define UP2OCR_SEOS(x) ((x & 7) << 24) /* Single-Ended Output Select */ |
101 | 101 | ||
102 | #define UDCCSN(x) __REG2(0x40600100, (x) << 2) | 102 | #define UDCCSN(x) __REG2(0x40600100, (x) << 2) |
103 | #define UDCCSR0 __REG(0x40600100) /* UDC Control/Status register - Endpoint 0 */ | 103 | #define UDCCSR0 __REG(0x40600100) /* UDC Control/Status register - Endpoint 0 */ |
diff --git a/include/asm-arm/arch-pxa/pxa2xx_spi.h b/include/asm-arm/arch-pxa/pxa2xx_spi.h index 3459fb26ce97..2206cb61a9f9 100644 --- a/include/asm-arm/arch-pxa/pxa2xx_spi.h +++ b/include/asm-arm/arch-pxa/pxa2xx_spi.h | |||
@@ -41,4 +41,6 @@ struct pxa2xx_spi_chip { | |||
41 | void (*cs_control)(u32 command); | 41 | void (*cs_control)(u32 command); |
42 | }; | 42 | }; |
43 | 43 | ||
44 | extern void pxa2xx_set_spi_info(unsigned id, struct pxa2xx_spi_master *info); | ||
45 | |||
44 | #endif /*PXA2XX_SPI_H_*/ | 46 | #endif /*PXA2XX_SPI_H_*/ |
diff --git a/include/asm-arm/arch-pxa/pxa3xx_nand.h b/include/asm-arm/arch-pxa/pxa3xx_nand.h index 81a8937486cb..eb4b190b6657 100644 --- a/include/asm-arm/arch-pxa/pxa3xx_nand.h +++ b/include/asm-arm/arch-pxa/pxa3xx_nand.h | |||
@@ -15,4 +15,6 @@ struct pxa3xx_nand_platform_data { | |||
15 | struct mtd_partition *parts; | 15 | struct mtd_partition *parts; |
16 | unsigned int nr_parts; | 16 | unsigned int nr_parts; |
17 | }; | 17 | }; |
18 | |||
19 | extern void pxa3xx_set_nand_info(struct pxa3xx_nand_platform_data *info); | ||
18 | #endif /* __ASM_ARCH_PXA3XX_NAND_H */ | 20 | #endif /* __ASM_ARCH_PXA3XX_NAND_H */ |
diff --git a/include/asm-arm/arch-pxa/pxafb.h b/include/asm-arm/arch-pxa/pxafb.h index bbd22396841a..daf018d0c604 100644 --- a/include/asm-arm/arch-pxa/pxafb.h +++ b/include/asm-arm/arch-pxa/pxafb.h | |||
@@ -71,7 +71,8 @@ struct pxafb_mode_info { | |||
71 | 71 | ||
72 | u_char bpp; | 72 | u_char bpp; |
73 | u_int cmap_greyscale:1, | 73 | u_int cmap_greyscale:1, |
74 | unused:31; | 74 | depth:8, |
75 | unused:23; | ||
75 | 76 | ||
76 | /* Parallel Mode Timing */ | 77 | /* Parallel Mode Timing */ |
77 | u_char hsync_len; | 78 | u_char hsync_len; |
diff --git a/include/asm-arm/arch-pxa/regs-lcd.h b/include/asm-arm/arch-pxa/regs-lcd.h index 3ba464c913a5..820a189684a9 100644 --- a/include/asm-arm/arch-pxa/regs-lcd.h +++ b/include/asm-arm/arch-pxa/regs-lcd.h | |||
@@ -27,6 +27,12 @@ | |||
27 | #define LCCR3_4BPP (2 << 24) | 27 | #define LCCR3_4BPP (2 << 24) |
28 | #define LCCR3_8BPP (3 << 24) | 28 | #define LCCR3_8BPP (3 << 24) |
29 | #define LCCR3_16BPP (4 << 24) | 29 | #define LCCR3_16BPP (4 << 24) |
30 | #define LCCR3_18BPP (5 << 24) | ||
31 | #define LCCR3_18BPP_P (6 << 24) | ||
32 | #define LCCR3_19BPP (7 << 24) | ||
33 | #define LCCR3_19BPP_P (1 << 29) | ||
34 | #define LCCR3_24BPP ((1 << 29) | (1 << 24)) | ||
35 | #define LCCR3_25BPP ((1 << 29) | (2 << 24)) | ||
30 | 36 | ||
31 | #define LCCR3_PDFOR_0 (0 << 30) | 37 | #define LCCR3_PDFOR_0 (0 << 30) |
32 | #define LCCR3_PDFOR_1 (1 << 30) | 38 | #define LCCR3_PDFOR_1 (1 << 30) |
diff --git a/include/asm-arm/arch-pxa/regs-ssp.h b/include/asm-arm/arch-pxa/regs-ssp.h index 0255328c3c18..3c04cde2cf1f 100644 --- a/include/asm-arm/arch-pxa/regs-ssp.h +++ b/include/asm-arm/arch-pxa/regs-ssp.h | |||
@@ -20,6 +20,10 @@ | |||
20 | #define SSTSS (0x38) /* SSP Timeslot Status */ | 20 | #define SSTSS (0x38) /* SSP Timeslot Status */ |
21 | #define SSACD (0x3C) /* SSP Audio Clock Divider */ | 21 | #define SSACD (0x3C) /* SSP Audio Clock Divider */ |
22 | 22 | ||
23 | #if defined(CONFIG_PXA3xx) | ||
24 | #define SSACDD (0x40) /* SSP Audio Clock Dither Divider */ | ||
25 | #endif | ||
26 | |||
23 | /* Common PXA2xx bits first */ | 27 | /* Common PXA2xx bits first */ |
24 | #define SSCR0_DSS (0x0000000f) /* Data Size Select (mask) */ | 28 | #define SSCR0_DSS (0x0000000f) /* Data Size Select (mask) */ |
25 | #define SSCR0_DataSize(x) ((x) - 1) /* Data Size Select [4..16] */ | 29 | #define SSCR0_DataSize(x) ((x) - 1) /* Data Size Select [4..16] */ |
@@ -29,10 +33,12 @@ | |||
29 | #define SSCR0_National (0x2 << 4) /* National Microwire */ | 33 | #define SSCR0_National (0x2 << 4) /* National Microwire */ |
30 | #define SSCR0_ECS (1 << 6) /* External clock select */ | 34 | #define SSCR0_ECS (1 << 6) /* External clock select */ |
31 | #define SSCR0_SSE (1 << 7) /* Synchronous Serial Port Enable */ | 35 | #define SSCR0_SSE (1 << 7) /* Synchronous Serial Port Enable */ |
36 | |||
32 | #if defined(CONFIG_PXA25x) | 37 | #if defined(CONFIG_PXA25x) |
33 | #define SSCR0_SCR (0x0000ff00) /* Serial Clock Rate (mask) */ | 38 | #define SSCR0_SCR (0x0000ff00) /* Serial Clock Rate (mask) */ |
34 | #define SSCR0_SerClkDiv(x) ((((x) - 2)/2) << 8) /* Divisor [2..512] */ | 39 | #define SSCR0_SerClkDiv(x) ((((x) - 2)/2) << 8) /* Divisor [2..512] */ |
35 | #elif defined(CONFIG_PXA27x) | 40 | |
41 | #elif defined(CONFIG_PXA27x) || defined(CONFIG_PXA3xx) | ||
36 | #define SSCR0_SCR (0x000fff00) /* Serial Clock Rate (mask) */ | 42 | #define SSCR0_SCR (0x000fff00) /* Serial Clock Rate (mask) */ |
37 | #define SSCR0_SerClkDiv(x) (((x) - 1) << 8) /* Divisor [1..4096] */ | 43 | #define SSCR0_SerClkDiv(x) (((x) - 1) << 8) /* Divisor [1..4096] */ |
38 | #define SSCR0_EDSS (1 << 20) /* Extended data size select */ | 44 | #define SSCR0_EDSS (1 << 20) /* Extended data size select */ |
@@ -45,6 +51,10 @@ | |||
45 | #define SSCR0_MOD (1 << 31) /* Mode (normal or network) */ | 51 | #define SSCR0_MOD (1 << 31) /* Mode (normal or network) */ |
46 | #endif | 52 | #endif |
47 | 53 | ||
54 | #if defined(CONFIG_PXA3xx) | ||
55 | #define SSCR0_FPCKE (1 << 29) /* FIFO packing enable */ | ||
56 | #endif | ||
57 | |||
48 | #define SSCR1_RIE (1 << 0) /* Receive FIFO Interrupt Enable */ | 58 | #define SSCR1_RIE (1 << 0) /* Receive FIFO Interrupt Enable */ |
49 | #define SSCR1_TIE (1 << 1) /* Transmit FIFO Interrupt Enable */ | 59 | #define SSCR1_TIE (1 << 1) /* Transmit FIFO Interrupt Enable */ |
50 | #define SSCR1_LBM (1 << 2) /* Loop-Back Mode */ | 60 | #define SSCR1_LBM (1 << 2) /* Loop-Back Mode */ |
@@ -109,5 +119,9 @@ | |||
109 | #define SSACD_SCDB (1 << 3) /* SSPSYSCLK Divider Bypass */ | 119 | #define SSACD_SCDB (1 << 3) /* SSPSYSCLK Divider Bypass */ |
110 | #define SSACD_ACPS(x) ((x) << 4) /* Audio clock PLL select */ | 120 | #define SSACD_ACPS(x) ((x) << 4) /* Audio clock PLL select */ |
111 | #define SSACD_ACDS(x) ((x) << 0) /* Audio clock divider select */ | 121 | #define SSACD_ACDS(x) ((x) << 0) /* Audio clock divider select */ |
122 | #if defined(CONFIG_PXA3xx) | ||
123 | #define SSACD_SCDX8 (1 << 7) /* SYSCLK division ratio select */ | ||
124 | #endif | ||
125 | |||
112 | 126 | ||
113 | #endif /* __ASM_ARCH_REGS_SSP_H */ | 127 | #endif /* __ASM_ARCH_REGS_SSP_H */ |
diff --git a/include/asm-arm/arch-pxa/system.h b/include/asm-arm/arch-pxa/system.h index ba7e132de1b3..6956fc5235f8 100644 --- a/include/asm-arm/arch-pxa/system.h +++ b/include/asm-arm/arch-pxa/system.h | |||
@@ -21,19 +21,4 @@ static inline void arch_idle(void) | |||
21 | } | 21 | } |
22 | 22 | ||
23 | 23 | ||
24 | static inline void arch_reset(char mode) | 24 | void arch_reset(char mode); |
25 | { | ||
26 | if (cpu_is_pxa2xx()) | ||
27 | RCSR = RCSR_HWR | RCSR_WDR | RCSR_SMR | RCSR_GPR; | ||
28 | |||
29 | if (mode == 's') { | ||
30 | /* Jump into ROM at address 0 */ | ||
31 | cpu_reset(0); | ||
32 | } else { | ||
33 | /* Initialize the watchdog and let it fire */ | ||
34 | OWER = OWER_WME; | ||
35 | OSSR = OSSR_M3; | ||
36 | OSMR3 = OSCR + 368640; /* ... in 100 ms */ | ||
37 | } | ||
38 | } | ||
39 | |||
diff --git a/include/asm-arm/arch-pxa/tosa.h b/include/asm-arm/arch-pxa/tosa.h index c5b6fde6907c..a72803f0461b 100644 --- a/include/asm-arm/arch-pxa/tosa.h +++ b/include/asm-arm/arch-pxa/tosa.h | |||
@@ -25,21 +25,18 @@ | |||
25 | */ | 25 | */ |
26 | #define TOSA_SCOOP_GPIO_BASE NR_BUILTIN_GPIO | 26 | #define TOSA_SCOOP_GPIO_BASE NR_BUILTIN_GPIO |
27 | #define TOSA_SCOOP_PXA_VCORE1 SCOOP_GPCR_PA11 | 27 | #define TOSA_SCOOP_PXA_VCORE1 SCOOP_GPCR_PA11 |
28 | #define TOSA_SCOOP_TC6393_REST_IN SCOOP_GPCR_PA12 | 28 | #define TOSA_GPIO_TC6393XB_REST_IN (TOSA_SCOOP_GPIO_BASE + 1) |
29 | #define TOSA_GPIO_IR_POWERDWN (TOSA_SCOOP_GPIO_BASE + 2) | 29 | #define TOSA_GPIO_IR_POWERDWN (TOSA_SCOOP_GPIO_BASE + 2) |
30 | #define TOSA_GPIO_SD_WP (TOSA_SCOOP_GPIO_BASE + 3) | 30 | #define TOSA_GPIO_SD_WP (TOSA_SCOOP_GPIO_BASE + 3) |
31 | #define TOSA_GPIO_PWR_ON (TOSA_SCOOP_GPIO_BASE + 4) | 31 | #define TOSA_GPIO_PWR_ON (TOSA_SCOOP_GPIO_BASE + 4) |
32 | #define TOSA_SCOOP_AUD_PWR_ON SCOOP_GPCR_PA16 | 32 | #define TOSA_SCOOP_AUD_PWR_ON SCOOP_GPCR_PA16 |
33 | #define TOSA_SCOOP_BT_RESET SCOOP_GPCR_PA17 | 33 | #define TOSA_GPIO_BT_RESET (TOSA_SCOOP_GPIO_BASE + 6) |
34 | #define TOSA_SCOOP_BT_PWR_EN SCOOP_GPCR_PA18 | 34 | #define TOSA_GPIO_BT_PWR_EN (TOSA_SCOOP_GPIO_BASE + 7) |
35 | #define TOSA_SCOOP_AC_IN_OL SCOOP_GPCR_PA19 | 35 | #define TOSA_SCOOP_AC_IN_OL SCOOP_GPCR_PA19 |
36 | 36 | ||
37 | /* GPIO Direction 1 : output mode / 0:input mode */ | 37 | /* GPIO Direction 1 : output mode / 0:input mode */ |
38 | #define TOSA_SCOOP_IO_DIR ( TOSA_SCOOP_PXA_VCORE1 | TOSA_SCOOP_TC6393_REST_IN | \ | 38 | #define TOSA_SCOOP_IO_DIR (TOSA_SCOOP_PXA_VCORE1 | \ |
39 | TOSA_SCOOP_AUD_PWR_ON |\ | 39 | TOSA_SCOOP_AUD_PWR_ON) |
40 | TOSA_SCOOP_BT_RESET | TOSA_SCOOP_BT_PWR_EN ) | ||
41 | /* GPIO out put level when init 1: Hi */ | ||
42 | #define TOSA_SCOOP_IO_OUT ( TOSA_SCOOP_TC6393_REST_IN ) | ||
43 | 40 | ||
44 | /* | 41 | /* |
45 | * SCOOP2 jacket GPIOs | 42 | * SCOOP2 jacket GPIOs |
@@ -49,16 +46,34 @@ | |||
49 | #define TOSA_GPIO_NOTE_LED (TOSA_SCOOP_JC_GPIO_BASE + 1) | 46 | #define TOSA_GPIO_NOTE_LED (TOSA_SCOOP_JC_GPIO_BASE + 1) |
50 | #define TOSA_GPIO_CHRG_ERR_LED (TOSA_SCOOP_JC_GPIO_BASE + 2) | 47 | #define TOSA_GPIO_CHRG_ERR_LED (TOSA_SCOOP_JC_GPIO_BASE + 2) |
51 | #define TOSA_GPIO_USB_PULLUP (TOSA_SCOOP_JC_GPIO_BASE + 3) | 48 | #define TOSA_GPIO_USB_PULLUP (TOSA_SCOOP_JC_GPIO_BASE + 3) |
52 | #define TOSA_SCOOP_JC_TC6393_SUSPEND SCOOP_GPCR_PA15 | 49 | #define TOSA_GPIO_TC6393XB_SUSPEND (TOSA_SCOOP_JC_GPIO_BASE + 4) |
53 | #define TOSA_SCOOP_JC_TC3693_L3V_ON SCOOP_GPCR_PA16 | 50 | #define TOSA_GPIO_TC6393XB_L3V_ON (TOSA_SCOOP_JC_GPIO_BASE + 5) |
54 | #define TOSA_SCOOP_JC_WLAN_DETECT SCOOP_GPCR_PA17 | 51 | #define TOSA_SCOOP_JC_WLAN_DETECT SCOOP_GPCR_PA17 |
55 | #define TOSA_GPIO_WLAN_LED (TOSA_SCOOP_JC_GPIO_BASE + 7) | 52 | #define TOSA_GPIO_WLAN_LED (TOSA_SCOOP_JC_GPIO_BASE + 7) |
56 | #define TOSA_SCOOP_JC_CARD_LIMIT_SEL SCOOP_GPCR_PA19 | 53 | #define TOSA_SCOOP_JC_CARD_LIMIT_SEL SCOOP_GPCR_PA19 |
57 | 54 | ||
58 | /* GPIO Direction 1 : output mode / 0:input mode */ | 55 | /* GPIO Direction 1 : output mode / 0:input mode */ |
59 | #define TOSA_SCOOP_JC_IO_DIR ( \ | 56 | #define TOSA_SCOOP_JC_IO_DIR (TOSA_SCOOP_JC_CARD_LIMIT_SEL) |
60 | TOSA_SCOOP_JC_TC6393_SUSPEND | TOSA_SCOOP_JC_TC3693_L3V_ON | \ | 57 | |
61 | TOSA_SCOOP_JC_CARD_LIMIT_SEL ) | 58 | /* |
59 | * TC6393XB GPIOs | ||
60 | */ | ||
61 | #define TOSA_TC6393XB_GPIO_BASE (NR_BUILTIN_GPIO + 2 * 12) | ||
62 | #define TOSA_TC6393XB_GPIO(i) (TOSA_TC6393XB_GPIO_BASE + (i)) | ||
63 | #define TOSA_TC6393XB_GPIO_BIT(gpio) (1 << (gpio - TOSA_TC6393XB_GPIO_BASE)) | ||
64 | |||
65 | #define TOSA_GPIO_TG_ON (TOSA_TC6393XB_GPIO_BASE + 0) | ||
66 | #define TOSA_GPIO_L_MUTE (TOSA_TC6393XB_GPIO_BASE + 1) | ||
67 | #define TOSA_GPIO_BL_C20MA (TOSA_TC6393XB_GPIO_BASE + 3) | ||
68 | #define TOSA_GPIO_CARD_VCC_ON (TOSA_TC6393XB_GPIO_BASE + 4) | ||
69 | #define TOSA_GPIO_CHARGE_OFF (TOSA_TC6393XB_GPIO_BASE + 6) | ||
70 | #define TOSA_GPIO_CHARGE_OFF_JC (TOSA_TC6393XB_GPIO_BASE + 7) | ||
71 | #define TOSA_GPIO_BAT0_V_ON (TOSA_TC6393XB_GPIO_BASE + 9) | ||
72 | #define TOSA_GPIO_BAT1_V_ON (TOSA_TC6393XB_GPIO_BASE + 10) | ||
73 | #define TOSA_GPIO_BU_CHRG_ON (TOSA_TC6393XB_GPIO_BASE + 11) | ||
74 | #define TOSA_GPIO_BAT_SW_ON (TOSA_TC6393XB_GPIO_BASE + 12) | ||
75 | #define TOSA_GPIO_BAT0_TH_ON (TOSA_TC6393XB_GPIO_BASE + 14) | ||
76 | #define TOSA_GPIO_BAT1_TH_ON (TOSA_TC6393XB_GPIO_BASE + 15) | ||
62 | 77 | ||
63 | /* | 78 | /* |
64 | * Timing Generator | 79 | * Timing Generator |
@@ -84,13 +99,13 @@ | |||
84 | #define TOSA_GPIO_JACKET_DETECT (7) | 99 | #define TOSA_GPIO_JACKET_DETECT (7) |
85 | #define TOSA_GPIO_nSD_DETECT (9) | 100 | #define TOSA_GPIO_nSD_DETECT (9) |
86 | #define TOSA_GPIO_nSD_INT (10) | 101 | #define TOSA_GPIO_nSD_INT (10) |
87 | #define TOSA_GPIO_TC6393_CLK (11) | 102 | #define TOSA_GPIO_TC6393XB_CLK (11) |
88 | #define TOSA_GPIO_BAT1_CRG (12) | 103 | #define TOSA_GPIO_BAT1_CRG (12) |
89 | #define TOSA_GPIO_CF_CD (13) | 104 | #define TOSA_GPIO_CF_CD (13) |
90 | #define TOSA_GPIO_BAT0_CRG (14) | 105 | #define TOSA_GPIO_BAT0_CRG (14) |
91 | #define TOSA_GPIO_TC6393_INT (15) | 106 | #define TOSA_GPIO_TC6393XB_INT (15) |
92 | #define TOSA_GPIO_BAT0_LOW (17) | 107 | #define TOSA_GPIO_BAT0_LOW (17) |
93 | #define TOSA_GPIO_TC6393_RDY (18) | 108 | #define TOSA_GPIO_TC6393XB_RDY (18) |
94 | #define TOSA_GPIO_ON_RESET (19) | 109 | #define TOSA_GPIO_ON_RESET (19) |
95 | #define TOSA_GPIO_EAR_IN (20) | 110 | #define TOSA_GPIO_EAR_IN (20) |
96 | #define TOSA_GPIO_CF_IRQ (21) /* CF slot0 Ready */ | 111 | #define TOSA_GPIO_CF_IRQ (21) /* CF slot0 Ready */ |
@@ -99,6 +114,7 @@ | |||
99 | #define TOSA_GPIO_TP_INT (32) /* Touch Panel pen down interrupt */ | 114 | #define TOSA_GPIO_TP_INT (32) /* Touch Panel pen down interrupt */ |
100 | #define TOSA_GPIO_JC_CF_IRQ (36) /* CF slot1 Ready */ | 115 | #define TOSA_GPIO_JC_CF_IRQ (36) /* CF slot1 Ready */ |
101 | #define TOSA_GPIO_BAT_LOCKED (38) /* Battery locked */ | 116 | #define TOSA_GPIO_BAT_LOCKED (38) /* Battery locked */ |
117 | #define TOSA_GPIO_IRDA_TX (47) | ||
102 | #define TOSA_GPIO_TG_SPI_SCLK (81) | 118 | #define TOSA_GPIO_TG_SPI_SCLK (81) |
103 | #define TOSA_GPIO_TG_SPI_CS (82) | 119 | #define TOSA_GPIO_TG_SPI_CS (82) |
104 | #define TOSA_GPIO_TG_SPI_MOSI (83) | 120 | #define TOSA_GPIO_TG_SPI_MOSI (83) |
@@ -137,7 +153,7 @@ | |||
137 | #define TOSA_IRQ_GPIO_BAT1_CRG IRQ_GPIO(TOSA_GPIO_BAT1_CRG) | 153 | #define TOSA_IRQ_GPIO_BAT1_CRG IRQ_GPIO(TOSA_GPIO_BAT1_CRG) |
138 | #define TOSA_IRQ_GPIO_CF_CD IRQ_GPIO(TOSA_GPIO_CF_CD) | 154 | #define TOSA_IRQ_GPIO_CF_CD IRQ_GPIO(TOSA_GPIO_CF_CD) |
139 | #define TOSA_IRQ_GPIO_BAT0_CRG IRQ_GPIO(TOSA_GPIO_BAT0_CRG) | 155 | #define TOSA_IRQ_GPIO_BAT0_CRG IRQ_GPIO(TOSA_GPIO_BAT0_CRG) |
140 | #define TOSA_IRQ_GPIO_TC6393_INT IRQ_GPIO(TOSA_GPIO_TC6393_INT) | 156 | #define TOSA_IRQ_GPIO_TC6393XB_INT IRQ_GPIO(TOSA_GPIO_TC6393XB_INT) |
141 | #define TOSA_IRQ_GPIO_BAT0_LOW IRQ_GPIO(TOSA_GPIO_BAT0_LOW) | 157 | #define TOSA_IRQ_GPIO_BAT0_LOW IRQ_GPIO(TOSA_GPIO_BAT0_LOW) |
142 | #define TOSA_IRQ_GPIO_EAR_IN IRQ_GPIO(TOSA_GPIO_EAR_IN) | 158 | #define TOSA_IRQ_GPIO_EAR_IN IRQ_GPIO(TOSA_GPIO_EAR_IN) |
143 | #define TOSA_IRQ_GPIO_CF_IRQ IRQ_GPIO(TOSA_GPIO_CF_IRQ) | 159 | #define TOSA_IRQ_GPIO_CF_IRQ IRQ_GPIO(TOSA_GPIO_CF_IRQ) |
diff --git a/include/asm-arm/arch-pxa/tosa_bt.h b/include/asm-arm/arch-pxa/tosa_bt.h new file mode 100644 index 000000000000..efc3c3d3b75d --- /dev/null +++ b/include/asm-arm/arch-pxa/tosa_bt.h | |||
@@ -0,0 +1,22 @@ | |||
1 | /* | ||
2 | * Tosa bluetooth built-in chip control. | ||
3 | * | ||
4 | * Later it may be shared with some other platforms. | ||
5 | * | ||
6 | * Copyright (c) 2008 Dmitry Baryshkov | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | * | ||
12 | */ | ||
13 | #ifndef TOSA_BT_H | ||
14 | #define TOSA_BT_H | ||
15 | |||
16 | struct tosa_bt_data { | ||
17 | int gpio_pwr; | ||
18 | int gpio_reset; | ||
19 | }; | ||
20 | |||
21 | #endif | ||
22 | |||
diff --git a/include/asm-arm/arch-pxa/uncompress.h b/include/asm-arm/arch-pxa/uncompress.h index dadf4c20b622..f4551269aaf2 100644 --- a/include/asm-arm/arch-pxa/uncompress.h +++ b/include/asm-arm/arch-pxa/uncompress.h | |||
@@ -11,11 +11,11 @@ | |||
11 | 11 | ||
12 | #include <linux/serial_reg.h> | 12 | #include <linux/serial_reg.h> |
13 | #include <asm/arch/pxa-regs.h> | 13 | #include <asm/arch/pxa-regs.h> |
14 | #include <asm/mach-types.h> | ||
14 | 15 | ||
15 | #define __REG(x) ((volatile unsigned long *)x) | 16 | #define __REG(x) ((volatile unsigned long *)x) |
16 | |||
17 | #define UART FFUART | ||
18 | 17 | ||
18 | static volatile unsigned long *UART = FFUART; | ||
19 | 19 | ||
20 | static inline void putc(char c) | 20 | static inline void putc(char c) |
21 | { | 21 | { |
@@ -33,8 +33,13 @@ static inline void flush(void) | |||
33 | { | 33 | { |
34 | } | 34 | } |
35 | 35 | ||
36 | static inline void arch_decomp_setup(void) | ||
37 | { | ||
38 | if (machine_is_littleton()) | ||
39 | UART = STUART; | ||
40 | } | ||
41 | |||
36 | /* | 42 | /* |
37 | * nothing to do | 43 | * nothing to do |
38 | */ | 44 | */ |
39 | #define arch_decomp_setup() | ||
40 | #define arch_decomp_wdog() | 45 | #define arch_decomp_wdog() |
diff --git a/include/asm-arm/arch-pxa/zylonite.h b/include/asm-arm/arch-pxa/zylonite.h index de577de8d18c..0d35ca04731e 100644 --- a/include/asm-arm/arch-pxa/zylonite.h +++ b/include/asm-arm/arch-pxa/zylonite.h | |||
@@ -16,6 +16,8 @@ struct platform_mmc_slot { | |||
16 | extern struct platform_mmc_slot zylonite_mmc_slot[]; | 16 | extern struct platform_mmc_slot zylonite_mmc_slot[]; |
17 | 17 | ||
18 | extern int gpio_eth_irq; | 18 | extern int gpio_eth_irq; |
19 | extern int gpio_debug_led1; | ||
20 | extern int gpio_debug_led2; | ||
19 | 21 | ||
20 | extern int wm9713_irq; | 22 | extern int wm9713_irq; |
21 | 23 | ||
diff --git a/include/asm-arm/mach/udc_pxa2xx.h b/include/asm-arm/mach/udc_pxa2xx.h index f9f3606986c2..9e5ed7c0f27f 100644 --- a/include/asm-arm/mach/udc_pxa2xx.h +++ b/include/asm-arm/mach/udc_pxa2xx.h | |||
@@ -23,6 +23,7 @@ struct pxa2xx_udc_mach_info { | |||
23 | */ | 23 | */ |
24 | bool gpio_vbus_inverted; | 24 | bool gpio_vbus_inverted; |
25 | u16 gpio_vbus; /* high == vbus present */ | 25 | u16 gpio_vbus; /* high == vbus present */ |
26 | bool gpio_pullup_inverted; | ||
26 | u16 gpio_pullup; /* high == pullup activated */ | 27 | u16 gpio_pullup; /* high == pullup activated */ |
27 | }; | 28 | }; |
28 | 29 | ||
diff --git a/include/linux/mfd/core.h b/include/linux/mfd/core.h new file mode 100644 index 000000000000..bb3dd0545928 --- /dev/null +++ b/include/linux/mfd/core.h | |||
@@ -0,0 +1,55 @@ | |||
1 | #ifndef MFD_CORE_H | ||
2 | #define MFD_CORE_H | ||
3 | /* | ||
4 | * drivers/mfd/mfd-core.h | ||
5 | * | ||
6 | * core MFD support | ||
7 | * Copyright (c) 2006 Ian Molton | ||
8 | * Copyright (c) 2007 Dmitry Baryshkov | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License version 2 as | ||
12 | * published by the Free Software Foundation. | ||
13 | * | ||
14 | */ | ||
15 | |||
16 | #include <linux/platform_device.h> | ||
17 | |||
18 | /* | ||
19 | * This struct describes the MFD part ("cell"). | ||
20 | * After registration the copy of this structure will become the platform data | ||
21 | * of the resulting platform_device | ||
22 | */ | ||
23 | struct mfd_cell { | ||
24 | const char *name; | ||
25 | |||
26 | int (*enable)(struct platform_device *dev); | ||
27 | int (*disable)(struct platform_device *dev); | ||
28 | int (*suspend)(struct platform_device *dev); | ||
29 | int (*resume)(struct platform_device *dev); | ||
30 | |||
31 | void *driver_data; /* driver-specific data */ | ||
32 | |||
33 | /* | ||
34 | * This resources can be specified relatievly to the parent device. | ||
35 | * For accessing device you should use resources from device | ||
36 | */ | ||
37 | int num_resources; | ||
38 | const struct resource *resources; | ||
39 | }; | ||
40 | |||
41 | static inline struct mfd_cell * | ||
42 | mfd_get_cell(struct platform_device *pdev) | ||
43 | { | ||
44 | return (struct mfd_cell *)pdev->dev.platform_data; | ||
45 | } | ||
46 | |||
47 | extern int mfd_add_devices( | ||
48 | struct platform_device *parent, | ||
49 | const struct mfd_cell *cells, int n_devs, | ||
50 | struct resource *mem_base, | ||
51 | int irq_base); | ||
52 | |||
53 | extern void mfd_remove_devices(struct platform_device *parent); | ||
54 | |||
55 | #endif | ||
diff --git a/include/linux/mfd/tc6393xb.h b/include/linux/mfd/tc6393xb.h new file mode 100644 index 000000000000..7cc824a58f7c --- /dev/null +++ b/include/linux/mfd/tc6393xb.h | |||
@@ -0,0 +1,49 @@ | |||
1 | /* | ||
2 | * Toshiba TC6393XB SoC support | ||
3 | * | ||
4 | * Copyright(c) 2005-2006 Chris Humbert | ||
5 | * Copyright(c) 2005 Dirk Opfer | ||
6 | * Copyright(c) 2005 Ian Molton <spyro@f2s.com> | ||
7 | * Copyright(c) 2007 Dmitry Baryshkov | ||
8 | * | ||
9 | * Based on code written by Sharp/Lineo for 2.4 kernels | ||
10 | * Based on locomo.c | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or modify | ||
13 | * it under the terms of the GNU General Public License version 2 as | ||
14 | * published by the Free Software Foundation. | ||
15 | */ | ||
16 | |||
17 | #ifndef TC6393XB_H | ||
18 | #define TC6393XB_H | ||
19 | |||
20 | /* Also one should provide the CK3P6MI clock */ | ||
21 | struct tc6393xb_platform_data { | ||
22 | u16 scr_pll2cr; /* PLL2 Control */ | ||
23 | u16 scr_gper; /* GP Enable */ | ||
24 | u32 scr_gpo_doecr; /* GPO Data OE Control */ | ||
25 | u32 scr_gpo_dsr; /* GPO Data Set */ | ||
26 | |||
27 | int (*enable)(struct platform_device *dev); | ||
28 | int (*disable)(struct platform_device *dev); | ||
29 | int (*suspend)(struct platform_device *dev); | ||
30 | int (*resume)(struct platform_device *dev); | ||
31 | |||
32 | int irq_base; /* a base for cascaded irq */ | ||
33 | int gpio_base; | ||
34 | |||
35 | struct tmio_nand_data *nand_data; | ||
36 | }; | ||
37 | |||
38 | /* | ||
39 | * Relative to irq_base | ||
40 | */ | ||
41 | #define IRQ_TC6393_NAND 0 | ||
42 | #define IRQ_TC6393_MMC 1 | ||
43 | #define IRQ_TC6393_OHCI 2 | ||
44 | #define IRQ_TC6393_SERIAL 3 | ||
45 | #define IRQ_TC6393_FB 4 | ||
46 | |||
47 | #define TC6393XB_NR_IRQS 8 | ||
48 | |||
49 | #endif | ||
diff --git a/include/linux/mfd/tmio.h b/include/linux/mfd/tmio.h new file mode 100644 index 000000000000..9438d8c9ac1c --- /dev/null +++ b/include/linux/mfd/tmio.h | |||
@@ -0,0 +1,17 @@ | |||
1 | #ifndef MFD_TMIO_H | ||
2 | #define MFD_TMIO_H | ||
3 | |||
4 | /* | ||
5 | * data for the NAND controller | ||
6 | */ | ||
7 | struct tmio_nand_data { | ||
8 | struct nand_bbt_descr *badblock_pattern; | ||
9 | struct mtd_partition *partition; | ||
10 | unsigned int num_partitions; | ||
11 | }; | ||
12 | |||
13 | #define TMIO_NAND_CONFIG "tmio-nand-config" | ||
14 | #define TMIO_NAND_CONTROL "tmio-nand-control" | ||
15 | #define TMIO_NAND_IRQ "tmio-nand" | ||
16 | |||
17 | #endif | ||
diff --git a/include/linux/smc91x.h b/include/linux/smc91x.h index 8e0556b8781c..3827b922ba1f 100644 --- a/include/linux/smc91x.h +++ b/include/linux/smc91x.h | |||
@@ -5,9 +5,19 @@ | |||
5 | #define SMC91X_USE_16BIT (1 << 1) | 5 | #define SMC91X_USE_16BIT (1 << 1) |
6 | #define SMC91X_USE_32BIT (1 << 2) | 6 | #define SMC91X_USE_32BIT (1 << 2) |
7 | 7 | ||
8 | #define SMC91X_NOWAIT (1 << 3) | ||
9 | |||
10 | /* two bits for IO_SHIFT, let's hope later designs will keep this sane */ | ||
11 | #define SMC91X_IO_SHIFT_0 (0 << 4) | ||
12 | #define SMC91X_IO_SHIFT_1 (1 << 4) | ||
13 | #define SMC91X_IO_SHIFT_2 (2 << 4) | ||
14 | #define SMC91X_IO_SHIFT_3 (3 << 4) | ||
15 | #define SMC91X_IO_SHIFT(x) (((x) >> 4) & 0x3) | ||
16 | |||
17 | #define SMC91X_USE_DMA (1 << 6) | ||
18 | |||
8 | struct smc91x_platdata { | 19 | struct smc91x_platdata { |
9 | unsigned long flags; | 20 | unsigned long flags; |
10 | unsigned long irq_flags; /* IRQF_... */ | ||
11 | }; | 21 | }; |
12 | 22 | ||
13 | #endif /* __SMC91X_H__ */ | 23 | #endif /* __SMC91X_H__ */ |