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.

[参考译文] Linux/AM5728:DP83849IF 驱动程序问题

Guru**** 2589300 points
Other Parts Discussed in Thread: DP83849IF, TLK105L

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/589775/linux-am5728-dp83849if-driver-problem

器件型号:AM5728
主题中讨论的其他器件:DP83849IFTLK105L

工具/软件:Linux

你(们)好

我使用的是 AM572x 定制板

我使用 phy DP83849IF。

但是。 未在 Linux 中检测到设备驱动程序。

 

我有两个问题。

问题1.  如何为 phy 芯片设置引脚多路复用器

 -在 u-boot 中设置 pinmux?

 我 在内核中找不到 pinmux。

问题2. 我可以使用 dp83848.c 驱动程序吗?

 - 我在内核中找不到 dp83849代码。

 

我的开发环境

主机 PC 操作系统:Ubuntu 16.04 Linux 64位

AM5728 SDK:U-boot-2016.05 / Linux-RT-4.4.19

AM5728 SDK 版本:TI-processor-sdk-linux-rt-am57xx-evm-03.01.00.06

IPC:IPC_3_43_02_04

XDC:xdctools_3_32_00_06_core

谢谢、致以诚挚的问候。

John。

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

    问题1. 必须在器件树文件中设置 Pinmux。 不要忘记为 MDIO 设置引脚多路复用器、因为这是用于检测 PHY 的接口。
    问题2. 是的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢你的答复。

    AM5728-IDK 默认 DTS 文件。 (dra7.dtsi)
    在 DTS 中找不到 pinmux。 但是、TLK105L 正在工作。


    pruss2:pruss@4b280000{
    兼容="ti、am5728-pruss";
    ti、hwmods ="pruss2";
    REG =<0x4b280000 0x2000>、
    0x4b282000 0x2000>、
    0x4b290000 0x8000>、
    0x4b2a6000 0x2000>、
    0x4b2ae000 0x31c>、
    0x4b2b2000 0x58>;
    reg-names ="dram0"、"dram1"、"shrdram2"、"cfg"、
    "IEP"、"MII_RT";
    #address-cells =<1>;
    大小单元格=<1>;
    范围;
    STATUS ="禁用";

    pruss2_intc:intc@4b2a0000{
    兼容="ti、am5728-pruss-intc";
    reg =<0x4b2a0000 0x2000>;
    reg-names ="intc";
    中断= 、







    中断名称="host2"、"host3"、"host4"、
    "Host5"、"host6"、"host7"、
    "host8"、"host9";
    中断控制器;
    #interrupt-cells =<1>;
    };

    pru2_0:pru0@4b2b4000{
    兼容="ti、am5728-PRU";
    REG =<0x4b2b4000 0x3000>、
    0x4b2a2000 0x400>、
    0x4b2a2400 0x100>;
    reg-names ="IRAM"、"control"、"debug";
    STATUS ="禁用";
    };

    pru2_1:pru1@4b2b8000{
    兼容="ti、am5728-PRU";
    REG =<0x4b2b8000 0x3000>、
    0x4b2a4000 0x400>、
    0x4b2a4400 0x100>;
    reg-names ="IRAM"、"control"、"debug";
    STATUS ="禁用";
    };

    pruss2_MDIO:MDIO@4b2b2400{
    兼容="ti、davinci_mdio";
    #address-cells =<1>;
    #size-cells =<0>;
    时钟=<&DPLL_GMAC_h13x2_ck>;
    时钟名称="Fck";
    bus_freq =<1000000>;
    REG =<0x4b2b2400 0x90>;
    STATUS ="禁用";
    };
    };

    pruss2_MDIO{&pruss2_MDIO}
    RESET-GPIO =<&GPIO5 8 GPIO_ACTIVE_LOW>、
    <GPIO5 9 GPIO_ACTIVE_LOW_>;
    RESET-DELAY-us =<2>;/* PHY 数据表中的状态最小值为1uS */
    };

    此致

    John

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    PHY 连接在何处? GEMAC 还是 PRU? 您应该查看.dts 文件。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    PHY 已连接 PRU。

    Dra7.dtsi

    e2e.ti.com/.../dra7.dtsi.txt

    此致

    John

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

    am572x-idk.dts 文件。

     我找不到 phy 芯片 pinmux

    e2e.ti.com/.../am572x_2D00_idk.dts.txt

    最恰当的考虑

    John

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

    在 DTS 文件中的任何位置都找不到 Pinmux。

    我想可能是在 U-Boot 中设置了 Pinmux

     

    DTS 文件列表。

    "am572x-idk.dts

    "dra74x.dtsi"

    "skel框架.dtsi"

    "am57xx-idk-common.dtsi"

    "am57xx-industrie-grade.dtsi"

    "am57xx-evm-cmem.dtsi"

    最恰当的考虑

    John

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

    在 u-boot 中设置 Pinmux:
    ti/am57xx/mux_data.h

    u-boot 中还有一个 DTS 文件、在最新的 SDK 版本中、它是 arch/arm/dts/am57xx-beagle-x15.dts

    至于您的 phy 使用 dp83848.c、我尚未根据本报告验证: www.ti.com/.../snla084b.pdf 它们是一个产品系列、因此应该可以。

    此外、请确保在 Linux DTS 文件中添加了 dp83849、并在 tisdk_am57xx-evm_defconfig 文件中启用 ti 以太网支持。

    此致、
    Yordan