soc.h 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. /*
  2. * Copyright (C) 2015 Atmel
  3. *
  4. * Boris Brezillon <boris.brezillon@free-electrons.com
  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. */
  11. #ifndef __AT91_SOC_H
  12. #define __AT91_SOC_H
  13. #include <linux/sys_soc.h>
  14. struct at91_soc {
  15. u32 cidr_match;
  16. u32 exid_match;
  17. const char *name;
  18. const char *family;
  19. };
  20. #define AT91_SOC(__cidr, __exid, __name, __family) \
  21. { \
  22. .cidr_match = (__cidr), \
  23. .exid_match = (__exid), \
  24. .name = (__name), \
  25. .family = (__family), \
  26. }
  27. struct soc_device * __init
  28. at91_soc_init(const struct at91_soc *socs);
  29. #define AT91RM9200_CIDR_MATCH 0x09290780
  30. #define AT91SAM9260_CIDR_MATCH 0x019803a0
  31. #define AT91SAM9261_CIDR_MATCH 0x019703a0
  32. #define AT91SAM9263_CIDR_MATCH 0x019607a0
  33. #define AT91SAM9G20_CIDR_MATCH 0x019905a0
  34. #define AT91SAM9RL64_CIDR_MATCH 0x019b03a0
  35. #define AT91SAM9G45_CIDR_MATCH 0x019b05a0
  36. #define AT91SAM9X5_CIDR_MATCH 0x019a05a0
  37. #define AT91SAM9N12_CIDR_MATCH 0x019a07a0
  38. #define AT91SAM9M11_EXID_MATCH 0x00000001
  39. #define AT91SAM9M10_EXID_MATCH 0x00000002
  40. #define AT91SAM9G46_EXID_MATCH 0x00000003
  41. #define AT91SAM9G45_EXID_MATCH 0x00000004
  42. #define AT91SAM9G15_EXID_MATCH 0x00000000
  43. #define AT91SAM9G35_EXID_MATCH 0x00000001
  44. #define AT91SAM9X35_EXID_MATCH 0x00000002
  45. #define AT91SAM9G25_EXID_MATCH 0x00000003
  46. #define AT91SAM9X25_EXID_MATCH 0x00000004
  47. #define AT91SAM9CN12_EXID_MATCH 0x00000005
  48. #define AT91SAM9N12_EXID_MATCH 0x00000006
  49. #define AT91SAM9CN11_EXID_MATCH 0x00000009
  50. #define AT91SAM9XE128_CIDR_MATCH 0x329973a0
  51. #define AT91SAM9XE256_CIDR_MATCH 0x329a93a0
  52. #define AT91SAM9XE512_CIDR_MATCH 0x329aa3a0
  53. #define SAMA5D2_CIDR_MATCH 0x0a5c08c0
  54. #define SAMA5D21CU_EXID_MATCH 0x0000005a
  55. #define SAMA5D22CU_EXID_MATCH 0x00000059
  56. #define SAMA5D22CN_EXID_MATCH 0x00000069
  57. #define SAMA5D23CU_EXID_MATCH 0x00000058
  58. #define SAMA5D24CX_EXID_MATCH 0x00000004
  59. #define SAMA5D24CU_EXID_MATCH 0x00000014
  60. #define SAMA5D26CU_EXID_MATCH 0x00000012
  61. #define SAMA5D27CU_EXID_MATCH 0x00000011
  62. #define SAMA5D27CN_EXID_MATCH 0x00000021
  63. #define SAMA5D28CU_EXID_MATCH 0x00000010
  64. #define SAMA5D28CN_EXID_MATCH 0x00000020
  65. #define SAMA5D3_CIDR_MATCH 0x0a5c07c0
  66. #define SAMA5D31_EXID_MATCH 0x00444300
  67. #define SAMA5D33_EXID_MATCH 0x00414300
  68. #define SAMA5D34_EXID_MATCH 0x00414301
  69. #define SAMA5D35_EXID_MATCH 0x00584300
  70. #define SAMA5D36_EXID_MATCH 0x00004301
  71. #define SAMA5D4_CIDR_MATCH 0x0a5c07c0
  72. #define SAMA5D41_EXID_MATCH 0x00000001
  73. #define SAMA5D42_EXID_MATCH 0x00000002
  74. #define SAMA5D43_EXID_MATCH 0x00000003
  75. #define SAMA5D44_EXID_MATCH 0x00000004
  76. #endif /* __AT91_SOC_H */