diff options
| author | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2012-09-30 23:49:17 +0200 | 
|---|---|---|
| committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2012-09-30 23:49:17 +0200 | 
| commit | 1c27059a2f7158a9c9a8778535b030935d75179d (patch) | |
| tree | bf577d5c9f0da21c5d57feed1091214e54c39dec /board/freescale/corenet_ds/eth_p4080.c | |
| parent | 8f0732ac3dc3bdbbcada313dc4b4b38d5d2c376a (diff) | |
| parent | 4668a086bb0a769b741e3a4ffab85f1c41c7cdb8 (diff) | |
| download | olio-uboot-2014.01-1c27059a2f7158a9c9a8778535b030935d75179d.tar.xz olio-uboot-2014.01-1c27059a2f7158a9c9a8778535b030935d75179d.zip | |
Merge remote-tracking branch 'u-boot/master'
Diffstat (limited to 'board/freescale/corenet_ds/eth_p4080.c')
| -rw-r--r-- | board/freescale/corenet_ds/eth_p4080.c | 59 | 
1 files changed, 19 insertions, 40 deletions
| diff --git a/board/freescale/corenet_ds/eth_p4080.c b/board/freescale/corenet_ds/eth_p4080.c index b87b0922a..2c69c516d 100644 --- a/board/freescale/corenet_ds/eth_p4080.c +++ b/board/freescale/corenet_ds/eth_p4080.c @@ -68,6 +68,15 @@ static char *mdio_names[16] = {  	NULL, NULL, NULL,  }; +/* + * Mapping of all 18 SERDES lanes to board slots. A value of '0' here means + * that the mapping must be determined dynamically, or that the lane maps to + * something other than a board slot. + */ +static u8 lane_to_slot[] = { +	1, 1, 2, 2, 3, 3, 3, 3, 6, 6, 4, 4, 4, 4, 5, 5, 5, 5 +}; +  static char *p4080ds_mdio_name_for_muxval(u32 muxval)  {  	return mdio_names[(muxval & EMI_MASK) >> 28]; @@ -290,15 +299,6 @@ void fdt_fixup_board_enet(void *fdt)  	}  } -enum board_slots { -	SLOT1 = 1, -	SLOT2, -	SLOT3, -	SLOT4, -	SLOT5, -	SLOT6, -}; -  int board_eth_init(bd_t *bis)  {  #ifdef CONFIG_FMAN_ENET @@ -307,27 +307,6 @@ int board_eth_init(bd_t *bis)  	struct fsl_pq_mdio_info dtsec_mdio_info;  	struct tgec_mdio_info tgec_mdio_info; -	u8 lane_to_slot[] = { -		SLOT1, /* 0 - Bank 1:A */ -		SLOT1, /* 1 - Bank 1:B */ -		SLOT2, /* 2 - Bank 1:C */ -		SLOT2, /* 3 - Bank 1:D */ -		SLOT3, /* 4 - Bank 1:E */ -		SLOT3, /* 5 - Bank 1:F */ -		SLOT3, /* 6 - Bank 1:G */ -		SLOT3, /* 7 - Bank 1:H */ -		SLOT6, /* 8 - Bank 1:I */ -		SLOT6, /* 9 - Bank 1:J */ -		SLOT4, /* 10 - Bank 2:A */ -		SLOT4, /* 11 - Bank 2:B */ -		SLOT4, /* 12 - Bank 2:C */ -		SLOT4, /* 13 - Bank 2:D */ -		SLOT5, /* 14 - Bank 3:A */ -		SLOT5, /* 15 - Bank 3:B */ -		SLOT5, /* 16 - Bank 3:C */ -		SLOT5, /* 17 - Bank 3:D */ -	}; -  	/* Initialize the mdio_mux array so we can recognize empty elements */  	for (i = 0; i < NUM_FM_PORTS; i++)  		mdio_mux[i] = EMI_NONE; @@ -380,17 +359,17 @@ int board_eth_init(bd_t *bis)  				break;  			slot = lane_to_slot[lane];  			switch (slot) { -			case SLOT3: +			case 3:  				mdio_mux[i] = EMI1_SLOT3;  				fm_info_set_mdio(i,  					mii_dev_for_muxval(mdio_mux[i]));  				break; -			case SLOT4: +			case 4:  				mdio_mux[i] = EMI1_SLOT4;  				fm_info_set_mdio(i,  					mii_dev_for_muxval(mdio_mux[i]));  				break; -			case SLOT5: +			case 5:  				mdio_mux[i] = EMI1_SLOT5;  				fm_info_set_mdio(i,  					mii_dev_for_muxval(mdio_mux[i])); @@ -417,12 +396,12 @@ int board_eth_init(bd_t *bis)  				break;  			slot = lane_to_slot[lane];  			switch (slot) { -			case SLOT4: +			case 4:  				mdio_mux[i] = EMI2_SLOT4;  				fm_info_set_mdio(i,  					mii_dev_for_muxval(mdio_mux[i]));  				break; -			case SLOT5: +			case 5:  				mdio_mux[i] = EMI2_SLOT5;  				fm_info_set_mdio(i,  					mii_dev_for_muxval(mdio_mux[i])); @@ -444,17 +423,17 @@ int board_eth_init(bd_t *bis)  				break;  			slot = lane_to_slot[lane];  			switch (slot) { -			case SLOT3: +			case 3:  				mdio_mux[i] = EMI1_SLOT3;  				fm_info_set_mdio(i,  					mii_dev_for_muxval(mdio_mux[i]));  				break; -			case SLOT4: +			case 4:  				mdio_mux[i] = EMI1_SLOT4;  				fm_info_set_mdio(i,  					mii_dev_for_muxval(mdio_mux[i]));  				break; -			case SLOT5: +			case 5:  				mdio_mux[i] = EMI1_SLOT5;  				fm_info_set_mdio(i,  					mii_dev_for_muxval(mdio_mux[i])); @@ -481,12 +460,12 @@ int board_eth_init(bd_t *bis)  				break;  			slot = lane_to_slot[lane];  			switch (slot) { -			case SLOT4: +			case 4:  				mdio_mux[i] = EMI2_SLOT4;  				fm_info_set_mdio(i,  					mii_dev_for_muxval(mdio_mux[i]));  				break; -			case SLOT5: +			case 5:  				mdio_mux[i] = EMI2_SLOT5;  				fm_info_set_mdio(i,  					mii_dev_for_muxval(mdio_mux[i])); |