[U-Boot] How do I use AM335x eth1 rather than eth0 ? [SOLVED]

Mark Jackson mpfj-list at mimc.co.uk
Sat Apr 13 19:46:11 CEST 2013


On 12/04/13 11:56, Mark Jackson wrote:
> We have a dual Ethernet board (based on the BeagelBone) but with both Ethernet ports connected.
>
> I'm wanting to use eth1 (rather than eth0), so in my board.c file, I changed:-
>
> static struct cpsw_slave_data cpsw_slaves[] = {
> 	{
> 		.slave_reg_ofs	= 0x208,
> 		.sliver_reg_ofs	= 0xd80,
> 		.phy_id		= 0,
> 	},
> 	{
> 		.slave_reg_ofs	= 0x308,
> 		.sliver_reg_ofs	= 0xdc0,
> 		.phy_id		= 1,
> 	},
> };
>
> ... to ...
>
> static struct cpsw_slave_data cpsw_slaves[] = {
> 	{
> 		.slave_reg_ofs	= 0x308,
> 		.sliver_reg_ofs	= 0xdc0,
> 		.phy_id		= 1,
> 	},
> 	{
> 		.slave_reg_ofs	= 0x208,
> 		.sliver_reg_ofs	= 0xd80,
> 		.phy_id		= 0,
> 	},
> };
>
> ... assuming that eth0 would now be ignored (as only 1 slave is configured).
>
> But (eg) dhcp still only responds on eth0 !?!
>
> What else do I have to change ?

After much experimenting, I've managed to get it to work.

Based on the original board.c file copied from the TI starter kit, I 
simply changed the slaves count to 2, and set CONFIG_PHY_ADDR to 1 in my 
board config file.

Simple.


More information about the U-Boot mailing list