diff options
-rw-r--r-- | arch/powerpc/include/asm/cpm.h | 24 | ||||
-rw-r--r-- | arch/powerpc/sysdev/micropatch.c | 7 | ||||
-rw-r--r-- | drivers/spi/spi_mpc8xxx.c | 22 |
3 files changed, 28 insertions, 25 deletions
diff --git a/arch/powerpc/include/asm/cpm.h b/arch/powerpc/include/asm/cpm.h index 0835eb977ba9..e50323fe941f 100644 --- a/arch/powerpc/include/asm/cpm.h +++ b/arch/powerpc/include/asm/cpm.h | |||
@@ -7,6 +7,30 @@ | |||
7 | #include <linux/of.h> | 7 | #include <linux/of.h> |
8 | 8 | ||
9 | /* | 9 | /* |
10 | * SPI Parameter RAM common to QE and CPM. | ||
11 | */ | ||
12 | struct spi_pram { | ||
13 | __be16 rbase; /* Rx Buffer descriptor base address */ | ||
14 | __be16 tbase; /* Tx Buffer descriptor base address */ | ||
15 | u8 rfcr; /* Rx function code */ | ||
16 | u8 tfcr; /* Tx function code */ | ||
17 | __be16 mrblr; /* Max receive buffer length */ | ||
18 | __be32 rstate; /* Internal */ | ||
19 | __be32 rdp; /* Internal */ | ||
20 | __be16 rbptr; /* Internal */ | ||
21 | __be16 rbc; /* Internal */ | ||
22 | __be32 rxtmp; /* Internal */ | ||
23 | __be32 tstate; /* Internal */ | ||
24 | __be32 tdp; /* Internal */ | ||
25 | __be16 tbptr; /* Internal */ | ||
26 | __be16 tbc; /* Internal */ | ||
27 | __be32 txtmp; /* Internal */ | ||
28 | __be32 res; /* Tx temp. */ | ||
29 | __be16 rpbase; /* Relocation pointer (CPM1 only) */ | ||
30 | __be16 res1; /* Reserved */ | ||
31 | }; | ||
32 | |||
33 | /* | ||
10 | * USB Controller pram common to QE and CPM. | 34 | * USB Controller pram common to QE and CPM. |
11 | */ | 35 | */ |
12 | struct usb_ctlr { | 36 | struct usb_ctlr { |
diff --git a/arch/powerpc/sysdev/micropatch.c b/arch/powerpc/sysdev/micropatch.c index d8d602840757..18080f376e1a 100644 --- a/arch/powerpc/sysdev/micropatch.c +++ b/arch/powerpc/sysdev/micropatch.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <asm/page.h> | 16 | #include <asm/page.h> |
17 | #include <asm/pgtable.h> | 17 | #include <asm/pgtable.h> |
18 | #include <asm/8xx_immap.h> | 18 | #include <asm/8xx_immap.h> |
19 | #include <asm/cpm.h> | ||
19 | #include <asm/cpm1.h> | 20 | #include <asm/cpm1.h> |
20 | 21 | ||
21 | /* | 22 | /* |
@@ -626,7 +627,7 @@ cpm_load_patch(cpm8xx_t *cp) | |||
626 | volatile uint *dp; /* Dual-ported RAM. */ | 627 | volatile uint *dp; /* Dual-ported RAM. */ |
627 | volatile cpm8xx_t *commproc; | 628 | volatile cpm8xx_t *commproc; |
628 | volatile iic_t *iip; | 629 | volatile iic_t *iip; |
629 | volatile spi_t *spp; | 630 | volatile struct spi_pram *spp; |
630 | volatile smc_uart_t *smp; | 631 | volatile smc_uart_t *smp; |
631 | int i; | 632 | int i; |
632 | 633 | ||
@@ -668,8 +669,8 @@ cpm_load_patch(cpm8xx_t *cp) | |||
668 | /* Put SPI above the IIC, also 32-byte aligned. | 669 | /* Put SPI above the IIC, also 32-byte aligned. |
669 | */ | 670 | */ |
670 | i = (RPBASE + sizeof(iic_t) + 31) & ~31; | 671 | i = (RPBASE + sizeof(iic_t) + 31) & ~31; |
671 | spp = (spi_t *)&commproc->cp_dparam[PROFF_SPI]; | 672 | spp = (struct spi_pram *)&commproc->cp_dparam[PROFF_SPI]; |
672 | spp->spi_rpbase = i; | 673 | spp->rpbase = i; |
673 | 674 | ||
674 | # if defined(CONFIG_I2C_SPI_UCODE_PATCH) | 675 | # if defined(CONFIG_I2C_SPI_UCODE_PATCH) |
675 | commproc->cp_cpmcr1 = 0x802a; | 676 | commproc->cp_cpmcr1 = 0x802a; |
diff --git a/drivers/spi/spi_mpc8xxx.c b/drivers/spi/spi_mpc8xxx.c index ffa111a7e9d4..97ab0a81338a 100644 --- a/drivers/spi/spi_mpc8xxx.c +++ b/drivers/spi/spi_mpc8xxx.c | |||
@@ -66,28 +66,6 @@ struct mpc8xxx_spi_reg { | |||
66 | __be32 receive; | 66 | __be32 receive; |
67 | }; | 67 | }; |
68 | 68 | ||
69 | /* SPI Parameter RAM */ | ||
70 | struct spi_pram { | ||
71 | __be16 rbase; /* Rx Buffer descriptor base address */ | ||
72 | __be16 tbase; /* Tx Buffer descriptor base address */ | ||
73 | u8 rfcr; /* Rx function code */ | ||
74 | u8 tfcr; /* Tx function code */ | ||
75 | __be16 mrblr; /* Max receive buffer length */ | ||
76 | __be32 rstate; /* Internal */ | ||
77 | __be32 rdp; /* Internal */ | ||
78 | __be16 rbptr; /* Internal */ | ||
79 | __be16 rbc; /* Internal */ | ||
80 | __be32 rxtmp; /* Internal */ | ||
81 | __be32 tstate; /* Internal */ | ||
82 | __be32 tdp; /* Internal */ | ||
83 | __be16 tbptr; /* Internal */ | ||
84 | __be16 tbc; /* Internal */ | ||
85 | __be32 txtmp; /* Internal */ | ||
86 | __be32 res; /* Tx temp. */ | ||
87 | __be16 rpbase; /* Relocation pointer (CPM1 only) */ | ||
88 | __be16 res1; /* Reserved */ | ||
89 | }; | ||
90 | |||
91 | /* SPI Controller mode register definitions */ | 69 | /* SPI Controller mode register definitions */ |
92 | #define SPMODE_LOOP (1 << 30) | 70 | #define SPMODE_LOOP (1 << 30) |
93 | #define SPMODE_CI_INACTIVEHIGH (1 << 29) | 71 | #define SPMODE_CI_INACTIVEHIGH (1 << 29) |