ShellBanner
System:Linux MiraNet 3.0.0-14-generic-pae #23-Ubuntu SMP Mon Nov 21 22:07:10 UTC 2011 i686
Software:Apache. PHP/5.3.6-13ubuntu3.10
ID:uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
Safe Mode:OFF
Open_Basedir:OFF
Freespace:21.95 GB of 70.42 GB (31.18%)
MySQL: ON MSSQL: OFF Oracle: OFF PostgreSQL: OFF Curl: OFF Sockets: ON Fetch: OFF Wget: ON Perl: ON
Disabled Functions: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,

/ usr/ src/ linux-headers-3.0.0-14/ arch/ mips/ include/ asm/ mach-rc32434/ - drwxr-xr-x

Directory:
Viewing file:     pci.h (13.7 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/*
 *  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  SOFTWARE  IS PROVIDED   ``AS  IS'' AND   ANY  EXPRESS OR IMPLIED
 *  WARRANTIES,   INCLUDING, BUT NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF
 *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
 *  NO  EVENT  SHALL   THE AUTHOR  BE    LIABLE FOR ANY   DIRECT, INDIRECT,
 *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 *  NOT LIMITED   TO, PROCUREMENT OF  SUBSTITUTE GOODS  OR SERVICES; LOSS OF
 *  USE, DATA,  OR PROFITS; OR  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 *  ANY THEORY OF LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT
 *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 *  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.,
 *  675 Mass Ave, Cambridge, MA 02139, USA.
 *
 * Copyright 2004 IDT Inc. (rischelp@idt.com)
 *
 * Initial Release
 */

#ifndef _ASM_RC32434_PCI_H_
#define _ASM_RC32434_PCI_H_

#define epld_mask ((volatile unsigned char *)0xB900000d)

#define PCI0_BASE_ADDR        0x18080000
#define PCI_LBA_COUNT        4

struct pci_map {
    u32 address;        /* Address. */
    u32 control;        /* Control. */
    u32 mapping;        /* mapping. */
};

struct pci_reg {
    u32 pcic;
    u32 pcis;
    u32 pcism;
    u32 pcicfga;
    u32 pcicfgd;
    volatile struct pci_map pcilba[PCI_LBA_COUNT];
    u32 pcidac;
    u32 pcidas;
    u32 pcidasm;
    u32 pcidad;
    u32 pcidma8c;
    u32 pcidma9c;
    u32 pcitc;
};

#define PCI_MSU_COUNT        2

struct pci_msu {
    u32 pciim[PCI_MSU_COUNT];
    u32 pciom[PCI_MSU_COUNT];
    u32 pciid;
    u32 pciiic;
    u32 pciiim;
    u32 pciiod;
    u32 pciioic;
    u32 pciioim;
};

/*
 * PCI Control Register
 */

#define PCI_CTL_EN        (1 << 0)
#define PCI_CTL_TNR        (1 << 1)
#define PCI_CTL_SCE        (1 << 2)
#define PCI_CTL_IEN        (1 << 3)
#define PCI_CTL_AAA        (1 << 4)
#define PCI_CTL_EAP        (1 << 5)
#define PCI_CTL_PCIM_BIT    6
#define PCI_CTL_PCIM        0x000001c0

#define PCI_CTL_PCIM_DIS    0
#define PCI_CTL_PCIM_TNR    1 /* Satellite - target not ready */
#define PCI_CTL_PCIM_SUS    2 /* Satellite - suspended CPU. */
#define PCI_CTL_PCIM_EXT    3 /* Host - external arbiter. */
#define PCI_CTL PCIM_PRIO    4 /* Host - fixed priority arb. */
#define PCI_CTL_PCIM_RR        5 /* Host - round robin priority. */
#define PCI_CTL_PCIM_RSVD6    6
#define PCI_CTL_PCIM_RSVD7    7

#define PCI_CTL_IGM        (1 << 9)

/*
 * PCI Status Register
 */

#define PCI_STAT_EED        (1 << 0)
#define PCI_STAT_WR        (1 << 1)
#define PCI_STAT_NMI        (1 << 2)
#define PCI_STAT_II        (1 << 3)
#define PCI_STAT_CWE        (1 << 4)
#define PCI_STAT_CRE        (1 << 5)
#define PCI_STAT_MDPE        (1 << 6)
#define PCI_STAT_STA        (1 << 7)
#define PCI_STAT_RTA        (1 << 8)
#define PCI_STAT_RMA        (1 << 9)
#define PCI_STAT_SSE        (1 << 10)
#define PCI_STAT_OSE        (1 << 11)
#define PCI_STAT_PE        (1 << 12)
#define PCI_STAT_TAE        (1 << 13)
#define PCI_STAT_RLE        (1 << 14)
#define PCI_STAT_BME        (1 << 15)
#define PCI_STAT_PRD        (1 << 16)
#define PCI_STAT_RIP        (1 << 17)

/*
 * PCI Status Mask Register
 */

#define PCI_STATM_EED        PCI_STAT_EED
#define PCI_STATM_WR        PCI_STAT_WR
#define PCI_STATM_NMI        PCI_STAT_NMI
#define PCI_STATM_II        PCI_STAT_II
#define PCI_STATM_CWE        PCI_STAT_CWE
#define PCI_STATM_CRE        PCI_STAT_CRE
#define PCI_STATM_MDPE        PCI_STAT_MDPE
#define PCI_STATM_STA        PCI_STAT_STA
#define PCI_STATM_RTA        PCI_STAT_RTA
#define PCI_STATM_RMA        PCI_STAT_RMA
#define PCI_STATM_SSE        PCI_STAT_SSE
#define PCI_STATM_OSE        PCI_STAT_OSE
#define PCI_STATM_PE        PCI_STAT_PE
#define PCI_STATM_TAE        PCI_STAT_TAE
#define PCI_STATM_RLE        PCI_STAT_RLE
#define PCI_STATM_BME        PCI_STAT_BME
#define PCI_STATM_PRD        PCI_STAT_PRD
#define PCI_STATM_RIP        PCI_STAT_RIP

/*
 * PCI Configuration Address Register
 */
#define PCI_CFGA_REG_BIT    2
#define PCI_CFGA_REG        0x000000fc
#define     PCI_CFGA_REG_ID    (0x00 >> 2)    /* use PCFGID */
#define     PCI_CFGA_REG_04    (0x04 >> 2)    /* use PCFG04_ */
#define     PCI_CFGA_REG_08    (0x08 >> 2)    /* use PCFG08_ */
#define     PCI_CFGA_REG_0C    (0x0C >> 2)    /* use PCFG0C_ */
#define     PCI_CFGA_REG_PBA0    (0x10 >> 2)    /* use PCIPBA_ */
#define     PCI_CFGA_REG_PBA1    (0x14 >> 2)    /* use PCIPBA_ */
#define     PCI_CFGA_REG_PBA2    (0x18 >> 2)    /* use PCIPBA_ */
#define     PCI_CFGA_REG_PBA3    (0x1c >> 2)    /* use PCIPBA_ */
#define     PCI_CFGA_REG_SUBSYS    (0x2c >> 2)    /* use PCFGSS_ */
#define  PCI_CFGA_REG_3C    (0x3C >> 2)    /* use PCFG3C_ */
#define     PCI_CFGA_REG_PBBA0C    (0x44 >> 2)    /* use PCIPBAC_ */
#define  PCI_CFGA_REG_PBA0M    (0x48 >> 2)
#define     PCI_CFGA_REG_PBA1C    (0x4c >> 2)    /* use PCIPBAC_ */
#define  PCI_CFGA_REG_PBA1M    (0x50 >> 2)
#define     PCI_CFGA_REG_PBA2C    (0x54 >> 2)    /* use PCIPBAC_ */
#define     PCI_CFGA_REG_PBA2M    (0x58 >> 2)
#define     PCI_CFGA_REG_PBA3C    (0x5c >> 2)    /* use PCIPBAC_ */
#define     PCI_CFGA_REG_PBA3M    (0x60 >> 2)
#define     PCI_CFGA_REG_PMGT    (0x64 >> 2)
#define PCI_CFGA_FUNC_BIT    8
#define PCI_CFGA_FUNC        0x00000700
#define PCI_CFGA_DEV_BIT    11
#define    PCI_CFGA_DEV        0x0000f800
#define    PCI_CFGA_DEV_INTERN    0
#define    PCI_CFGA_BUS_BIT    16
#define PCI CFGA_BUS        0x00ff0000
#define PCI_CFGA_BUS_TYPE0    0
#define PCI_CFGA_EN        (1 << 31)

/* PCI CFG04 commands */
#define PCI_CFG04_CMD_IO_ENA    (1 << 0)
#define PCI_CFG04_CMD_MEM_ENA    (1 << 1)
#define PCI_CFG04_CMD_BM_ENA    (1 << 2)
#define PCI_CFG04_CMD_MW_INV    (1 << 4)
#define PCI_CFG04_CMD_PAR_ENA    (1 << 6)
#define PCI_CFG04_CMD_SER_ENA    (1 << 8)
#define PCI_CFG04_CMD_FAST_ENA    (1 << 9)

/* PCI CFG04 status fields */
#define PCI_CFG04_STAT_BIT    16
#define PCI_CFG04_STAT        0xffff0000
#define PCI_CFG04_STAT_66_MHZ    (1 << 21)
#define PCI_CFG04_STAT_FBB    (1 << 23)
#define PCI_CFG04_STAT_MDPE    (1 << 24)
#define PCI_CFG04_STAT_DST    (1 << 25)
#define PCI_CFG04_STAT_STA    (1 << 27)
#define PCI_CFG04_STAT_RTA    (1 << 28)
#define PCI_CFG04_STAT_RMA    (1 << 29)
#define PCI_CFG04_STAT_SSE    (1 << 30)
#define PCI_CFG04_STAT_PE    (1 << 31)

#define PCI_PBA_MSI        (1 << 0)
#define PCI_PBA_P        (1 << 2)

/* PCI PBAC registers */
#define PCI_PBAC_MSI        (1 << 0)
#define PCI_PBAC_P        (1 << 1)
#define PCI_PBAC_SIZE_BIT    2
#define PCI_PBAC_SIZE        0x0000007c
#define    PCI_PBAC_SB        (1 << 7)
#define    PCI_PBAC_PP        (1 << 8)
#define PCI_PBAC_MR_BIT        9
#define PCI_PBAC_MR        0x00000600
#define     PCI_PBAC_MR_RD        0
#define     PCI_PBAC_MR_RD_LINE    1
#define  PCI_PBAC_MR_RD_MULT    2
#define PCI_PBAC_MRL        (1 << 11)
#define PCI_PBAC_MRM        (1 << 12)
#define PCI_PBAC_TRP        (1 << 13)

#define PCI_CFG40_TRDY_TIM    0x000000ff
#define PCI_CFG40_RET_LIM    0x0000ff00

/*
 * PCI Local Base Address [0|1|2|3] Register
 */

#define PCI_LBA_BADDR_BIT    0
#define PCI_LBA_BADDR        0xffffff00

/*
 * PCI Local Base Address Control Register
 */

#define PCI_LBAC_MSI        (1 << 0)
#define  PCI_LBAC_MSI_MEM    0
#define  PCI_LBAC_MSI_IO    1
#define PCI_LBAC_SIZE_BIT    2
#define PCI_LBAC_SIZE        0x0000007c
#define PCI_LBAC_SB        (1 << 7)
#define PCI_LBAC_RT        (1 << 8)
#define  PCI_LBAC_RT_NO_PREF    0
#define  PCI_LBAC_RT_PREF    1

/*
 * PCI Local Base Address [0|1|2|3] Mapping Register
 */
#define PCI_LBAM_MADDR_BIT    8
#define PCI_LBAM_MADDR        0xffffff00

/*
 * PCI Decoupled Access Control Register
 */
#define PCI_DAC_DEN        (1 << 0)

/*
 * PCI Decoupled Access Status Register
 */
#define PCI_DAS_D        (1 << 0)
#define PCI_DAS_B        (1 << 1)
#define PCI_DAS_E        (1 << 2)
#define PCI_DAS_OFE        (1 << 3)
#define PCI_DAS_OFF        (1 << 4)
#define PCI_DAS_IFE        (1 << 5)
#define PCI_DAS_IFF        (1 << 6)

/*
 * PCI DMA Channel 8 Configuration Register
 */
#define PCI_DMA8C_MBS_BIT    0
#define PCI_DMA8C_MBS        0x00000fff /* Maximum Burst Size. */
#define PCI_DMA8C_OUR        (1 << 12)

/*
 * PCI DMA Channel 9 Configuration Register
 */
#define PCI_DMA9C_MBS_BIT    0    /* Maximum Burst Size. */
#define PCI_DMA9C_MBS        0x00000fff

/*
 * PCI to Memory(DMA Channel 8) AND Memory to PCI DMA(DMA Channel 9)Descriptors
 */

#define PCI_DMAD_PT_BIT        22        /* in DEVCMD field (descriptor) */
#define PCI_DMAD_PT        0x00c00000    /* preferred transaction field */
/* These are for reads (DMA channel 8) */
#define PCI_DMAD_DEVCMD_MR    0        /* memory read */
#define    PCI_DMAD_DEVCMD_MRL    1        /* memory read line */
#define    PCI_DMAD_DEVCMD_MRM    2        /* memory read multiple */
#define    PCI_DMAD_DEVCMD_IOR    3        /* I/O read */
/* These are for writes (DMA channel 9) */
#define PCI_DMAD_DEVCMD_MW    0        /* memory write */
#define    PCI_DMAD_DEVCMD_MWI    1        /* memory write invalidate */
#define    PCI_DMAD_DEVCMD_IOW    3        /* I/O write */

/* Swap byte field applies to both DMA channel 8 and 9 */
#define    PCI_DMAD_SB        (1 << 24)    /* swap byte field */


/*
 * PCI Target Control Register
 */

#define PCI_TC_RTIMER_BIT    0
#define PCI_TC_RTIMER        0x000000ff
#define PCI_TC_DTIMER_BIT    8
#define PCI_TC_DTIMER        0x0000ff00
#define PCI_TC_RDR        (1 << 18)
#define PCI_TC_DDT        (1 << 19)

/*
 * PCI messaging unit [applies to both inbound and outbound registers ]
 */
#define PCI_MSU_M0        (1 << 0)
#define PCI_MSU_M1        (1 << 1)
#define PCI_MSU_DB        (1 << 2)

#define PCI_MSG_ADDR             0xB8088010
#define PCI0_ADDR        0xB8080000
#define rc32434_pci ((struct pci_reg *) PCI0_ADDR)
#define rc32434_pci_msg ((struct pci_msu *) PCI_MSG_ADDR)

#define PCIM_SHFT        0x6
#define PCIM_BIT_LEN        0x7
#define PCIM_H_EA        0x3
#define PCIM_H_IA_FIX        0x4
#define PCIM_H_IA_RR        0x5
#if 0
#define PCI_ADDR_START        0x13000000
#endif

#define PCI_ADDR_START        0x50000000

#define CPUTOPCI_MEM_WIN    0x02000000
#define CPUTOPCI_IO_WIN        0x00100000
#define PCILBA_SIZE_SHFT    2
#define PCILBA_SIZE_MASK    0x1F
#define SIZE_256MB        0x1C
#define SIZE_128MB        0x1B
#define SIZE_64MB               0x1A
#define SIZE_32MB        0x19
#define SIZE_16MB               0x18
#define SIZE_4MB        0x16
#define SIZE_2MB        0x15
#define SIZE_1MB        0x14
#define KORINA_CONFIG0_ADDR    0x80000000
#define KORINA_CONFIG1_ADDR    0x80000004
#define KORINA_CONFIG2_ADDR    0x80000008
#define KORINA_CONFIG3_ADDR    0x8000000C
#define KORINA_CONFIG4_ADDR    0x80000010
#define KORINA_CONFIG5_ADDR    0x80000014
#define KORINA_CONFIG6_ADDR    0x80000018
#define KORINA_CONFIG7_ADDR    0x8000001C
#define KORINA_CONFIG8_ADDR    0x80000020
#define KORINA_CONFIG9_ADDR    0x80000024
#define KORINA_CONFIG10_ADDR    0x80000028
#define KORINA_CONFIG11_ADDR    0x8000002C
#define KORINA_CONFIG12_ADDR    0x80000030
#define KORINA_CONFIG13_ADDR    0x80000034
#define KORINA_CONFIG14_ADDR    0x80000038
#define KORINA_CONFIG15_ADDR    0x8000003C
#define KORINA_CONFIG16_ADDR    0x80000040
#define KORINA_CONFIG17_ADDR    0x80000044
#define KORINA_CONFIG18_ADDR    0x80000048
#define KORINA_CONFIG19_ADDR    0x8000004C
#define KORINA_CONFIG20_ADDR    0x80000050
#define KORINA_CONFIG21_ADDR    0x80000054
#define KORINA_CONFIG22_ADDR    0x80000058
#define KORINA_CONFIG23_ADDR    0x8000005C
#define KORINA_CONFIG24_ADDR    0x80000060
#define KORINA_CONFIG25_ADDR    0x80000064
#define KORINA_CMD         (PCI_CFG04_CMD_IO_ENA | \
                 PCI_CFG04_CMD_MEM_ENA | \
                 PCI_CFG04_CMD_BM_ENA | \
                 PCI_CFG04_CMD_MW_INV | \
                 PCI_CFG04_CMD_PAR_ENA | \
                 PCI_CFG04_CMD_SER_ENA)

#define KORINA_STAT        (PCI_CFG04_STAT_MDPE | \
                 PCI_CFG04_STAT_STA | \
                 PCI_CFG04_STAT_RTA | \
                 PCI_CFG04_STAT_RMA | \
                 PCI_CFG04_STAT_SSE | \
                 PCI_CFG04_STAT_PE)

#define KORINA_CNFG1        ((KORINA_STAT<<16)|KORINA_CMD)

#define KORINA_REVID        0
#define KORINA_CLASS_CODE    0
#define KORINA_CNFG2        ((KORINA_CLASS_CODE<<8) | \
                  KORINA_REVID)

#define KORINA_CACHE_LINE_SIZE    4
#define KORINA_MASTER_LAT    0x3c
#define KORINA_HEADER_TYPE    0
#define KORINA_BIST        0

#define KORINA_CNFG3 ((KORINA_BIST << 24) | \
              (KORINA_HEADER_TYPE<<16) | \
              (KORINA_MASTER_LAT<<8) | \
              KORINA_CACHE_LINE_SIZE)

#define KORINA_BAR0    0x00000008    /* 128 MB Memory */
#define KORINA_BAR1    0x18800001    /* 1 MB IO */
#define KORINA_BAR2    0x18000001    /* 2 MB IO window for Korina
                       internal Registers */
#define KORINA_BAR3    0x48000008    /* Spare 128 MB Memory */

#define KORINA_CNFG4    KORINA_BAR0
#define KORINA_CNFG5    KORINA_BAR1
#define KORINA_CNFG6     KORINA_BAR2
#define KORINA_CNFG7    KORINA_BAR3

#define KORINA_SUBSYS_VENDOR_ID 0x011d
#define KORINA_SUBSYSTEM_ID    0x0214
#define KORINA_CNFG8        0
#define KORINA_CNFG9        0
#define KORINA_CNFG10        0
#define KORINA_CNFG11     ((KORINA_SUBSYS_VENDOR_ID<<16) | \
              KORINA_SUBSYSTEM_ID)
#define KORINA_INT_LINE        1
#define KORINA_INT_PIN        1
#define KORINA_MIN_GNT        8
#define KORINA_MAX_LAT        0x38
#define KORINA_CNFG12        0
#define KORINA_CNFG13         0
#define KORINA_CNFG14        0
#define KORINA_CNFG15    ((KORINA_MAX_LAT<<24) | \
             (KORINA_MIN_GNT<<16) | \
             (KORINA_INT_PIN<<8)  | \
              KORINA_INT_LINE)
#define    KORINA_RETRY_LIMIT    0x80
#define KORINA_TRDY_LIMIT    0x80
#define KORINA_CNFG16 ((KORINA_RETRY_LIMIT<<8) | \
            KORINA_TRDY_LIMIT)
#define PCI_PBAxC_R        0x0
#define PCI_PBAxC_RL        0x1
#define PCI_PBAxC_RM        0x2
#define SIZE_SHFT        2

#if defined(__MIPSEB__)
#define KORINA_PBA0C    (PCI_PBAC_MRL | PCI_PBAC_SB | \
              ((PCI_PBAxC_RM & 0x3) << PCI_PBAC_MR_BIT) | \
              PCI_PBAC_PP | \
              (SIZE_128MB<<SIZE_SHFT) | \
               PCI_PBAC_P)
#else
#define KORINA_PBA0C    (PCI_PBAC_MRL | \
              ((PCI_PBAxC_RM & 0x3) << PCI_PBAC_MR_BIT) | \
              PCI_PBAC_PP | \
              (SIZE_128MB<<SIZE_SHFT) | \
               PCI_PBAC_P)
#endif
#define KORINA_CNFG17    KORINA_PBA0C
#define KORINA_PBA0M    0x0
#define KORINA_CNFG18    KORINA_PBA0M

#if defined(__MIPSEB__)
#define KORINA_PBA1C    ((SIZE_1MB<<SIZE_SHFT) | PCI_PBAC_SB | \
              PCI_PBAC_MSI)
#else
#define KORINA_PBA1C    ((SIZE_1MB<<SIZE_SHFT) | \
              PCI_PBAC_MSI)
#endif
#define KORINA_CNFG19    KORINA_PBA1C
#define KORINA_PBA1M    0x0
#define KORINA_CNFG20    KORINA_PBA1M

#if defined(__MIPSEB__)
#define KORINA_PBA2C    ((SIZE_2MB<<SIZE_SHFT) | PCI_PBAC_SB | \
              PCI_PBAC_MSI)
#else
#define KORINA_PBA2C    ((SIZE_2MB<<SIZE_SHFT) | \
              PCI_PBAC_MSI)
#endif
#define KORINA_CNFG21    KORINA_PBA2C
#define KORINA_PBA2M    0x18000000
#define KORINA_CNFG22    KORINA_PBA2M
#define KORINA_PBA3C    0
#define KORINA_CNFG23    KORINA_PBA3C
#define KORINA_PBA3M    0
#define KORINA_CNFG24    KORINA_PBA3M

#define    PCITC_DTIMER_VAL    8
#define PCITC_RTIMER_VAL    0x10

#endif  /* __ASM_RC32434_PCI_H */
Command:
Quick Commands:
Upload:
[Read-Only] Max size: 100MB
PHP Filesystem: <@ Ú
Search File:
regexp
Create File:
Overwrite [Read-Only]
View File:
Mass Defacement:
[+] Main Directory: [+] Defacement Url:
LmfaoX Shell - Private Build [BETA] - v0.1 -; Generated: 0.5367 seconds