From: Tirumala Marri <tma...@apm.com>

This patch merges dma.h and xor.h to create ppc440spe-dma.h

Signed-off-by: Tirumala R Marri <tma...@apm.com>
---
V1:
  * No change.
---
 drivers/dma/ppc4xx/dma.h           |  223 -------------------------
 drivers/dma/ppc4xx/ppc440spe-dma.h |  318 ++++++++++++++++++++++++++++++++++++
 drivers/dma/ppc4xx/xor.h           |  110 -------------
 3 files changed, 318 insertions(+), 333 deletions(-)
 delete mode 100644 drivers/dma/ppc4xx/dma.h
 create mode 100644 drivers/dma/ppc4xx/ppc440spe-dma.h
 delete mode 100644 drivers/dma/ppc4xx/xor.h

diff --git a/drivers/dma/ppc4xx/dma.h b/drivers/dma/ppc4xx/dma.h
deleted file mode 100644
index bcde2df..0000000
--- a/drivers/dma/ppc4xx/dma.h
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * 440SPe's DMA engines support header file
- *
- * 2006-2009 (C) DENX Software Engineering.
- *
- * Author: Yuri Tikhonov <y...@emcraft.com>
- *
- * This file is licensed under the term of  the GNU General Public License
- * version 2. The program licensed "as is" without any warranty of any
- * kind, whether express or implied.
- */
-
-#ifndef        _PPC440SPE_DMA_H
-#define _PPC440SPE_DMA_H
-
-#include <linux/types.h>
-
-/* Number of elements in the array with statical CDBs */
-#define        MAX_STAT_DMA_CDBS       16
-/* Number of DMA engines available on the contoller */
-#define DMA_ENGINES_NUM                2
-
-/* Maximum h/w supported number of destinations */
-#define DMA_DEST_MAX_NUM       2
-
-/* FIFO's params */
-#define DMA0_FIFO_SIZE         0x1000
-#define DMA1_FIFO_SIZE         0x1000
-#define DMA_FIFO_ENABLE                (1<<12)
-
-/* DMA Configuration Register. Data Transfer Engine PLB Priority: */
-#define DMA_CFG_DXEPR_LP       (0<<26)
-#define DMA_CFG_DXEPR_HP       (3<<26)
-#define DMA_CFG_DXEPR_HHP      (2<<26)
-#define DMA_CFG_DXEPR_HHHP     (1<<26)
-
-/* DMA Configuration Register. DMA FIFO Manager PLB Priority: */
-#define DMA_CFG_DFMPP_LP       (0<<23)
-#define DMA_CFG_DFMPP_HP       (3<<23)
-#define DMA_CFG_DFMPP_HHP      (2<<23)
-#define DMA_CFG_DFMPP_HHHP     (1<<23)
-
-/* DMA Configuration Register. Force 64-byte Alignment */
-#define DMA_CFG_FALGN          (1 << 19)
-
-/*UIC0:*/
-#define D0CPF_INT              (1<<12)
-#define D0CSF_INT              (1<<11)
-#define D1CPF_INT              (1<<10)
-#define D1CSF_INT              (1<<9)
-/*UIC1:*/
-#define DMAE_INT               (1<<9)
-
-/* I2O IOP Interrupt Mask Register */
-#define I2O_IOPIM_P0SNE                (1<<3)
-#define I2O_IOPIM_P0EM         (1<<5)
-#define I2O_IOPIM_P1SNE                (1<<6)
-#define I2O_IOPIM_P1EM         (1<<8)
-
-/* DMA CDB fields */
-#define DMA_CDB_MSK            (0xF)
-#define DMA_CDB_64B_ADDR       (1<<2)
-#define DMA_CDB_NO_INT         (1<<3)
-#define DMA_CDB_STATUS_MSK     (0x3)
-#define DMA_CDB_ADDR_MSK       (0xFFFFFFF0)
-
-/* DMA CDB OpCodes */
-#define DMA_CDB_OPC_NO_OP      (0x00)
-#define DMA_CDB_OPC_MV_SG1_SG2 (0x01)
-#define DMA_CDB_OPC_MULTICAST  (0x05)
-#define DMA_CDB_OPC_DFILL128   (0x24)
-#define DMA_CDB_OPC_DCHECK128  (0x23)
-
-#define DMA_CUED_XOR_BASE      (0x10000000)
-#define DMA_CUED_XOR_HB                (0x00000008)
-
-#ifdef CONFIG_440SP
-#define DMA_CUED_MULT1_OFF     0
-#define DMA_CUED_MULT2_OFF     8
-#define DMA_CUED_MULT3_OFF     16
-#define DMA_CUED_REGION_OFF    24
-#define DMA_CUED_XOR_WIN_MSK   (0xFC000000)
-#else
-#define DMA_CUED_MULT1_OFF     2
-#define DMA_CUED_MULT2_OFF     10
-#define DMA_CUED_MULT3_OFF     18
-#define DMA_CUED_REGION_OFF    26
-#define DMA_CUED_XOR_WIN_MSK   (0xF0000000)
-#endif
-
-#define DMA_CUED_REGION_MSK    0x3
-#define DMA_RXOR123            0x0
-#define DMA_RXOR124            0x1
-#define DMA_RXOR125            0x2
-#define DMA_RXOR12             0x3
-
-/* S/G addresses */
-#define DMA_CDB_SG_SRC         1
-#define DMA_CDB_SG_DST1                2
-#define DMA_CDB_SG_DST2                3
-
-/*
- * DMAx engines Command Descriptor Block Type
- */
-struct dma_cdb {
-       /*
-        * Basic CDB structure (Table 20-17, p.499, 440spe_um_1_22.pdf)
-        */
-       u8      pad0[2];        /* reserved */
-       u8      attr;           /* attributes */
-       u8      opc;            /* opcode */
-       u32     sg1u;           /* upper SG1 address */
-       u32     sg1l;           /* lower SG1 address */
-       u32     cnt;            /* SG count, 3B used */
-       u32     sg2u;           /* upper SG2 address */
-       u32     sg2l;           /* lower SG2 address */
-       u32     sg3u;           /* upper SG3 address */
-       u32     sg3l;           /* lower SG3 address */
-};
-
-/*
- * DMAx hardware registers (p.515 in 440SPe UM 1.22)
- */
-struct dma_regs {
-       u32     cpfpl;
-       u32     cpfph;
-       u32     csfpl;
-       u32     csfph;
-       u32     dsts;
-       u32     cfg;
-       u8      pad0[0x8];
-       u16     cpfhp;
-       u16     cpftp;
-       u16     csfhp;
-       u16     csftp;
-       u8      pad1[0x8];
-       u32     acpl;
-       u32     acph;
-       u32     s1bpl;
-       u32     s1bph;
-       u32     s2bpl;
-       u32     s2bph;
-       u32     s3bpl;
-       u32     s3bph;
-       u8      pad2[0x10];
-       u32     earl;
-       u32     earh;
-       u8      pad3[0x8];
-       u32     seat;
-       u32     sead;
-       u32     op;
-       u32     fsiz;
-};
-
-/*
- * I2O hardware registers (p.528 in 440SPe UM 1.22)
- */
-struct i2o_regs {
-       u32     ists;
-       u32     iseat;
-       u32     isead;
-       u8      pad0[0x14];
-       u32     idbel;
-       u8      pad1[0xc];
-       u32     ihis;
-       u32     ihim;
-       u8      pad2[0x8];
-       u32     ihiq;
-       u32     ihoq;
-       u8      pad3[0x8];
-       u32     iopis;
-       u32     iopim;
-       u32     iopiq;
-       u8      iopoq;
-       u8      pad4[3];
-       u16     iiflh;
-       u16     iiflt;
-       u16     iiplh;
-       u16     iiplt;
-       u16     ioflh;
-       u16     ioflt;
-       u16     ioplh;
-       u16     ioplt;
-       u32     iidc;
-       u32     ictl;
-       u32     ifcpp;
-       u8      pad5[0x4];
-       u16     mfac0;
-       u16     mfac1;
-       u16     mfac2;
-       u16     mfac3;
-       u16     mfac4;
-       u16     mfac5;
-       u16     mfac6;
-       u16     mfac7;
-       u16     ifcfh;
-       u16     ifcht;
-       u8      pad6[0x4];
-       u32     iifmc;
-       u32     iodb;
-       u32     iodbc;
-       u32     ifbal;
-       u32     ifbah;
-       u32     ifsiz;
-       u32     ispd0;
-       u32     ispd1;
-       u32     ispd2;
-       u32     ispd3;
-       u32     ihipl;
-       u32     ihiph;
-       u32     ihopl;
-       u32     ihoph;
-       u32     iiipl;
-       u32     iiiph;
-       u32     iiopl;
-       u32     iioph;
-       u32     ifcpl;
-       u32     ifcph;
-       u8      pad7[0x8];
-       u32     iopt;
-};
-
-#endif /* _PPC440SPE_DMA_H */
diff --git a/drivers/dma/ppc4xx/ppc440spe-dma.h 
b/drivers/dma/ppc4xx/ppc440spe-dma.h
new file mode 100644
index 0000000..c52945e
--- /dev/null
+++ b/drivers/dma/ppc4xx/ppc440spe-dma.h
@@ -0,0 +1,318 @@
+/*
+ * 440SPe's DMA engines support header file
+ *
+ * 2006-2009 (C) DENX Software Engineering.
+ *
+ * Author: Yuri Tikhonov <y...@emcraft.com>
+ *
+ * This file is licensed under the term of  the GNU General Public License
+ * version 2. The program licensed "as is" without any warranty of any
+ * kind, whether express or implied.
+ */
+
+#ifndef        _PPC440SPE_DMA_H
+#define _PPC440SPE_DMA_H
+
+#include <linux/types.h>
+
+/* Number of elements in the array with statical CDBs */
+#define        MAX_STAT_DMA_CDBS       16
+/* Number of DMA engines available on the contoller */
+#define DMA_ENGINES_NUM                2
+
+/* Maximum h/w supported number of destinations */
+#define DMA_DEST_MAX_NUM       2
+
+/* FIFO's params */
+#define DMA0_FIFO_SIZE         0x1000
+#define DMA1_FIFO_SIZE         0x1000
+#define DMA_FIFO_ENABLE                (1<<12)
+
+/* DMA Configuration Register. Data Transfer Engine PLB Priority: */
+#define DMA_CFG_DXEPR_LP       (0<<26)
+#define DMA_CFG_DXEPR_HP       (3<<26)
+#define DMA_CFG_DXEPR_HHP      (2<<26)
+#define DMA_CFG_DXEPR_HHHP     (1<<26)
+
+/* DMA Configuration Register. DMA FIFO Manager PLB Priority: */
+#define DMA_CFG_DFMPP_LP       (0<<23)
+#define DMA_CFG_DFMPP_HP       (3<<23)
+#define DMA_CFG_DFMPP_HHP      (2<<23)
+#define DMA_CFG_DFMPP_HHHP     (1<<23)
+
+/* DMA Configuration Register. Force 64-byte Alignment */
+#define DMA_CFG_FALGN          (1 << 19)
+
+/*UIC0:*/
+#define D0CPF_INT              (1<<12)
+#define D0CSF_INT              (1<<11)
+#define D1CPF_INT              (1<<10)
+#define D1CSF_INT              (1<<9)
+/*UIC1:*/
+#define DMAE_INT               (1<<9)
+
+/* I2O IOP Interrupt Mask Register */
+#define I2O_IOPIM_P0SNE                (1<<3)
+#define I2O_IOPIM_P0EM         (1<<5)
+#define I2O_IOPIM_P1SNE                (1<<6)
+#define I2O_IOPIM_P1EM         (1<<8)
+
+/* DMA CDB fields */
+#define DMA_CDB_MSK            (0xF)
+#define DMA_CDB_64B_ADDR       (1<<2)
+#define DMA_CDB_NO_INT         (1<<3)
+#define DMA_CDB_STATUS_MSK     (0x3)
+#define DMA_CDB_ADDR_MSK       (0xFFFFFFF0)
+
+/* DMA CDB OpCodes */
+#define DMA_CDB_OPC_NO_OP      (0x00)
+#define DMA_CDB_OPC_MV_SG1_SG2 (0x01)
+#define DMA_CDB_OPC_MULTICAST  (0x05)
+#define DMA_CDB_OPC_DFILL128   (0x24)
+#define DMA_CDB_OPC_DCHECK128  (0x23)
+
+#define DMA_CUED_XOR_BASE      (0x10000000)
+#define DMA_CUED_XOR_HB                (0x00000008)
+
+#ifdef CONFIG_440SP
+#define DMA_CUED_MULT1_OFF     0
+#define DMA_CUED_MULT2_OFF     8
+#define DMA_CUED_MULT3_OFF     16
+#define DMA_CUED_REGION_OFF    24
+#define DMA_CUED_XOR_WIN_MSK   (0xFC000000)
+#else
+#define DMA_CUED_MULT1_OFF     2
+#define DMA_CUED_MULT2_OFF     10
+#define DMA_CUED_MULT3_OFF     18
+#define DMA_CUED_REGION_OFF    26
+#define DMA_CUED_XOR_WIN_MSK   (0xF0000000)
+#endif
+
+#define DMA_CUED_REGION_MSK    0x3
+#define DMA_RXOR123            0x0
+#define DMA_RXOR124            0x1
+#define DMA_RXOR125            0x2
+#define DMA_RXOR12             0x3
+
+/* S/G addresses */
+#define DMA_CDB_SG_SRC         1
+#define DMA_CDB_SG_DST1                2
+#define DMA_CDB_SG_DST2                3
+
+/*
+ * XOR Endgine definies
+ */
+
+/* Number of XOR engines available on the contoller */
+#define XOR_ENGINES_NUM                1
+
+/* Number of operands supported in the h/w */
+#define XOR_MAX_OPS            16
+
+/*
+ * XOR Command Block Control Register bits
+ */
+#define XOR_CBCR_LNK_BIT        (1<<31) /* link present */
+#define XOR_CBCR_TGT_BIT        (1<<30) /* target present */
+#define XOR_CBCR_CBCE_BIT       (1<<29) /* command block compete enable */
+#define XOR_CBCR_RNZE_BIT       (1<<28) /* result not zero enable */
+#define XOR_CBCR_XNOR_BIT       (1<<15) /* XOR/XNOR */
+#define XOR_CDCR_OAC_MSK        (0x7F)  /* operand address count */
+
+/*
+ * XORCore Status Register bits
+ */
+#define XOR_SR_XCP_BIT         (1<<31) /* core processing */
+#define XOR_SR_ICB_BIT         (1<<17) /* invalid CB */
+#define XOR_SR_IC_BIT          (1<<16) /* invalid command */
+#define XOR_SR_IPE_BIT         (1<<15) /* internal parity error */
+#define XOR_SR_RNZ_BIT         (1<<2)  /* result not Zero */
+#define XOR_SR_CBC_BIT         (1<<1)  /* CB complete */
+#define XOR_SR_CBLC_BIT                (1<<0)  /* CB list complete */
+
+/*
+ * XORCore Control Set and Reset Register bits
+ */
+#define XOR_CRSR_XASR_BIT      (1<<31) /* soft reset */
+#define XOR_CRSR_XAE_BIT       (1<<30) /* enable */
+#define XOR_CRSR_RCBE_BIT      (1<<29) /* refetch CB enable */
+#define XOR_CRSR_PAUS_BIT      (1<<28) /* pause */
+#define XOR_CRSR_64BA_BIT      (1<<27) /* 64/32 CB format */
+#define XOR_CRSR_CLP_BIT       (1<<25) /* continue list processing */
+
+/*
+ * XORCore Interrupt Enable Register
+ */
+#define XOR_IE_ICBIE_BIT       (1<<17) /* Invalid Command Block IRQ Enable */
+#define XOR_IE_ICIE_BIT                (1<<16) /* Invalid Command IRQ Enable */
+#define XOR_IE_RPTIE_BIT       (1<<14) /* Read PLB Timeout Error IRQ Enable */
+#define XOR_IE_CBCIE_BIT       (1<<1)  /* CB complete interrupt enable */
+#define XOR_IE_CBLCI_BIT       (1<<0)  /* CB list complete interrupt enable */
+/*
+ * DMAx engines Command Descriptor Block Type
+ */
+struct dma_cdb {
+       /*
+        * Basic CDB structure (Table 20-17, p.499, 440spe_um_1_22.pdf)
+        */
+       u8      pad0[2];        /* reserved */
+       u8      attr;           /* attributes */
+       u8      opc;            /* opcode */
+       u32     sg1u;           /* upper SG1 address */
+       u32     sg1l;           /* lower SG1 address */
+       u32     cnt;            /* SG count, 3B used */
+       u32     sg2u;           /* upper SG2 address */
+       u32     sg2l;           /* lower SG2 address */
+       u32     sg3u;           /* upper SG3 address */
+       u32     sg3l;           /* lower SG3 address */
+};
+
+/*
+ * DMAx hardware registers (p.515 in 440SPe UM 1.22)
+ */
+struct dma_regs {
+       u32     cpfpl;
+       u32     cpfph;
+       u32     csfpl;
+       u32     csfph;
+       u32     dsts;
+       u32     cfg;
+       u8      pad0[0x8];
+       u16     cpfhp;
+       u16     cpftp;
+       u16     csfhp;
+       u16     csftp;
+       u8      pad1[0x8];
+       u32     acpl;
+       u32     acph;
+       u32     s1bpl;
+       u32     s1bph;
+       u32     s2bpl;
+       u32     s2bph;
+       u32     s3bpl;
+       u32     s3bph;
+       u8      pad2[0x10];
+       u32     earl;
+       u32     earh;
+       u8      pad3[0x8];
+       u32     seat;
+       u32     sead;
+       u32     op;
+       u32     fsiz;
+};
+
+/*
+ * I2O hardware registers (p.528 in 440SPe UM 1.22)
+ */
+struct i2o_regs {
+       u32     ists;
+       u32     iseat;
+       u32     isead;
+       u8      pad0[0x14];
+       u32     idbel;
+       u8      pad1[0xc];
+       u32     ihis;
+       u32     ihim;
+       u8      pad2[0x8];
+       u32     ihiq;
+       u32     ihoq;
+       u8      pad3[0x8];
+       u32     iopis;
+       u32     iopim;
+       u32     iopiq;
+       u8      iopoq;
+       u8      pad4[3];
+       u16     iiflh;
+       u16     iiflt;
+       u16     iiplh;
+       u16     iiplt;
+       u16     ioflh;
+       u16     ioflt;
+       u16     ioplh;
+       u16     ioplt;
+       u32     iidc;
+       u32     ictl;
+       u32     ifcpp;
+       u8      pad5[0x4];
+       u16     mfac0;
+       u16     mfac1;
+       u16     mfac2;
+       u16     mfac3;
+       u16     mfac4;
+       u16     mfac5;
+       u16     mfac6;
+       u16     mfac7;
+       u16     ifcfh;
+       u16     ifcht;
+       u8      pad6[0x4];
+       u32     iifmc;
+       u32     iodb;
+       u32     iodbc;
+       u32     ifbal;
+       u32     ifbah;
+       u32     ifsiz;
+       u32     ispd0;
+       u32     ispd1;
+       u32     ispd2;
+       u32     ispd3;
+       u32     ihipl;
+       u32     ihiph;
+       u32     ihopl;
+       u32     ihoph;
+       u32     iiipl;
+       u32     iiiph;
+       u32     iiopl;
+       u32     iioph;
+       u32     ifcpl;
+       u32     ifcph;
+       u8      pad7[0x8];
+       u32     iopt;
+};
+
+/*
+ * XOR Accelerator engine Command Block Type
+ */
+struct xor_cb {
+       /*
+        * Basic 64-bit format XOR CB (Table 19-1, p.463, 440spe_um_1_22.pdf)
+        */
+       u32     cbc;            /* control */
+       u32     cbbc;           /* byte count */
+       u32     cbs;            /* status */
+       u8      pad0[4];        /* reserved */
+       u32     cbtah;          /* target address high */
+       u32     cbtal;          /* target address low */
+       u32     cblah;          /* link address high */
+       u32     cblal;          /* link address low */
+       struct {
+               u32 h;
+               u32 l;
+       } __attribute__ ((packed)) ops[16];
+} __attribute__ ((packed));
+
+/*
+ * XOR hardware registers Table 19-3, UM 1.22
+ */
+struct xor_regs {
+       u32     op_ar[16][2];   /* operand address[0]-high,[1]-low registers */
+       u8      pad0[352];      /* reserved */
+       u32     cbcr;           /* CB control register */
+       u32     cbbcr;          /* CB byte count register */
+       u32     cbsr;           /* CB status register */
+       u8      pad1[4];        /* reserved */
+       u32     cbtahr;         /* operand target address high register */
+       u32     cbtalr;         /* operand target address low register */
+       u32     cblahr;         /* CB link address high register */
+       u32     cblalr;         /* CB link address low register */
+       u32     crsr;           /* control set register */
+       u32     crrr;           /* control reset register */
+       u32     ccbahr;         /* current CB address high register */
+       u32     ccbalr;         /* current CB address low register */
+       u32     plbr;           /* PLB configuration register */
+       u32     ier;            /* interrupt enable register */
+       u32     pecr;           /* parity error count register */
+       u32     sr;             /* status register */
+       u32     revidr;         /* revision ID register */
+};
+
+#endif /* _PPC440SPE_XOR_H */
diff --git a/drivers/dma/ppc4xx/xor.h b/drivers/dma/ppc4xx/xor.h
deleted file mode 100644
index daed738..0000000
--- a/drivers/dma/ppc4xx/xor.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * 440SPe's XOR engines support header file
- *
- * 2006-2009 (C) DENX Software Engineering.
- *
- * Author: Yuri Tikhonov <y...@emcraft.com>
- *
- * This file is licensed under the term of  the GNU General Public License
- * version 2. The program licensed "as is" without any warranty of any
- * kind, whether express or implied.
- */
-
-#ifndef _PPC440SPE_XOR_H
-#define _PPC440SPE_XOR_H
-
-#include <linux/types.h>
-
-/* Number of XOR engines available on the contoller */
-#define XOR_ENGINES_NUM                1
-
-/* Number of operands supported in the h/w */
-#define XOR_MAX_OPS            16
-
-/*
- * XOR Command Block Control Register bits
- */
-#define XOR_CBCR_LNK_BIT        (1<<31) /* link present */
-#define XOR_CBCR_TGT_BIT        (1<<30) /* target present */
-#define XOR_CBCR_CBCE_BIT       (1<<29) /* command block compete enable */
-#define XOR_CBCR_RNZE_BIT       (1<<28) /* result not zero enable */
-#define XOR_CBCR_XNOR_BIT       (1<<15) /* XOR/XNOR */
-#define XOR_CDCR_OAC_MSK        (0x7F)  /* operand address count */
-
-/*
- * XORCore Status Register bits
- */
-#define XOR_SR_XCP_BIT         (1<<31) /* core processing */
-#define XOR_SR_ICB_BIT         (1<<17) /* invalid CB */
-#define XOR_SR_IC_BIT          (1<<16) /* invalid command */
-#define XOR_SR_IPE_BIT         (1<<15) /* internal parity error */
-#define XOR_SR_RNZ_BIT         (1<<2)  /* result not Zero */
-#define XOR_SR_CBC_BIT         (1<<1)  /* CB complete */
-#define XOR_SR_CBLC_BIT                (1<<0)  /* CB list complete */
-
-/*
- * XORCore Control Set and Reset Register bits
- */
-#define XOR_CRSR_XASR_BIT      (1<<31) /* soft reset */
-#define XOR_CRSR_XAE_BIT       (1<<30) /* enable */
-#define XOR_CRSR_RCBE_BIT      (1<<29) /* refetch CB enable */
-#define XOR_CRSR_PAUS_BIT      (1<<28) /* pause */
-#define XOR_CRSR_64BA_BIT      (1<<27) /* 64/32 CB format */
-#define XOR_CRSR_CLP_BIT       (1<<25) /* continue list processing */
-
-/*
- * XORCore Interrupt Enable Register
- */
-#define XOR_IE_ICBIE_BIT       (1<<17) /* Invalid Command Block IRQ Enable */
-#define XOR_IE_ICIE_BIT                (1<<16) /* Invalid Command IRQ Enable */
-#define XOR_IE_RPTIE_BIT       (1<<14) /* Read PLB Timeout Error IRQ Enable */
-#define XOR_IE_CBCIE_BIT       (1<<1)  /* CB complete interrupt enable */
-#define XOR_IE_CBLCI_BIT       (1<<0)  /* CB list complete interrupt enable */
-
-/*
- * XOR Accelerator engine Command Block Type
- */
-struct xor_cb {
-       /*
-        * Basic 64-bit format XOR CB (Table 19-1, p.463, 440spe_um_1_22.pdf)
-        */
-       u32     cbc;            /* control */
-       u32     cbbc;           /* byte count */
-       u32     cbs;            /* status */
-       u8      pad0[4];        /* reserved */
-       u32     cbtah;          /* target address high */
-       u32     cbtal;          /* target address low */
-       u32     cblah;          /* link address high */
-       u32     cblal;          /* link address low */
-       struct {
-               u32 h;
-               u32 l;
-       } __attribute__ ((packed)) ops[16];
-} __attribute__ ((packed));
-
-/*
- * XOR hardware registers Table 19-3, UM 1.22
- */
-struct xor_regs {
-       u32     op_ar[16][2];   /* operand address[0]-high,[1]-low registers */
-       u8      pad0[352];      /* reserved */
-       u32     cbcr;           /* CB control register */
-       u32     cbbcr;          /* CB byte count register */
-       u32     cbsr;           /* CB status register */
-       u8      pad1[4];        /* reserved */
-       u32     cbtahr;         /* operand target address high register */
-       u32     cbtalr;         /* operand target address low register */
-       u32     cblahr;         /* CB link address high register */
-       u32     cblalr;         /* CB link address low register */
-       u32     crsr;           /* control set register */
-       u32     crrr;           /* control reset register */
-       u32     ccbahr;         /* current CB address high register */
-       u32     ccbalr;         /* current CB address low register */
-       u32     plbr;           /* PLB configuration register */
-       u32     ier;            /* interrupt enable register */
-       u32     pecr;           /* parity error count register */
-       u32     sr;             /* status register */
-       u32     revidr;         /* revision ID register */
-};
-
-#endif /* _PPC440SPE_XOR_H */
-- 
1.6.1.rc3

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to