diff options
Diffstat (limited to 'arch/powerpc/include/asm')
| -rw-r--r-- | arch/powerpc/include/asm/config_mpc85xx.h | 47 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/fsl_ddr_dimm_params.h | 1 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/fsl_ddr_sdram.h | 25 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/fsl_i2c.h | 1 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/fsl_law.h | 7 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/fsl_liodn.h | 7 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/fsl_pci.h | 35 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/fsl_serdes.h | 1 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/immap_85xx.h | 97 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/ppc405.h | 25 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/ppc405cr.h | 92 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/ppc440.h | 25 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/ppc4xx-ebc.h | 6 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/ppc4xx-emac.h | 25 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/ppc4xx-mal.h | 25 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/ppc4xx.h | 29 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/processor.h | 11 | ||||
| -rw-r--r-- | arch/powerpc/include/asm/u-boot.h | 1 | 
18 files changed, 188 insertions, 272 deletions
| diff --git a/arch/powerpc/include/asm/config_mpc85xx.h b/arch/powerpc/include/asm/config_mpc85xx.h index 7ed93acdc..15e44de41 100644 --- a/arch/powerpc/include/asm/config_mpc85xx.h +++ b/arch/powerpc/include/asm/config_mpc85xx.h @@ -67,6 +67,8 @@  #define CONFIG_SYS_FSL_SRIO_IB_WIN_NUM	5  #define CONFIG_SYS_FSL_RMU  #define CONFIG_SYS_FSL_SRIO_MSG_UNIT_NUM	2 +#define CONFIG_SYS_FSL_ERRATUM_I2C_A004447 +#define CONFIG_SYS_FSL_A004447_SVR_REV	0x00  #elif defined(CONFIG_MPC8555)  #define CONFIG_MAX_CPUS			1 @@ -131,7 +133,10 @@  #define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY  #define CONFIG_SYS_FSL_ERRATUM_IFC_A002769  #define CONFIG_SYS_FSL_ERRATUM_P1010_A003549 +#define CONFIG_SYS_FSL_ERRATUM_SEC_A003571  #define CONFIG_SYS_FSL_ERRATUM_IFC_A003399 +#define CONFIG_SYS_FSL_ERRATUM_I2C_A004447 +#define CONFIG_SYS_FSL_A004447_SVR_REV	0x10  /* P1011 is single core version of P1020 */  #elif defined(CONFIG_P1011) @@ -249,6 +254,8 @@  #define CONFIG_SYS_FM_MURAM_SIZE	0x10000  #define CONFIG_SYS_FSL_PCIE_COMPAT	"fsl,qoriq-pcie-v2.2"  #define CONFIG_SYS_CCSRBAR_DEFAULT	0xff600000 +#define CONFIG_SYS_FSL_ERRATUM_I2C_A004447 +#define CONFIG_SYS_FSL_A004447_SVR_REV	0x11  /* P1024 is lower end variant of P1020 */  #elif defined(CONFIG_P1024) @@ -303,6 +310,7 @@  #elif defined(CONFIG_PPC_P2041) /* also supports P2040 */  #define CONFIG_SYS_FSL_QORIQ_CHASSIS1 +#define CONFIG_FSL_CORENET		/* Freescale CoreNet platform */  #define CONFIG_MAX_CPUS			4  #define CONFIG_SYS_FSL_NUM_CC_PLLS	2  #define CONFIG_SYS_FSL_NUM_LAWS		32 @@ -333,9 +341,12 @@  #define CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY 0xf0000000  #define CONFIG_SYS_FSL_ERRATUM_SRIO_A004034  #define CONFIG_SYS_FSL_ERRATUM_A004849 +#define CONFIG_SYS_FSL_ERRATUM_I2C_A004447 +#define CONFIG_SYS_FSL_A004447_SVR_REV	0x11  #elif defined(CONFIG_PPC_P3041)  #define CONFIG_SYS_FSL_QORIQ_CHASSIS1 +#define CONFIG_FSL_CORENET		/* Freescale CoreNet platform */  #define CONFIG_MAX_CPUS			4  #define CONFIG_SYS_FSL_NUM_CC_PLLS	2  #define CONFIG_SYS_FSL_NUM_LAWS		32 @@ -366,9 +377,13 @@  #define CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY 0xf0000000  #define CONFIG_SYS_FSL_ERRATUM_SRIO_A004034  #define CONFIG_SYS_FSL_ERRATUM_A004849 +#define CONFIG_SYS_FSL_ERRATUM_A005812 +#define CONFIG_SYS_FSL_ERRATUM_I2C_A004447 +#define CONFIG_SYS_FSL_A004447_SVR_REV	0x20  #elif defined(CONFIG_PPC_P4080) /* also supports P4040 */  #define CONFIG_SYS_FSL_QORIQ_CHASSIS1 +#define CONFIG_FSL_CORENET		/* Freescale CoreNet platform */  #define CONFIG_MAX_CPUS			8  #define CONFIG_SYS_FSL_NUM_CC_PLLS	4  #define CONFIG_SYS_FSL_NUM_LAWS		32 @@ -410,10 +425,14 @@  #define CONFIG_SYS_FSL_ERRATUM_A004849  #define CONFIG_SYS_FSL_ERRATUM_A004580  #define CONFIG_SYS_P4080_ERRATUM_PCIE_A003 +#define CONFIG_SYS_FSL_ERRATUM_A005812 +#define CONFIG_SYS_FSL_ERRATUM_I2C_A004447 +#define CONFIG_SYS_FSL_A004447_SVR_REV	0x20  #elif defined(CONFIG_PPC_P5020) /* also supports P5010 */  #define CONFIG_SYS_PPC64		/* 64-bit core */  #define CONFIG_SYS_FSL_QORIQ_CHASSIS1 +#define CONFIG_FSL_CORENET		/* Freescale CoreNet platform */  #define CONFIG_MAX_CPUS			2  #define CONFIG_SYS_FSL_NUM_CC_PLLS	2  #define CONFIG_SYS_FSL_NUM_LAWS		32 @@ -440,10 +459,13 @@  #define CONFIG_SYS_FSL_ERRATUM_A004510_SVR_REV	0x10  #define CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY 0xc0000000  #define CONFIG_SYS_FSL_ERRATUM_SRIO_A004034 +#define CONFIG_SYS_FSL_ERRATUM_I2C_A004447 +#define CONFIG_SYS_FSL_A004447_SVR_REV	0x20  #elif defined(CONFIG_PPC_P5040)  #define CONFIG_SYS_PPC64  #define CONFIG_SYS_FSL_QORIQ_CHASSIS1 +#define CONFIG_FSL_CORENET		/* Freescale CoreNet platform */  #define CONFIG_MAX_CPUS			4  #define CONFIG_SYS_FSL_NUM_CC_PLLS	3  #define CONFIG_SYS_FSL_NUM_LAWS		32 @@ -469,6 +491,7 @@  #define CONFIG_SYS_FSL_ERRATUM_A004510  #define CONFIG_SYS_FSL_ERRATUM_A004510_SVR_REV	0x10  #define CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY 0xf0000000 +#define CONFIG_SYS_FSL_ERRATUM_A005812  #elif defined(CONFIG_BSC9131)  #define CONFIG_MAX_CPUS			1 @@ -492,12 +515,18 @@  #define CONFIG_TSECV2  #define CONFIG_SYS_FSL_SEC_COMPAT	4  #define CONFIG_NUM_DDR_CONTROLLERS	2 +#define CONFIG_SYS_FSL_DSP_DDR_ADDR	0x40000000 +#define CONFIG_SYS_FSL_DSP_M2_RAM_ADDR	0xb0000000 +#define CONFIG_SYS_FSL_DSP_M3_RAM_ADDR	0xc0000000 +#define CONFIG_SYS_FSL_DSP_CCSRBAR_DEFAULT	0xff600000  #define CONFIG_SYS_FSL_IFC_BANK_COUNT	3  #define CONFIG_SYS_CCSRBAR_DEFAULT	0xff700000  #define CONFIG_NAND_FSL_IFC  #define CONFIG_SYS_FSL_ERRATUM_ESDHC111  #define CONFIG_SYS_FSL_ESDHC_P1010_BROKEN_SDCLK  #define CONFIG_SYS_FSL_PCIE_COMPAT	"fsl,qoriq-pcie-v2.2" +#define CONFIG_SYS_FSL_ERRATUM_I2C_A004447 +#define CONFIG_SYS_FSL_A004447_SVR_REV	0x11  #elif defined(CONFIG_PPC_T4240) || defined(CONFIG_PPC_T4160)  #define CONFIG_E6500 @@ -523,6 +552,8 @@  #endif  #define CONFIG_SYS_FSL_NUM_CC_PLLS	5  #define CONFIG_SYS_FSL_NUM_LAWS		32 +#define CONFIG_SYS_FSL_SRDS_1 +#define CONFIG_SYS_FSL_SRDS_2  #define CONFIG_SYS_FSL_SRDS_3  #define CONFIG_SYS_FSL_SRDS_4  #define CONFIG_SYS_FSL_SEC_COMPAT	4 @@ -536,6 +567,7 @@  #define CONFIG_SYS_FSL_SRIO_MAX_PORTS	2  #define CONFIG_SYS_FSL_SRIO_OB_WIN_NUM	9  #define CONFIG_SYS_FSL_SRIO_IB_WIN_NUM	5 +#define CONFIG_SYS_FSL_SRIO_LIODN  #define CONFIG_SYS_FSL_USB_DUAL_PHY_ENABLE  #define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY  #define CONFIG_SYS_FSL_ERRATUM_A004468 @@ -552,6 +584,8 @@  #define CONFIG_SYS_FSL_QORIQ_CHASSIS2	/* Freescale Chassis generation 2 */  #define CONFIG_SYS_FSL_QMAN_V3		/* QMAN version 3 */  #define CONFIG_SYS_FSL_NUM_LAWS		32 +#define CONFIG_SYS_FSL_SRDS_1 +#define CONFIG_SYS_FSL_SRDS_2  #define CONFIG_SYS_FSL_SEC_COMPAT	4  #define CONFIG_SYS_NUM_FMAN		1  #define CONFIG_SYS_FSL_DDR_VER		FSL_DDR_VER_4_7 @@ -576,6 +610,7 @@  #define CONFIG_SYS_FSL_SRIO_MAX_PORTS	2  #define CONFIG_SYS_FSL_SRIO_OB_WIN_NUM	9  #define CONFIG_SYS_FSL_SRIO_IB_WIN_NUM	5 +#define CONFIG_SYS_FSL_SRIO_LIODN  #else  #define CONFIG_MAX_CPUS			2  #define CONFIG_SYS_FSL_CORES_PER_CLUSTER 2 @@ -612,6 +647,18 @@  #define CONFIG_SYS_FSL_USB_INTERNAL_UTMI_PHY  #define CONFIG_SYS_CCSRBAR_DEFAULT	0xfe000000 +#elif defined(CONFIG_PPC_C29X) +#define CONFIG_MAX_CPUS			1 +#define CONFIG_FSL_SDHC_V2_3 +#define CONFIG_SYS_FSL_NUM_LAWS		12 +#define CONFIG_SYS_PPC_E500_DEBUG_TLB	3 +#define CONFIG_TSECV2_1 +#define CONFIG_SYS_FSL_SEC_COMPAT	6 +#define CONFIG_SYS_FSL_ERRATUM_ESDHC111 +#define CONFIG_NUM_DDR_CONTROLLERS	1 +#define CONFIG_SYS_FSL_IFC_BANK_COUNT	8 +#define CONFIG_SYS_CCSRBAR_DEFAULT	0xff700000 +  #else  #error Processor type not defined for this platform  #endif diff --git a/arch/powerpc/include/asm/fsl_ddr_dimm_params.h b/arch/powerpc/include/asm/fsl_ddr_dimm_params.h index ffe4db8b8..bd312ad5c 100644 --- a/arch/powerpc/include/asm/fsl_ddr_dimm_params.h +++ b/arch/powerpc/include/asm/fsl_ddr_dimm_params.h @@ -26,6 +26,7 @@ typedef struct dimm_params_s {  	unsigned int primary_sdram_width;  	unsigned int ec_sdram_width;  	unsigned int registered_dimm; +	unsigned int device_width;	/* x4, x8, x16 components */  	/* SDRAM device parameters */  	unsigned int n_row_addr; diff --git a/arch/powerpc/include/asm/fsl_ddr_sdram.h b/arch/powerpc/include/asm/fsl_ddr_sdram.h index 640d3297d..f4eec82d5 100644 --- a/arch/powerpc/include/asm/fsl_ddr_sdram.h +++ b/arch/powerpc/include/asm/fsl_ddr_sdram.h @@ -277,6 +277,7 @@ typedef struct memctl_options_s {  	unsigned int mirrored_dimm;  	unsigned int quad_rank_present;  	unsigned int ap_en;	/* address parity enable for RDIMM */ +	unsigned int x4_en;	/* enable x4 devices */  	/* Global Timing Parameters */  	unsigned int cas_latency_override; @@ -330,9 +331,31 @@ extern phys_size_t fsl_ddr_sdram(void);  extern phys_size_t fsl_ddr_sdram_size(void);  extern int fsl_use_spd(void);  extern void fsl_ddr_set_memctl_regs(const fsl_ddr_cfg_regs_t *regs, -					unsigned int ctrl_num); +					unsigned int ctrl_num, int step);  u32 fsl_ddr_get_intl3r(void); +static void __board_assert_mem_reset(void) +{ +} + +static void __board_deassert_mem_reset(void) +{ +} + +void board_assert_mem_reset(void) +	__attribute__((weak, alias("__board_assert_mem_reset"))); + +void board_deassert_mem_reset(void) +	__attribute__((weak, alias("__board_deassert_mem_reset"))); + +static int __board_need_mem_reset(void) +{ +	return 0; +} + +int board_need_mem_reset(void) +	__attribute__((weak, alias("__board_need_mem_reset"))); +  /*   * The 85xx boards have a common prototype for fixed_sdram so put the   * declaration here. diff --git a/arch/powerpc/include/asm/fsl_i2c.h b/arch/powerpc/include/asm/fsl_i2c.h index 4f7134132..d6537fd63 100644 --- a/arch/powerpc/include/asm/fsl_i2c.h +++ b/arch/powerpc/include/asm/fsl_i2c.h @@ -54,6 +54,7 @@ typedef struct fsl_i2c {  #define I2C_CR_MTX	0x10  #define I2C_CR_TXAK	0x08  #define I2C_CR_RSTA	0x04 +#define I2C_CR_BIT6	0x02	/* required for workaround A004447 */  #define I2C_CR_BCST	0x01  	u8 sr;		/* I2C status register */ diff --git a/arch/powerpc/include/asm/fsl_law.h b/arch/powerpc/include/asm/fsl_law.h index bea163676..37d3a2246 100644 --- a/arch/powerpc/include/asm/fsl_law.h +++ b/arch/powerpc/include/asm/fsl_law.h @@ -82,7 +82,7 @@ enum law_trgt_if {  #ifndef CONFIG_MPC8641  	LAW_TRGT_IF_PCIE_1 = 0x02,  #endif -#if defined(CONFIG_BSC9131) +#if defined(CONFIG_BSC9131) || defined(CONFIG_BSC9132)  	LAW_TRGT_IF_OCN_DSP = 0x03,  #else  #if !defined(CONFIG_MPC8572) && !defined(CONFIG_P2020) @@ -92,9 +92,14 @@ enum law_trgt_if {  	LAW_TRGT_IF_LBC = 0x04,  	LAW_TRGT_IF_CCSR = 0x08,  	LAW_TRGT_IF_DSP_CCSR = 0x09, +	LAW_TRGT_IF_PLATFORM_SRAM = 0x0a,  	LAW_TRGT_IF_DDR_INTRLV = 0x0b,  	LAW_TRGT_IF_RIO = 0x0c, +#if defined(CONFIG_BSC9132) +	LAW_TRGT_IF_CLASS_DSP = 0x0d, +#else  	LAW_TRGT_IF_RIO_2 = 0x0d, +#endif  	LAW_TRGT_IF_DPAA_SWP_SRAM = 0x0e,  	LAW_TRGT_IF_DDR = 0x0f,  	LAW_TRGT_IF_DDR_2 = 0x16,	/* 2nd controller */ diff --git a/arch/powerpc/include/asm/fsl_liodn.h b/arch/powerpc/include/asm/fsl_liodn.h index 3f543d924..44bc88dce 100644 --- a/arch/powerpc/include/asm/fsl_liodn.h +++ b/arch/powerpc/include/asm/fsl_liodn.h @@ -29,6 +29,13 @@ struct srio_liodn_id_table {  		+ CONFIG_SYS_MPC85xx_GUTS_OFFSET + CONFIG_SYS_CCSRBAR, \  	} +#define SET_SRIO_LIODN_BASE(port, id_a) \ +	{ .id = { id_a }, .num_ids = 1, .portid = port, \ +	  .reg_offset[0] = offsetof(struct ccsr_rio, liodn) \ +		+ (port - 1) * 0x200 \ +		+ CONFIG_SYS_FSL_SRIO_ADDR, \ +	} +  struct liodn_id_table {  	const char * compat;  	u32 id[2]; diff --git a/arch/powerpc/include/asm/fsl_pci.h b/arch/powerpc/include/asm/fsl_pci.h index c740da37c..749411c10 100644 --- a/arch/powerpc/include/asm/fsl_pci.h +++ b/arch/powerpc/include/asm/fsl_pci.h @@ -1,5 +1,5 @@  /* - * Copyright 2007,2009-2011 Freescale Semiconductor, Inc. + * Copyright 2007,2009-2012 Freescale Semiconductor, Inc.   *   * SPDX-License-Identifier:	GPL-2.0+   */ @@ -13,6 +13,34 @@  #define PEX_IP_BLK_REV_2_2	0x02080202  #define PEX_IP_BLK_REV_2_3	0x02080203 +#define PEX_IP_BLK_REV_3_0	0x02080300 + +/* Freescale-specific PCI config registers */ +#define FSL_PCI_PBFR		0x44 + +#ifdef CONFIG_SYS_FSL_PCI_VER_3_X +/* Currently only the PCIe capability is used, so hardcode the offset. + * if more capabilities need to be justified, the capability link method + * should be applied here + */ +#define FSL_PCIE_CAP_ID		0x70 +#define PCI_DCR		0x78    /* PCIe Device Control Register */ +#define PCI_DSR		0x7a    /* PCIe Device Status Register */ +#define PCI_LSR		0x82    /* PCIe Link Status Register */ +#define PCI_LCR		0x80    /* PCIe Link Control Register */ +#else +#define FSL_PCIE_CAP_ID		0x4c +#define PCI_DCR		0x54    /* PCIe Device Control Register */ +#define PCI_DSR		0x56    /* PCIe Device Status Register */ +#define PCI_LSR		0x5e    /* PCIe Link Status Register */ +#define PCI_LCR		0x5c    /* PCIe Link Control Register */ +#endif + +#define FSL_PCIE_CFG_RDY	0x4b0 +#define FSL_PROG_IF_AGENT	0x1 + +#define PCI_LTSSM	0x404   /* PCIe Link Training, Status State Machine */ +#define  PCI_LTSSM_L0	0x16    /* L0 state */  int fsl_setup_hose(struct pci_controller *hose, unsigned long addr);  int fsl_is_pci_agent(struct pci_controller *hose); @@ -149,7 +177,10 @@ typedef struct ccsr_pci {  	u32	perr_cap3;	/* 0xe34 - PCIE Error Capture Register 3 */  	char	res23[200];  	u32	pdb_stat;	/* 0xf00 - PCIE Debug Status */ -	char	res24[252]; +	char	res24[16]; +	u32	pex_csr0;	/* 0xf14 - PEX Control/Status register 0*/ +	u32	pex_csr1;	/* 0xf18 - PEX Control/Status register 1*/ +	char	res25[228];  } ccsr_fsl_pci_t;  #define PCIE_CONFIG_PC	0x00020000  #define PCIE_CONFIG_OB_CK	0x00002000 diff --git a/arch/powerpc/include/asm/fsl_serdes.h b/arch/powerpc/include/asm/fsl_serdes.h index 59189adb3..1106d2805 100644 --- a/arch/powerpc/include/asm/fsl_serdes.h +++ b/arch/powerpc/include/asm/fsl_serdes.h @@ -90,6 +90,7 @@ void fsl_serdes_init(void);  #ifdef CONFIG_FSL_CORENET  #ifdef CONFIG_SYS_FSL_QORIQ_CHASSIS2  int serdes_get_first_lane(u32 sd, enum srds_prtcl device); +enum srds_prtcl serdes_get_prtcl(int serdes, int cfg, int lane);  #else  int serdes_get_first_lane(enum srds_prtcl device);  #endif diff --git a/arch/powerpc/include/asm/immap_85xx.h b/arch/powerpc/include/asm/immap_85xx.h index 81b3322fe..3a10d778f 100644 --- a/arch/powerpc/include/asm/immap_85xx.h +++ b/arch/powerpc/include/asm/immap_85xx.h @@ -1544,6 +1544,18 @@ struct rio_pw {  };  #endif +#ifdef CONFIG_SYS_FSL_SRIO_LIODN +struct rio_liodn { +	u32	plbr; +	u8	res0[28]; +	u32	plaor; +	u8	res1[12]; +	u32	pludr; +	u32	plldr; +	u8	res2[456]; +}; +#endif +  /* RapidIO Registers */  struct ccsr_rio {  	struct rio_arch	arch; @@ -1566,6 +1578,10 @@ struct ccsr_rio {  	u8	res7[100];  	struct rio_pw	pw;  #endif +#ifdef CONFIG_SYS_FSL_SRIO_LIODN +	u8	res5[8192]; +	struct rio_liodn liodn[CONFIG_SYS_FSL_SRIO_MAX_PORTS]; +#endif  };  #endif @@ -2131,6 +2147,11 @@ typedef struct ccsr_gur {  #ifdef CONFIG_MPC8536  #define MPC85xx_PORPLLSR_DDR_RATIO	0x3e000000  #define MPC85xx_PORPLLSR_DDR_RATIO_SHIFT	25 +#elif defined(CONFIG_PPC_C29X) +#define MPC85xx_PORPLLSR_DDR_RATIO	0x00003f00 +#define MPC85xx_PORPLLSR_DDR_RATIO_SHIFT	(9 - ((gur->pordevsr2 \ +					& MPC85xx_PORDEVSR2_DDR_SPD_0) \ +					>> MPC85xx_PORDEVSR2_DDR_SPD_0_SHIFT))  #else  #if defined(CONFIG_BSC9131) || defined(CONFIG_BSC9132)  #define MPC85xx_PORPLLSR_DDR_RATIO	0x00003f00 @@ -2178,6 +2199,9 @@ typedef struct ccsr_gur {  #elif defined(CONFIG_BSC9132)  #define MPC85xx_PORDEVSR_IO_SEL		0x00FE0000  #define MPC85xx_PORDEVSR_IO_SEL_SHIFT	17 +#elif defined(CONFIG_PPC_C29X) +#define MPC85xx_PORDEVSR_IO_SEL		0x00e00000 +#define MPC85xx_PORDEVSR_IO_SEL_SHIFT	21  #else  #define MPC85xx_PORDEVSR_IO_SEL		0x00780000  #define MPC85xx_PORDEVSR_IO_SEL_SHIFT	19 @@ -2193,6 +2217,10 @@ typedef struct ccsr_gur {  #define MPC85xx_PORDEVSR_RIO_DEV_ID	0x00000007  	u32	pordbgmsr;	/* POR debug mode status */  	u32	pordevsr2;	/* POR I/O device status 2 */ +#if defined(CONFIG_PPC_C29X) +#define MPC85xx_PORDEVSR2_DDR_SPD_0	0x00000008 +#define MPC85xx_PORDEVSR2_DDR_SPD_0_SHIFT	3 +#endif  /* The 8544 RM says this is bit 26, but it's really bit 24 */  #define MPC85xx_PORDEVSR2_SEC_CFG	0x00000080  	u8	res1[8]; @@ -2339,6 +2367,11 @@ typedef struct ccsr_gur {  #define MPC85xx_PMUXCR0_SIM_SEL_MASK	0x0003b000  #define MPC85xx_PMUXCR0_SIM_SEL		0x00014000  #endif +#if defined(CONFIG_PPC_C29X) +#define MPC85xx_PMUXCR_SPI_MASK			0x00000300 +#define MPC85xx_PMUXCR_SPI			0x00000000 +#define MPC85xx_PMUXCR_SPI_GPIO			0x00000100 +#endif  	u32	pmuxcr2;	/* Alt. function signal multiplex control 2 */  #if defined(CONFIG_P1010) || defined(CONFIG_P1014)  #define MPC85xx_PMUXCR2_UART_GPIO		0x40000000 @@ -2526,7 +2559,9 @@ typedef struct serdes_corenet {  #define SRDS_RSTCTL_RSTDONE	0x40000000  #define SRDS_RSTCTL_RSTERR	0x20000000  #define SRDS_RSTCTL_SWRST	0x10000000 -#define SRDS_RSTCTL_SDPD	0x00000020 +#define SRDS_RSTCTL_SDEN	0x00000020 +#define SRDS_RSTCTL_SDRST_B	0x00000040 +#define SRDS_RSTCTL_PLLRST_B	0x00000080  		u32	pllcr0; /* PLL Control Register 0 */  #define SRDS_PLLCR0_POFF		0x80000000  #define SRDS_PLLCR0_RFCK_SEL_MASK	0x70000000 @@ -2811,54 +2846,6 @@ typedef struct ccsr_pme {  	u8	res4[0x400];  } ccsr_pme_t; -#ifdef CONFIG_SYS_FSL_USB_DUAL_PHY_ENABLE -struct ccsr_usb_port_ctrl { -	u32	ctrl; -	u32	drvvbuscfg; -	u32	pwrfltcfg; -	u32	sts; -	u8	res_14[0xc]; -	u32	bistcfg; -	u32	biststs; -	u32	abistcfg; -	u32	abiststs; -	u8	res_30[0x10]; -	u32	xcvrprg; -	u32	anaprg; -	u32	anadrv; -	u32	anasts; -}; - -typedef struct ccsr_usb_phy { -	u32	id; -	struct  ccsr_usb_port_ctrl port1; -	u8	res_50[0xc]; -	u32	tvr; -	u32	pllprg[4]; -	u8	res_70[0x4]; -	u32	anaccfg; -	u32	dbg; -	u8	res_7c[0x4]; -	struct  ccsr_usb_port_ctrl port2; -	u8	res_dc[0x334]; -} ccsr_usb_phy_t; - -#define CONFIG_SYS_FSL_USB_CTRL_PHY_EN (1 << 0) -#define CONFIG_SYS_FSL_USB_DRVVBUS_CR_EN (1 << 1) -#define CONFIG_SYS_FSL_USB_PWRFLT_CR_EN (1 << 1) -#define CONFIG_SYS_FSL_USB_PLLPRG2_PHY2_CLK_EN (1 << 0) -#define CONFIG_SYS_FSL_USB_PLLPRG2_PHY1_CLK_EN (1 << 1) -#define CONFIG_SYS_FSL_USB_PLLPRG2_MFI (5 << 16) -#define CONFIG_SYS_FSL_USB_PLLPRG2_PLL_EN (1 << 21) -#else -typedef struct ccsr_usb_phy { -	u8	res0[0x18]; -	u32	usb_enable_override; -	u8	res[0xe4]; -} ccsr_usb_phy_t; -#define CONFIG_SYS_FSL_USB_ENABLE_OVERRIDE 1 -#endif -  #ifdef CONFIG_SYS_FSL_RAID_ENGINE  struct ccsr_raide {  	u8	res0[0x543]; @@ -3008,12 +2995,18 @@ struct ccsr_pman {  #define CONFIG_SYS_MPC85xx_USB2_OFFSET		0x23000  #ifdef CONFIG_TSECV2  #define CONFIG_SYS_TSEC1_OFFSET			0xB0000 +#elif defined(CONFIG_TSECV2_1) +#define CONFIG_SYS_TSEC1_OFFSET			0x10000  #else  #define CONFIG_SYS_TSEC1_OFFSET			0x24000  #endif  #define CONFIG_SYS_MDIO1_OFFSET			0x24000  #define CONFIG_SYS_MPC85xx_ESDHC_OFFSET		0x2e000 +#if defined(CONFIG_PPC_C29X) +#define CONFIG_SYS_FSL_SEC_OFFSET		0x80000 +#else  #define CONFIG_SYS_FSL_SEC_OFFSET		0x30000 +#endif  #define CONFIG_SYS_MPC85xx_SERDES2_OFFSET	0xE3100  #define CONFIG_SYS_MPC85xx_SERDES1_OFFSET	0xE3000  #define CONFIG_SYS_SNVS_OFFSET			0xE6000 @@ -3031,6 +3024,12 @@ struct ccsr_pman {  #define CONFIG_SYS_MPC85xx_GUTS_OFFSET		0xE0000  #define CONFIG_SYS_FSL_SRIO_OFFSET		0xC0000 +#if defined(CONFIG_BSC9132) +#define CONFIG_SYS_FSL_DSP_CCSR_DDR_OFFSET	0x10000 +#define CONFIG_SYS_FSL_DSP_CCSR_DDR_ADDR \ +	(CONFIG_SYS_FSL_DSP_CCSRBAR + CONFIG_SYS_FSL_DSP_CCSR_DDR_OFFSET) +#endif +  #define CONFIG_SYS_FSL_CPC_ADDR	\  	(CONFIG_SYS_CCSRBAR + CONFIG_SYS_FSL_CPC_OFFSET)  #define CONFIG_SYS_FSL_QMAN_ADDR \ diff --git a/arch/powerpc/include/asm/ppc405.h b/arch/powerpc/include/asm/ppc405.h index 892848aac..8bb342b92 100644 --- a/arch/powerpc/include/asm/ppc405.h +++ b/arch/powerpc/include/asm/ppc405.h @@ -1,25 +1,6 @@ -/*----------------------------------------------------------------------------+ -|   This source code is dual-licensed.  You may use it under the terms of the -|   GNU General Public License version 2, or under the license below. -| -|	This source code has been made available to you by IBM on an AS-IS -|	basis.	Anyone receiving this source is licensed under IBM -|	copyrights to use it in any way he or she deems fit, including -|	copying it, modifying it, compiling it, and redistributing it either -|	with or without modifications.	No license under IBM patents or -|	patent applications is to be implied by the copyright license. -| -|	Any user of this software should understand that IBM cannot provide -|	technical support for this software and will not be responsible for -|	any consequences resulting from the use of this software. -| -|	Any person who transfers this source code or any derivative work -|	must include the IBM copyright notice, this paragraph, and the -|	preceding two paragraphs in the transferred software. -| -|	COPYRIGHT   I B M   CORPORATION 1999 -|	LICENSED MATERIAL  -  PROGRAM PROPERTY OF I B M -+----------------------------------------------------------------------------*/ +/* + * SPDX-License-Identifier:	GPL-2.0	ibm-pibs + */  #ifndef	__PPC405_H__  #define __PPC405_H__ diff --git a/arch/powerpc/include/asm/ppc405cr.h b/arch/powerpc/include/asm/ppc405cr.h deleted file mode 100644 index 0ea69bd09..000000000 --- a/arch/powerpc/include/asm/ppc405cr.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - * (C) Copyright 2010 - * Stefan Roese, DENX Software Engineering, sr@denx.de. - * - * SPDX-License-Identifier:	GPL-2.0+  - */ - -#ifndef _PPC405CR_H_ -#define _PPC405CR_H_ - -#define CONFIG_SDRAM_PPC4xx_IBM_SDRAM	/* IBM SDRAM controller */ - -/* Memory mapped register */ -#define CONFIG_SYS_PERIPHERAL_BASE	0xef600000 /* Internal Peripherals */ - -#define CONFIG_SYS_NS16550_COM1	(CONFIG_SYS_PERIPHERAL_BASE + 0x0300) -#define CONFIG_SYS_NS16550_COM2	(CONFIG_SYS_PERIPHERAL_BASE + 0x0400) - -#define GPIO0_BASE		(CONFIG_SYS_PERIPHERAL_BASE + 0x0700) - -/* DCR's */ -#define DCP0_CFGADDR	0x0014		/* Decompression controller addr reg */ -#define DCP0_CFGDATA	0x0015		/* Decompression controller data reg */ -#define OCM0_ISCNTL	0x0019	/* OCM I-side control reg */ -#define OCM0_DSARC	0x001a	/* OCM D-side address compare */ -#define OCM0_DSCNTL	0x001b	/* OCM D-side control */ -#define CPC0_PLLMR	0x00b0		/* PLL mode  register */ -#define CPC0_CR0	0x00b1		/* chip control register 0 */ -#define CPC0_CR1	0x00b2		/* chip control register 1 */ -#define CPC0_PSR	0x00b4		/* chip pin strapping reg */ -#define CPC0_EIRR	0x00b6		/* ext interrupt routing reg */ -#define CPC0_SR		0x00b8		/* Power management status */ -#define CPC0_ER		0x00b9		/* Power management enable */ -#define CPC0_FR		0x00ba		/* Power management force */ -#define CPC0_ECR	0x00aa		/* edge conditioner register */ - -#define PLLMR_FWD_DIV_MASK	0xE0000000	/* Forward Divisor */ -#define PLLMR_FWD_DIV_BYPASS	0xE0000000 -#define PLLMR_FWD_DIV_3		0xA0000000 -#define PLLMR_FWD_DIV_4		0x80000000 -#define PLLMR_FWD_DIV_6		0x40000000 - -#define PLLMR_FB_DIV_MASK	0x1E000000	/* Feedback Divisor */ -#define PLLMR_FB_DIV_1		0x02000000 -#define PLLMR_FB_DIV_2		0x04000000 -#define PLLMR_FB_DIV_3		0x06000000 -#define PLLMR_FB_DIV_4		0x08000000 - -#define PLLMR_TUNING_MASK	0x01F80000 - -#define PLLMR_CPU_TO_PLB_MASK	0x00060000	/* CPU:PLB Frequency Divisor */ -#define PLLMR_CPU_PLB_DIV_1	0x00000000 -#define PLLMR_CPU_PLB_DIV_2	0x00020000 -#define PLLMR_CPU_PLB_DIV_3	0x00040000 -#define PLLMR_CPU_PLB_DIV_4	0x00060000 - -#define PLLMR_OPB_TO_PLB_MASK	0x00018000	/* OPB:PLB Frequency Divisor */ -#define PLLMR_OPB_PLB_DIV_1	0x00000000 -#define PLLMR_OPB_PLB_DIV_2	0x00008000 -#define PLLMR_OPB_PLB_DIV_3	0x00010000 -#define PLLMR_OPB_PLB_DIV_4	0x00018000 - -#define PLLMR_PCI_TO_PLB_MASK	0x00006000	/* PCI:PLB Frequency Divisor */ -#define PLLMR_PCI_PLB_DIV_1	0x00000000 -#define PLLMR_PCI_PLB_DIV_2	0x00002000 -#define PLLMR_PCI_PLB_DIV_3	0x00004000 -#define PLLMR_PCI_PLB_DIV_4	0x00006000 - -#define PLLMR_EXB_TO_PLB_MASK	0x00001800	/* External Bus:PLB Divisor */ -#define PLLMR_EXB_PLB_DIV_2	0x00000000 -#define PLLMR_EXB_PLB_DIV_3	0x00000800 -#define PLLMR_EXB_PLB_DIV_4	0x00001000 -#define PLLMR_EXB_PLB_DIV_5	0x00001800 - -/* definitions for PPC405GPr (new mode strapping) */ -#define PLLMR_FWDB_DIV_MASK	0x00000007	/* Forward Divisor B */ - -#define PSR_PLL_FWD_MASK	0xC0000000 -#define PSR_PLL_FDBACK_MASK	0x30000000 -#define PSR_PLL_TUNING_MASK	0x0E000000 -#define PSR_PLB_CPU_MASK	0x01800000 -#define PSR_OPB_PLB_MASK	0x00600000 -#define PSR_PCI_PLB_MASK	0x00180000 -#define PSR_EB_PLB_MASK		0x00060000 -#define PSR_ROM_WIDTH_MASK	0x00018000 -#define PSR_ROM_LOC		0x00004000 -#define PSR_PCI_ASYNC_EN	0x00001000 -#define PSR_PERCLK_SYNC_MODE_EN 0x00000800	/* PPC405GPr only */ -#define PSR_PCI_ARBIT_EN	0x00000400 -#define PSR_NEW_MODE_EN		0x00000020	/* PPC405GPr only */ - -#endif /* _PPC405CR_H_ */ diff --git a/arch/powerpc/include/asm/ppc440.h b/arch/powerpc/include/asm/ppc440.h index 411d441a2..0f5bc8d1c 100644 --- a/arch/powerpc/include/asm/ppc440.h +++ b/arch/powerpc/include/asm/ppc440.h @@ -1,26 +1,3 @@ -/*----------------------------------------------------------------------------+ -|   This source code is dual-licensed.  You may use it under the terms of the -|   GNU General Public License version 2, or under the license below. -| -|	This source code has been made available to you by IBM on an AS-IS -|	basis.	Anyone receiving this source is licensed under IBM -|	copyrights to use it in any way he or she deems fit, including -|	copying it, modifying it, compiling it, and redistributing it either -|	with or without modifications.	No license under IBM patents or -|	patent applications is to be implied by the copyright license. -| -|	Any user of this software should understand that IBM cannot provide -|	technical support for this software and will not be responsible for -|	any consequences resulting from the use of this software. -| -|	Any person who transfers this source code or any derivative work -|	must include the IBM copyright notice, this paragraph, and the -|	preceding two paragraphs in the transferred software. -| -|	COPYRIGHT   I B M   CORPORATION 1999 -|	LICENSED MATERIAL  -  PROGRAM PROPERTY OF I B M -+----------------------------------------------------------------------------*/ -  /*   * (C) Copyright 2006   * Sylvie Gohl,             AMCC/IBM, gohl.sylvie@fr.ibm.com @@ -32,7 +9,7 @@   * (C) Copyright 2010   * Stefan Roese, DENX Software Engineering, sr@denx.de.   * - * SPDX-License-Identifier:	GPL-2.0+ + * SPDX-License-Identifier:	GPL-2.0	ibm-pibs   */  #ifndef __PPC440_H__ diff --git a/arch/powerpc/include/asm/ppc4xx-ebc.h b/arch/powerpc/include/asm/ppc4xx-ebc.h index 9eb50ee84..32062fd41 100644 --- a/arch/powerpc/include/asm/ppc4xx-ebc.h +++ b/arch/powerpc/include/asm/ppc4xx-ebc.h @@ -14,12 +14,12 @@   * Within this group there is a slight variation concerning the bit field   * position of the EMPL and EMPH fields:   */ -#if defined(CONFIG_405CR) || defined(CONFIG_405GP) || \ +#if defined(CONFIG_405GP) || \      defined(CONFIG_405EP) || \      defined(CONFIG_440EP) || defined(CONFIG_440GR) || \      defined(CONFIG_440EPX) || defined(CONFIG_440GRX)  #define CONFIG_EBC_PPC4xx_IBM_VER1 -#if defined(CONFIG_405CR) || defined(CONFIG_405GP) || \ +#if defined(CONFIG_405GP) || \      defined(CONFIG_405EP)  #define EBC_CFG_EMPH_POS	8  #define EBC_CFG_EMPL_POS	6 @@ -32,7 +32,7 @@  /*   * Define the max number of EBC banks (chip selects)   */ -#if defined(CONFIG_405CR) || defined(CONFIG_405GP) || \ +#if defined(CONFIG_405GP) || \      defined(CONFIG_405EZ) || \      defined(CONFIG_440GP) || defined(CONFIG_440GX)  #define EBC_NUM_BANKS	8 diff --git a/arch/powerpc/include/asm/ppc4xx-emac.h b/arch/powerpc/include/asm/ppc4xx-emac.h index a219fa97f..e6eb33222 100644 --- a/arch/powerpc/include/asm/ppc4xx-emac.h +++ b/arch/powerpc/include/asm/ppc4xx-emac.h @@ -1,25 +1,6 @@ -/*----------------------------------------------------------------------------+ -|   This source code is dual-licensed.  You may use it under the terms of the -|   GNU General Public License version 2, or under the license below. -| -|	This source code has been made available to you by IBM on an AS-IS -|	basis.	Anyone receiving this source is licensed under IBM -|	copyrights to use it in any way he or she deems fit, including -|	copying it, modifying it, compiling it, and redistributing it either -|	with or without modifications.	No license under IBM patents or -|	patent applications is to be implied by the copyright license. -| -|	Any user of this software should understand that IBM cannot provide -|	technical support for this software and will not be responsible for -|	any consequences resulting from the use of this software. -| -|	Any person who transfers this source code or any derivative work -|	must include the IBM copyright notice, this paragraph, and the -|	preceding two paragraphs in the transferred software. -| -|	COPYRIGHT   I B M   CORPORATION 1999 -|	LICENSED MATERIAL  -  PROGRAM PROPERTY OF I B M -+----------------------------------------------------------------------------*/ +/* + * SPDX-License-Identifier:	GPL-2.0	ibm-pibs + */  /*----------------------------------------------------------------------------+  |  |  File Name:	enetemac.h diff --git a/arch/powerpc/include/asm/ppc4xx-mal.h b/arch/powerpc/include/asm/ppc4xx-mal.h index 71986856b..d15290dc1 100644 --- a/arch/powerpc/include/asm/ppc4xx-mal.h +++ b/arch/powerpc/include/asm/ppc4xx-mal.h @@ -1,26 +1,7 @@  /* include/mal.h, openbios_walnut, walnut_bios 8/6/99 08:48:40 */ -/*----------------------------------------------------------------------------+ -|   This source code is dual-licensed.  You may use it under the terms of the -|   GNU General Public License version 2, or under the license below. -| -|	This source code has been made available to you by IBM on an AS-IS -|	basis.	Anyone receiving this source is licensed under IBM -|	copyrights to use it in any way he or she deems fit, including -|	copying it, modifying it, compiling it, and redistributing it either -|	with or without modifications.	No license under IBM patents or -|	patent applications is to be implied by the copyright license. -| -|	Any user of this software should understand that IBM cannot provide -|	technical support for this software and will not be responsible for -|	any consequences resulting from the use of this software. -| -|	Any person who transfers this source code or any derivative work -|	must include the IBM copyright notice, this paragraph, and the -|	preceding two paragraphs in the transferred software. -| -|	COPYRIGHT   I B M   CORPORATION 1999 -|	LICENSED MATERIAL  -  PROGRAM PROPERTY OF I B M -+----------------------------------------------------------------------------*/ +/* + * SPDX-License-Identifier:	GPL-2.0	ibm-pibs + */  /*----------------------------------------------------------------------------+  |  |  File Name:	mal.h diff --git a/arch/powerpc/include/asm/ppc4xx.h b/arch/powerpc/include/asm/ppc4xx.h index 9f2a08b8b..8d703c663 100644 --- a/arch/powerpc/include/asm/ppc4xx.h +++ b/arch/powerpc/include/asm/ppc4xx.h @@ -1,25 +1,6 @@ -/*----------------------------------------------------------------------------+ -|       This source code is dual-licensed.  You may use it under the terms of -|       the GNU General Public License version 2, or under the license below. -| -|       This source code has been made available to you by IBM on an AS-IS -|       basis.  Anyone receiving this source is licensed under IBM -|       copyrights to use it in any way he or she deems fit, including -|       copying it, modifying it, compiling it, and redistributing it either -|       with or without modifications.  No license under IBM patents or -|       patent applications is to be implied by the copyright license. -| -|       Any user of this software should understand that IBM cannot provide -|       technical support for this software and will not be responsible for -|       any consequences resulting from the use of this software. -| -|       Any person who transfers this source code or any derivative work -|       must include the IBM copyright notice, this paragraph, and the -|       preceding two paragraphs in the transferred software. -| -|       COPYRIGHT   I B M   CORPORATION 1999 -|       LICENSED MATERIAL  -  PROGRAM PROPERTY OF I B M -+----------------------------------------------------------------------------*/ +/* + * SPDX-License-Identifier:	GPL-2.0	ibm-pibs + */  #ifndef	__PPC4XX_H__  #define __PPC4XX_H__ @@ -27,10 +8,6 @@  /*   * Include SoC specific headers   */ -#if defined(CONFIG_405CR) -#include <asm/ppc405cr.h> -#endif -  #if defined(CONFIG_405EP)  #include <asm/ppc405ep.h>  #endif diff --git a/arch/powerpc/include/asm/processor.h b/arch/powerpc/include/asm/processor.h index 56b22d840..c0fb51993 100644 --- a/arch/powerpc/include/asm/processor.h +++ b/arch/powerpc/include/asm/processor.h @@ -847,7 +847,7 @@  /* System-On-Chip Version Register (SVR) field extraction */  #define SVR_VER(svr)	(((svr) >> 16) & 0xFFFF) /* Version field */ -#define SVR_REV(svr)	(((svr) >>  0) & 0xFFFF) /* Revision field */ +#define SVR_REV(svr)	(((svr) >>  0) & 0xFF)	 /* Revision field */  #define SVR_CID(svr)	(((svr) >> 28) & 0x0F)	 /* Company or manufacturer ID */  #define SVR_SOCOP(svr)	(((svr) >> 22) & 0x3F)	 /* SOC integration options */ @@ -894,9 +894,6 @@  #define PVR_405GP_RC	0x40110082  #define PVR_405GP_RD	0x401100C4  #define PVR_405GP_RE	0x40110145  /* same as pc405cr rev c */ -#define PVR_405CR_RA	0x40110041 -#define PVR_405CR_RB	0x401100C5 -#define PVR_405CR_RC	0x40110145  /* same as pc405gp rev e */  #define PVR_405EP_RA	0x51210950  #define PVR_405GPR_RB	0x50910951  #define PVR_405EZ_RA	0x41511460 @@ -1043,9 +1040,6 @@  /* System Version Register (SVR) field extraction */ -#define SVR_VER(svr)	(((svr) >>  16) & 0xFFFF)	/* Version field */ -#define SVR_REV(svr)	(((svr) >>   0) & 0xFFFF)	/* Revison field */ -  #define SVR_SUBVER(svr)	(((svr) >>  8) & 0xFF)	/* Process/MFG sub-version */  #define SVR_FAM(svr)	(((svr) >> 20) & 0xFFF)	/* Family field */ @@ -1119,6 +1113,9 @@  #define SVR_T4240	0x824000  #define SVR_T4120	0x824001  #define SVR_T4160	0x824100 +#define SVR_C291	0x850000 +#define SVR_C292	0x850020 +#define SVR_C293	0x850030  #define SVR_B4860	0X868000  #define SVR_G4860	0x868001  #define SVR_G4060	0x868003 diff --git a/arch/powerpc/include/asm/u-boot.h b/arch/powerpc/include/asm/u-boot.h index f17b146da..5916f7ce9 100644 --- a/arch/powerpc/include/asm/u-boot.h +++ b/arch/powerpc/include/asm/u-boot.h @@ -67,7 +67,6 @@ typedef struct bd_info {  	unsigned int	bi_baudrate;	/* Console Baudrate */  #if defined(CONFIG_405)   || \      defined(CONFIG_405GP) || \ -    defined(CONFIG_405CR) || \      defined(CONFIG_405EP) || \      defined(CONFIG_405EZ) || \      defined(CONFIG_405EX) || \ |