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.

[参考译文] AM6548:U-boot 中的 PRU 以太网

Guru**** 2398695 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/851430/am6548-pru-ethernet-in-u-boot

器件型号:AM6548

您好、TI、

让我先说明一下我的问题。  在 u-boot 下、我已成功将 ICSSG0 ehternet 与以下脚本结合使用。

   setenv firmware_dir '/lib/firmware/ti-pruss
   setenv ethact pruss0_eth
   setenv get_firmware_mmc 'load mmc 1:2 ${loadaddr}${firmware_dir}/${firmware_file}'
   setenv start_icssg0 'rproc start 0;rproc start 1 '
   setenv load_icssg0_pru0_fw 'etenv firmware_file am65x-pru0-prueth-Fw.elf;setenv loadaddr 0x89000000;运行 get_firmcc;rproc load 0 0x89000000 13040;rproc start 0'
   setenv load_icssg0_rtu0_fw 'etenv firmware_file am65x-rtu0-prueth-fw.elf;setenv loadaddr 0x8a000000;运行 get_firmware_mmc;rproc load 1 0x8a000000 5676;rproc start 1'
   setenv init_icssg0 'rproc init;运行 load_icssg0_pru0_fw;运行 load_icssg0_rtu0_fw'

首先、我执行'run init_icssg0'来启动 icssg0。 然后、我发现每次使用 icssg0之前、我必须执行此命令'run start_icssg0'、例如使用 u-boot 命令 shell 中的命令'ping'或'nfs'!  

这太麻烦了。 是否可以以允许我只执行一次'run start_icssg0'的方式使用 icssg0?

我尝试修改驱动程序源代码、以便 START 命令仅运行一次而不运行 STOP 命令。  ‘我在“u-boot/drivers/net/ti/icssg-prueth.c”中进行了以下更改

diff --git a/drivers/net/ti/icssg-prueth.c b/drivers/net/ti/icssg-prueth.c
索引67bbfb4ca6..c5c010dbdb 100644
-- a/drivers/net/ti/icssg-prueth.c
++ b/drivers/net/ti/icssg-prueth.c
@@-193、6 +193、13 @@ static int prueth_start (struct udevice *dev)
Int ret、I;
char TX_CHN_NAME[16];
char Rx_CHN_NAME[16];
+静态字符标志= 0;
+
+ if (flag){
+返回0;
+}
+
+ FLAG = 1;

icssg_class_set_mac_addr (priv->miig_rt[priv->ination_icssg]、
PRIV->INALOW_SLICE、
@@-308、6 +315、8 @@静态空 prueth_stop (struct udevice *dev)
struct prueth *priv=dev_get_priv(dev);
int icssg = priv->inege_icssg、slice = priv->inegin_slice;

+返回;
+
icssg_class_disable (priv->miig_rt[icssg]、slice);

phy_shutdown (priv->phydev);

进行上述更改后,在 u-boot 下,在使用 ICSSG0之前,不再需要运行'start_icssg0',但 icssg0以太网在引导内核期间不起作用。

您是否有解决方案来保存此问题?  

 

 

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

    您好!

    TI 不支持驱动程序修改。 我将查看一下、但我们的答案可能是"TI 仅支持现有驱动程序"。

    您能帮我理解为什么多次运行 start 命令会有太大的麻烦吗?

    此致、

    Nick

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

    您好!

    我修改的是现有的驱动程序源文件'linux/drivers/net/ti/icssg-prueth.c b/drivers/net/ti/icssg-prueth.c'。

    例如,我从 NFS 服务器引导,我必须在使用 NFS 从 NFS 服务器加载映像之前运行 start 命令,这会带来太多的麻烦。

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

    您好!

    TI 不支持在这些论坛上修改驱动程序。 除非您给了我修改驱动程序的合理理由、否则我不能再提供任何支持。

    "太多麻烦"不够具体。 电流驱动器为什么会出现太大的问题? 当前的驱动因素对您的工作或产品有何影响? 更改当前驱动程序会如何解决这一问题?

    此致、

    Nick

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

    您好、Nick、

    感谢您的支持。 让我在这里帮助澄清问题。  

    最初的问题是、我们发现每次发出 network 命令时都需要重新启动 prueth。  

    在 u-boot 下使用以太网并不方便。   

    本主题仅 继续讨论先前 的 https://e2e.ti.com/support/processors/f/791/p/836414/3106573#3106573 

    我想我们可以结束这个话题、然后回到这个话题进行进一步讨论。

    这对您来说是好的吗?

    此致、

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

    您好、Le、

    继续讨论另一个主题对我来说很有用。

    此致、

    Nick