diff options
Diffstat (limited to 'board/freescale/common')
| -rw-r--r-- | board/freescale/common/Makefile | 2 | ||||
| -rw-r--r-- | board/freescale/common/fman.c | 31 | ||||
| -rw-r--r-- | board/freescale/common/fman.h | 2 | ||||
| -rw-r--r-- | board/freescale/common/p_corenet/law.c | 13 | ||||
| -rw-r--r-- | board/freescale/common/p_corenet/tlb.c | 18 | 
5 files changed, 42 insertions, 24 deletions
| diff --git a/board/freescale/common/Makefile b/board/freescale/common/Makefile index 0b40dc7bf..54cb098a9 100644 --- a/board/freescale/common/Makefile +++ b/board/freescale/common/Makefile @@ -51,14 +51,12 @@ COBJS-$(CONFIG_MPC8572DS)	+= ics307_clk.o  COBJS-$(CONFIG_P1022DS)		+= ics307_clk.o  COBJS-$(CONFIG_P2020DS)		+= ics307_clk.o  COBJS-$(CONFIG_P3041DS)		+= ics307_clk.o -COBJS-$(CONFIG_P3060QDS)       	+= ics307_clk.o  COBJS-$(CONFIG_P4080DS)		+= ics307_clk.o  COBJS-$(CONFIG_P5020DS)		+= ics307_clk.o  # deal with common files for P-series corenet based devices  SUBLIB-$(CONFIG_P2041RDB)	+= p_corenet/libp_corenet.o  SUBLIB-$(CONFIG_P3041DS)	+= p_corenet/libp_corenet.o -SUBLIB-$(CONFIG_P3060QDS)	+= p_corenet/libp_corenet.o  SUBLIB-$(CONFIG_P4080DS)	+= p_corenet/libp_corenet.o  SUBLIB-$(CONFIG_P5020DS)	+= p_corenet/libp_corenet.o diff --git a/board/freescale/common/fman.c b/board/freescale/common/fman.c index 6ddf81620..3ef49369a 100644 --- a/board/freescale/common/fman.c +++ b/board/freescale/common/fman.c @@ -25,6 +25,9 @@  #include <libfdt_env.h>  #include <fdt_support.h> +#include <fm_eth.h> +#include <asm/fsl_serdes.h> +  /*   * Given the following ...   * @@ -67,3 +70,31 @@ int fdt_set_phy_handle(void *fdt, char *compat, phys_addr_t addr,  	return fdt_setprop(fdt, offset, "phy-handle", &ph, sizeof(ph));  } + +/* + * Return the SerDes device enum for a given Fman port + * + * This function just maps the fm_port namespace to the srds_prtcl namespace. + */ +enum srds_prtcl serdes_device_from_fm_port(enum fm_port port) +{ +	static const enum srds_prtcl srds_table[] = { +		[FM1_DTSEC1] = SGMII_FM1_DTSEC1, +		[FM1_DTSEC2] = SGMII_FM1_DTSEC2, +		[FM1_DTSEC3] = SGMII_FM1_DTSEC3, +		[FM1_DTSEC4] = SGMII_FM1_DTSEC4, +		[FM1_DTSEC5] = SGMII_FM1_DTSEC5, +		[FM1_10GEC1] = XAUI_FM1, +		[FM2_DTSEC1] = SGMII_FM2_DTSEC1, +		[FM2_DTSEC2] = SGMII_FM2_DTSEC2, +		[FM2_DTSEC3] = SGMII_FM2_DTSEC3, +		[FM2_DTSEC4] = SGMII_FM2_DTSEC4, +		[FM2_DTSEC5] = SGMII_FM2_DTSEC5, +		[FM2_10GEC1] = XAUI_FM2, +	}; + +	if ((port < FM1_DTSEC1) || (port > FM2_10GEC1)) +		return NONE; +	else +		return srds_table[port]; +} diff --git a/board/freescale/common/fman.h b/board/freescale/common/fman.h index d39ef080c..734b1da1d 100644 --- a/board/freescale/common/fman.h +++ b/board/freescale/common/fman.h @@ -23,4 +23,6 @@  int fdt_set_phy_handle(void *fdt, char *compat, phys_addr_t addr,  			const char *alias); +enum srds_prtcl serdes_device_from_fm_port(enum fm_port port); +  #endif diff --git a/board/freescale/common/p_corenet/law.c b/board/freescale/common/p_corenet/law.c index c4566ddd4..09ef5615d 100644 --- a/board/freescale/common/p_corenet/law.c +++ b/board/freescale/common/p_corenet/law.c @@ -48,19 +48,6 @@ struct law_entry law_table[] = {  #ifdef CONFIG_SYS_NAND_BASE_PHYS  	SET_LAW(CONFIG_SYS_NAND_BASE_PHYS, LAW_SIZE_1M, LAW_TRGT_IF_LBC),  #endif -#ifdef CONFIG_SRIOBOOT_SLAVE -#if defined(CONFIG_SRIOBOOT_SLAVE_PORT0) -	SET_LAW(CONFIG_SYS_SRIOBOOT_SLAVE_ADDR_PHYS, -				LAW_SIZE_1M, LAW_TRGT_IF_RIO_1), -	SET_LAW(CONFIG_SYS_SRIOBOOT_UCODE_ENV_ADDR_PHYS, -				LAW_SIZE_1M, LAW_TRGT_IF_RIO_1), -#elif defined(CONFIG_SRIOBOOT_SLAVE_PORT1) -	SET_LAW(CONFIG_SYS_SRIOBOOT_SLAVE_ADDR_PHYS, -				LAW_SIZE_1M, LAW_TRGT_IF_RIO_2), -	SET_LAW(CONFIG_SYS_SRIOBOOT_UCODE_ENV_ADDR_PHYS, -				LAW_SIZE_1M, LAW_TRGT_IF_RIO_2), -#endif -#endif  };  int num_law_entries = ARRAY_SIZE(law_table); diff --git a/board/freescale/common/p_corenet/tlb.c b/board/freescale/common/p_corenet/tlb.c index da2162728..e5cf208a9 100644 --- a/board/freescale/common/p_corenet/tlb.c +++ b/board/freescale/common/p_corenet/tlb.c @@ -66,13 +66,13 @@ struct fsl_e_tlb_entry tlb_table[] = {  	SET_TLB_ENTRY(1, CONFIG_SYS_INIT_L3_ADDR, CONFIG_SYS_INIT_L3_ADDR,  			MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,  			0, 0, BOOKE_PAGESZ_1M, 1), -#elif defined(CONFIG_SRIOBOOT_SLAVE) +#elif defined(CONFIG_SRIO_PCIE_BOOT_SLAVE)  	/* -	 * SRIOBOOT-SLAVE. When slave boot, the address of the +	 * SRIO_PCIE_BOOT-SLAVE. When slave boot, the address of the  	 * space is at 0xfff00000, it covered the 0xfffff000.  	 */ -	SET_TLB_ENTRY(1, CONFIG_SYS_SRIOBOOT_SLAVE_ADDR, -			CONFIG_SYS_SRIOBOOT_SLAVE_ADDR_PHYS, +	SET_TLB_ENTRY(1, CONFIG_SYS_SRIO_PCIE_BOOT_SLAVE_ADDR, +			CONFIG_SYS_SRIO_PCIE_BOOT_SLAVE_ADDR_PHYS,  			MAS3_SX|MAS3_SW|MAS3_SR, MAS2_W|MAS2_G,  			0, 0, BOOKE_PAGESZ_1M, 1),  #else @@ -147,13 +147,13 @@ struct fsl_e_tlb_entry tlb_table[] = {  			MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,  			0, 16, BOOKE_PAGESZ_1M, 1),  #endif -#ifdef CONFIG_SRIOBOOT_SLAVE +#ifdef CONFIG_SRIO_PCIE_BOOT_SLAVE  	/* -	 * SRIOBOOT-SLAVE. 1M space from 0xffe00000 for fetching ucode -	 * and ENV from master +	 * SRIO_PCIE_BOOT-SLAVE. 1M space from 0xffe00000 for +	 * fetching ucode and ENV from master  	 */ -	SET_TLB_ENTRY(1, CONFIG_SYS_SRIOBOOT_UCODE_ENV_ADDR, -		CONFIG_SYS_SRIOBOOT_UCODE_ENV_ADDR_PHYS, +	SET_TLB_ENTRY(1, CONFIG_SYS_SRIO_PCIE_BOOT_UCODE_ENV_ADDR, +		CONFIG_SYS_SRIO_PCIE_BOOT_UCODE_ENV_ADDR_PHYS,  		MAS3_SX|MAS3_SW|MAS3_SR, MAS2_G,  		0, 17, BOOKE_PAGESZ_1M, 1),  #endif |