diff options
Diffstat (limited to 'arch/powerpc/include')
| -rw-r--r-- | arch/powerpc/include/asm/config.h | 15 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/fsl_law.h | 1 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/fsl_lbc.h | 112 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/fsl_pci.h | 19 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/immap_83xx.h | 13 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/immap_85xx.h | 84 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/immap_86xx.h | 49 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/mmu.h | 2 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/mp.h | 3 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/processor.h | 4 | 
10 files changed, 151 insertions, 151 deletions
| diff --git a/arch/powerpc/include/asm/config.h b/arch/powerpc/include/asm/config.h index fc3facb3076..d88c282f75a 100644 --- a/arch/powerpc/include/asm/config.h +++ b/arch/powerpc/include/asm/config.h @@ -66,6 +66,15 @@  #define CONFIG_TSECV2  #endif +/* + * SEC (crypto unit) major compatible version determination + */ +#if defined(CONFIG_FSL_CORENET) +#define CONFIG_SYS_FSL_SEC_COMPAT	4 +#elif defined(CONFIG_MPC85xx) || defined(CONFIG_MPC83xx) +#define CONFIG_SYS_FSL_SEC_COMPAT	2 +#endif +  /* Number of TLB CAM entries we have on FSL Book-E chips */  #if defined(CONFIG_E500MC)  #define CONFIG_SYS_NUM_TLBCAMS	64 @@ -76,4 +85,10 @@  /* Relocation to SDRAM works on all PPC boards */  #define CONFIG_RELOC_FIXUP_WORKS +/* Since so many PPC SOCs have a semi-common LBC, define this here */ +#if defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx) || \ +	defined(CONFIG_MPC83xx) +#define CONFIG_FSL_LBC +#endif +  #endif /* _ASM_CONFIG_H_ */ diff --git a/arch/powerpc/include/asm/fsl_law.h b/arch/powerpc/include/asm/fsl_law.h index 34c56a259a6..12ba1a6a041 100644 --- a/arch/powerpc/include/asm/fsl_law.h +++ b/arch/powerpc/include/asm/fsl_law.h @@ -47,6 +47,7 @@ enum law_size {  };  #define law_size_bits(sz)	(__ilog2_u64(sz) - 1) +#define lawar_size(x)	(1ULL << ((x & 0x3f) + 1))  #ifdef CONFIG_FSL_CORENET  enum law_trgt_if { diff --git a/arch/powerpc/include/asm/fsl_lbc.h b/arch/powerpc/include/asm/fsl_lbc.h index 03ae6a765b4..82d24ab13f8 100644 --- a/arch/powerpc/include/asm/fsl_lbc.h +++ b/arch/powerpc/include/asm/fsl_lbc.h @@ -14,6 +14,7 @@  #define __ASM_PPC_FSL_LBC_H  #include <config.h> +#include <common.h>  /* BR - Base Registers   */ @@ -61,6 +62,8 @@  #define BR_V				0x00000001  #define BR_V_SHIFT			0 +#define BR_UPMx_TO_MSEL(x)		((x + 4) << BR_MSEL_SHIFT) +  #define UPMA			0  #define UPMB			1  #define UPMC			2 @@ -453,49 +456,70 @@  #define LTESR_CC               0x00000001  #ifndef __ASSEMBLY__ -/* - * Local Bus Controller Registers. - */ -typedef struct lbus_bank { -	u32 br;                 /* Base Register */ -	u32 or;                 /* Option Register */ -} lbus_bank_t; - -typedef struct fsl_lbus { -	lbus_bank_t bank[8]; -	u8 res0[0x28]; -	u32 mar;                /* UPM Address Register */ -	u8 res1[0x4]; -	u32 mamr;               /* UPMA Mode Register */ -	u32 mbmr;               /* UPMB Mode Register */ -	u32 mcmr;               /* UPMC Mode Register */ -	u8 res2[0x8]; -	u32 mrtpr;              /* Memory Refresh Timer Prescaler Register */ -	u32 mdr;                /* UPM Data Register */ -	u8 res3[0x4]; -	u32 lsor;               /* Special Operation Initiation Register */ -	u32 lsdmr;              /* SDRAM Mode Register */ -	u8 res4[0x8]; -	u32 lurt;               /* UPM Refresh Timer */ -	u32 lsrt;               /* SDRAM Refresh Timer */ -	u8 res5[0x8]; -	u32 ltesr;              /* Transfer Error Status Register */ -	u32 ltedr;              /* Transfer Error Disable Register */ -	u32 lteir;              /* Transfer Error Interrupt Register */ -	u32 lteatr;             /* Transfer Error Attributes Register */ -	u32 ltear;               /* Transfer Error Address Register */ -	u8 res6[0xC]; -	u32 lbcr;               /* Configuration Register */ -	u32 lcrr;               /* Clock Ratio Register */ -	u8 res7[0x8]; -	u32 fmr;                /* Flash Mode Register */ -	u32 fir;                /* Flash Instruction Register */ -	u32 fcr;                /* Flash Command Register */ -	u32 fbar;               /* Flash Block Addr Register */ -	u32 fpar;               /* Flash Page Addr Register */ -	u32 fbcr;               /* Flash Byte Count Register */ -	u8 res8[0xF08]; -} fsl_lbus_t; -#endif /* __ASSEMBLY__ */ +#include <asm/io.h> + +extern void print_lbc_regs(void); +extern void init_early_memctl_regs(void); +extern void upmconfig(uint upm, uint *table, uint size); + +#define LBC_BASE_ADDR ((fsl_lbc_t *)CONFIG_SYS_LBC_ADDR) +#define get_lbc_br(i) (in_be32(&(LBC_BASE_ADDR)->bank[i].br)) +#define get_lbc_or(i) (in_be32(&(LBC_BASE_ADDR)->bank[i].or)) +#define set_lbc_br(i, v) (out_be32(&(LBC_BASE_ADDR)->bank[i].br, v)) +#define set_lbc_or(i, v) (out_be32(&(LBC_BASE_ADDR)->bank[i].or, v)) + +typedef struct lbc_bank { +	u32     br; +	u32     or; +} lbc_bank_t; +/* Local Bus Controller Registers */ +typedef struct fsl_lbc { +	lbc_bank_t      bank[8]; +	u8	res1[40]; +	u32     mar;            /* LBC UPM Addr */ +	u8      res2[4]; +	u32     mamr;           /* LBC UPMA Mode */ +	u32     mbmr;           /* LBC UPMB Mode */ +	u32     mcmr;           /* LBC UPMC Mode */ +	u8      res3[8]; +	u32     mrtpr;          /* LBC Memory Refresh Timer Prescaler */ +	u32     mdr;            /* LBC UPM Data */ +#ifdef CONFIG_FSL_ELBC +	u8      res4[4]; +	u32     lsor; +	u8      res5[12]; +	u32     lurt;           /* LBC UPM Refresh Timer */ +	u8	res6[4]; +#else +	u8	res4[8]; +	u32     lsdmr;          /* LBC SDRAM Mode */ +	u8	res5[8]; +	u32     lurt;           /* LBC UPM Refresh Timer */ +	u32     lsrt;           /* LBC SDRAM Refresh Timer */ +#endif +	u8      res7[8]; +	u32     ltesr;          /* LBC Transfer Error Status */ +	u32     ltedr;          /* LBC Transfer Error Disable */ +	u32     lteir;          /* LBC Transfer Error IRQ */ +	u32     lteatr;         /* LBC Transfer Error Attrs */ +	u32     ltear;          /* LBC Transfer Error Addr */ +	u8      res8[12]; +	u32     lbcr;           /* LBC Configuration */ +	u32     lcrr;           /* LBC Clock Ratio */ +#ifdef CONFIG_NAND_FSL_ELBC +	u8	res9[0x8]; +	u32     fmr;            /* Flash Mode Register */ +	u32     fir;            /* Flash Instruction Register */ +	u32     fcr;            /* Flash Command Register */ +	u32     fbar;           /* Flash Block Addr Register */ +	u32     fpar;           /* Flash Page Addr Register */ +	u32     fbcr;           /* Flash Byte Count Register */ +	u8      res10[0xF08]; +#else +	u8      res9[0xF28]; +#endif +} fsl_lbc_t; + +#endif /* __ASSEMBLY__ */  #endif /* __ASM_PPC_FSL_LBC_H */ diff --git a/arch/powerpc/include/asm/fsl_pci.h b/arch/powerpc/include/asm/fsl_pci.h index db61e7e9cbf..bb875435d33 100644 --- a/arch/powerpc/include/asm/fsl_pci.h +++ b/arch/powerpc/include/asm/fsl_pci.h @@ -162,14 +162,15 @@ typedef struct ccsr_pci {  } ccsr_fsl_pci_t;  struct fsl_pci_info { -	unsigned long	regs; -	pci_addr_t	mem_bus; -	phys_size_t	mem_phys; -	pci_size_t	mem_size; -	pci_addr_t	io_bus; -	phys_size_t	io_phys; -	pci_size_t	io_size; -	int		pci_num; +	unsigned long regs; +	pci_addr_t mem_bus; +	phys_size_t mem_phys; +	pci_size_t mem_size; +	pci_addr_t io_bus; +	phys_size_t io_phys; +	pci_size_t io_size; +	enum law_trgt_if law; +	int pci_num;  };  int fsl_pci_init_port(struct fsl_pci_info *pci_info, @@ -184,6 +185,7 @@ int fsl_pci_init_port(struct fsl_pci_info *pci_info,  	x.io_bus = CONFIG_SYS_PCI##num##_IO_BUS; \  	x.io_phys = CONFIG_SYS_PCI##num##_IO_PHYS; \  	x.io_size = CONFIG_SYS_PCI##num##_IO_SIZE; \ +	x.law = LAW_TRGT_IF_PCI_##num; \  	x.pci_num = num; \  } @@ -196,6 +198,7 @@ int fsl_pci_init_port(struct fsl_pci_info *pci_info,  	x.io_bus = CONFIG_SYS_PCIE##num##_IO_BUS; \  	x.io_phys = CONFIG_SYS_PCIE##num##_IO_PHYS; \  	x.io_size = CONFIG_SYS_PCIE##num##_IO_SIZE; \ +	x.law = LAW_TRGT_IF_PCIE_##num; \  	x.pci_num = num; \  } diff --git a/arch/powerpc/include/asm/immap_83xx.h b/arch/powerpc/include/asm/immap_83xx.h index 3a9cdc4f8df..cc0293acd49 100644 --- a/arch/powerpc/include/asm/immap_83xx.h +++ b/arch/powerpc/include/asm/immap_83xx.h @@ -646,7 +646,7 @@ typedef struct immap {  	u8			res2[0x1300];  	duart83xx_t		duart[2];	/* DUART */  	u8			res3[0x900]; -	fsl_lbus_t		lbus;	/* Local Bus Controller Registers */ +	fsl_lbc_t		im_lbc;		/* Local Bus Controller Regs */  	u8			res4[0x1000];  	spi8xxx_t		spi;		/* Serial Peripheral Interface */  	dma83xx_t		dma;		/* DMA */ @@ -686,7 +686,7 @@ typedef struct immap {  	u8			res1[0x1300];  	duart83xx_t		duart[2];	/* DUART */  	u8			res2[0x900]; -	fsl_lbus_t		lbus;	/* Local Bus Controller Registers */ +	fsl_lbc_t		im_lbc;		/* Local Bus Controller Regs */  	u8			res3[0x1000];  	spi8xxx_t		spi;		/* Serial Peripheral Interface */  	dma83xx_t		dma;		/* DMA */ @@ -721,7 +721,7 @@ typedef struct immap {  	u8			res1[0x1300];  	duart83xx_t		duart[2];	/* DUART */  	u8			res2[0x900]; -	fsl_lbus_t		lbus;	/* Local Bus Controller Registers */ +	fsl_lbc_t		im_lbc;		/* Local Bus Controller Regs */  	u8			res3[0x1000];  	spi8xxx_t		spi;		/* Serial Peripheral Interface */  	dma83xx_t		dma;		/* DMA */ @@ -766,7 +766,7 @@ typedef struct immap {  	u8			res1[0x1300];  	duart83xx_t		duart[2];	/* DUART */  	u8			res2[0x900]; -	fsl_lbus_t		lbus;	/* Local Bus Controller Registers */ +	fsl_lbc_t		im_lbc;		/* Local Bus Controller Regs */  	u8			res3[0x1000];  	spi8xxx_t		spi;		/* Serial Peripheral Interface */  	dma83xx_t		dma;		/* DMA */ @@ -816,7 +816,7 @@ typedef struct immap {  	u8			res4[0x1300];  	duart83xx_t		duart[2];	/* DUART */  	u8			res5[0x900]; -	fsl_lbus_t		lbus;	/* Local Bus Controller Registers */ +	fsl_lbc_t		im_lbc;		/* Local Bus Controller Regs */  	u8			res6[0x2000];  	dma83xx_t		dma;		/* DMA */  	pciconf83xx_t		pci_conf[1];	/* PCI Software Configuration Registers */ @@ -855,7 +855,7 @@ typedef struct immap {  	u8			res3[0x1300];  	duart83xx_t		duart[2];	/* DUART */  	u8			res4[0x900]; -	fsl_lbus_t		lbus;	/* Local Bus Controller Registers */ +	fsl_lbc_t		im_lbc;		/* Local Bus Controller Regs */  	u8			res5[0x2000];  	dma83xx_t		dma;		/* DMA */  	pciconf83xx_t		pci_conf[1];	/* PCI Software Configuration Registers */ @@ -879,6 +879,7 @@ typedef struct immap {  #endif  #define CONFIG_SYS_MPC83xx_USB_ADDR \  			(CONFIG_SYS_IMMR + CONFIG_SYS_MPC83xx_USB_OFFSET) +#define CONFIG_SYS_LBC_ADDR (&((immap_t *)CONFIG_SYS_IMMR)->im_lbc)  #define CONFIG_SYS_TSEC1_OFFSET		0x24000  #define CONFIG_SYS_MDIO1_OFFSET		0x24000 diff --git a/arch/powerpc/include/asm/immap_85xx.h b/arch/powerpc/include/asm/immap_85xx.h index 5b205d1c24c..4e665d39944 100644 --- a/arch/powerpc/include/asm/immap_85xx.h +++ b/arch/powerpc/include/asm/immap_85xx.h @@ -266,50 +266,6 @@ typedef struct ccsr_duart {  } ccsr_duart_t;  #endif -/* Local Bus Controller Registers */ -typedef struct ccsr_lbc { -	u32	br0;		/* LBC Base 0 */ -	u32	or0;		/* LBC Options 0 */ -	u32	br1;		/* LBC Base 1 */ -	u32	or1;		/* LBC Options 1 */ -	u32	br2;		/* LBC Base 2 */ -	u32	or2;		/* LBC Options 2 */ -	u32	br3;		/* LBC Base 3 */ -	u32	or3;		/* LBC Options 3 */ -	u32	br4;		/* LBC Base 4 */ -	u32	or4;		/* LBC Options 4 */ -	u32	br5;		/* LBC Base 5 */ -	u32	or5;		/* LBC Options 5 */ -	u32	br6;		/* LBC Base 6 */ -	u32	or6;		/* LBC Options 6 */ -	u32	br7;		/* LBC Base 7 */ -	u32	or7;		/* LBC Options 7 */ -	u8	res1[40]; -	u32	mar;		/* LBC UPM Addr */ -	u8	res2[4]; -	u32	mamr;		/* LBC UPMA Mode */ -	u32	mbmr;		/* LBC UPMB Mode */ -	u32	mcmr;		/* LBC UPMC Mode */ -	u8	res3[8]; -	u32	mrtpr;		/* LBC Memory Refresh Timer Prescaler */ -	u32	mdr;		/* LBC UPM Data */ -	u8	res4[8]; -	u32	lsdmr;		/* LBC SDRAM Mode */ -	u8	res5[8]; -	u32	lurt;		/* LBC UPM Refresh Timer */ -	u32	lsrt;		/* LBC SDRAM Refresh Timer */ -	u8	res6[8]; -	u32	ltesr;		/* LBC Transfer Error Status */ -	u32	ltedr;		/* LBC Transfer Error Disable */ -	u32	lteir;		/* LBC Transfer Error IRQ */ -	u32	lteatr;		/* LBC Transfer Error Attrs */ -	u32	ltear;		/* LBC Transfer Error Addr */ -	u8	res7[12]; -	u32	lbcr;		/* LBC Configuration */ -	u32	lcrr;		/* LBC Clock Ratio */ -	u8	res8[3880]; -} ccsr_lbc_t; -  /* eSPI Registers */  typedef struct ccsr_espi {  	u32	mode;		/* eSPI mode */ @@ -2045,6 +2001,41 @@ enum {  	FSL_SRDS_B3_LANE_D = 23,  }; +/* Security Engine Block (MS = Most Sig., LS = Least Sig.) */ +#if CONFIG_SYS_FSL_SEC_COMPAT >= 4 +typedef struct ccsr_sec { +	u8	res1[0xfa0]; +	u32	crnr_ms;	/* CHA Revision Number Register, MS */ +	u32	crnr_ls;	/* CHA Revision Number Register, LS */ +	u32	ctpr_ms;	/* Compile Time Parameters Register, MS */ +#define SEC_CTPR_MS_AXI_LIODN		0x08000000 +#define SEC_CTPR_MS_QI			0x02000000 +	u32	ctpr_ls;	/* Compile Time Parameters Register, LS */ +	u8	res2[0x10]; +	u32	far_ms;		/* Fault Address Register, MS */ +	u32	far_ls;		/* Fault Address Register, LS */ +	u32	falr;		/* Fault Address LIODN Register */ +	u32	fadr;		/* Fault Address Detail Register */ +	u8	res3[0x4]; +	u32	csta;		/* CAAM Status Register */ +	u8	res4[0x8]; +	u32	rvid;		/* Run Time Integrity Checking Version ID Reg.*/ +#define SEC_RVID_MA			0x0f000000 +	u32	ccbvid;		/* CHA Cluster Block Version ID Register */ +	u32	chavid_ms;	/* CHA Version ID Register, MS */ +	u32	chavid_ls;	/* CHA Version ID Register, LS */ +	u32	chanum_ms;	/* CHA Number Register, MS */ +#define SEC_CHANUM_MS_JQNUM_MASK	0xf0000000 +#define SEC_CHANUM_MS_JQNUM_SHIFT	28 +#define SEC_CHANUM_MS_DECONUM_MASK	0x0f000000 +#define SEC_CHANUM_MS_DECONUM_SHIFT	24 +	u32	chanum_ls;	/* CHA Number Register, LS */ +	u32	caamvid_ms;	/* CAAM Version ID Register, MS */ +	u32	caamvid_ls;	/* CAAM Version ID Register, LS */ +	u8	res5[0xf000]; +} ccsr_sec_t; +#endif +  #ifdef CONFIG_FSL_CORENET  #define CONFIG_SYS_FSL_CORENET_CCM_OFFSET	0x0000  #define CONFIG_SYS_MPC85xx_DDR_OFFSET		0x8000 @@ -2059,6 +2050,7 @@ enum {  #define CONFIG_SYS_MPC85xx_LBC_OFFSET		0x124000  #define CONFIG_SYS_MPC85xx_GPIO_OFFSET		0x130000  #define CONFIG_SYS_MPC85xx_USB_OFFSET		0x210000 +#define CONFIG_SYS_FSL_SEC_OFFSET		0x300000  #define CONFIG_SYS_FSL_CORENET_QMAN_OFFSET	0x318000  #define CONFIG_SYS_FSL_CORENET_BMAN_OFFSET	0x31a000  #define CONFIG_SYS_TSEC1_OFFSET			0x4e0000 /* FM1@DTSEC0 */ @@ -2111,7 +2103,7 @@ enum {  	(CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_DDR_OFFSET)  #define CONFIG_SYS_MPC85xx_DDR2_ADDR \  	(CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_DDR2_OFFSET) -#define CONFIG_SYS_MPC85xx_LBC_ADDR \ +#define CONFIG_SYS_LBC_ADDR \  	(CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_LBC_OFFSET)  #define CONFIG_SYS_MPC85xx_ESPI_ADDR \  	(CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_ESPI_OFFSET) @@ -2143,6 +2135,8 @@ enum {  	(CONFIG_SYS_IMMR + CONFIG_SYS_FSL_CORENET_SERDES_OFFSET)  #define CONFIG_SYS_MPC85xx_USB_ADDR \  	(CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_USB_OFFSET) +#define CONFIG_SYS_FSL_SEC_ADDR \ +	(CONFIG_SYS_IMMR + CONFIG_SYS_FSL_SEC_OFFSET)  #define TSEC_BASE_ADDR		(CONFIG_SYS_IMMR + CONFIG_SYS_TSEC1_OFFSET)  #define MDIO_BASE_ADDR		(CONFIG_SYS_IMMR + CONFIG_SYS_MDIO1_OFFSET) diff --git a/arch/powerpc/include/asm/immap_86xx.h b/arch/powerpc/include/asm/immap_86xx.h index fd7acdb7674..b9e02dbc792 100644 --- a/arch/powerpc/include/asm/immap_86xx.h +++ b/arch/powerpc/include/asm/immap_86xx.h @@ -12,6 +12,7 @@  #include <asm/types.h>  #include <asm/fsl_dma.h> +#include <asm/fsl_lbc.h>  #include <asm/fsl_i2c.h>  /* Local-Access Registers and MCM Registers(0x0000-0x2000) */ @@ -190,51 +191,6 @@ typedef struct ccsr_duart {  	char	res5[2543];  } ccsr_duart_t; - -/* Local Bus Controller Registers(0x5000-0x6000) */ -typedef struct ccsr_lbc { -	uint	br0;		/* 0x5000 - LBC Base Register 0 */ -	uint	or0;		/* 0x5004 - LBC Options Register 0 */ -	uint	br1;		/* 0x5008 - LBC Base Register 1 */ -	uint	or1;		/* 0x500c - LBC Options Register 1 */ -	uint	br2;		/* 0x5010 - LBC Base Register 2 */ -	uint	or2;		/* 0x5014 - LBC Options Register 2 */ -	uint	br3;		/* 0x5018 - LBC Base Register 3 */ -	uint	or3;		/* 0x501c - LBC Options Register 3 */ -	uint	br4;		/* 0x5020 - LBC Base Register 4 */ -	uint	or4;		/* 0x5024 - LBC Options Register 4 */ -	uint	br5;		/* 0x5028 - LBC Base Register 5 */ -	uint	or5;		/* 0x502c - LBC Options Register 5 */ -	uint	br6;		/* 0x5030 - LBC Base Register 6 */ -	uint	or6;		/* 0x5034 - LBC Options Register 6 */ -	uint	br7;		/* 0x5038 - LBC Base Register 7 */ -	uint	or7;		/* 0x503c - LBC Options Register 7 */ -	char	res1[40]; -	uint	mar;		/* 0x5068 - LBC UPM Address Register */ -	char	res2[4]; -	uint	mamr;		/* 0x5070 - LBC UPMA Mode Register */ -	uint	mbmr;		/* 0x5074 - LBC UPMB Mode Register */ -	uint	mcmr;		/* 0x5078 - LBC UPMC Mode Register */ -	char	res3[8]; -	uint	mrtpr;		/* 0x5084 - LBC Memory Refresh Timer Prescaler Register */ -	uint	mdr;		/* 0x5088 - LBC UPM Data Register */ -	char	res4[8]; -	uint	lsdmr;		/* 0x5094 - LBC SDRAM Mode Register */ -	char	res5[8]; -	uint	lurt;		/* 0x50a0 - LBC UPM Refresh Timer */ -	uint	lsrt;		/* 0x50a4 - LBC SDRAM Refresh Timer */ -	char	res6[8]; -	uint	ltesr;		/* 0x50b0 - LBC Transfer Error Status Register */ -	uint	ltedr;		/* 0x50b4 - LBC Transfer Error Disable Register */ -	uint	lteir;		/* 0x50b8 - LBC Transfer Error Interrupt Register */ -	uint	lteatr;		/* 0x50bc - LBC Transfer Error Attributes Register */ -	uint	ltear;		/* 0x50c0 - LBC Transfer Error Address Register */ -	char	res7[12]; -	uint	lbcr;		/* 0x50d0 - LBC Configuration Register */ -	uint	lcrr;		/* 0x50d4 - LBC Clock Ratio Register */ -	char	res8[3880]; -} ccsr_lbc_t; -  /* PCI Express Registers(0x8000-0x9000) and (0x9000-0xA000) */  typedef struct ccsr_pex {  	uint	cfg_addr;	/* 0x8000 - PEX Configuration Address Register */ @@ -1270,7 +1226,7 @@ typedef struct immap {  	ccsr_ddr_t		im_ddr1;  	ccsr_i2c_t		im_i2c;  	ccsr_duart_t		im_duart; -	ccsr_lbc_t		im_lbc; +	fsl_lbc_t		im_lbc;  	ccsr_ddr_t		im_ddr2;  	char                    res1[4096];  	ccsr_pex_t		im_pex1; @@ -1303,6 +1259,7 @@ extern immap_t  *immr;  #define CONFIG_SYS_TSEC1_OFFSET		0x24000  #define CONFIG_SYS_MDIO1_OFFSET		0x24000 +#define CONFIG_SYS_LBC_ADDR		(&((immap_t *)CONFIG_SYS_IMMR)->im_lbc)  #define TSEC_BASE_ADDR		(CONFIG_SYS_IMMR + CONFIG_SYS_TSEC1_OFFSET)  #define MDIO_BASE_ADDR		(CONFIG_SYS_IMMR + CONFIG_SYS_MDIO1_OFFSET) diff --git a/arch/powerpc/include/asm/mmu.h b/arch/powerpc/include/asm/mmu.h index 5166507f923..c01c85f6d3d 100644 --- a/arch/powerpc/include/asm/mmu.h +++ b/arch/powerpc/include/asm/mmu.h @@ -402,6 +402,7 @@ extern void print_bats(void);  #define MAS1_TID(x)	((x << 16) & 0x3FFF0000)  #define MAS1_TS		0x00001000  #define MAS1_TSIZE(x)	((x << 8) & 0x00000F00) +#define TSIZE_TO_BYTES(x) ((phys_addr_t)(1UL << ((tsize * 2) + 10)))  #define MAS2_EPN	0xFFFFF000  #define MAS2_X0		0x00000040 @@ -485,6 +486,7 @@ extern void init_tlbs(void);  extern int find_tlb_idx(void *addr, u8 tlbsel);  extern void init_used_tlb_cams(void);  extern int find_free_tlbcam(void); +extern void print_tlbcam(void);  extern unsigned int setup_ddr_tlbs(unsigned int memsize_in_meg); diff --git a/arch/powerpc/include/asm/mp.h b/arch/powerpc/include/asm/mp.h index 5388c951c84..3ffa30b9789 100644 --- a/arch/powerpc/include/asm/mp.h +++ b/arch/powerpc/include/asm/mp.h @@ -1,5 +1,5 @@  /* - * Copyright 2009 Freescale Semiconductor, Inc. + * Copyright 2009-2010 Freescale Semiconductor, Inc.   *   * This program is free software; you can redistribute it and/or   * modify it under the terms of the GNU General Public License as @@ -26,5 +26,6 @@  void setup_mp(void);  void cpu_mp_lmb_reserve(struct lmb *lmb);  u32 determine_mp_bootpg(void); +int is_core_disabled(int nr);  #endif diff --git a/arch/powerpc/include/asm/processor.h b/arch/powerpc/include/asm/processor.h index 9ec319ae170..844552c2d24 100644 --- a/arch/powerpc/include/asm/processor.h +++ b/arch/powerpc/include/asm/processor.h @@ -534,9 +534,11 @@  #define SPRN_MCSRR0	0x23a	/* Machine Check Save and Restore Register 0 */  #define SPRN_MCSRR1	0x23b	/* Machine Check Save and Restore Register 1 */  #define SPRN_BUCSR	0x3f5	/* Branch Control and Status Register */ +#define	  BUCSR_STAC_EN	0x01000000	/* Segment target addr cache enable */ +#define	  BUCSR_LS_EN	0x00400000	/* Link stack enable */  #define	  BUCSR_BBFI	0x00000200	/* Branch buffer flash invalidate */  #define	  BUCSR_BPEN	0x00000001	/* Branch prediction enable */ -#define   BUCSR_ENABLE (BUCSR_BBFI|BUCSR_BPEN) +#define   BUCSR_ENABLE (BUCSR_STAC_EN|BUCSR_LS_EN|BUCSR_BBFI|BUCSR_BPEN)  #define SPRN_BBEAR	0x201	/* Branch Buffer Entry Address Register */  #define SPRN_BBTAR	0x202	/* Branch Buffer Target Address Register */  #define SPRN_PID1	0x279	/* Process ID Register 1 */ | 
