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.

[参考译文] DP83640:Linux 器件树节点定义

Guru**** 2387830 points
Other Parts Discussed in Thread: DP83640, AM3352, TPS65910
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1095979/dp83640-linux-device-tree-node-definition

器件型号:DP83640
主题中讨论的其他器件: AM3352TPS65910

我们尝试 将 DP83640 PTP 收发器与 AM3352配合使用。  AM3352的 Linux 内核版本为4.4.32、器件树为 V1。   

是否有人可以举一个示例说明如何配置设备树、以便 am3352 MAC 识别 DP83640?  

我们将在 dmesg 中收到这些消息、指示它看不到 PHY

[1.250012] DaVinci_MDIO 4a101000.MDIO:达芬奇 MDIO 修订版1.6
[1.256163] DaVinci_MDIO 4a101000.MDIO:Detected phy mask fffffffd
[1.263977] libphy: 4a101000.mdio:探测
[1.268034] DaVinci_MDIO 4a101000.MDIO:PHY[1]:器件4a101000.MDIO:01、驱动程序 NatSemi DP83640
[1.277847] cpsw 4a100000.ethernet:无从器件[1] phy_id、phy-handle 或 fix-link 属性
[1.286223] cpsw 4a100000.以太网:检测到的 MACID = 50:72:24:e8:24:4b
[1.292993] cpsw 4a100000.以太网:CPT:溢出检查周期850

这些指示 PHY 不存在的消息

[21.547707] Net eth0:正在初始化 cpsw 版本1.12 (0)
[21.547750] net eth0:初始化 cpsw ale 版本1.4
[21.547764]净 eth0:ALE 表大小1024
[21.621737(2006) net eth0: Phy found : id is : 0x20005ce1.
[21.621875] libphy:找不到 PHY
[21.621894] net eth0:PHY ""未在从站1上找到、错误-19

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

    您好、Robert、

    感谢您与我们取得联系。

    以下是我们为 DP83640 https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/phy/dp83640.c 开发的示例驱动程序

    --
    此致、
    Gokul。

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

    你好、Gokul、

    我想我们遇到的问题 是器件树中的节点定义。  我相信司机还可以。  接着、我继续用 您提供的替换了我提供的那一个。 它没有改变行为。   我能够使用 MDIO 工具访问 PHYTER、并验证了读取寄存器0x02和0x03可提供0x20005ce1的 PHY_ID、因此我认为驱动器工作正常。

    但是、如上面 dmesg 的代码段所示、在第一个代码段行4中指示正在使用的正确驱动程序。  在第二个代码段中、第4行标识了正确的 PHY (基于 PHY_ID)、但下一行表示未找到 PHY。   我研究了第6行、错误-19表示"器件不存在"。   因此、我确实觉得我们的器件树不正确。   

    您是否有关于 DP83640 PHYTER 器件树设置的任何信息?   (请注意、我们的器件树是 V1)

    谢谢!

    Robert Henson

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

    您好、Robert、

    AM3352团队最好回答您的问题。 让我来回答您的问题。

    --
    此致、
    Gokul。

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

    有更新吗?  

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

    您好!

    您使用的是哪款 TI SDK? 您能否附上 DTS 文件、如果可能、还可以附上显示 CPSW 和 PHY 的原理图部分?

    此致、

    Schuyler

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

    我认为 TI SDK 为4.4  、下面提供了 DTS 并附上了原理图

    /*
    *版权所有(C) 2012德州仪器(TI)公司- http://www.ti.com/
    *
    *此程序是免费软件;您可以重新分发和/或修改
    *根据 GNU 通用公共许可证第2版的条款,如所示
    *由免费软件基金会发布。
    *
    /DTS-v1/;

    #include "am33xx.dtsi"
    #include

    /{
    型号="GPS 源 AM335x VCAM";
    兼容="ti、am335x-vam"、"ti、am33xx";

    CPU{
    CPU@0{
    CPU0-SUPPLY =<_vdd1_reg>;
    };
    };

    内存{
    DEVICE_TYPE ="存储器";
    REG =<0x8000000000 0x10000000>;/* 256 MB */
    };

    IN_3p3:fixedregulator@0{
    兼容="稳压器固定";
    电脑控制器名称="in_3p3";
    稳压器最小微伏=<3300000>;
    稳压器最大值微伏=<3300000>;
    稳压器启动;
    };
    };

    am33xx_pinmux{(am33xx_pinmux)}
    pinctrl-names ="default";

    i2c0_pins:pinmux_i2c0_pins{
    pinctrl-single、pins =<
    0x188 (PIN_INPUT_PULLUP | MUX_MODE0)/* i2c0_sda.i2c0_sda *
    0x18c (PIN_INPUT_PULLUP | MUX_MODE0)/* i2c0_SCL.i2c0_SCL *
    >;
    };

    i2c1_pins:pinmux_i2c1_pins{
    pinctrl-single、pins =<
    0x10c (PIN_INPUT_PULLUP | MUX_MODE3)/* mii1_crs.i2c1_sda *
    0x110 (PIN_INPUT_PULLUP | MUX_MODE3)/* mii1_rxer.i2c1_SCL *
    >;
    };

    spi0_pins:pinmux_spi0_pins{
    pinctrl-single、pins =<
    0x150 (PIN_INPUT_PULLUP | MUX_MODE0)/* spi0_SCLK.spi0_SCLK *
    0x154 (PIN_INPUT_PULLUP | MUX_MODE0)/* spi0_d0.spi0_d0 *
    0x158 (PIN_INPUT_PULLUP | MUX_MODE0)/* spi0_D1.spi0_D1 *
    0x15c (PIN_INPUT_PULLUP | MUX_MODE0)/* spi0_cs0.spi0_cs0 *
    >;
    };

    SPI1_Pins:pinmux_SPI1_Pins{
    pinctrl-single、pins =<
    0x164 (PIN_INPUT_PULLUP | MUX_MODE4)/* ecap0_in_pwm0_OUT.SPI1_SCLK *
    0x168 (PIN_INPUT_PULLUP | MUX_MODE4)/* uart0_CTSN.SPI1_d0 *
    0x16c (PIN_INPUT_PULLUP | MUX_MODE4)/* uart0_rtsn.SPI1_D1 *
    0x1b0 (PIN_INPUT_PULLUP | MUX_MODE4)/* xdma_EVENT_INI0.SPI1_CS1 *
    >;
    };

    uart0_pins:pinmux_uart0_pins{
    pinctrl-single、pins =<
    0x170 (PIN_INPUT_PULLUP | MUX_MODE0)/* uart0_Rxd.uart0_RXD *
    0x174 (PIN_OUTPUT 下拉| MUX_MODE0)/* uart0_TXD.uart0_TXD *
    >;
    };

    uart1_pins:pinmux_uart1_pins{
    pinctrl-single、pins =<
    0x180 (PIN_INPUT_PULLUP | MUX_MODE0)/* uart1_Rxd.uart1_RxD *
    0x184 (PIN_OUTPUT 下拉| MUX_MODE0)/* uart1_TXD.uart1_TXD *
    >;
    };

    uart2_pins:pinmux_uart2_pins{
    pinctrl-single、pins =<
    0x100 (PIN_INPUT_PULLUP | MUX_MODE3)/* mmc0_clk.uart1_RxD *
    0x104 (PIN_OUTPUT 下拉| MUX_MODE3)/* mmc0_cmd.uart1_TXD *
    >;
    };

    uart3_pins:pinmux_uart3_pins{
    pinctrl-single、pins =<
    0xf8 (PIN_INPUT_PULLUP | MUX_MODE3)/* mmc0_data1.uart3_RxD */
    0xFC (PIN_OUTPUT 下拉| MUX_MODE3)/* mmc0_data0.uart3_TXD *
    >;
    };


    nandflash_pins_s0:nandflash_pins_s0{
    pinctrl-single、pins =<
    0x0 (PIN_INPUT_PULLUP | MUX_MODE0)/* GPMC_AD0.GPMC_AD0 */
    0x4 (PIN_INPUT_PULLUP | MUX_MODE0)/* GPMC_AD1.GPMC_AD1 */
    0x8 (PIN_INPUT_PULLUP | MUX_MODE0)/* GPMC_AD2.GPMC_AD2 *
    0xc (PIN_INPUT_PULLUP | MUX_MODE0)/* GPMC_AD3.GPMC_AD3 *
    0x10 (PIN_INPUT_PULLUP | MUX_MODE0)/* GPMC_AD4.GPMC_AD4 */
    0x14 (PIN_INPUT_PULLUP | MUX_MODE0)/* GPMC_AD5.GPMC_AD5 *
    0x18 (PIN_INPUT_PULLUP | MUX_MODE0)/* GPMC_AD6.GPMC_AD6 *
    0x1c (PIN_INPUT_PULLUP | MUX_MODE0)/* GPMC_AD7.GPMC_AD7 *
    0x20 (PIN_INPUT_PULLUP | MUX_MODE0)/* GPMC_AD8.GPMC_AD8 *
    0x24 (PIN_INPUT_PULLUP | MUX_MODE0)/* GPMC_AD9.GPMC_AD9 *
    0x28 (PIN_INPUT_PULLUP | MUX_MODE0)/* GPMC_AD10.GPMC_AD10 */
    0x2C (PIN_INPUT_PULLUP | MUX_MODE0)/* GPMC_AD11.GPMC_AD11 *
    0x30 (PIN_INPUT_PULLUP | MUX_MODE0)/* GPMC_AD12.GPMC_AD12 */
    0x34 (PIN_INPUT_PULLUP | MUX_MODE0)/* GPMC_AD13.GPMC_AD13 *
    0x38 (PIN_INPUT_PULLUP | MUX_MODE0)/* GPMC_AD14.GPMC_AD14 *
    0x3c (PIN_INPUT_PULLUP | MUX_MODE0)/* GPMC_AD15.GPMC_AD15 *
    0x70 (PIN_INPUT_PULLUP | MUX_MODE0)/* GPMC_wait0.GPMC_wait0 */
    0x74 (PIN_INPUT_PULLUP | MUX_MODE7)/* GPMC_WPN.GPIO0_30 */
    0x7c (PIN_OUTPUT | MUX_MODE0)/* GPMC_csn0.GPMC_csn0 */
    0x90 (PIN_OUTPUT | MUX_MODE0)/* GPMC_advn_ALe.GPMC_advn_ALE */
    0x94 (PIN_OUTPUT | MUX_MODE0)/* GPMC_oen_ren。GPMC_oen_ren *
    0x98 (PIN_OUTPUT | MUX_MODE0)/* GPMC_WN.GPMC_Wen */
    0x9C (PIN_OUTPUT | MUX_MODE0)/* GPMC_be0n_cle。GPMC_be0n_cle *
    >;
    };

    cpsw_default:cpsw_default{
    pinctrl-single、pins =<
    /*从属设备1 */
    0x108 (PIN_INPUT_PULLDOWN | MUX_MODE0)/* PHY_COL */
    0x10C (PIN_INPUT_PULLUGDOWN | MUX_MODE0)/* PHY_CRS_DV *
    0x110 (PIN_INPUT_PULLUX | MUX_MODE0)/* PHY_RX_ER */
    0x114 (PIN_OUTPUT 下拉| MUX_MODE0)/* mii1_txen.rgmii1_tctl *
    0x118 (PIN_INPUT_PULLUX | MUX_MODE0)/* mii1_rxdv.rgmii1_rctl *
    0x11c (PIN_OUTPUT 下拉| MUX_MODE0)/* mii1_txd3.rgmii1_td3 */
    0x120 (PIN_OUTPUT 下拉| MUX_MODE0)/* mii1_txd2.rgmii1_td2 */
    0x124 (PIN_OUTPUT 下拉| MUX_MODE0)/* mii1_txd1.rgmii1_TD1 *
    0x128 (PIN_OUTPUT 下拉| MUX_MODE0)/* mii1_txd0.rgmii1_td0 */
    0x12c (PIN_OUTPUT 下拉| MUX_MODE0)/* mii1_txclk.rgmii1_tclk *
    0x130 (PIN_INPUT_PULLUX | MUX_MODE0)/* mii1_rxclk.rgmii1_RCLK */
    0x134 (PIN_INPUT_PULLUX | MUX_MODE0)/* mii1_rxd3.rgmii1_rd3 *
    0x138 (PIN_INPUT_PULLUX | MUX_MODE0)/* mii1_rxd2.rgmii1_RD2 *
    0x13c (PIN_INPUT_PULLUX | MUX_MODE0)/* mii1_rxd1.rgmii1_RD1 *
    0x140 (PIN_INPUT_PULLUX | MUX_MODE0)/* mii1_rxd0.rgmii1_rd0 *
    >;
    };

    cpsw_sleep:cpsw_sleep{
    pinctrl-single、pins =<
    /*从器件1复位值*/
    0x114 (PIN_INPUT_PULLUX | MUX_MODE7)
    0x118 (PIN_INPUT 下拉| MUX_MODE7)
    0x11c (PIN_INPUT_PULLUGD | MUX_MODE7)
    0x120 (PIN_INPUT 下拉| MUX_MODE7)
    0x124 (PIN_INPUT 下拉| MUX_MODE7)
    0x128 (PIN_INPUT 下拉| MUX_MODE7)
    0x12c (PIN_INPUT_PULLUGD | MUX_MODE7)
    0x130 (PIN_INPUT 下拉| MUX_MODE7)
    0x134 (PIN_INPUT_PULLUX | MUX_MODE7)
    0x138 (PIN_INPUT 下拉| MUX_MODE7)
    0x13c (PIN_INPUT_PULLUP | MUX_MODE7)
    0x140 (PIN_INPUT_PULLUX | MUX_MODE7)
    >;
    };

    DaVinci_MDIO_DEFAULT:DaVinci_MDIO_DEFAULT{
    pinctrl-single、pins =<
    /* MDIO */
    0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0)/* MDIO_DATA.MDIO_DATA *
    0x14c (PIN_OUTPUT 上拉| MUX_MODE0)/* MDIO_clk.MDIO_clk *
    >;
    };

    DaVinci_MDIO_SLEEP:DaVinci_MDIO_SLEEP{
    pinctrl-single、pins =<
    /* MDIO 复位值*/
    0x148 (PIN_INPUT_PULLUX | MUX_MODE7)
    0x14c (PIN_INPUT_PULLUP | MUX_MODE7)
    >;
    };

    Dcan0_PINS_DEFAULT:Dcan0_PINS_DEFAULT{
    pinctrl-single、pins =<
    0x178 (PIN_OUTPUT | MUX_Mode2)/* uart1_CTSN.d_CAN0_TX *
    0x17c (PIN_INPUT_PULLUX_MODE2)/* uart1_rtsn.d_CAN0_Rx *
    >;
    };
    };

    uart0{(&U)
    pinctrl-names ="default";
    pinctrl-0 =<&uart0_PINs>;

    状态="正常";
    };

    uart1{(&U)
    pinctrl-names ="default";
    pinctrl-0 =<uart1_PINs>;

    状态="正常";
    };

    uart2{(&U)
    pinctrl-names ="default";
    pinctrl-0 =<uart2_PINs>;

    状态="正常";
    };

    uart3{(&U)
    pinctrl-names ="default";
    pinctrl-0 =<uart3_PINs>;

    状态="正常";
    };

    i2c0{(&I)
    pinctrl-names ="default";
    pinctrl-0 =<&i2c0_PINs>;

    状态="正常";
    时钟频率=<400000>;

    TPS:TPS@2D{
    reg =<0x2D>;
    };

    at24@50{
    兼容="at24、24c256";
    pagesize =<64>;
    reg =<0x50>;
    };
    };

    cppi41dma{.cppi41dma}
    状态="正常";
    };

    i2c1{(&I)
    pinctrl-names ="default";
    pinctrl-0 =<&i2c1_PINs>;

    状态="正常";
    时钟频率=<100000 >;

    at24@50{
    兼容="at24、24c256";
    pagesize =<64>;
    reg =<0x50>;
    };
    };

    spi0{(&S)
    pinctrl-names ="default";
    pinctrl-0 =<&spi0_PINs>;
    disable-dma;

    状态="正常";

    闪存:闪存@0{
    #address-cells =<1>;
    大小单元格=<1>;
    兼容="Spansion、s25fl512s"、"JEDEC、SPI-NOR ";
    reg =<0>;
    SPI-max-frequency =<48000000>;
    m25p、快速读取;

    分区@0{
    标签="NOR.user";
    REG =<0x00000000 0x04000000>;
    };
    };
    };

    SPI1{(&S)
    pinctrl-names ="default";
    pinctrl-0 =<&SPI1_PINs>;

    状态="正常";

    spivcam@1{
    兼容="linux、spivcam";
    reg =<1>;
    SPI-max-frequency =<250000>;
    };

    };

    等距{(&E)
    状态="正常";
    };

    GPMC{
    状态="正常";
    pinctrl-names ="default";
    pinctrl-0 =</nandflash_pins_s0>;
    范围=<0 0x08000000 0x1000000>;// CS0:16MB (用于 NAND)*/
    NAND@0、0{
    兼容="ti、OMAP2-nand";
    reg =<0 0 4>;/* CS0、偏移量0、IO 大小4 */
    interrupt-parent =<&GPMC>;
    中断=<0 IRQ_TYPE_NONE>、/* FIFO 事件*/
    <1 IRQ_TYPE_None>;// termCOUNT */
    RB-GPIO =<&GPMC 0 GPIO_ACTIVE_HIGH>;/* GPMC_wait0 */
    TI、nand-ecc-opt ="bch8";
    TI、elm-id =<和 elm>;
    NAND-BUS 宽度=<16>;
    GPMC、器件宽度=<1>;
    GPMC、SYNC-clk-ps =<0>;
    GPMC、cs-on-ns =<0>;
    GPMC、cs-rd-Off-ns =<44>;
    GPMC、cs-wr-off-ns =<44>;
    GPMC、Adv-on-ns =<6>;
    GPMC、Ad-rd -关闭-ns =<34>;
    GPMC、AdV-wr-off-ns =<44>;
    GPMC、WE-ON-ns =<0>;
    GPMC、WE-OFF-ns =<40>;
    GPMC、OE-ON-ns =<0>;
    GPMC、OE-OFF-ns =<54>;
    GPMC、ACCESS ns =<64>;
    GPMC、第周期-ns =<82>;
    GPMC、功率周期-ns =<82>;
    GPMC、总线翻转-ns =<0>;
    GPMC、cycle2cycle-delay-ns =<0>;
    GPMC、clk-activation-ns =<0>;
    GPMC、wr 访问-ns =<40>;
    GPMC、wr-data-mux-bus-ns =<0>;
    /* MTD 分区表*/
    /*所有 SPL-*分区的大小均为最小长度
    可独立编程。 原因
    * NAND 闪存这等于擦除块的大小*/
    #address-cells =<1>;
    大小单元格=<1>;
    分区@0{
    标签="NAND.SPL";
    REG =<0x00000000 0x000020000>;
    };
    分区@1{
    标签="NAND.SPL.Backup1";
    REG =<0x00020000 0x00020000>;
    };
    分区@2{
    标签="NAND.SPL.Backup2";
    REG =<0x00040000 0x00020000>;
    };
    分区@3{
    标签="NAND.SPL.backup3";
    REG =<0x00060000 0x00020000>;
    };
    分区@4{
    标签="NAND.u-BOOT";
    REG =<0x00080000 0x00100000>;
    };
    分区@5{
    标签="NAND.u-boot-env";
    REG =<0x00180000 0x00020000>;
    };
    分区@6{
    标签="NAND.u-boot-env.Backup1";
    REG =<0x001A0000 0x00020000>;
    };
    分区@7{
    标签="NAND.BOOT0";
    REG =<0x001C0000 0x00800000>;
    };
    分区@8{
    标签="NAND.root0";
    REG =<0x009C0000 0x08000000>;
    };
    分区@9{
    标签="NAND.BOOT1";
    REG =<0x089C0000 0x00800000>;
    };
    分区@10{
    标签="NAND.root1";
    REG =<0x091C0000 0x08000000>;
    };
    分区@11{
    标签="NAND.RECOVERY;
    REG =<0x111C0000 0x0A000000>;
    };
    分区@12{
    标签="NAND.user";
    REG =<0x1B1C0000 0x0A000000>;
    };
    };
    };

    #include "tps65910.dtsi"

    TPS{
    vcc1-supply =<&in_3p3>;
    vcc2-supply =<&in_3p3>;
    vcc3-supply =<&in_3p3>;
    vcc4-supply =<&in_3p3>;
    vcc5-supply =<&in_3p3>;
    vcc6-supply =<&in_3p3>;
    vcc7-supply =<&in_3p3>;
    vcio-supply =<&in_3p3>;

    调节器{
    vrtc_reg:电脑控制器@0{
    稳压器常开;
    };

    VIO_reg:电脑控制器@1{
    稳压器常开;
    };

    vdd1_reg:电脑控制器@2{
    /* VDD_CORE 电压限制为0.95V - 1.1V、容差为+/-4%*
    稳压器名称="VDD_CORE";
    稳压器最小值微伏=<912500>;
    稳压器最大值微伏=<1150000>;
    稳压器启动;
    稳压器常开;
    };

    vdd2_reg:电脑控制器@3{
    稳压器常开;
    };

    vdd3_reg:电脑控制器@4{
    稳压器常开;
    };

    vdig1_reg:电脑控制器@5{
    稳压器常开;
    };

    vdig2_reg:电脑控制器@6{
    稳压器常开;
    };

    vpll_reg:电脑控制器@7{
    稳压器常开;
    };

    vdac_reg:电脑控制器@8{
    稳压器常开;
    };

    vaux1_reg:电脑控制器@9{
    稳压器常开;
    };

    vaux2_reg:电脑控制器@10{
    稳压器常开;
    };

    vaux33_reg:电脑控制器@11{
    稳压器常开;
    };

    VMMC_reg:电脑控制器@12{
    稳压器常开;
    };
    };
    };

    Mac{(&M)
    pinctrl-names ="default"、"sleep";
    pinctrl-0 =<&cpsw_default>;
    pinctrl-1 =<&cpsw_sleep>;
    从器件=<1>;
    状态="正常";
    };

    DaVinci_MDIO{
    pinctrl-names ="default"、"sleep";
    pinctrl-0 =<&Davinc_MDIO_default>;
    pinctrl-1 =<&Davinc_MDIO_SLEEP>;
    状态="正常";
    };


    ethphy1:以太网 phy@1{
    /*compatible ="nal,dp83640"、"Ethe-phy-IEEE802.3-C22";*/
    兼容="NatSemi、DP83640";
    DEVICE_TYPE ="以太网 phy";
    reg =<1>;
    dp83640、perout-pins =<2>;
    dp83640、extts-pins =<3 4 8 9 10 11>;
    dp83640、calibr-pin =<1>;
    状态="正常";
    };

    cpsw_emac0{&cpsw_emac0}
    PHY_ID =<&Davinci_MDIO>、<1>;
    PHY-Handle =<&ethphy1>;
    PHY 模式="MII";
    PHY-CONNECT-TYPE ="MII";
    状态="正常";
    };

    sham{(&S)
    状态="正常";
    };

    AES{(&A)
    状态="正常";
    };

    Dcan0{.dcan0}(&D)
    pinctrl-names ="default";
    pinctrl-0 =<&dcan0_PINS_DEFAULT>;
    状态="正常";
    };

    wkup_m3_IPC{.wkup_m3_IPC}
    TI、SCALE-DATA-FW ="AM335x-EVM-SCALE-DATA.bin";
    };

    RTC{(&R)
    时钟=<&clk_32768_ck>、<&clkdiv32k_ick>;
    时钟名称="ext-clk"、"int-clk";
    };

    &SGX{
    状态="正常";
    };

    e2e.ti.com/.../phy_5F00_to_5F00_am3352_5F00_conn.pdf

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

    除了以下信息之外、您还需要其他信息吗?

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

    您好!

    一个建议是尝试在  Davinci_MDIO 节点中定义 ethernet1节点。 例如,这两个节点将具有这种无政府状态。 我只是显示节点名称、而不是完整的节点元素。

    DaVinci_MDIO{  

         ethphy1:以太网 phy@1 {

         };

    };

    此致、

    Schuyler

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

    我修改了 DTS 文件以在 DaVinci_MDIO 节点内嵌入以太网节点、如下所示

    DaVinci_MDIO{
    pinctrl-names ="default"、"sleep";
    pinctrl-0 =<&Davinc_MDIO_default>;
    pinctrl-1 =<&Davinc_MDIO_SLEEP>;
    状态="正常";

      ethphy1:以太网 phy@1 {
       兼容="NatSemi、DP83640";
       DEVICE_TYPE ="以太网 phy";
       reg =<1>;
       dp83640、perout-pins =<2>;
       dp83640、extts-pins =<3 4 8 9 10 11>;
       dp83640、calibr-pin =<1>;
       状态="正常";
       };

    };

    dmesg 中的错误仍然 与上面发布的错误相同。

    具体而言

    [1.266475] cpsw 4a100000.ethernet:无从器件[1] phy_id、phy-handle 或固定链路属性

    [21.190590] net eth0: Phy found : id is : 0x20005ce1.
    [21.190695] libphy:找不到 PHY
    [21.190709] net eth0:PHY ""未在从站1上找到,错误-19

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

    您好!

    DT 节点看起来不错。 是否可以附加(不剪切和粘贴)完整的引导日志? 另外、在引导后、是否可以附加 ethtool eth0的输出?

    此致、

    Schuyler

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

    boot.log 和 ethtool.out 都已附加

    e2e.ti.com/.../boot.log

    e2e.ti.com/.../ethtool.txt

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

    您好 Robert

    Schuyler 在接下来的两周内不在办公室。 看起来他错过了之前对这篇文章的介绍。  

    我会看看是否可以把这个分配给其他人,但这很可能需要等到7月第一周晚些时候。 我们对拖延表示遗憾  

    此致

    Mukul  

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

    有更新吗?

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

    您好!

    引导日志显示 PHY 报告未找到、但 ethtool 报告 Eth0检测到100Mbps 的链路。 是否已连接到网络并从 DHCP 服务器获取 IP 地址?

    早期启动显示 PHY 被识别为国家半导体、现在仅打印此 ID 0x20005ce1。 电路板上 PHY 的预期 PHY ID 是什么?  

    此致、

    Schuyler

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

    0x20005ce1是 DP83640 PHYTER 的正确 PHY ID  

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

    我们已连接到网络(使用 DHCP 服务器)、但我们没有获取 IP 地址

    PHY 正在建立链路层连接。 但是 、通过对处理器到 PHY 的总线进行范围界定、可以看出数据线路或数据可用线路上没有任何活动。

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

    您好!

    PHY 时钟线是否显示任何活动? 这可能是引脚复用问题。 是否使用引脚多路复用工具为正在使用的 cpsw 端口创建 DTS 引脚多路复用?

    "ethtool -S eth0"展示什么? 这显示了 MAC 统计信息。 此命令将列出 RX 错误计数、数据包 TX/RX 计数等  第一个检查点是、理想情况下、我们期望 TX 帧计数为非零、以显示正在发送的数据包。 不过、您测得的值表明计数可能为零。  

    如果引脚复用不正确、则不会发送或接收任何数据。 MDIO 看起来像预期的那样工作、因为它指示了链路和链路速度。  

    此致、

    Schuyler  

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

    Schuyler、您好、感谢您的回复!!!

    我没有使用引脚复用工具。  我"继承"了一个部分完整的 DTS 文件、并按照 AM3352数据表中定义的引脚多路复用配置对其进行了修改。  

    目前、cpsw 的引脚多路复用器看起来是什么样的

    cpsw_default:cpsw_default{ 
    pinctrl-single、pins =<
    /*从属设备1 */
    0x108 (PIN_INPUT_PULLUX | MUX_MODE0)/* PHY_RX_ER */
    0x10C (PIN_INPUT_PULLDOWN | MUX_MODE0)/* PHY_COL */
    0x110 (PIN_INPUT_PULLUX | MUX_MODE0)/* PHY_CRS_DV *
    0x114 (PIN_OUTPUT 下拉| MUX_MODE0)/* mii1_txen.rgmii1_tctl *
    0x118 (PIN_INPUT_PULLUX | MUX_MODE0)/* mii1_rxdv.rgmii1_rctl *
    0x11c (PIN_OUTPUT 下拉| MUX_MODE0)/* mii1_txd3.rgmii1_td3 */
    0x120 (PIN_OUTPUT 下拉| MUX_MODE0)/* mii1_txd2.rgmii1_td2 */
    0x124 (PIN_OUTPUT 下拉| MUX_MODE0)/* mii1_txd1.rgmii1_TD1 *
    0x128 (PIN_OUTPUT 下拉| MUX_MODE0)/* mii1_txd0.rgmii1_td0 */
    0x12c (PIN_OUTPUT 下拉| MUX_MODE0)/* mii1_txclk.rgmii1_tclk *
    0x130 (PIN_INPUT_PULLUX | MUX_MODE0)/* mii1_rxclk.rgmii1_RCLK */
    0x134 (PIN_INPUT_PULLUX | MUX_MODE0)/* mii1_rxd3.rgmii1_rd3 *
    0x138 (PIN_INPUT_PULLUX | MUX_MODE0)/* mii1_rxd2.rgmii1_RD2 *
    0x13c (PIN_INPUT_PULLUX | MUX_MODE0)/* mii1_rxd1.rgmii1_RD1 *
    0x140 (PIN_INPUT_PULLUX | MUX_MODE0)/* mii1_rxd0.rgmii1_rd0 *
    >;
    };

    这是 ethtool -S eth0的输出

    # ethtool -S eth0
    NIC 统计信息:
    正常 Rx 帧:0
    广播 Rx 帧:0
    多播 Rx 帧:0
    暂停 Rx 帧:0
    RX CRC 错误:0
    RX 对齐/代码错误:0
    超大 RX 帧数:0
    RX Jabber:0
    欠大小(短) Rx 帧:0
    RX 片段:0
    RX 八位位组:0
    正常 Tx 帧:0
    广播 Tx 帧:0
    多播 Tx 帧:0
    暂停 Tx 帧:0
    延迟的 Tx 帧:0
    冲突:0
    单冲突 Tx 帧:0
    多个冲突 Tx 帧:0
    冲突过多:0
    晚期冲突:0
    TX 欠运转:0
    载波侦听错误:0
    TX 八位位组:0
    RX + Tx 64字节帧:0
    RX + Tx 65-127八位位组帧:0
    RX + Tx 128-255八位位组帧:0
    Rx + Tx 256-511八位位组帧:0
    RX + Tx 512-1023八位位组帧:0
    Rx + Tx 1024个八位位组帧:0
    净八位位组:0
    帧溢出的 RX 起始:0
    帧的 RX 中间溢出:0
    RX DMA 超限:0
    RX DMA 通道:head_enqueue:1.
    RX DMA 通道:tail_enqueue:127
    RX DMA 通道:PAD_ENqueue:0
    RX DMA 通道:错误排队:0
    RX DMA 通道:DESC_ALLOC_FAIL:0
    RX DMA 通道:PAD_ALLOC_FAIL:0
    RX DMA 通道:runt_receive_buf:0
    RX DMA 通道:runt_transmit:buf:0
    RX DMA 通道:empty_dequeue:0
    RX DMA 通道:BUSY_DEqueue:0
    RX DMA 通道:Good:Dequeue:0
    RX DMA 通道:要求:0
    RX DMA 通道:teardown_dequeue:0
    TX DMA 通道:head_enqueue:0
    TX DMA 通道:tail_enqueue:0
    TX DMA 通道:PAD_ENqueue:0
    TX DMA 通道:排队错误:0
    TX DMA 通道:DESC_ALLOC_FAIL:0
    TX DMA 通道:PAD_ALLOC_FAIL:0
    TX DMA 通道:runt_receive_buf:0
    TX DMA 通道:runt_transmit;buf:0
    TX DMA 通道:empty_dequeue:0
    TX DMA 通道:BUSY_DEqueue:0
    TX DMA 通道:Good Dequeue:0
    TX DMA 通道:要求:0
    TX DMA 通道:teardown_dequeue:0

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

    您好!

    MAC 层统计信息确认您对总线上的观察。 首先要查看的是 TX 帧计数为零。 您是否看到任何 NETDEV 看门狗超时?

    是否可以发布 ifconfig -a?

    此致、

    Schuyler

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

    Schuyler、您好、  

    我没有看到 NETDEV 看门狗超时。 当我在 dmesg 中搜索 NETDEV 时、我只能找到以下内容:

    # dmesg|grep -i netdev
    [19.902004] IPv6:ADDRCONF (NETDEV_UP):eth0:链路未就绪

    这是 ifconfig -a 的输出

    # ifconfig -a
    CAN0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
    NOARP MTU:16公制:1
    RX 数据包:0错误:0丢弃:0超限:0帧:0
    TX 数据包:0错误:0丢弃:0超限:0载波:0
    冲突:0 txqueuelen:10
    RX 字节:0 (0.0 B) TX 字节:0 (0.0 B)
    中断:164

    eth0 Link encap:ethernet HWaddr 50:72:24:E8:17:D3
    上广播多播 MTU:1500公制:1
    RX 数据包:0错误:0丢弃:0超限:0帧:0
    TX 数据包:0错误:0丢弃:0超限:0载波:0
    冲突:0 txqueuelen:1000
    RX 字节:0 (0.0 B) TX 字节:0 (0.0 B)
    中断:176

    LO 链路环接:本地环回
    iNet addr:127.0.0.1掩码:255.0.0.0
    inet6 addr:::1%132688/128范围:主机
    正在运行 MTU:65536公制:1的上环回
    RX 数据包:0错误:0丢弃:0超限:0帧:0
    TX 数据包:0错误:0丢弃:0超限:0载波:0
    冲突:0 txqueuelen:1
    RX 字节:0 (0.0 B) TX 字节:0 (0.0 B)

    sit0 Link encap:IPv6-in IPv4
    NOARP MTU:1480公制:1.
    RX 数据包:0错误:0丢弃:0超限:0帧:0
    TX 数据包:0错误:0丢弃:0超限:0载波:0
    冲突:0 txqueuelen:1
    RX 字节:0 (0.0 B) TX 字节:0 (0.0 B)

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

    您好!

    我不确定接下来要推荐什么。 您能否在 MAC 和 PHY 之间发布 TX 时钟线的示波器捕获?

    另外、请拔下电缆并使用 ethtool 验证链路是否已断开、然后插入电缆并验证链路是否已重新建立?

    此致、

    Schuyler