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/AM4376:新 SDK 出现问题

Guru**** 2611705 points
Other Parts Discussed in Thread: AM4372, PROCESSOR-SDK-AM437X

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/656735/linux-am4376-issue-with-new-sdk

器件型号:AM4376
主题中讨论的其他器件:AM4372

工具/软件:Linux

似乎对于新内核4.9.69、我们必须注释掉代码 arch/arm/mach-omap2 /omap_hwmod_43xx_data.c 的以下行才能引导内核。 AM437上未使用内部 RTC、但 AM437上的 I2C 连接了外部 RTC。  内核4.4.3.36中不存在此代码。 您能否解释一下为什么将此红色代码添加到新内核中? 另外、为什么通过删除它、我们可以引导内核??

我能够完全支持 Linux 的 omap_hwmod_43xx_data.c。

静态结构 omap_hwmod_opc_if * am43xx_rtc_hwmod_opc_ifs[]__initdata ={
   am33xx_L4_wkup__RTC、
   null、
};

int __init am43xx_hwmod_init (void)

   内转台;

   omap_hwmod_am43xx_reg();
   omap_hwmod_init();
   RET = OMA_hwmod_register_links (am43xx_hwmod_OCP_IFS);

#if 0
***** 此代码不在4.4.36内核中-如果未执行、则使用引导内核
否则、我们的硬件似乎无法引导 Linux (无控制台输出)。
***

   if (!ret && of _machine_is_compatible ("ti、am4372"))
      RET = OMA_hwmod_register_links (am43xx_rtc_hwmod_opc_IFS);
#endif

   回程;


谢谢

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

    最新正式发布的内核版本为 v4.9.41: 此论坛不支持正在开发的 www.ti.com/.../PROCESSOR-SDK-AM437X 版本。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在我们的 SDK 中、我们从基于内核4.4.x 的 SDK 3.0x 中获取了该代码 但是、如果您查看 kernel.org 源代码、则它不在源代码中。 那么、想知道我们为什么在 SDK 中使用它而不是在 kenrel.org 源代码中使用它呢? 我想了解为什么我们将其添加到源代码中、但直到内核版本4.5后、它才会出现在 kernel.org 中。
    如果您能向我们详细了解为什么添加了它、那将会很好。

    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    由于错误、它被添加到内核版本4.6中、而不是 kernel.org 中的4.5、但它包含在我们使用内核4.4的 SDK 3.0.x 中
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Mohsen、

    在尝试理解类似这样的特定更改时、日志可以是您的朋友。 您可以在此处看到进行更改的补丁以及开发人员注释:

    https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/arch/arm/mach-omap2/omap_hwmod_43xx_data.c?h=v4.9.77&id=4321dc8dff356cdc852936fcfb443463b504890d

    进行此更改是为了为 AM437x TI 电路板启用 RTC。 由于您不使用 RTC、只要此内核构建只需要在非 RTC 板上启动、就可以安全地删除此设置。 如果您希望内核能够同时启动、则需要添加一个小逻辑以使用"compatible"字段来检查正在启动的电路板并相应地调用此代码。