cpu_sh7753.h 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. /*
  2. * Copyright (C) 2012 Renesas Solutions Corp.
  3. *
  4. * SPDX-License-Identifier: GPL-2.0+
  5. */
  6. #ifndef _ASM_CPU_SH7753_H_
  7. #define _ASM_CPU_SH7753_H_
  8. #define CCR 0xFF00001C
  9. #define WTCNT 0xFFCC0000
  10. #define CCR_CACHE_INIT 0x0000090b
  11. #define CACHE_OC_NUM_WAYS 1
  12. #ifndef __ASSEMBLY__ /* put C only stuff in this section */
  13. /* MMU */
  14. struct mmu_regs {
  15. unsigned int reserved[4];
  16. unsigned int mmucr;
  17. };
  18. #define MMU_BASE ((struct mmu_regs *)0xff000000)
  19. /* Watchdog */
  20. #define WTCSR0 0xffcc0002
  21. #define WRSTCSR_R 0xffcc0003
  22. #define WRSTCSR_W 0xffcc0002
  23. #define WTCSR_PREFIX 0xa500
  24. #define WRSTCSR_PREFIX 0x6900
  25. #define WRSTCSR_WOVF_PREFIX 0x9600
  26. /* SCIF */
  27. #define SCIF0_BASE 0xfe4b0000 /* The real name is SCIF2 */
  28. #define SCIF1_BASE 0xfe4c0000 /* The real name is SCIF3 */
  29. #define SCIF2_BASE 0xfe4d0000 /* The real name is SCIF4 */
  30. /* TMU0 */
  31. #define TMU_BASE 0xFE430000
  32. /* ETHER, GETHER MAC address */
  33. struct ether_mac_regs {
  34. unsigned int reserved[114];
  35. unsigned int mahr;
  36. unsigned int reserved2;
  37. unsigned int malr;
  38. };
  39. #define GETHER0_MAC_BASE ((struct ether_mac_regs *)0xfee0400)
  40. #define GETHER1_MAC_BASE ((struct ether_mac_regs *)0xfee0c00)
  41. #define ETHER0_MAC_BASE ((struct ether_mac_regs *)0xfef0000)
  42. #define ETHER1_MAC_BASE ((struct ether_mac_regs *)0xfef0800)
  43. /* GETHER */
  44. struct gether_control_regs {
  45. unsigned int gbecont;
  46. };
  47. #define GETHER_CONTROL_BASE ((struct gether_control_regs *)0xffc10100)
  48. #define GBECONT_RMII1 0x00020000
  49. #define GBECONT_RMII0 0x00010000
  50. /* SerMux */
  51. struct sermux_regs {
  52. unsigned char smr0;
  53. unsigned char smr1;
  54. unsigned char smr2;
  55. unsigned char smr3;
  56. unsigned char smr4;
  57. unsigned char smr5;
  58. };
  59. #define SERMUX_BASE ((struct sermux_regs *)0xfe470000)
  60. /* USB0/1 */
  61. struct usb_common_regs {
  62. unsigned short reserved[129];
  63. unsigned short suspmode;
  64. };
  65. #define USB0_COMMON_BASE ((struct usb_common_regs *)0xfe450000)
  66. #define USB1_COMMON_BASE ((struct usb_common_regs *)0xfe4f0000)
  67. struct usb0_phy_regs {
  68. unsigned short reset;
  69. unsigned short reserved[4];
  70. unsigned short portsel;
  71. };
  72. #define USB0_PHY_BASE ((struct usb0_phy_regs *)0xfe5f0000)
  73. struct usb1_port_regs {
  74. unsigned int port1sel;
  75. unsigned int reserved;
  76. unsigned int usb1intsts;
  77. };
  78. #define USB1_PORT_BASE ((struct usb1_port_regs *)0xfe4f2000)
  79. struct usb1_alignment_regs {
  80. unsigned int ehcidatac; /* 0xfe4fe018 */
  81. unsigned int reserved[63];
  82. unsigned int ohcidatac;
  83. };
  84. #define USB1_ALIGNMENT_BASE ((struct usb1_alignment_regs *)0xfe4fe018)
  85. /* GPIO */
  86. struct gpio_regs {
  87. unsigned short pacr;
  88. unsigned short pbcr;
  89. unsigned short pccr;
  90. unsigned short pdcr;
  91. unsigned short pecr;
  92. unsigned short pfcr;
  93. unsigned short pgcr;
  94. unsigned short phcr;
  95. unsigned short picr;
  96. unsigned short pjcr;
  97. unsigned short pkcr;
  98. unsigned short plcr;
  99. unsigned short pmcr;
  100. unsigned short pncr;
  101. unsigned short pocr;
  102. unsigned short reserved;
  103. unsigned short pqcr;
  104. unsigned short prcr;
  105. unsigned short pscr;
  106. unsigned short ptcr;
  107. unsigned short pucr;
  108. unsigned short pvcr;
  109. unsigned short pwcr;
  110. unsigned short pxcr;
  111. unsigned short pycr;
  112. unsigned short pzcr;
  113. unsigned char padr;
  114. unsigned char reserved_a;
  115. unsigned char pbdr;
  116. unsigned char reserved_b;
  117. unsigned char pcdr;
  118. unsigned char reserved_c;
  119. unsigned char pddr;
  120. unsigned char reserved_d;
  121. unsigned char pedr;
  122. unsigned char reserved_e;
  123. unsigned char pfdr;
  124. unsigned char reserved_f;
  125. unsigned char pgdr;
  126. unsigned char reserved_g;
  127. unsigned char phdr;
  128. unsigned char reserved_h;
  129. unsigned char pidr;
  130. unsigned char reserved_i;
  131. unsigned char pjdr;
  132. unsigned char reserved_j;
  133. unsigned char pkdr;
  134. unsigned char reserved_k;
  135. unsigned char pldr;
  136. unsigned char reserved_l;
  137. unsigned char pmdr;
  138. unsigned char reserved_m;
  139. unsigned char pndr;
  140. unsigned char reserved_n;
  141. unsigned char podr;
  142. unsigned char reserved_o;
  143. unsigned char ppdr;
  144. unsigned char reserved_p;
  145. unsigned char pqdr;
  146. unsigned char reserved_q;
  147. unsigned char prdr;
  148. unsigned char reserved_r;
  149. unsigned char psdr;
  150. unsigned char reserved_s;
  151. unsigned char ptdr;
  152. unsigned char reserved_t;
  153. unsigned char pudr;
  154. unsigned char reserved_u;
  155. unsigned char pvdr;
  156. unsigned char reserved_v;
  157. unsigned char pwdr;
  158. unsigned char reserved_w;
  159. unsigned char pxdr;
  160. unsigned char reserved_x;
  161. unsigned char pydr;
  162. unsigned char reserved_y;
  163. unsigned char pzdr;
  164. unsigned char reserved_z;
  165. unsigned short ncer;
  166. unsigned short ncmcr;
  167. unsigned short nccsr;
  168. unsigned char reserved2[2];
  169. unsigned short psel0; /* +0x70 */
  170. unsigned short psel1;
  171. unsigned short psel2;
  172. unsigned short psel3;
  173. unsigned short psel4;
  174. unsigned short psel5;
  175. unsigned short psel6;
  176. unsigned short reserved3[2];
  177. unsigned short psel7;
  178. };
  179. #define GPIO_BASE ((struct gpio_regs *)0xffec0000)
  180. #endif /* ifndef __ASSEMBLY__ */
  181. #endif /* _ASM_CPU_SH7753_H_ */