Path: blob/master/arch/powerpc/platforms/cell/celleb_scc.h
10818 views
/*1* SCC (Super Companion Chip) definitions2*3* (C) Copyright 2004-2006 TOSHIBA CORPORATION4*5* This program is free software; you can redistribute it and/or modify6* it under the terms of the GNU General Public License as published by7* the Free Software Foundation; either version 2 of the License, or8* (at your option) any later version.9*10* This program is distributed in the hope that it will be useful,11* but WITHOUT ANY WARRANTY; without even the implied warranty of12* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the13* GNU General Public License for more details.14*15* You should have received a copy of the GNU General Public License along16* with this program; if not, write to the Free Software Foundation, Inc.,17* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.18*/1920#ifndef _CELLEB_SCC_H21#define _CELLEB_SCC_H2223#define PCI_VENDOR_ID_TOSHIBA_2 0x102f24#define PCI_DEVICE_ID_TOSHIBA_SCC_PCIEXC_BRIDGE 0x01b025#define PCI_DEVICE_ID_TOSHIBA_SCC_EPCI_BRIDGE 0x01b126#define PCI_DEVICE_ID_TOSHIBA_SCC_BRIDGE 0x01b227#define PCI_DEVICE_ID_TOSHIBA_SCC_GBE 0x01b328#define PCI_DEVICE_ID_TOSHIBA_SCC_ATA 0x01b429#define PCI_DEVICE_ID_TOSHIBA_SCC_USB2 0x01b530#define PCI_DEVICE_ID_TOSHIBA_SCC_USB 0x01b631#define PCI_DEVICE_ID_TOSHIBA_SCC_ENCDEC 0x01b73233#define SCC_EPCI_REG 0x0000d0003435/* EPCI registers */36#define SCC_EPCI_CNF10_REG 0x01037#define SCC_EPCI_CNF14_REG 0x01438#define SCC_EPCI_CNF18_REG 0x01839#define SCC_EPCI_PVBAT 0x10040#define SCC_EPCI_VPMBAT 0x10441#define SCC_EPCI_VPIBAT 0x10842#define SCC_EPCI_VCSR 0x11043#define SCC_EPCI_VIENAB 0x11444#define SCC_EPCI_VISTAT 0x11845#define SCC_EPCI_VRDCOUNT 0x12446#define SCC_EPCI_BAM0 0x12c47#define SCC_EPCI_BAM1 0x13448#define SCC_EPCI_BAM2 0x13c49#define SCC_EPCI_IADR 0x16450#define SCC_EPCI_CLKRST 0x80051#define SCC_EPCI_INTSET 0x80452#define SCC_EPCI_STATUS 0x80853#define SCC_EPCI_ABTSET 0x80c54#define SCC_EPCI_WATRP 0x81055#define SCC_EPCI_DUMYRADR 0x81456#define SCC_EPCI_SWRESP 0x81857#define SCC_EPCI_CNTOPT 0x81c58#define SCC_EPCI_ECMODE 0xf0059#define SCC_EPCI_IOM_AC_NUM 560#define SCC_EPCI_IOM_ACTE(n) (0xf10 + (n) * 4)61#define SCC_EPCI_IOT_AC_NUM 462#define SCC_EPCI_IOT_ACTE(n) (0xf30 + (n) * 4)63#define SCC_EPCI_MAEA 0xf5064#define SCC_EPCI_MAEC 0xf5465#define SCC_EPCI_CKCTRL 0xff06667/* bits for SCC_EPCI_VCSR */68#define SCC_EPCI_VCSR_FRE 0x0002000069#define SCC_EPCI_VCSR_FWE 0x0001000070#define SCC_EPCI_VCSR_DR 0x0000040071#define SCC_EPCI_VCSR_SR 0x0000000872#define SCC_EPCI_VCSR_AT 0x000000047374/* bits for SCC_EPCI_VIENAB/SCC_EPCI_VISTAT */75#define SCC_EPCI_VISTAT_PMPE 0x0000000876#define SCC_EPCI_VISTAT_PMFE 0x0000000477#define SCC_EPCI_VISTAT_PRA 0x0000000278#define SCC_EPCI_VISTAT_PRD 0x0000000179#define SCC_EPCI_VISTAT_ALL 0x0000000f8081#define SCC_EPCI_VIENAB_PMPEE 0x0000000882#define SCC_EPCI_VIENAB_PMFEE 0x0000000483#define SCC_EPCI_VIENAB_PRA 0x0000000284#define SCC_EPCI_VIENAB_PRD 0x0000000185#define SCC_EPCI_VIENAB_ALL 0x0000000f8687/* bits for SCC_EPCI_CLKRST */88#define SCC_EPCI_CLKRST_CKS_MASK 0x0003000089#define SCC_EPCI_CLKRST_CKS_2 0x0000000090#define SCC_EPCI_CLKRST_CKS_4 0x0001000091#define SCC_EPCI_CLKRST_CKS_8 0x0002000092#define SCC_EPCI_CLKRST_PCICRST 0x0000040093#define SCC_EPCI_CLKRST_BC 0x0000020094#define SCC_EPCI_CLKRST_PCIRST 0x0000010095#define SCC_EPCI_CLKRST_PCKEN 0x000000019697/* bits for SCC_EPCI_INTSET/SCC_EPCI_STATUS */98#define SCC_EPCI_INT_2M 0x0100000099#define SCC_EPCI_INT_RERR 0x00200000100#define SCC_EPCI_INT_SERR 0x00100000101#define SCC_EPCI_INT_PRTER 0x00080000102#define SCC_EPCI_INT_SER 0x00040000103#define SCC_EPCI_INT_PER 0x00020000104#define SCC_EPCI_INT_PAI 0x00010000105#define SCC_EPCI_INT_1M 0x00000100106#define SCC_EPCI_INT_PME 0x00000010107#define SCC_EPCI_INT_INTD 0x00000008108#define SCC_EPCI_INT_INTC 0x00000004109#define SCC_EPCI_INT_INTB 0x00000002110#define SCC_EPCI_INT_INTA 0x00000001111#define SCC_EPCI_INT_DEVINT 0x0000000f112#define SCC_EPCI_INT_ALL 0x003f001f113#define SCC_EPCI_INT_ALLERR 0x003f0000114115/* bits for SCC_EPCI_CKCTRL */116#define SCC_EPCI_CKCTRL_CRST0 0x00010000117#define SCC_EPCI_CKCTRL_CRST1 0x00020000118#define SCC_EPCI_CKCTRL_OCLKEN 0x00000100119#define SCC_EPCI_CKCTRL_LCLKEN 0x00000001120121#define SCC_EPCI_IDSEL_AD_TO_SLOT(ad) ((ad) - 10)122#define SCC_EPCI_MAX_DEVNU SCC_EPCI_IDSEL_AD_TO_SLOT(32)123124/* bits for SCC_EPCI_CNTOPT */125#define SCC_EPCI_CNTOPT_O2PMB 0x00000002126127/* SCC PCIEXC SMMIO registers */128#define PEXCADRS 0x000129#define PEXCWDATA 0x004130#define PEXCRDATA 0x008131#define PEXDADRS 0x010132#define PEXDCMND 0x014133#define PEXDWDATA 0x018134#define PEXDRDATA 0x01c135#define PEXREQID 0x020136#define PEXTIDMAP 0x024137#define PEXINTMASK 0x028138#define PEXINTSTS 0x02c139#define PEXAERRMASK 0x030140#define PEXAERRSTS 0x034141#define PEXPRERRMASK 0x040142#define PEXPRERRSTS 0x044143#define PEXPRERRID01 0x048144#define PEXPRERRID23 0x04c145#define PEXVDMASK 0x050146#define PEXVDSTS 0x054147#define PEXRCVCPLIDA 0x060148#define PEXLENERRIDA 0x068149#define PEXPHYPLLST 0x070150#define PEXDMRDEN0 0x100151#define PEXDMRDADR0 0x104152#define PEXDMRDENX 0x110153#define PEXDMRDADRX 0x114154#define PEXECMODE 0xf00155#define PEXMAEA(n) (0xf50 + (8 * n))156#define PEXMAEC(n) (0xf54 + (8 * n))157#define PEXCCRCTRL 0xff0158159/* SCC PCIEXC bits and shifts for PEXCADRS */160#define PEXCADRS_BYTE_EN_SHIFT 20161#define PEXCADRS_CMD_SHIFT 16162#define PEXCADRS_CMD_READ (0xa << PEXCADRS_CMD_SHIFT)163#define PEXCADRS_CMD_WRITE (0xb << PEXCADRS_CMD_SHIFT)164165/* SCC PCIEXC shifts for PEXDADRS */166#define PEXDADRS_BUSNO_SHIFT 20167#define PEXDADRS_DEVNO_SHIFT 15168#define PEXDADRS_FUNCNO_SHIFT 12169170/* SCC PCIEXC bits and shifts for PEXDCMND */171#define PEXDCMND_BYTE_EN_SHIFT 4172#define PEXDCMND_IO_READ 0x2173#define PEXDCMND_IO_WRITE 0x3174#define PEXDCMND_CONFIG_READ 0xa175#define PEXDCMND_CONFIG_WRITE 0xb176177/* SCC PCIEXC bits for PEXPHYPLLST */178#define PEXPHYPLLST_PEXPHYAPLLST 0x00000001179180/* SCC PCIEXC bits for PEXECMODE */181#define PEXECMODE_ALL_THROUGH 0x00000000182#define PEXECMODE_ALL_8BIT 0x00550155183#define PEXECMODE_ALL_16BIT 0x00aa02aa184185/* SCC PCIEXC bits for PEXCCRCTRL */186#define PEXCCRCTRL_PEXIPCOREEN 0x00040000187#define PEXCCRCTRL_PEXIPCONTEN 0x00020000188#define PEXCCRCTRL_PEXPHYPLLEN 0x00010000189#define PEXCCRCTRL_PCIEXCAOCKEN 0x00000100190191/* SCC PCIEXC port configuration registers */192#define PEXTCERRCHK 0x21c193#define PEXTAMAPB0 0x220194#define PEXTAMAPL0 0x224195#define PEXTAMAPB(n) (PEXTAMAPB0 + 8 * (n))196#define PEXTAMAPL(n) (PEXTAMAPL0 + 8 * (n))197#define PEXCHVC0P 0x500198#define PEXCHVC0NP 0x504199#define PEXCHVC0C 0x508200#define PEXCDVC0P 0x50c201#define PEXCDVC0NP 0x510202#define PEXCDVC0C 0x514203#define PEXCHVCXP 0x518204#define PEXCHVCXNP 0x51c205#define PEXCHVCXC 0x520206#define PEXCDVCXP 0x524207#define PEXCDVCXNP 0x528208#define PEXCDVCXC 0x52c209#define PEXCTTRG 0x530210#define PEXTSCTRL 0x700211#define PEXTSSTS 0x704212#define PEXSKPCTRL 0x708213214/* UHC registers */215#define SCC_UHC_CKRCTRL 0xff0216#define SCC_UHC_ECMODE 0xf00217218/* bits for SCC_UHC_CKRCTRL */219#define SCC_UHC_F48MCKLEN 0x00000001220#define SCC_UHC_P_SUSPEND 0x00000002221#define SCC_UHC_PHY_SUSPEND_SEL 0x00000004222#define SCC_UHC_HCLKEN 0x00000100223#define SCC_UHC_USBEN 0x00010000224#define SCC_UHC_USBCEN 0x00020000225#define SCC_UHC_PHYEN 0x00040000226227/* bits for SCC_UHC_ECMODE */228#define SCC_UHC_ECMODE_BY_BYTE 0x00000555229#define SCC_UHC_ECMODE_BY_WORD 0x00000aaa230231#endif /* _CELLEB_SCC_H */232233234