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.

[参考译文] AM6442:MAC ID 管理

Guru**** 2469810 points
Other Parts Discussed in Thread: AM6442

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1466553/am6442-mac-id-management

器件型号:AM6442

工具与软件:

您好、TI:

我们的要求是使用5个以太网、即 eth0、eth1、eth2、eth3和 eth4。

我们想了解支持的 MAC 地址管理。

通过链接 (+)[常见问题解答]、AM62x 和 AM64x 的 MAC 地址来自哪里? 如何更改 MAC 地址? -处理器论坛-处理器- 我们了解的 TI E2E 支持论坛、对于 eth0 MAC、它在 SoC 上的 MAC_ID 寄存器中使用、而其他 MAC 则通过 EEPROM 进行管理。

查询:

1.如何在 SoC 上使用新 SoC (eth0 MAC)的 MAC_ID 寄存器中的 SoC

2.如何为其他 eth MAC ID 编写新的 EEPROM 编程

3. EEPROM 可以管理多少个 MAC ID

4.除了 SoC 上的电子保险和对 EEPROM 进行编程之外、MAC ID 管理还有其他任何替代方法吗?  

谢谢!

Prathibha

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

    您好、Prathibha:  

    Unknown 说:
    1. 如何在新 SoC 的 MAC_ID 寄存器的 SoC 上使用 eth0 MAC[/QUOT]

    在新的 SoC 中有一种电子保险丝 MAC 地址的方法使用与非安全 SoC 电子保险丝相同的方法来变得安全。 我不是该流程的正确主题专家、因此我需要一些时间来询问同事。

    Unknown 说:
    2. 如何为其他 TH MAC ID 对新的 EEPROM 进行编程[/QUOT]

    据我所知、我们没有用于对新 EEPROM 进行编程的特定工具。 如果客户决定在其定制电路板上使用 EEPROM、EEPROM 器件选择由客户决定、包括 EEPROM 和 SoC 之间的通信方法。 例如、EEPROM 通过 I2C 连接到我们的 TI EVM 上、因此在 TI EVM 上、可以通过 I2C 命令对其进行编程(无论是在 U-boot 中还是在 Linux 中使用 Linux OS)。

    Unknown 说:
    3. EEPROM 可管理的 MAC ID 数量[/报价]

    这将取决于您选择的 EEPROM 的大小以及 EEPROM 上的存储空间占用情况还有其他哪些信息。 在我看来、由于您要求每个器件具有5个以太网端口、因此 EEPROM 只需大到足以包含最多5个以太网 MAC 地址... 除非出于其他一些具体原因、给定器件的 EEPROM 需要更多 MAC ID?

    Unknown 说:
    4. 除了 SoC 上的电子保险和对 EEPROM 进行编程之外、还有其他任何 MAC ID 管理的替代方法吗? [/报价]

    有许多不同的创造性解决方案可用于避免无需为 SoC 使用 MAC 地址并对 EEPROM 进行编程、前提是您可以通过非易失性方式存储计划在某个位置使用的 MAC 地址、并在使用 Linux OS 时更改 U-boot 源代码(可能还有 Linux 源代码)。 如果您使用其他操作系统、则可能需要在源代码中进行类似的更改。

    目前、TI SDK 中的 U-boot 源代码负责确定哪些 MAC 地址来自 EEPROM 和电子保险丝 SoC、并将这些 MAC 地址传递到 Linux 内核。 如果您计划为 MAC 地址使用其他存储位置(例如在 dtb 中)、可能必须修改 U-boot 代码以查找正确的位置、从而找到 MAC 地址。 这包括电子保险丝 MAC 地址;这在理论上可能意味着您不必在 SoC 上对 eth0 MAC 地址执行任何电子保险丝、而只需配置 U-boot 以从您计划存储所有 MAC 地址的位置读取 eth0 MAC 地址。

    -道林

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

    您好、TI:

    感谢您的答复、  

    我们使用 Linux OS 来引导 A53内核、目前是 TI 的 u-boot 源代码从电子保险丝的 MAC 中获取 eth0的 MAC ID、从 EEPROM 中获取其他以太网 MAC。

    对于 eth0、

    1.是否可以将 MAC 存储在 eMMC 上并在 uboot 中从 eMMC 提取? 如果是、请告知我们需要在源代码中进行的修改

    2.我们有 i2c EEPROM、是否能在 EEPROM 中存储 MAC 并在 uboot 中从 EEPROM 提取? 如果是、请告知我们需要在源代码中进行的修改  

    谢谢!

    Prathibha

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

    您好、Prathibha、

    >> 1. 是否可以将 MAC 存储在 eMMC 上并在 uboot 中从 eMMC 提取? 如果是、请告知我们需要在源代码中进行的修改

    据我所知、我们目前没有有关如何在 uboot 源代码中从 eMMC 存储和获取 eth0的 MAC 地址的示例、因为我们的 TI EVM 当前从电子保险丝 SoC 获取 eth0的 MAC ID。 我需要一些 时间来研究此问题、并与软件开发团队进行交谈、很可能在本周的星期四或星期五之前不会回复您、如果您届时未收到回复、请 ping 此主题。 同时、我建议您看看 U-boot 源代码、看看它当前如何准确地找到 MAC 地址并将 MAC 地址传递给 Linux 内核。 也许它可以帮助您找到解决方案。

    2. 我们有 i2c EEPROM、是否可以在 EEPROM 上存储 MAC 并在 uboot 中从 EEPROM 提取? 如果是、请告知我们需要在源代码中进行的修改 [/报价]

    我假设此问题也适用于 eth0的 MAC 地址。 正如我在之前的响应中提到的、可以将 eth0的 MAC ID 存储在 EEPROM 中而不是使用电子保险丝。 但是、我们目前还没有这样做的示例、目前我们无法建议您对代码进行必要的修改。 研究这一点可能也需要我们花一些时间。因此如前所述、您可以直接查看 U-boot 源码、看看您是否能够着手进行所需的任何更改。

    您尝试使用 AM6442构建什么终端设备?  

    -道林

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

    最新动态:

    您可能可以尝试修改 U-boot 代码的相关部分以从 EEPROM 提取 MAC 地址: https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/drivers/net/ti/am65-cpsw-nuss.c?h=ti-u-boot-2024.04#n559 

    获取 MAC 地址的 Linux 内核代码的相关部分: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/net/ethernet/ti/am65-cpsw-nuss.c?h=ti-rt-linux-6.6.y#n2638

    目前、我找不到其他 eth 接口在 U-boot 代码中的什么位置获取其 MAC 地址。 此外、在 Linux 内核中、我指出的行意味着可以通过 dts ("of_get_mac_address")获取 MAC 地址、如果没有为 MAC 地址进行 dts 配置、那么它将从电子保险丝中提取 MAC 地址、否则随机生成 MAC 地址。

    开发人员本周未能讨论下周可能会有更新。

    -道林

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

    最新动态:

    Linux 代码-从 EEPROM 中提取 MAC 地址: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/net/ethernet/ti/tlan.c?h=ti-rt-linux-6.6.y#n797

    -道林