Commit | Line | Data |
---|---|---|
a7a89d96 EM |
1 | #ifndef __ASM_MACH_MFP_H |
2 | #define __ASM_MACH_MFP_H | |
3 | ||
4 | #include <plat/mfp.h> | |
5 | ||
6 | /* | |
7 | * NOTE: the MFPR register bit definitions on PXA168 processor lines are a | |
8 | * bit different from those on PXA3xx. Bit [7:10] are now reserved, which | |
9 | * were SLEEP_OE_N, SLEEP_DATA, SLEEP_SEL and the LSB of DRIVE bits. | |
10 | * | |
11 | * To cope with this difference and re-use the pxa3xx mfp code as much as | |
12 | * possible, we make the following compromise: | |
13 | * | |
14 | * 1. SLEEP_OE_N will always be programmed to '1' (by MFP_LPM_FLOAT) | |
0e1b74df MW |
15 | * 2. DRIVE strength definitions redefined to include the reserved bit |
16 | * - the reserved bit differs between pxa168 and pxa910, and the | |
17 | * MFP_DRIVE_* macros are individually defined in mfp-pxa{168,910}.h | |
a7a89d96 EM |
18 | * 3. Override MFP_CFG() and MFP_CFG_DRV() |
19 | * 4. Drop the use of MFP_CFG_LPM() and MFP_CFG_X() | |
20 | */ | |
21 | ||
a7a89d96 EM |
22 | #undef MFP_CFG |
23 | #undef MFP_CFG_DRV | |
24 | #undef MFP_CFG_LPM | |
25 | #undef MFP_CFG_X | |
26 | #undef MFP_CFG_DEFAULT | |
27 | ||
28 | #define MFP_CFG(pin, af) \ | |
29 | (MFP_LPM_FLOAT | MFP_PIN(MFP_PIN_##pin) | MFP_##af | MFP_DRIVE_MEDIUM) | |
30 | ||
31 | #define MFP_CFG_DRV(pin, af, drv) \ | |
32 | (MFP_LPM_FLOAT | MFP_PIN(MFP_PIN_##pin) | MFP_##af | MFP_DRIVE_##drv) | |
33 | ||
34 | #endif /* __ASM_MACH_MFP_H */ |