2 * Copyright (C) 2012 Renesas Solutions Corp.
4 * SPDX-License-Identifier: GPL-2.0+
7 #ifndef _ASM_CPU_SH7753_H_
8 #define _ASM_CPU_SH7753_H_
10 #define CCR 0xFF00001C
11 #define WTCNT 0xFFCC0000
12 #define CCR_CACHE_INIT 0x0000090b
13 #define CACHE_OC_NUM_WAYS 1
15 #ifndef __ASSEMBLY__ /* put C only stuff in this section */
18 unsigned int reserved[4];
21 #define MMU_BASE ((struct mmu_regs *)0xff000000)
24 #define WTCSR0 0xffcc0002
25 #define WRSTCSR_R 0xffcc0003
26 #define WRSTCSR_W 0xffcc0002
27 #define WTCSR_PREFIX 0xa500
28 #define WRSTCSR_PREFIX 0x6900
29 #define WRSTCSR_WOVF_PREFIX 0x9600
32 #define SCIF0_BASE 0xfe4b0000 /* The real name is SCIF2 */
33 #define SCIF1_BASE 0xfe4c0000 /* The real name is SCIF3 */
34 #define SCIF2_BASE 0xfe4d0000 /* The real name is SCIF4 */
37 #define TMU_BASE 0xFE430000
39 /* ETHER, GETHER MAC address */
40 struct ether_mac_regs {
41 unsigned int reserved[114];
43 unsigned int reserved2;
46 #define GETHER0_MAC_BASE ((struct ether_mac_regs *)0xfee0400)
47 #define GETHER1_MAC_BASE ((struct ether_mac_regs *)0xfee0c00)
48 #define ETHER0_MAC_BASE ((struct ether_mac_regs *)0xfef0000)
49 #define ETHER1_MAC_BASE ((struct ether_mac_regs *)0xfef0800)
52 struct gether_control_regs {
55 #define GETHER_CONTROL_BASE ((struct gether_control_regs *)0xffc10100)
56 #define GBECONT_RMII1 0x00020000
57 #define GBECONT_RMII0 0x00010000
68 #define SERMUX_BASE ((struct sermux_regs *)0xfe470000)
72 struct usb_common_regs {
73 unsigned short reserved[129];
74 unsigned short suspmode;
76 #define USB0_COMMON_BASE ((struct usb_common_regs *)0xfe450000)
77 #define USB1_COMMON_BASE ((struct usb_common_regs *)0xfe4f0000)
79 struct usb0_phy_regs {
81 unsigned short reserved[4];
82 unsigned short portsel;
84 #define USB0_PHY_BASE ((struct usb0_phy_regs *)0xfe5f0000)
86 struct usb1_port_regs {
87 unsigned int port1sel;
88 unsigned int reserved;
89 unsigned int usb1intsts;
91 #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;
98 #define USB1_ALIGNMENT_BASE ((struct usb1_alignment_regs *)0xfe4fe018)
117 unsigned short reserved;
129 unsigned char reserved_a;
131 unsigned char reserved_b;
133 unsigned char reserved_c;
135 unsigned char reserved_d;
137 unsigned char reserved_e;
139 unsigned char reserved_f;
141 unsigned char reserved_g;
143 unsigned char reserved_h;
145 unsigned char reserved_i;
147 unsigned char reserved_j;
149 unsigned char reserved_k;
151 unsigned char reserved_l;
153 unsigned char reserved_m;
155 unsigned char reserved_n;
157 unsigned char reserved_o;
159 unsigned char reserved_p;
161 unsigned char reserved_q;
163 unsigned char reserved_r;
165 unsigned char reserved_s;
167 unsigned char reserved_t;
169 unsigned char reserved_u;
171 unsigned char reserved_v;
173 unsigned char reserved_w;
175 unsigned char reserved_x;
177 unsigned char reserved_y;
179 unsigned char reserved_z;
181 unsigned short ncmcr;
182 unsigned short nccsr;
183 unsigned char reserved2[2];
184 unsigned short psel0; /* +0x70 */
185 unsigned short psel1;
186 unsigned short psel2;
187 unsigned short psel3;
188 unsigned short psel4;
189 unsigned short psel5;
190 unsigned short psel6;
191 unsigned short reserved3[2];
192 unsigned short psel7;
194 #define GPIO_BASE ((struct gpio_regs *)0xffec0000)
196 #endif /* ifndef __ASSEMBLY__ */
197 #endif /* _ASM_CPU_SH7753_H_ */