123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218 |
- /*
- * Copyright (C) 2011 Renesas Solutions Corp.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- *
- */
- #ifndef _ASM_CPU_SH7757_H_
- #define _ASM_CPU_SH7757_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 */
- /* SerMux */
- #define SMR0 0xfe470000
- /* TMU0 */
- #define TSTR 0xFE430004
- #define TOCR 0xFE430000
- #define TSTR0 0xFE430004
- #define TCOR0 0xFE430008
- #define TCNT0 0xFE43000C
- #define TCR0 0xFE430010
- #define TCOR1 0xFE430014
- #define TCNT1 0xFE430018
- #define TCR1 0xFE43001C
- #define TCOR2 0xFE430020
- #define TCNT2 0xFE430024
- #define TCR2 0xFE430028
- #define TCPR2 0xFE43002C
- /* 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
- /* 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)
- /* GCTRL, GRA */
- struct gctrl_regs {
- unsigned int wprotect;
- unsigned int gplldiv;
- unsigned int gracr2; /* GRA */
- unsigned int gracr3; /* GRA */
- unsigned int reserved[4];
- unsigned int fcntcr1;
- unsigned int fcntcr2;
- unsigned int reserved2[2];
- unsigned int gpll1div;
- unsigned int vcompsel;
- unsigned int reserved3[62];
- unsigned int fdlmon;
- unsigned int reserved4[2];
- unsigned int flcrmon;
- unsigned int reserved5[944];
- unsigned int spibootcan;
- };
- #define GCTRL_BASE ((struct gctrl_regs *)0xffc10000)
- /* PCIe setup */
- struct pcie_setup_regs {
- unsigned int pbictl0;
- unsigned int gradevctl;
- unsigned int reserved[2];
- unsigned int bmcinf[6];
- unsigned int reserved2[118];
- unsigned int idset[2];
- unsigned int subidset;
- unsigned int reserved3[2];
- unsigned int linkconfset[4];
- unsigned int trsid;
- unsigned int reserved4[6];
- unsigned int toutset;
- unsigned int reserved5[7];
- unsigned int lad0;
- unsigned int ladmsk0;
- unsigned int lad1;
- unsigned int ladmsk1;
- unsigned int lad2;
- unsigned int ladmsk2;
- unsigned int lad3;
- unsigned int ladmsk3;
- unsigned int lad4;
- unsigned int ladmsk4;
- unsigned int lad5;
- unsigned int ladmsk5;
- unsigned int reserved6[94];
- unsigned int vdmrxvid[2];
- unsigned int reserved7;
- unsigned int pbiintfr;
- unsigned int pbiinten;
- unsigned int msimap;
- unsigned int barmap;
- unsigned int baracsize;
- unsigned int advserest;
- unsigned int pbictl3;
- unsigned int reserved8[8];
- unsigned int pbictl1;
- unsigned int scratch0;
- unsigned int reserved9[6];
- unsigned int pbictl2;
- unsigned int reserved10;
- unsigned int pbirev;
- };
- #define PCIE_SETUP_BASE ((struct pcie_setup_regs *)0xffca1000)
- struct pcie_system_bus_regs {
- unsigned int reserved[3];
- unsigned int endictl0;
- unsigned int endictl1;
- };
- #define PCIE_SYSTEM_BUS_BASE ((struct pcie_system_bus_regs *)0xffca1600)
- /* PCIe-Bridge */
- struct pciebrg_regs {
- unsigned short ctrl_h8s;
- unsigned short reserved[7];
- unsigned short cp_addr;
- unsigned short reserved2;
- unsigned short cp_data;
- unsigned short reserved3;
- unsigned short cp_ctrl;
- };
- #define PCIEBRG_BASE ((struct pciebrg_regs *)0xffd60000)
- /* CPU version */
- #define CCN_PRR 0xff000044
- #define prr_mask(_val) ((_val >> 4) & 0xff)
- #define PRR_SH7757_B0 0x10
- #define PRR_SH7757_C0 0x11
- #define is_sh7757_b0(_val) \
- ({ \
- int __ret = prr_mask(__raw_readl(CCN_PRR)) == PRR_SH7757_B0; \
- __ret; \
- })
- #endif /* ifndef __ASSEMBLY__ */
- #endif /* _ASM_CPU_SH7757_H_ */
|