* [U-Boot] How do I use AM335x eth1 rather than eth0 ?
2013-04-12 10:56 [U-Boot] How do I use AM335x eth1 rather than eth0 ? Mark Jackson
@ 2013-04-12 16:05 ` Tom Rini
2013-04-12 19:20 ` Mark Jackson
2013-04-13 17:45 ` [U-Boot] How do I use AM335x eth1 rather than eth0 ? [SOLVED] Mark Jackson
2013-04-13 17:46 ` Mark Jackson
2 siblings, 1 reply; 6+ messages in thread
From: Tom Rini @ 2013-04-12 16:05 UTC (permalink / raw)
To: u-boot
On Fri, Apr 12, 2013 at 11:56:57AM +0100, 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 ?
Good question, do you have both ports working in Linux yet? The EVM-SK
design supports two interfaces and I know the cpsw driver in the kernel
required some changes to support two. I strongly suspect similar
changes would be required in the U-Boot driver (I don't have any
specific links other than look at the vendor kernel tree).
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130412/705e62f8/attachment.pgp>
^ permalink raw reply [flat|nested] 6+ messages in thread* [U-Boot] How do I use AM335x eth1 rather than eth0 ?
2013-04-12 16:05 ` Tom Rini
@ 2013-04-12 19:20 ` Mark Jackson
0 siblings, 0 replies; 6+ messages in thread
From: Mark Jackson @ 2013-04-12 19:20 UTC (permalink / raw)
To: u-boot
On 12/04/13 17:05, Tom Rini wrote:
> On Fri, Apr 12, 2013 at 11:56:57AM +0100, 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:-
<snip>
>> ... 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 ?
>
> Good question, do you have both ports working in Linux yet? The EVM-SK
> design supports two interfaces and I know the cpsw driver in the kernel
> required some changes to support two. I strongly suspect similar
> changes would be required in the U-Boot driver (I don't have any
> specific links other than look at the vendor kernel tree).
Well, I've realised I needed to change CONFIG_PHY_ADDR in my board
config file.
So the link up/down portion now works to PHY#2, but I'm still unable to
ping anything from our board.
I'm guessing there's some hard-coded assumptions in the cpsw.c driver.
I've taken quick look at the Ethernet section of the TRM, but that's
*waaaay* over my head !?!
I've so far been unable to get Linux to see the 2nd port, and there is
no "vendor kernel tree" ... I'm the vendor :-)
Mark J.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] How do I use AM335x eth1 rather than eth0 ? [SOLVED]
2013-04-12 10:56 [U-Boot] How do I use AM335x eth1 rather than eth0 ? Mark Jackson
2013-04-12 16:05 ` Tom Rini
@ 2013-04-13 17:45 ` Mark Jackson
2013-04-13 17:46 ` Mark Jackson
2 siblings, 0 replies; 6+ messages in thread
From: Mark Jackson @ 2013-04-13 17:45 UTC (permalink / raw)
To: u-boot
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.
^ permalink raw reply [flat|nested] 6+ messages in thread* [U-Boot] How do I use AM335x eth1 rather than eth0 ? [SOLVED]
2013-04-12 10:56 [U-Boot] How do I use AM335x eth1 rather than eth0 ? Mark Jackson
2013-04-12 16:05 ` Tom Rini
2013-04-13 17:45 ` [U-Boot] How do I use AM335x eth1 rather than eth0 ? [SOLVED] Mark Jackson
@ 2013-04-13 17:46 ` Mark Jackson
2015-03-17 9:12 ` tejbir
2 siblings, 1 reply; 6+ messages in thread
From: Mark Jackson @ 2013-04-13 17:46 UTC (permalink / raw)
To: u-boot
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.
^ permalink raw reply [flat|nested] 6+ messages in thread