Home | History | Annotate | Download | only in asm
      1 /* SPDX-License-Identifier: GPL-2.0+ */
      2 /*
      3  * Copyright (C) 2012  Renesas Solutions Corp.
      4  */
      5 
      6 #ifndef _ASM_CPU_SH7752_H_
      7 #define _ASM_CPU_SH7752_H_
      8 
      9 #define CCR		0xFF00001C
     10 #define WTCNT		0xFFCC0000
     11 #define CCR_CACHE_INIT	0x0000090b
     12 #define CACHE_OC_NUM_WAYS	1
     13 
     14 #ifndef __ASSEMBLY__		/* put C only stuff in this section */
     15 /* MMU */
     16 struct mmu_regs {
     17 	unsigned int	reserved[4];
     18 	unsigned int	mmucr;
     19 };
     20 #define MMU_BASE	((struct mmu_regs *)0xff000000)
     21 
     22 /* Watchdog */
     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
     29 
     30 /* SCIF */
     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 */
     34 
     35 /* TMU0 */
     36 #define TMU_BASE	 0xFE430000
     37 
     38 /* ETHER, GETHER MAC address */
     39 struct ether_mac_regs {
     40 	unsigned int	reserved[114];
     41 	unsigned int	mahr;
     42 	unsigned int	reserved2;
     43 	unsigned int	malr;
     44 };
     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)
     49 
     50 /* GETHER */
     51 struct gether_control_regs {
     52 	unsigned int	gbecont;
     53 };
     54 #define GETHER_CONTROL_BASE	((struct gether_control_regs *)0xffc10100)
     55 #define GBECONT_RMII1		0x00020000
     56 #define GBECONT_RMII0		0x00010000
     57 
     58 /* SerMux */
     59 struct sermux_regs {
     60 	unsigned char	smr0;
     61 	unsigned char	smr1;
     62 	unsigned char	smr2;
     63 	unsigned char	smr3;
     64 	unsigned char	smr4;
     65 	unsigned char	smr5;
     66 };
     67 #define SERMUX_BASE	((struct sermux_regs *)0xfe470000)
     68 
     69 
     70 /* USB0/1 */
     71 struct usb_common_regs {
     72 	unsigned short	reserved[129];
     73 	unsigned short	suspmode;
     74 };
     75 #define USB0_COMMON_BASE	((struct usb_common_regs *)0xfe450000)
     76 #define USB1_COMMON_BASE	((struct usb_common_regs *)0xfe4f0000)
     77 
     78 struct usb0_phy_regs {
     79 	unsigned short	reset;
     80 	unsigned short	reserved[4];
     81 	unsigned short	portsel;
     82 };
     83 #define USB0_PHY_BASE		((struct usb0_phy_regs *)0xfe5f0000)
     84 
     85 struct usb1_port_regs {
     86 	unsigned int	port1sel;
     87 	unsigned int	reserved;
     88 	unsigned int	usb1intsts;
     89 };
     90 #define USB1_PORT_BASE		((struct usb1_port_regs *)0xfe4f2000)
     91 
     92 struct usb1_alignment_regs {
     93 	unsigned int	ehcidatac;	/* 0xfe4fe018 */
     94 	unsigned int	reserved[63];
     95 	unsigned int	ohcidatac;
     96 };
     97 #define USB1_ALIGNMENT_BASE	((struct usb1_alignment_regs *)0xfe4fe018)
     98 
     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 
    195 #endif	/* ifndef __ASSEMBLY__ */
    196 #endif	/* _ASM_CPU_SH7752_H_ */
    197