/* * Copyright (C) 2012 Renesas Solutions Corp. * * SPDX-License-Identifier: GPL-2.0+ */ #ifndef _ASM_CPU_SH7753_H_ #define _ASM_CPU_SH7753_H_ #define CCR 0xFF00001C #define WTCNT 0xFFCC0000 #define CCR_CACHE_INIT 0x0000090b #define CACHE_OC_NUM_WAYS 1 #ifndef __ASSEMBLY__ /* put C only stuff in this section */ /* MMU */ struct mmu_regs { unsigned int reserved[4]; unsigned int mmucr; }; #define MMU_BASE ((struct mmu_regs *)0xff000000) /* Watchdog */ #define WTCSR0 0xffcc0002 #define WRSTCSR_R 0xffcc0003 #define WRSTCSR_W 0xffcc0002 #define WTCSR_PREFIX 0xa500 #define WRSTCSR_PREFIX 0x6900 #define WRSTCSR_WOVF_PREFIX 0x9600 /* SCIF */ #define SCIF0_BASE 0xfe4b0000 /* The real name is SCIF2 */ #define SCIF1_BASE 0xfe4c0000 /* The real name is SCIF3 */ #define SCIF2_BASE 0xfe4d0000 /* The real name is SCIF4 */ /* TMU0 */ #define TMU_BASE 0xFE430000 /* ETHER, GETHER MAC address */ struct ether_mac_regs { unsigned int reserved[114]; unsigned int mahr; unsigned int reserved2; unsigned int malr; }; #define GETHER0_MAC_BASE ((struct ether_mac_regs *)0xfee0400) #define GETHER1_MAC_BASE ((struct ether_mac_regs *)0xfee0c00) #define ETHER0_MAC_BASE ((struct ether_mac_regs *)0xfef0000) #define ETHER1_MAC_BASE ((struct ether_mac_regs *)0xfef0800) /* GETHER */ struct gether_control_regs { unsigned int gbecont; }; #define GETHER_CONTROL_BASE ((struct gether_control_regs *)0xffc10100) #define GBECONT_RMII1 0x00020000 #define GBECONT_RMII0 0x00010000 /* SerMux */ struct sermux_regs { unsigned char smr0; unsigned char smr1; unsigned char smr2; unsigned char smr3; unsigned char smr4; unsigned char smr5; }; #define SERMUX_BASE ((struct sermux_regs *)0xfe470000) /* USB0/1 */ struct usb_common_regs { unsigned short reserved[129]; unsigned short suspmode; }; #define USB0_COMMON_BASE ((struct usb_common_regs *)0xfe450000) #define USB1_COMMON_BASE ((struct usb_common_regs *)0xfe4f0000) struct usb0_phy_regs { unsigned short reset; unsigned short reserved[4]; unsigned short portsel; }; #define USB0_PHY_BASE ((struct usb0_phy_regs *)0xfe5f0000) struct usb1_port_regs { unsigned int port1sel; unsigned int reserved; unsigned int usb1intsts; }; #define USB1_PORT_BASE ((struct usb1_port_regs *)0xfe4f2000) struct usb1_alignment_regs { unsigned int ehcidatac; /* 0xfe4fe018 */ unsigned int reserved[63]; unsigned int ohcidatac; }; #define USB1_ALIGNMENT_BASE ((struct usb1_alignment_regs *)0xfe4fe018) /* GPIO */ struct gpio_regs { unsigned short pacr; unsigned short pbcr; unsigned short pccr; unsigned short pdcr; unsigned short pecr; unsigned short pfcr; unsigned short pgcr; unsigned short phcr; unsigned short picr; unsigned short pjcr; unsigned short pkcr; unsigned short plcr; unsigned short pmcr; unsigned short pncr; unsigned short pocr; unsigned short reserved; unsigned short pqcr; unsigned short prcr; unsigned short pscr; unsigned short ptcr; unsigned short pucr; unsigned short pvcr; unsigned short pwcr; unsigned short pxcr; unsigned short pycr; unsigned short pzcr; unsigned char padr; unsigned char reserved_a; unsigned char pbdr; unsigned char reserved_b; unsigned char pcdr; unsigned char reserved_c; unsigned char pddr; unsigned char reserved_d; unsigned char pedr; unsigned char reserved_e; unsigned char pfdr; unsigned char reserved_f; unsigned char pgdr; unsigned char reserved_g; unsigned char phdr; unsigned char reserved_h; unsigned char pidr; unsigned char reserved_i; unsigned char pjdr; unsigned char reserved_j; unsigned char pkdr; unsigned char reserved_k; unsigned char pldr; unsigned char reserved_l; unsigned char pmdr; unsigned char reserved_m; unsigned char pndr; unsigned char reserved_n; unsigned char podr; unsigned char reserved_o; unsigned char ppdr; unsigned char reserved_p; unsigned char pqdr; unsigned char reserved_q; unsigned char prdr; unsigned char reserved_r; unsigned char psdr; unsigned char reserved_s; unsigned char ptdr; unsigned char reserved_t; unsigned char pudr; unsigned char reserved_u; unsigned char pvdr; unsigned char reserved_v; unsigned char pwdr; unsigned char reserved_w; unsigned char pxdr; unsigned char reserved_x; unsigned char pydr; unsigned char reserved_y; unsigned char pzdr; unsigned char reserved_z; unsigned short ncer; unsigned short ncmcr; unsigned short nccsr; unsigned char reserved2[2]; unsigned short psel0; /* +0x70 */ unsigned short psel1; unsigned short psel2; unsigned short psel3; unsigned short psel4; unsigned short psel5; unsigned short psel6; unsigned short reserved3[2]; unsigned short psel7; }; #define GPIO_BASE ((struct gpio_regs *)0xffec0000) #endif /* ifndef __ASSEMBLY__ */ #endif /* _ASM_CPU_SH7753_H_ */