diff options
Diffstat (limited to 'arch/powerpc/cpu')
| -rw-r--r-- | arch/powerpc/cpu/Makefile | 3 | ||||
| -rw-r--r-- | arch/powerpc/cpu/mpc512x/Makefile | 2 | ||||
| -rw-r--r-- | arch/powerpc/cpu/mpc824x/.gitignore | 1 | ||||
| -rw-r--r-- | arch/powerpc/cpu/mpc824x/Makefile | 10 | ||||
| -rw-r--r-- | arch/powerpc/cpu/mpc83xx/Makefile | 12 | ||||
| -rw-r--r-- | arch/powerpc/cpu/mpc85xx/Makefile | 10 | ||||
| -rw-r--r-- | arch/powerpc/cpu/mpc85xx/fdt.c | 5 | ||||
| -rw-r--r-- | arch/powerpc/cpu/mpc85xx/liodn.c | 25 | ||||
| -rw-r--r-- | arch/powerpc/cpu/mpc85xx/t4240_ids.c | 8 | ||||
| -rw-r--r-- | arch/powerpc/cpu/mpc8xxx/Makefile | 6 | 
10 files changed, 49 insertions, 33 deletions
| diff --git a/arch/powerpc/cpu/Makefile b/arch/powerpc/cpu/Makefile new file mode 100644 index 000000000..d630abe1d --- /dev/null +++ b/arch/powerpc/cpu/Makefile @@ -0,0 +1,3 @@ +ifneq ($(filter mpc83xx mpc85xx mpc86xx,$(CPU)),) +obj-y += mpc8xxx/ +endif diff --git a/arch/powerpc/cpu/mpc512x/Makefile b/arch/powerpc/cpu/mpc512x/Makefile index f770350dc..a4934ef78 100644 --- a/arch/powerpc/cpu/mpc512x/Makefile +++ b/arch/powerpc/cpu/mpc512x/Makefile @@ -4,8 +4,6 @@  # SPDX-License-Identifier:	GPL-2.0+  # -$(shell mkdir -p $(OBJTREE)/board/freescale/common) -  extra-y	= start.o  obj-y	:= cpu.o  obj-y	+= traps.o diff --git a/arch/powerpc/cpu/mpc824x/.gitignore b/arch/powerpc/cpu/mpc824x/.gitignore deleted file mode 100644 index 2d79931e9..000000000 --- a/arch/powerpc/cpu/mpc824x/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/bedbug_603e.c diff --git a/arch/powerpc/cpu/mpc824x/Makefile b/arch/powerpc/cpu/mpc824x/Makefile index 67b0d1713..2c8be9257 100644 --- a/arch/powerpc/cpu/mpc824x/Makefile +++ b/arch/powerpc/cpu/mpc824x/Makefile @@ -5,15 +5,7 @@  # SPDX-License-Identifier:	GPL-2.0+  # -ifneq ($(OBJTREE),$(SRCTREE)) -$(shell mkdir -p $(obj)drivers/epic $(obj)drivers/i2c) -endif -  extra-y	= start.o  obj-y	= traps.o cpu.o cpu_init.o interrupts.o speed.o \  	  drivers/epic/epic1.o drivers/i2c/i2c.o pci.o -obj-y += bedbug_603e.o - -SRCS += $(obj)bedbug_603e.c -$(obj)bedbug_603e.c: -	ln -sf $(src)../mpc8260/bedbug_603e.c $(obj)bedbug_603e.c +obj-y += ../mpc8260/bedbug_603e.o diff --git a/arch/powerpc/cpu/mpc83xx/Makefile b/arch/powerpc/cpu/mpc83xx/Makefile index b7142f0df..d3f700147 100644 --- a/arch/powerpc/cpu/mpc83xx/Makefile +++ b/arch/powerpc/cpu/mpc83xx/Makefile @@ -39,20 +39,10 @@ obj-$(CONFIG_OF_LIBFDT) += fdt.o  obj-y += cache.o  ifdef CONFIG_FSL_DDR2 -obj-$(CONFIG_MPC8349) += ddr-gen2.o -SRCS += $(obj)ddr-gen2.c +obj-$(CONFIG_MPC8349) += ../mpc85xx/ddr-gen2.o  else  obj-y += spd_sdram.o  endif  obj-$(CONFIG_FSL_DDR2) += law.o  endif # not minimal - -$(obj)ddr-gen1.c: -	ln -sf $(SRCTREE)/arch/powerpc/cpu/mpc85xx/ddr-gen1.c $(obj)ddr-gen1.c - -$(obj)ddr-gen2.c: -	ln -sf $(SRCTREE)/arch/powerpc/cpu/mpc85xx/ddr-gen2.c $(obj)ddr-gen2.c - -$(obj)ddr-gen3.c: -	ln -sf $(SRCTREE)/arch/powerpc/cpu/mpc85xx/ddr-gen3.c $(obj)ddr-gen3.c diff --git a/arch/powerpc/cpu/mpc85xx/Makefile b/arch/powerpc/cpu/mpc85xx/Makefile index 50ddb5040..a34014f30 100644 --- a/arch/powerpc/cpu/mpc85xx/Makefile +++ b/arch/powerpc/cpu/mpc85xx/Makefile @@ -70,6 +70,9 @@ obj-$(CONFIG_PPC_B4860)	+= ddr-gen3.o  obj-$(CONFIG_BSC9131)		+= ddr-gen3.o  obj-$(CONFIG_BSC9132)		+= ddr-gen3.o  obj-$(CONFIG_PPC_T1040)	+= ddr-gen3.o +obj-$(CONFIG_PPC_T1042)	+= ddr-gen3.o +obj-$(CONFIG_PPC_T1020)	+= ddr-gen3.o +obj-$(CONFIG_PPC_T1022)	+= ddr-gen3.o  obj-$(CONFIG_CPM2)	+= ether_fcc.o  obj-$(CONFIG_OF_LIBFDT) += fdt.o @@ -89,6 +92,10 @@ obj-$(CONFIG_PPC_T4160) += t4240_ids.o  obj-$(CONFIG_PPC_B4420) += b4860_ids.o  obj-$(CONFIG_PPC_B4860) += b4860_ids.o  obj-$(CONFIG_PPC_T1040) += t1040_ids.o +obj-$(CONFIG_PPC_T1042)	+= t1040_ids.o +obj-$(CONFIG_PPC_T1020)	+= t1040_ids.o +obj-$(CONFIG_PPC_T1022)	+= t1040_ids.o +  obj-$(CONFIG_QE)	+= qe_io.o  obj-$(CONFIG_CPM2)	+= serial_scc.o @@ -128,6 +135,9 @@ obj-$(CONFIG_PPC_B4420) += b4860_serdes.o  obj-$(CONFIG_PPC_B4860) += b4860_serdes.o  obj-$(CONFIG_BSC9132) += bsc9132_serdes.o  obj-$(CONFIG_PPC_T1040) += t1040_serdes.o +obj-$(CONFIG_PPC_T1042)	+= t1040_serdes.o +obj-$(CONFIG_PPC_T1020)	+= t1040_serdes.o +obj-$(CONFIG_PPC_T1022)	+= t1040_serdes.o  obj-y	+= cpu.o  obj-y	+= cpu_init.o diff --git a/arch/powerpc/cpu/mpc85xx/fdt.c b/arch/powerpc/cpu/mpc85xx/fdt.c index 2ccd9c7b9..33bc90016 100644 --- a/arch/powerpc/cpu/mpc85xx/fdt.c +++ b/arch/powerpc/cpu/mpc85xx/fdt.c @@ -586,6 +586,7 @@ void ft_cpu_setup(void *blob, bd_t *bd)  {  	int off;  	int val; +	int len;  	sys_info_t sysinfo;  	/* delete crypto node if not on an E-processor */ @@ -615,8 +616,8 @@ void ft_cpu_setup(void *blob, bd_t *bd)  	get_sys_info(&sysinfo);  	off = fdt_node_offset_by_prop_value(blob, -1, "device_type", "cpu", 4);  	while (off != -FDT_ERR_NOTFOUND) { -		u32 *reg = (u32 *)fdt_getprop(blob, off, "reg", 0); -		val = cpu_to_fdt32(sysinfo.freq_processor[*reg]); +		u32 *reg = (u32 *)fdt_getprop(blob, off, "reg", &len); +		val = cpu_to_fdt32(sysinfo.freq_processor[(*reg) / (len / 4)]);  		fdt_setprop(blob, off, "clock-frequency", &val, 4);  		off = fdt_node_offset_by_prop_value(blob, off, "device_type",  							"cpu", 4); diff --git a/arch/powerpc/cpu/mpc85xx/liodn.c b/arch/powerpc/cpu/mpc85xx/liodn.c index 4b00da9f7..19e130e87 100644 --- a/arch/powerpc/cpu/mpc85xx/liodn.c +++ b/arch/powerpc/cpu/mpc85xx/liodn.c @@ -239,9 +239,9 @@ static void fdt_fixup_srio_liodn(void *blob, struct srio_liodn_id_table *tbl)  #endif  #define CONFIG_SYS_MAX_PCI_EPS		8 -#define CONFIG_SYS_PCI_EP_LIODN_START	256 -static void fdt_fixup_pci_liodn_offsets(void *fdt, const char *compat) +static void fdt_fixup_pci_liodn_offsets(void *fdt, const char *compat, +					int ep_liodn_start)  {  	int off, pci_idx = 0, pci_cnt = 0, i, rc;  	const uint32_t *base_liodn; @@ -271,7 +271,7 @@ static void fdt_fixup_pci_liodn_offsets(void *fdt, const char *compat)  			continue;  		}  		for (i = 0; i < CONFIG_SYS_MAX_PCI_EPS; i++) -			liodn_offs[i + 1] = CONFIG_SYS_PCI_EP_LIODN_START + +			liodn_offs[i + 1] = ep_liodn_start +  					i * pci_cnt + pci_idx - *base_liodn;  		rc = fdt_setprop(fdt, off, "fsl,liodn-offset-list",  				 liodn_offs, sizeof(liodn_offs)); @@ -338,5 +338,22 @@ void fdt_fixup_liodn(void *blob)  	fdt_fixup_liodn_tbl(blob, rman_liodn_tbl, rman_liodn_tbl_sz);  #endif -	fdt_fixup_pci_liodn_offsets(blob, "fsl,qoriq-pcie-v2.4"); +	ccsr_pcix_t *pcix = (ccsr_pcix_t *)CONFIG_SYS_PCIE1_ADDR; +	int pci_ver = pcix->ipver1 & 0xffff, liodn_base = 0; + +	if (pci_ver >= 0x0204) { +		if (pci_ver >= 0x0300) +			liodn_base = 1024; +		else +			liodn_base = 256; +	} + +	if (liodn_base) { +		char compat[32]; + +		sprintf(compat, "fsl,qoriq-pcie-v%d.%d", +			(pci_ver & 0xff00) >> 8, pci_ver & 0xff); +		fdt_fixup_pci_liodn_offsets(blob, compat, liodn_base); +		fdt_fixup_pci_liodn_offsets(blob, "fsl,qoriq-pcie", liodn_base); +	}  } diff --git a/arch/powerpc/cpu/mpc85xx/t4240_ids.c b/arch/powerpc/cpu/mpc85xx/t4240_ids.c index 54c1cfd2c..f18131513 100644 --- a/arch/powerpc/cpu/mpc85xx/t4240_ids.c +++ b/arch/powerpc/cpu/mpc85xx/t4240_ids.c @@ -86,10 +86,10 @@ struct liodn_id_table liodn_tbl[] = {  	SET_SATA_LIODN(1, 555),  	SET_SATA_LIODN(2, 556), -	SET_PCI_LIODN(CONFIG_SYS_FSL_PCIE_COMPAT, 1, 148), -	SET_PCI_LIODN(CONFIG_SYS_FSL_PCIE_COMPAT, 2, 228), -	SET_PCI_LIODN(CONFIG_SYS_FSL_PCIE_COMPAT, 3, 308), -	SET_PCI_LIODN(CONFIG_SYS_FSL_PCIE_COMPAT, 4, 388), +	SET_PCI_LIODN_BASE(CONFIG_SYS_FSL_PCIE_COMPAT, 1, 148), +	SET_PCI_LIODN_BASE(CONFIG_SYS_FSL_PCIE_COMPAT, 2, 228), +	SET_PCI_LIODN_BASE(CONFIG_SYS_FSL_PCIE_COMPAT, 3, 308), +	SET_PCI_LIODN_BASE(CONFIG_SYS_FSL_PCIE_COMPAT, 4, 388),  	SET_DMA_LIODN(1, 147),  	SET_DMA_LIODN(2, 227), diff --git a/arch/powerpc/cpu/mpc8xxx/Makefile b/arch/powerpc/cpu/mpc8xxx/Makefile index 395fed16b..1d083bf35 100644 --- a/arch/powerpc/cpu/mpc8xxx/Makefile +++ b/arch/powerpc/cpu/mpc8xxx/Makefile @@ -31,3 +31,9 @@ obj-$(CONFIG_SYS_SRIO) += srio.o  obj-$(CONFIG_FSL_LAW) += law.o  endif + +ifdef CONFIG_SPL_BUILD +obj-$(CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT) += ddr/ +else +obj-y += ddr/ +endif |