Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 262198

Linux/AM3352: u-boot networking.

$
0
0

Part Number:AM3352

Tool/software: Linux

On my custom board based on AM3352 - MII_1 port is connected BRCM 53101_EKMLG  switch which is configured to operate in un-manged mode. Reverse MII port connected to MII_1 of AM3352

and second ethernet port  MII_2 is connected to TI PHY DP83867.

At u-boot level I want either ETH_0  (from BRCM switch) or ETH_1 from TI_PHY to work.

when i do, "mii info" I can see my PHY and Switch at correct address. When I connect network cable - to Ethernet port , link and activity led is also blinking. but  dhcp doesn't work. not able to acquire IP address. same for TI PHY too.

Someone can confirm my following structure are populated is ok?

Which attribute of following structuer choose which MII interface to be used by u-boot? MII_1 or MII_2 interface?

BRCM swtich support RvMII mode, so it should work in theory. 

I checked my pin MUX also, 

static struct module_pin_mux mii1_pin_mux[] = { /* BRCM SWITCH verified as per schematic. 11/7/18 */
{OFFSET(mii1_txclk),MODE(0) }, /* MII1_TXCLK => MII1_TCLK => PROC_FR_ES_TXC */
{OFFSET(mii1_txd0), MODE(0) }, /* MII1_TXD0 => MII1_TD0 => PROC_TO_ES_TXD0 */
{OFFSET(mii1_txd1), MODE(0) }, /* MII1_TXD1 => MII1_TD1 => PROC_TO_ES_TXD1 */
{OFFSET(mii1_txd2), MODE(0) }, /* MII1_TXD2 => MII1_TD2 => PROC_TO_ES_TXD2 */
{OFFSET(mii1_txd3), MODE(0) }, /* MII1_TXD3 => MII1_TD3 => PROC_TO_ES_TXD3 */
{OFFSET(mii1_txen), MODE(0) }, /* MII1_TXEN => MII1_TCTL => PROC_TO_ES_TXEN */

{OFFSET(mii1_rxclk), MODE(0)| RXACTIVE }, /* MII1_RXCLK => MII1_RCLK => PROC_FR_ES_RXC */
{OFFSET(mii1_rxd0), MODE(0) | RXACTIVE }, /* MII1_RXD0 => MII1_RD0 => PROC_FR_ES_RXD0 */
{OFFSET(mii1_rxd1), MODE(0) | RXACTIVE }, /* MII1_RXD1 => MII1_RD1 => PROC_FR_ES_RXD1 */
{OFFSET(mii1_rxd2), MODE(0) | RXACTIVE }, /* MII1_RXD2 => MII1_RD2 => PROC_FR_ES_RXD2 */
{OFFSET(mii1_rxd3), MODE(0) | RXACTIVE }, /* MII1_RXD3 => MII1_RD3 => PROC_FR_ES_RXD3 */

{OFFSET(mii1_rxdv), MODE(0) | RXACTIVE }, /* MII1_RXDV => MII1_RCTL => PROC_FR_ES_RXDV */

{OFFSET(mdio_clk), MODE(0) | PULLUP_EN }, /* MDIO_CLK */
{OFFSET(mdio_data), MODE(0) | RXACTIVE | PULLUP_EN},/* MDIO_DATA */

{-1},
};
//------------------------------------------------------------------------------
static struct module_pin_mux rgmii2_pin_mux[] = { /* verified as per schematic. 11/7/18 TI - GIGA PHY*/
{OFFSET(gpmc_a5), MODE(2) | PULLUDEN /*| PULLDN_EN*/ }, /* RGMII2_TD0 */
{OFFSET(gpmc_a4), MODE(2) | PULLUDEN /*| PULLUP_EN*/ }, /* RGMII2_TD1 */
{OFFSET(gpmc_a3), MODE(2) | PULLUDEN /*| PULLUP_EN*/ }, /* RGMII2_TD2 */
{OFFSET(gpmc_a2), MODE(2) | PULLUDEN /*| PULLUP_EN*/ }, /* RGMII2_TD3 */

{OFFSET(gpmc_a11), MODE(2) | RXACTIVE | PULLUDEN /*| PULLUP_EN*/ }, /* RGMII2_RD0 */
{OFFSET(gpmc_a10), MODE(2) | RXACTIVE | PULLUDEN /*| PULLUP_EN*/ }, /* RGMII2_RD1 */
{OFFSET(gpmc_a9), MODE(2) | RXACTIVE | PULLUDEN /*| PULLUP_EN*/ }, /* RGMII2_RD2 */
{OFFSET(gpmc_a8), MODE(2) | RXACTIVE | PULLUDEN /*| PULLUP_EN*/ }, /* RGMII2_RD3 */

{OFFSET(gpmc_a6), MODE(2) | PULLUDEN /*| PULLUP_EN*/ }, /* RGMII2_TCLK */
{OFFSET(gpmc_a0), MODE(2) | PULLUDEN /*| PULLUP_EN*/ }, /* RGMII2_TCTL */
{OFFSET(gpmc_a7), MODE(2) | RXACTIVE | PULLUDEN /*| PULLUP_EN*/ }, /* RGMII2_RCLK */
{OFFSET(gpmc_a1), MODE(2) | RXACTIVE | PULLUDEN /*| PULLUP_EN*/ }, /* RGMII2_RCTL */

{-1},
};

static struct cpsw_slave_data cpsw_slaves[] = {
{
.slave_reg_ofs = 0x208, //BRCM switch. - ETH1 - MII1
.sliver_reg_ofs = 0xd80,
.phy_addr = 0,
.phy_if = PHY_INTERFACE_MODE_MII,
},
{
.slave_reg_ofs = 0x308, //PROC GIGA bit PHY - ETH2 - MII2
.sliver_reg_ofs = 0xdc0,
.phy_addr = 0xC
.phy_if = PHY_INTERFACE_MODE_RGMII,
},
};

static struct cpsw_platform_data cpsw_data = {
.mdio_base = CPSW_MDIO_BASE,
.cpsw_base = CPSW_BASE,
.mdio_div = 0xff,
.channels = 8,
.cpdma_reg_ofs = 0x800,
.slaves = 2,
.slave_data = cpsw_slaves,
.ale_reg_ofs = 0xd00,
.ale_entries = 1024,
.host_port_reg_ofs = 0x108,
.hw_stats_reg_ofs = 0x900,
.bd_ram_ofs = 0x2000,
.mac_control = (1 << 5),
.control = cpsw_control,
.host_port_num = 0,
.version = CPSW_CTRL_VERSION_2,
.active_slave = 0,
};


Viewing all articles
Browse latest Browse all 262198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>