Hello,
我不太清楚S32G274A和SJA1110之间的SPI通信:
1、什么是DSA驱动?如果我启用它,那么 SJA1110 就是一个外部模块,它是 SJA1110 的 DTS 树之外的驱动程序吗?
2、DSA驱动的源代码在哪里?它在这里吗: https://github.com/nxp-archive/autoivnsw_sja1110_linux/tree/master ,如果不是,那么 github 中 SJA1110 的代码是什么?
然后在这段代码中,我发现它检查 sja1110 的 devtype 是否为 SJA1110_SWITCH,在 DTS 文件中在哪里设置这个 devtype?
/**
* 将给定值写入开关的给定寄存器
* sja1110->devtype 需要为 SJA1110_SWITCH
*/
static u32 sja1110_write_reg(struct sja1110_priv *sja1110, u32 reg_addr, u32 val)
{
3、Linux bsp中默认只有sja1110.ko,我想访问https://github.com/nxp-archive/autoivnsw_sja1110_linux/tree/master /sja1110_init.c提供的接口sja1110_write_reg来配置sja1110,该怎么做?
Hello,
谢谢您的回复,我现在没有问题。
Hello @yangjinzhuang
非常好,如果您对 S32G 方面还有其他问题,请告诉我。
顺祝商祺!
Alejandro
Hello,
谢谢您的回复,我会去 其他 NXP 产品论坛,我有保密协议。
Hello @yangjinzhuang,
您的所有问题都与 SJA1110 芯片有关,这超出了我的范围和 S32G 论坛范围。请在其他 NXP 产品论坛中发布您的问题。在上面,我的一位同事应该能够帮助您解决与 SJA1110 相关的所有问题。请注意,与 SJA1110 及其 SDK 相关的文档需要签署 NDA,为此您可以联系您的 FAE/NXP 代表。
如果您对 S32G 产品还有更多疑问,请告诉我。
顺祝商祺!
Alejandro
Hello,
1、加载DSA驱动后,能否给我配置SJA1110端口模式的命令?
2、我看到SJA1110有SPI_HOST和SPI_AP主机接入点,我还看到SDK中有SWITCH_CONTROL_INTERNAL和SWITCH_CONTROL_SPI模式。据我了解,现在DSA驱动程序与SJA1110的SPI模式和访问点没有关系,对吗?
3、SPI_HOST/SPI_AP和SWITCH_CONTROL_INTERNAL/SWITCH_CONTROL_SPI有什么关系?它是否同时设置SPI_HOST和SWITCH_CONTROL_INTERNAL?它是否同时设置SPI_AP和SWITCH_CONTROL_SPI?
4、如果我设置SPI_AP,外部主控制器一定是其他的SJA1110吗?外部控制器可以是 S32G274A 吗?GLDBOX 硬件中的设计是 S32G274A----SPI----SJA1110。我不确定 S32G274A 是否可以作为外部主机控制器通过 SPI_AP 接口上的 SPI 访问 SJA1110。
Hello,
感谢您的回复,我仍然想知道如何在这里配置SJA1110 和 SPI 命令: https://community.nxp.com/t5/Other-NXP-Products/bd-p/other
Hello @yangjinzhuang,
以下是我对您问题的回答:
1 – 是的,这就是 DSA 驱动程序的目标。
2 - 是的,您可以在https://docs.kernel.org/networking/dsa/sja1105.html检查兼容性
alejandro_e_0-1730752311333.png
3 – 抱歉,我犯了一个错误。.c、.o和 .ko您提到,参考前面提到的树外驱动程序,这是在启动时加载的。这是处理配置加载的驱动程序,而 DSA 驱动程序处理切换功能。
BSP35 的信息如下[第 60 页,适用于 S32G2 平台的 Linux BSP 35.0 用户手册,2023 年 1 月 19 日]:
alejandro_e_1-1730753066243.png
另请查看第7.7 节“设置 SJA1110 开关” 。
如果您对 SJA1110 配置和 SPI 命令有具体问题,请在此处发布: https://community.nxp.com/t5/Other-NXP-Products/bd-p/other
请告诉我这些信息是否解答了您的问题。
Hello,
sja1110_init.cLinux-BSP工程路径下的编译结果如下:
AUTO_YOCTO_BSP/build_s32g274ardb2/tmp/工作/s32g274ardb2-linux/sha1110/1.0-r0/git/sja1110_init.c
AUTO_YOCTO_BSP/build_s32g274ardb2/tmp/work/s32g274ardb2-linux/sha1110/1.0-r0/git/sja1110.o
AUTO_YOCTO_BSP/build_s32g274ardb2/tmp/work/s32g274ardb2-linux/sha1110/1.0-r0/git/sja1110.ko
Hello,
谢谢您的回复,我的Linux-bsp版本是35.0,交换芯片是SJA1110。
1、DSA驱动是否支持配置交换机的端口模式(ingress/egress)?
2、SJA1110的DSA驱动在Linux-bsp UM中提供的功能和SJA1105一样吗?
3、我在Ubuntu上编译了Linux-bsp 35.0,在35.0项目中找到如下源代码
https://github.com/nxp-archive/autoivnsw_sja1110_linux/tree/master/sja1110_init.c,
然后我还可以在同一个路径下看到 sja1110.o 和 sj1110.ko 的编译结果,它们都是从 sja1110_init.c 编译出来的,和
https://github.com/nxp-archive/autoivnsw_sja1110_linux/tree/master/sja1110_init.c ,我无法理解你之前的回答。
Hello @yangjinzhuang
以下是我对您问题的回答:
1 - “树外 Linux 内核模块”这个术语可能有点混淆,它不是指设备树,而是指以下[文章]:
alejandro_e_0-1730497920915.png
行为如下[第62页,Linux BSP 41.0 S32G2平台用户手册]:
alejandro_e_2-1730498388530.png
上面的描述与简单的配置加载器有关,而不是 DSA 驱动程序。
DSA(分布式交换机架构)驱动程序的行为如下 [第 62 页]所述:
alejandro_e_3-1730498543788.png
2 - 您可以在以下位置找到代码: https ://github.com/nxp-auto-linux/linux/tree/release/bsp41.0-5.15.153-rt/drivers/net/dsa/sja1105
3 - 您共享的代码(如您在 repo 名称中所见)已被存档,它不再受支持,如您在兼容的 Linux 版本中所见:
alejandro_e_4-1730500619640.png
此外,我无法在 repo 中找到有关 S32G 芯片系列的任何参考。
我使用 BSP41 作为示例,如果您需要有关其他版本的详细信息,请告诉我,如果您对此主题有更多疑问,也请告诉我。
Hello @yangjinzhuang,
我将开始分析您的问题,并在有相关更新时回复您。感谢您的耐心。
顺祝商祺!
Alejandro