diff options
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/powerpc/include/asm/cpm.h | 24 | ||||
| -rw-r--r-- | arch/powerpc/sysdev/micropatch.c | 7 | 
2 files changed, 28 insertions, 3 deletions
| diff --git a/arch/powerpc/include/asm/cpm.h b/arch/powerpc/include/asm/cpm.h index 0835eb977ba..e50323fe941 100644 --- a/arch/powerpc/include/asm/cpm.h +++ b/arch/powerpc/include/asm/cpm.h @@ -7,6 +7,30 @@  #include <linux/of.h>  /* + * SPI Parameter RAM common to QE and CPM. + */ +struct spi_pram { +	__be16	rbase;	/* Rx Buffer descriptor base address */ +	__be16	tbase;	/* Tx Buffer descriptor base address */ +	u8	rfcr;	/* Rx function code */ +	u8	tfcr;	/* Tx function code */ +	__be16	mrblr;	/* Max receive buffer length */ +	__be32	rstate;	/* Internal */ +	__be32	rdp;	/* Internal */ +	__be16	rbptr;	/* Internal */ +	__be16	rbc;	/* Internal */ +	__be32	rxtmp;	/* Internal */ +	__be32	tstate;	/* Internal */ +	__be32	tdp;	/* Internal */ +	__be16	tbptr;	/* Internal */ +	__be16	tbc;	/* Internal */ +	__be32	txtmp;	/* Internal */ +	__be32	res;	/* Tx temp. */ +	__be16  rpbase;	/* Relocation pointer (CPM1 only) */ +	__be16	res1;	/* Reserved */ +}; + +/*   * USB Controller pram common to QE and CPM.   */  struct usb_ctlr { diff --git a/arch/powerpc/sysdev/micropatch.c b/arch/powerpc/sysdev/micropatch.c index d8d60284075..18080f376e1 100644 --- a/arch/powerpc/sysdev/micropatch.c +++ b/arch/powerpc/sysdev/micropatch.c @@ -16,6 +16,7 @@  #include <asm/page.h>  #include <asm/pgtable.h>  #include <asm/8xx_immap.h> +#include <asm/cpm.h>  #include <asm/cpm1.h>  /* @@ -626,7 +627,7 @@ cpm_load_patch(cpm8xx_t	*cp)  	volatile uint		*dp;		/* Dual-ported RAM. */  	volatile cpm8xx_t	*commproc;  	volatile iic_t		*iip; -	volatile spi_t		*spp; +	volatile struct spi_pram *spp;  	volatile smc_uart_t	*smp;  	int	i; @@ -668,8 +669,8 @@ cpm_load_patch(cpm8xx_t	*cp)  	/* Put SPI above the IIC, also 32-byte aligned.  	*/  	i = (RPBASE + sizeof(iic_t) + 31) & ~31; -	spp = (spi_t *)&commproc->cp_dparam[PROFF_SPI]; -	spp->spi_rpbase = i; +	spp = (struct spi_pram *)&commproc->cp_dparam[PROFF_SPI]; +	spp->rpbase = i;  # if defined(CONFIG_I2C_SPI_UCODE_PATCH)  	commproc->cp_cpmcr1 = 0x802a; | 
