cpu_sh7752.h 5.3 KB

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