This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] PROCESSOR-SDK-AM335X:DP83620以太网 PHY

Guru**** 2595800 points
Other Parts Discussed in Thread: DP83620, AM3352

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/579175/processor-sdk-am335x-dp83620-ethernet-phy

器件型号:PROCESSOR-SDK-AM335X
主题中讨论的其他器件:DP83620AM3352

您好!

我一直在浏览这些论坛、但尚未找到一个难解的答案。

我的系统使用 AM335x 和双 DP83620 Phy 作为 RMII 连接到 AM3352。

尝试将 u-boot 配置为与 RMII 0接口上的 phy 通信,并想知道我是否使用 DP83848驱动程序,它是否使我能够启动并使用该接口?

我看到过有关 AM335x 和 DP83848的一些帖子、但结果没有定论。

我还希望在引导至内核时启动两个接口、并已看到使用通用驱动程序 DP83848应该可以实现这一点:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/net/phy/dp83848.c

请提供任何帮助或指导。

谢谢你

Marc

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Marc:

    您应该能够在 u-boot 中使用 DP83848 phy。
    您是否在 include/configs/AM335x_evm.h 中添加了#define CONFIG_PHY_TI?

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    是的、我声明了 CONFIG_PHY_TI、并为 PHY 配置了引脚多路复用器:

    在 ENABLE_board_PIN_mux (void)中、设置 PHY 的引脚多路复用

    静态结构 MODULE_PIN_mux rmii1_PIN_mux[]={
    {offset (rmii1_REFCLK)、mode (0)| RXACTIVE}、/* RMII1_REFCLK *
    {offset (mii1_crs)、mode (1)| RXACTIVE}、/* RMII1_CRS *
    {offset (mii1_rxerr)、mode (1)| RXACTIVE}、/* RMII1_RXERR *
    {offset (mii1_txen)、mode (1)}、/* RMII1_TXEN *
    {offset (mii1_txd1)、mode (1)}、/* RMII1_TXD1 *
    {offset (mii1_txd0)、mode (1)}、/* RMII1_TXD0 *
    {offset (mii1_rxd1)、mode (1)| RXACTIVE}、/* RMII1_RXD1 *
    {offset (mii1_rxd0)、mode (1)| RXACTIVE}、/* RMII1_RXD0 *

    {offset (mii1_txd2)、mode (7)}、/* GPIO0_17 reset*/
    {offset (GPMC_Wen)、mode (7)| RXACTIVE}、/* IRQ */
    {-1}、
    };

    静态结构 MODULE_PIN_mux rmii2_PIN_mux[]={
    {offset (mii1_col)、mode (1)| RXACTIVE}、/* RMII2_REFCLK *
    {offset (GPMC_wait0)、mode (3)| RXACTIVE}、/* RMII2_CRS *
    {offset (GPMC_WPN)、MODE (3)| RXACTIVE}、/* RMII2_RXERR *
    {offset (GPMC_a0)、mode (3)}、/* RMII2_TXEN *
    {offset (GPMC_A4)、mode (3)}、/* RMII2_TXD1 *
    {offset (GPMC_A5)、mode (3)}、/* RMII2_TXD0 */
    {offset (GPMC_A10)、MODE (3)| RXACTIVE}、// RMII2_RXD1 *
    {offset (GPMC_A11)、mode (3)| RXACTIVE}、/* RMII2_RXD0 */

    {offset (usb0_drvbus)、mode (7)}、/* GPIO0_18 reset*/
    {offset (GPMC_A9)、mode (7)| RXACTIVE}、/* IRQ */

    {-1}、
    };


    在 board_init (void)中添加了 PHY 复位:

    REQUEST_AND_SET_GPIO (GPIO_PHY_1_RESET);
    REQUEST_AND_SET_GPIO (GPIO_PHY_2_RESET);

    为两个接口添加了 cpsw 的配置:

    静态结构 cpsw_slave_data cpsw_slave[]={

    .SLAVE_REG_OFS = 0x208、
    slidver_reg_ofs = 0xd80、
    phy_addr = 1、
    phy_if = PHY_interface_mode_RMII
    }、

    .SLAVE_REG_OFS = 0x308、
    slidver_reg_OFS = 0xdc0、
    phy_addr = 3、
    phy_if = PHY_interface_mode_RMII
    }、
    };


    静态结构 cpsw_platform_data cpsw_data ={
    .mDIO_base = CPSW_MDIO_base、
    .cpsw_BASE = CPSW_BASE、
    .mDIO_div = 0xff、
    .channels = 8、
    .cpdma_reg_ofs = 0x800、
    从机= 2、
    .slave_data = cpsw_slave、
    ALE_REG_OFS = 0xd00、
    .ale_entries = 1024、
    .host_port_reg_ofs = 0x108、
    hw_stats_reg_ofs = 0x900、
    .bd_ram_ofs = 0x2000、
    .mac 控制=(1 << 5)、
    .control = cpsw_control、
    .host_port_num = 0、
    .version = CPSW_CTRL_VERSION_2、
    };

    在 board_eth_init (bd_t *bis)中添加了:

    //确保为 phy 选择 RMII 并将时钟源设置为由 phy 生成的输入
    writel (RMII_MODE_ENABLE | RMII_CHIPCKL_ENABLE、&cdev->miisel);

    //现在注册 phy
    RV = cpsw_register (&cpsw_data);

    由于某种原因、即使 phy 被报告为 OK、也无法在 uboot 中获取 DHCP 地址:

    => MII 信息1
    PHY 0x01:OUI = 0x80017、型号= 0x0E、版本= 0x01、100BaseT、FDX

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我还修改了驱动程序、以便在初始化后转储寄存器内容:

    电路板:5.
    NET:Board_eth_init
    未设置。 验证第一个电子保险丝 MAC
    eth0 + eth1:RMII 模式
    cpsw_register
    ***** PHY 寄存器0x0 [0x3100]
    ***** PHY 寄存器0x1 [0x78C9]
    ***** PHY 寄存器0x2 [0x2000]
    ***** PHY 寄存器0x3 [0x5CE1]
    ***** PHY 寄存器0x4 [0x1E1]
    ***** PHY 寄存器0x5 [0x0]
    ***** PHY 寄存器0x6 [0x4]
    ***** PHY 寄存器0x7 [0x2001]
    ***** PHY 寄存器0x8 [0x0]
    ***** PHY 寄存器0x9 [0x0]
    ***** PHY 寄存器0xA [0x0]
    ***** PHY 寄存器0xB [0x0]
    ***** PHY 寄存器0xC [0x0]
    ***** PHY 寄存器0xD [0x0]
    ***** PHY 寄存器0xE [0x0]
    ***** PHY 寄存器0xF [0x0]
    ***** PHY 寄存器0x10 [0x0]
    ***** PHY 寄存器0x11 [0x0]
    ***** PHY 寄存器0x12 [0x0]
    ***** PHY 寄存器0x13 [0x0]
    ***** PHY 寄存器0x14 [0x0]
    ***** PHY 寄存器0x15 [0x0]
    ***** PHY 寄存器0x16 [0x100]
    ***** PHY 寄存器0x17 [0x4021]
    ***** PHY 寄存器0x18 [0x0]
    ***** PHY 寄存器0x19 [0x8021]
    ***** PHY 寄存器0x1A [0x904]
    ***** PHY 寄存器0x1B [0x0]
    ***** PHY 寄存器0x1C [0x2]
    ***** PHY 寄存器0x1D [0x6011]
    ***** PHY 寄存器0x1E [0x3F]
    ***** PHY 寄存器0x1F [0x0]

    我们注意 到的一件事是 RMII1_TXEN 线不会切换、就像处理器不会尝试发送到物理层一样。

    我们将切断轨道并进行监控、以查看线路是否短路。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Biser

    对于我们与 phy 交谈时遇到的问题,是否有任何更新或帮助?

    此致

    Marc