1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * Copyright (C) 2012 Renesas Solutions Corp.
6 #ifndef _ASM_CPU_SH7752_H_
7 #define _ASM_CPU_SH7752_H_
10 #define WTCNT 0xFFCC0000
11 #define CCR_CACHE_INIT 0x0000090b
12 #define CACHE_OC_NUM_WAYS 1
14 #ifndef __ASSEMBLY__ /* put C only stuff in this section */
17 unsigned int reserved[4];
20 #define MMU_BASE ((struct mmu_regs *)0xff000000)
23 #define WTCSR0 0xffcc0002
24 #define WRSTCSR_R 0xffcc0003
25 #define WRSTCSR_W 0xffcc0002
26 #define WTCSR_PREFIX 0xa500
27 #define WRSTCSR_PREFIX 0x6900
28 #define WRSTCSR_WOVF_PREFIX 0x9600
31 #define SCIF0_BASE 0xfe4b0000 /* The real name is SCIF2 */
32 #define SCIF1_BASE 0xfe4c0000 /* The real name is SCIF3 */
33 #define SCIF2_BASE 0xfe4d0000 /* The real name is SCIF4 */
36 #define TMU_BASE 0xFE430000
38 /* ETHER, GETHER MAC address */
39 struct ether_mac_regs {
40 unsigned int reserved[114];
42 unsigned int reserved2;
45 #define GETHER0_MAC_BASE ((struct ether_mac_regs *)0xfee0400)
46 #define GETHER1_MAC_BASE ((struct ether_mac_regs *)0xfee0c00)
47 #define ETHER0_MAC_BASE ((struct ether_mac_regs *)0xfef0000)
48 #define ETHER1_MAC_BASE ((struct ether_mac_regs *)0xfef0800)
51 struct gether_control_regs {
54 #define GETHER_CONTROL_BASE ((struct gether_control_regs *)0xffc10100)
55 #define GBECONT_RMII1 0x00020000
56 #define GBECONT_RMII0 0x00010000
67 #define SERMUX_BASE ((struct sermux_regs *)0xfe470000)
71 struct usb_common_regs {
72 unsigned short reserved[129];
73 unsigned short suspmode;
75 #define USB0_COMMON_BASE ((struct usb_common_regs *)0xfe450000)
76 #define USB1_COMMON_BASE ((struct usb_common_regs *)0xfe4f0000)
78 struct usb0_phy_regs {
80 unsigned short reserved[4];
81 unsigned short portsel;
83 #define USB0_PHY_BASE ((struct usb0_phy_regs *)0xfe5f0000)
85 struct usb1_port_regs {
86 unsigned int port1sel;
87 unsigned int reserved;
88 unsigned int usb1intsts;
90 #define USB1_PORT_BASE ((struct usb1_port_regs *)0xfe4f2000)
92 struct usb1_alignment_regs {
93 unsigned int ehcidatac; /* 0xfe4fe018 */
94 unsigned int reserved[63];
95 unsigned int ohcidatac;
97 #define USB1_ALIGNMENT_BASE ((struct usb1_alignment_regs *)0xfe4fe018)
116 unsigned short reserved;
128 unsigned char reserved_a;
130 unsigned char reserved_b;
132 unsigned char reserved_c;
134 unsigned char reserved_d;
136 unsigned char reserved_e;
138 unsigned char reserved_f;
140 unsigned char reserved_g;
142 unsigned char reserved_h;
144 unsigned char reserved_i;
146 unsigned char reserved_j;
148 unsigned char reserved_k;
150 unsigned char reserved_l;
152 unsigned char reserved_m;
154 unsigned char reserved_n;
156 unsigned char reserved_o;
158 unsigned char reserved_p;
160 unsigned char reserved_q;
162 unsigned char reserved_r;
164 unsigned char reserved_s;
166 unsigned char reserved_t;
168 unsigned char reserved_u;
170 unsigned char reserved_v;
172 unsigned char reserved_w;
174 unsigned char reserved_x;
176 unsigned char reserved_y;
178 unsigned char reserved_z;
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;
193 #define GPIO_BASE ((struct gpio_regs *)0xffec0000)
195 #endif /* ifndef __ASSEMBLY__ */
196 #endif /* _ASM_CPU_SH7752_H_ */