
hi marek:
please check your cpsw_data.slaves change it to 1
and you can set cpsw_data.active_slave = 0 before cpsw_register ,if cpsw_data.slaves is 2.
------------------ Original ------------------ From: "Belisko Marek";marek.belisko@gmail.com; Date: Tue, May 26, 2015 03:30 AM To: "U-Boot Mailing List"u-boot@lists.denx.de;
Subject: [U-Boot] cpsw not working with slave2 port defined only
Hi,
I have custom am33xx board with phy connected to slave2 port. I copy'n'paste cpsw setup from /board/BuR/common/common.c but I'm using only slave2 port (RMII mode) so my cpsw_slave_data looks like:
static struct cpsw_slave_data cpsw_slaves[] = { { .slave_reg_ofs = 0x308, .sliver_reg_ofs = 0xdc0, .phy_addr = 4, }, };
with this configuration cpsw driver can detect link but it cannot establish any communication (tested with dhcp command). When I add to cpsw_slaves dummy slave1 port definition (with e.g. phy_addr = 0) it start working.
mdio bus is working fine (tested with mdio list + mdio read). Pinmux is good as it works with dummy slave1 config. Any ideas what I'm doing wrong or why only slave2 port cannot be used? I grep whole source code but all boards using cpsw use slave1 only or slave1/slave2 configurations. Many thanks.
BR,
marek