]> git.sur5r.net Git - u-boot/blobdiff - include/asm-ppc/immap_85xx.h
[PATCH] update board config for jupiter Board:
[u-boot] / include / asm-ppc / immap_85xx.h
index 22f19f0858e68ec61ac5fe8a8933f9bdb33c95fe..5377c2eb5bed2c7d5c1dde187c76249ab8719656 100644 (file)
@@ -9,9 +9,12 @@
 #ifndef __IMMAP_85xx__
 #define __IMMAP_85xx__
 
+#include <asm/types.h>
+#include <asm/fsl_i2c.h>
 
-/* Local-Access Registers and ECM Registers(0x0000-0x2000) */
-
+/*
+ * Local-Access Registers and ECM Registers(0x0000-0x2000)
+ */
 typedef struct ccsr_local_ecm {
        uint    ccsrbar;        /* 0x0 - Control Configuration Status Registers Base Address Register */
        char    res1[4];
@@ -65,9 +68,9 @@ typedef struct ccsr_local_ecm {
        char    res24[492];
 } ccsr_local_ecm_t;
 
-
-/* DDR memory controller registers(0x2000-0x3000) */
-
+/*
+ * DDR memory controller registers(0x2000-0x3000)
+ */
 typedef struct ccsr_ddr {
        uint    cs0_bnds;               /* 0x2000 - DDR Chip Select 0 Memory Bounds */
        char    res1[4];
@@ -125,43 +128,12 @@ typedef struct ccsr_ddr {
        char    res12[240];
 } ccsr_ddr_t;
 
-
-
-
-/* I2C Registers(0x3000-0x4000) */
-
+/*
+ * I2C Registers(0x3000-0x4000)
+ */
 typedef struct ccsr_i2c {
-       u_char  i2cadr;         /* 0x3000 - I2C Address Register */
-#define MPC85xx_I2CADR_MASK    0xFE
-       char    res1[3];
-       u_char  i2cfdr;         /* 0x3004 - I2C Frequency Divider Register */
-#define MPC85xx_I2CFDR_MASK    0x3F
-       char    res2[3];
-       u_char  i2ccr;          /* 0x3008 - I2C Control Register */
-#define MPC85xx_I2CCR_MEN      0x80
-#define MPC85xx_I2CCR_MIEN     0x40
-#define MPC85xx_I2CCR_MSTA      0x20
-#define MPC85xx_I2CCR_MTX       0x10
-#define MPC85xx_I2CCR_TXAK      0x08
-#define MPC85xx_I2CCR_RSTA      0x04
-#define MPC85xx_I2CCR_BCST      0x01
-       char    res3[3];
-       u_char  i2csr;          /* 0x300c - I2C Status Register */
-#define MPC85xx_I2CSR_MCF      0x80
-#define MPC85xx_I2CSR_MAAS      0x40
-#define MPC85xx_I2CSR_MBB       0x20
-#define MPC85xx_I2CSR_MAL       0x10
-#define MPC85xx_I2CSR_BCSTM     0x08
-#define MPC85xx_I2CSR_SRW       0x04
-#define MPC85xx_I2CSR_MIF       0x02
-#define MPC85xx_I2CSR_RXAK      0x01
-       char    res4[3];
-       u_char  i2cdr;          /* 0x3010 - I2C Data Register */
-#define MPC85xx_I2CDR_DATA     0xFF
-       char    res5[3];
-       u_char  i2cdfsrr;       /* 0x3014 - I2C Digital Filtering Sampling Rate Register */
-#define MPC85xx_I2CDFSRR       0x3F
-       char    res6[4075];
+       struct fsl_i2c  i2c[1];
+       u8      res[4096 - 1 * sizeof(struct fsl_i2c)];
 } ccsr_i2c_t;
 
 #if defined(CONFIG_MPC8540) \
@@ -246,10 +218,9 @@ typedef struct ccsr_lbc {
        char    res8[12072];
 } ccsr_lbc_t;
 
-
-/* PCI Registers(0x8000-0x9000) */
-/* Omitting Reserved(0x9000-0x2_0000) */
-
+/*
+ * PCI Registers(0x8000-0x9000)
+ */
 typedef struct ccsr_pcix {
        uint    cfg_addr;       /* 0x8000 - PCIX Configuration Address Register */
        uint    cfg_data;       /* 0x8004 - PCIX Configuration Data Register */
@@ -311,12 +282,30 @@ typedef struct ccsr_pcix {
        uint    peextaddrcr;    /* 0x8e14 - PCIX  Error Extended Address Capture Register */
        uint    pedlcr;         /* 0x8e18 - PCIX Error Data Low Capture Register */
        uint    pedhcr;         /* 0x8e1c - PCIX Error Error Data High Capture Register */
-       char    res11[94688];
+       uint    gas_timr;       /* 0x8e20 - PCIX Gasket Timer Register */
+       char    res11[476];
 } ccsr_pcix_t;
 
+#define PCIX_COMMAND   0x62
+#define POWAR_EN       0x80000000
+#define POWAR_IO_READ  0x00080000
+#define POWAR_MEM_READ 0x00040000
+#define POWAR_IO_WRITE 0x00008000
+#define POWAR_MEM_WRITE        0x00004000
+#define POWAR_MEM_512M 0x0000001c
+#define POWAR_IO_1M    0x00000013
+
+#define PIWAR_EN       0x80000000
+#define PIWAR_PF       0x20000000
+#define PIWAR_LOCAL    0x00f00000
+#define PIWAR_READ_SNOOP       0x00050000
+#define PIWAR_WRITE_SNOOP      0x00005000
+#define PIWAR_MEM_2G           0x0000001e
 
-/* L2 Cache Registers(0x2_0000-0x2_1000) */
 
+/*
+ * L2 Cache Registers(0x2_0000-0x2_1000)
+ */
 typedef struct ccsr_l2cache {
        uint    l2ctl;          /* 0x20000 - L2 configuration register 0 */
        char    res1[12];
@@ -358,9 +347,9 @@ typedef struct ccsr_l2cache {
        char    res15[420];
 } ccsr_l2cache_t;
 
-
-/* DMA Registers(0x2_1000-0x2_2000) */
-
+/*
+ * DMA Registers(0x2_1000-0x2_2000)
+ */
 typedef struct ccsr_dma {
        char    res1[256];
        uint    mr0;            /* 0x21100 - DMA 0 Mode Register */
@@ -439,7 +428,9 @@ typedef struct ccsr_dma {
        char    res22[11516];
 } ccsr_dma_t;
 
-/* tsec1 tsec2: 24000-26000 */
+/*
+ * tsec1 tsec2: 24000-26000
+ */
 typedef struct ccsr_tsec {
        char    res1[16];
        uint    ievent;         /* 0x24010 - Interrupt Event Register */
@@ -726,8 +717,9 @@ typedef struct ccsr_tsec {
        char    res74[1024];
 } ccsr_tsec_t;
 
-/* PIC Registers(0x2_6000-0x4_0000-0x8_0000) */
-
+/*
+ * PIC Registers(0x2_6000-0x4_0000-0x8_0000)
+ */
 typedef struct ccsr_pic {
        char    res0[106496];   /* 0x26000-0x40000 */
        char    res1[64];
@@ -1033,15 +1025,18 @@ typedef struct ccsr_pic {
        char    res150[130892];
 } ccsr_pic_t;
 
-/* CPM Block(0x8_0000-0xc_0000) */
+/*
+ * CPM Block(0x8_0000-0xc_0000)
+ */
 #ifndef CONFIG_CPM2
 typedef struct ccsr_cpm {
        char res[262144];
 } ccsr_cpm_t;
 #else
-/* 0x8000-0x8ffff:DPARM */
-
-/* 0x9000-0x90bff: General SIU */
+/*
+ * 0x8000-0x8ffff:DPARM
+ * 0x9000-0x90bff: General SIU
+ */
 typedef struct ccsr_cpm_siu {
        char    res1[80];
        uint    smaer;
@@ -1332,7 +1327,6 @@ typedef struct ccsr_cpm {
        char                    res1[16*1024];
        u_char                  im_dpram2[16*1024];
        char                    res2[16*1024];
-
        ccsr_cpm_siu_t          im_cpm_siu;     /* SIU Configuration */
        ccsr_cpm_intctl_t       im_cpm_intctl;  /* Interrupt Controller */
        ccsr_cpm_iop_t          im_cpm_iop;     /* IO Port control/status */
@@ -1357,8 +1351,10 @@ typedef struct ccsr_cpm {
        ccsr_cpm_iram_t         im_cpm_iram;
 } ccsr_cpm_t;
 #endif
-/* RapidIO Registers(0xc_0000-0xe_0000) */
 
+/*
+ * RapidIO Registers(0xc_0000-0xe_0000)
+ */
 typedef struct ccsr_rio {
        uint    didcar;         /* 0xc0000 - Device Identity Capability Register */
        uint    dicar;          /* 0xc0004 - Device Information Capability Register */
@@ -1524,7 +1520,9 @@ typedef struct ccsr_rio {
        char    res58[60176];
 } ccsr_rio_t;
 
-/* Global Utilities Register Block(0xe_0000-0xf_ffff) */
+/*
+ * Global Utilities Register Block(0xe_0000-0xf_ffff)
+ */
 typedef struct ccsr_gur {
        uint    porpllsr;       /* 0xe0000 - POR PLL ratio status register */
        uint    porbmsr;        /* 0xe0004 - POR boot mode status register */
@@ -1565,6 +1563,8 @@ typedef struct ccsr_gur {
        char    res15[61651];
 } ccsr_gur_t;
 
+#define PORDEVSR_PCI   (0x00800000)    /* PCI Mode */
+
 typedef struct immap {
        ccsr_local_ecm_t        im_local_ecm;
        ccsr_ddr_t              im_ddr;
@@ -1572,6 +1572,8 @@ typedef struct immap {
        ccsr_duart_t            im_duart;
        ccsr_lbc_t              im_lbc;
        ccsr_pcix_t             im_pcix;
+       ccsr_pcix_t             im_pcix2;
+       char                    reserved[90112];
        ccsr_l2cache_t          im_l2cache;
        ccsr_dma_t              im_dma;
        ccsr_tsec_t             im_tsec1;