cpu_sh7753.h 4.6 KB

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