Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / u-boot / arch / sh / include / asm / cpu_sh7757.h
diff --git a/qemu/roms/u-boot/arch/sh/include/asm/cpu_sh7757.h b/qemu/roms/u-boot/arch/sh/include/asm/cpu_sh7757.h
new file mode 100644 (file)
index 0000000..a64602d
--- /dev/null
@@ -0,0 +1,192 @@
+/*
+ * Copyright (C) 2011  Renesas Solutions Corp.
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#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 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
+
+/* 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_ */