mfp.h 1.1 KB

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