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.

[参考译文] DRA74P:kernel3.8的 GMAC MDIO 问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/990933/dra74p-gmac-mdio-problem-with-kernel3-8

器件型号:DRA74P
主题中讨论的其他器件:DRA746

古德莫尔尼格

我们在具有 Android4.3的电路板上使用1.5GHz 的 DRA746P 芯片、在具有2GB RAM (DDR3)的电路板上使用 kernel3.8。

当我们添加与以太网相关的模块 时、内核崩溃(我们的 PHY 是 TJA1100或 TJA1101):

insmod /system/lib/modules/kernel/drivers/net/ethernet/ti/davinci_mdio.ko
insmod /system/lib/modules/kernel/drivers/net/ethernet/ti/davinci_cpdma.ko
insmod /system/lib/modules/kernel/drivers/net/ethernet/ti/cpsw.ko

我们在 DRA746上没有遇到相同的问题(No-plus)。 运行良好。

在 u-boot 中、我们能够使用 MDIO 公报并验证芯片是否存在。

请,您有什么建议,在管理 PLUSCHIP 与 No-PlusChip 之间存在什么问题或差异(我们认为在内核方面)?

提前感谢

此致

米歇尔

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

    您好!

    看看 这种比较 、差异似乎在时钟方面。

    是否可以检查 DT 中配置的时钟?

    此致

    葡萄园

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

    您好、Vineyet、

    感谢您的回答。

    根据我们的理解、到 MDIO 模块的时钟是相同的:

    J6P TRM 的第744页显示了 GMAC 模块的时钟
    GMAC_MAIN_CLK 接口
    GMAC_RFT_CLK 功能
    GMII_250MHz_CLK 功能
    RGMII_5MHZ_CLK 功能
    RMII_50MHz_CLK 功能

    这些与746 NO-plus 中的相同。

    您能否指出您正在讨论的差异?

    我们有两个板、它们具有相同的软件(配置)、唯一的区别是芯片 DRA746与 DRA746P:

    • 板载 DRA476均运行良好、也可通过以太网运行;
    • 在 DRA746P 板载情况下、我们无法插入以太网模块(我们在 DaVinci_MDIO 模块中发生了内核崩溃);

    提前感谢您的帮助

    此致

    米歇尔

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

    您好、Vineyet、

    我补充一个我希望能帮助找到解决方案的其他行为:

    • 具有 DRA746P 的板载:
      • 如果没有以太网模块,则从内核热重新引导时,重新启动 u-boot 崩溃并继续重新引导(尝试检查 cpsw 时崩溃);  
      • 如果没有以太网模块、如果从内核冷重启、在重启时 u-boot 执行良好;  
    • 具有 DRA746的板载:
      • 没问题;

    上面解释的行为似乎取决于内核(仅适用于 DRA746、而不适用于 DRA746P)所执行的某些配置。

    提前感谢

    此致

    米歇尔

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

    尊敬的 TI 团队:

    我添加了有关 GMAC (

    )我希望这有助于找到解决方案:

    • 使用 DRA746P 从板载 u-boot 转储:

    CS_DAP_DebugSS:GEL 输出:0x4A0052A8 0x00000007
    CS_DAP_DebugSS:GEL 输出:0x4A0052AC 0x0000001F
    CS_DAP_DebugSS:GEL 输出:0x4A0052B0 0x00000000
    CS_DAP_DebugSS:GEL 输出:0x4A0052B4 0x0000FA04
    CS_DAP_DebugSS:GEL 输出:0x4A0052B8 0x00000204
    CS_DAP_DebugSS:GEL 输出:0x4A0052BC 0x0000000A
    CS_DAP_DebugSS:GEL 输出:0x4A0052C0 0x00000228
    CS_DAP_DebugSS:GEL 输出:0x4A0052C4 0x00000208
    CS_DAP_DebugSS:GEL 输出:0x4A0052C8 0x0000000A
    CS_DAP_DebugSS:GEL 输出:0x4A0093C0 0x00001F02
    CS_DAP_DebugSS:GEL 输出:0x4A0093C4 0x00000020
    CS_DAP_DebugSS:GEL 输出:0x4A0093C8 0x00000000
    CS_DAP_DebugSS:GEL 输出:0x4A0093D0 0x08000002
    CS_DAP_DebugSS:GEL 输出:0x4AE0619C 0x00000000
    CS_DAP_DebugSS:GEL 输出:0x4AE073D4 0x00000101
    CS_DAP_DebugSS:GEL 输出:0x44805600 0x00310001
    CS_DAP_DebugSS:GEL 输出:0x48488000 0x00206439
    CS_DAP_DebugSS:GEL 输出:0x4A0023FC 0x00000000
    CS_DAP_DebugSS:GEL 输出:0x4A002558 0x00000001
    CS_DAP_DebugSS:GEL 输出:0x4A003C14 0x00000000

    • 使用 DRA746P 从板载内核转储:

    CS_DAP_DebugSS:GEL 输出:0x4A0052A8 0x00000007
    CS_DAP_DebugSS:GEL 输出:0x4A0052AC 0x0000001F
    CS_DAP_DebugSS:GEL 输出:0x4A0052B0 0x00000001
    CS_DAP_DebugSS:GEL 输出:0x4A0052B4 0x0000FA04
    CS_DAP_DebugSS:GEL 输出:0x4A0052B8 0x00000004
    CS_DAP_DebugSS:GEL 输出:0x4A0052BC 0x0000000A
    CS_DAP_DebugSS:GEL 输出:0x4A0052C0 0x00000228
    CS_DAP_DebugSS:GEL 输出:0x4A0052C4 0x00000008
    CS_DAP_DebugSS:GEL 输出:0x4A0052C8 0x0000000A
    CS_DAP_DebugSS:GEL 输出:0x4A0093C0 0x00000003
    CS_DAP_DebugSS:GEL 输出:0x4A0093C4 0x00000020
    CS_DAP_DebugSS:GEL 输出:0x4A0093C8 0x00000000
    CS_DAP_DebugSS:GEL 输出:0x4A0093D0 0x08070000
    CS_DAP_DebugSS:GEL 输出:0x4AE0619C 0x00000000
    CS_DAP_DebugSS:GEL 输出:0x4AE073D4 0x00000000
    CS_DAP_DebugSS:GEL 输出:0x44805600 0x00310001
    CS_DAP_DebugSS:GEL 输出:0x48488000 0x00206439
    CS_DAP_DebugSS:GEL 输出:0x4A0023FC 0x00000000
    CS_DAP_DebugSS:GEL 输出:0x4A002558 0x00000001
    CS_DAP_DebugSS:GEL 输出:0x4A003C14 0x00000000

    • 使用 DRA746从板载内核转储(No-plus):

    CS_DAP_DebugSS:GEL 输出:0x4A0052A8 0x00000007
    CS_DAP_DebugSS:GEL 输出:0x4A0052AC 0x00000012
    CS_DAP_DebugSS:GEL 输出:0x4A0052B0 0x00000001
    CS_DAP_DebugSS:GEL 输出:0x4A0052B4 0x0000FA04
    CS_DAP_DebugSS:GEL 输出:0x4A0052B8 0x00000004
    CS_DAP_DebugSS:GEL 输出:0x4A0052BC 0x0000000A
    CS_DAP_DebugSS:GEL 输出:0x4A0052C0 0x00000028
    CS_DAP_DebugSS:GEL 输出:0x4A0052C4 0x00000008
    CS_DAP_DebugSS:GEL 输出:0x4A0052C8 0x0000000A
    CS_DAP_DebugSS:GEL 输出:0x4A0093C0 0x00000003
    CS_DAP_DebugSS:GEL 输出:0x4A0093C4 0x00000020
    CS_DAP_DebugSS:GEL 输出:0x4A0093C8 0x00000000
    CS_DAP_DebugSS:GEL 输出:0x4A0093D0 0x08070000
    CS_DAP_DebugSS:GEL 输出:0x4AE0619C 0x00000000
    CS_DAP_DebugSS:GEL 输出:0x4AE073D4 0x00000000
    CS_DAP_DebugSS:GEL 输出:0x44805600 0x00310001
    CS_DAP_DebugSS:GEL 输出:0x48488000 0x00206439
    CS_DAP_DebugSS:GEL 输出:0x4A0023FC 0x00000000
    CS_DAP_DebugSS:GEL 输出:0x4A002558 0x00000001
    CS_DAP_DebugSS:GEL 输出:0x4A003C14 0x00000000

    为了便于我们理解,内核中有一些适用于 DRA746但不适用于 DRA746Plus 的东西。 我们会错过什么呢?  

    提前感谢您的帮助

    此致

    米歇尔

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

    嗨、Michele、

    DRA7xx 与 DRA7xP 上的 GMAC 块是相同的、因此我们希望它也能正常工作。

    您能否在下面先澄清几点?

    DRA7x 与 DRA7xP 项目之间是否有任何电路板设计变化? 例如、不同的 PMIC 可满足 DRA7xP 的更高性能要求。

    您是否使用了与 DRA7x 引脚兼容的 DRA7xP 封装之一?

    为了支持 DRA7xP、您进行了哪些更改?

    您能否再次检查是否有任何代码可能在 DRA7xP 上被跳过?

    此致、
    斯坦利

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

    请仔细检查 DTS 文件、并确保 Mac 配置为空闲、如突出显示的那样。

    MAC:以太网@48484000{

    兼容="ti、dra7-cpsw"、"ti、cpsw";

    ti、hwmods ="GMAC";

    时钟=<&GMAC_MAIN_clk>、<&l3init_clkctrl DRA7_GMAC_CLKCTRL 25>;

    时钟名称="Fck、"CPT";

    cpdma_channels =<8>;

    ALE_ENINTERINS=<1024>;

    bd_ram_size =<0x2000>;

    MAC_CONTROL =<0x20>;

    从器件=<2>;

    ACTIVE_SLAVE =<0>;

    CPTs_clock_mult =<0x784CFE14>;

    CPTs_clock_shift =<29>;

    寄存器=<0x48484000 0x1000

        0x48485200 0x2E00>;

    #address-cells =<1>;

    大小单元格=<1>;

     

    /*

    *不允许门控 cpsw 时钟作为权变措施

    *对于勘误表 i877。 保持内部时钟被禁用

    *导致器件开关特性

    性能下降、最终无法满足要求

    *数据手册延迟时间/偏移规格。

    *

    TI、空闲;

     

    /*

    * Rx_THRESH_PEND

    * Rx_pend

    * TX_pend

    * MISC_pend

    *

    中断= 、

       、

       、

       ;

    范围;

    SYSCON =<&SCM_conf>;

    STATUS ="禁用";

     

    DaVinci_MDIO:MDIO@48485000{

    兼容="ti、cpsw-mdio"、"ti、davinci_mdio";

    #address-cells =<1>;

    #size-cells =<0>;

    TI、hwmonds ="Davinci_mdio";

    bus_freq =<1000000>;

    REG =<0x48485000 0x100>;

    };

     

    cpsw_emac0:从器件@48480200{

    /*由 U-Boot 填充*/

    mac-address =[ 00 00 00 00 00 00 00];

    };

     

    cpsw_emac1:从器件@48480300{

    /*由 U-Boot 填充*/

    mac-address =[ 00 00 00 00 00 00 00];

    };

     

    PHY_SEL:cpsw-phy-SEL@4a002554{

    兼容="ti、dra7xx-cpsw-phy-SEL";

    REG=<0x4a002554 0x4>;

    reg-names ="gmii-SEL";

    };

    };