hardware.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * Copyright (C) 2009 ST-Ericsson.
  3. *
  4. * U8500 hardware definitions
  5. *
  6. * This file is licensed under the terms of the GNU General Public
  7. * License version 2. This program is licensed "as is" without any
  8. * warranty of any kind, whether express or implied.
  9. */
  10. #ifndef __MACH_HARDWARE_H
  11. #define __MACH_HARDWARE_H
  12. /*
  13. * Macros to get at IO space when running virtually
  14. * We dont map all the peripherals, let ioremap do
  15. * this for us. We map only very basic peripherals here.
  16. */
  17. #define U8500_IO_VIRTUAL 0xf0000000
  18. #define U8500_IO_PHYSICAL 0xa0000000
  19. /* This is where we map in the ROM to check ASIC IDs */
  20. #define UX500_VIRT_ROM 0xf0000000
  21. /* This macro is used in assembly, so no cast */
  22. #define IO_ADDRESS(x) \
  23. (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + U8500_IO_VIRTUAL)
  24. /* typesafe io address */
  25. #define __io_address(n) IOMEM(IO_ADDRESS(n))
  26. /* Used by some plat-nomadik code */
  27. #define io_p2v(n) __io_address(n)
  28. #include <mach/db8500-regs.h>
  29. #define MSP_TX_RX_REG_OFFSET 0
  30. #define CRYP1_RX_REG_OFFSET 0x10
  31. #define CRYP1_TX_REG_OFFSET 0x8
  32. #define HASH1_TX_REG_OFFSET 0x4
  33. #ifndef __ASSEMBLY__
  34. #include <mach/id.h>
  35. extern void __iomem *_PRCMU_BASE;
  36. #define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x)
  37. #endif /* __ASSEMBLY__ */
  38. #endif /* __MACH_HARDWARE_H */