Dear NXP team,
The current issue is that the eth3, eth4, and eth5 interfaces either do not exist or are not being recognized.
Additionally, there are no related messages about these network drivers appearing during the booting process.
Could you please check the network drivers and configurations?
<4>[ 0.427007] ahci-qoriq 3200000.sata: supply target not found, using dummy regulator
<6>[ 0.427214] ahci-qoriq 3200000.sata: AHCI 0001.0300 1 slots 1 ports ? Gbps 0x1 impl platform mode
<6>[ 0.427229] ahci-qoriq 3200000.sata: flags: 64bit ncq sntf pm clo only pmp fbs pio slum part ccc
<4>[ 0.427256] ahci-qoriq 3200000.sata: port 0 is not capable of FBS
<6>[ 0.428971] scsi host0: ahci-qoriq
<6>[ 0.429525] ata1: SATA max UDMA/133 mmio [mem 0x03200000-0x0320ffff] port 0x100 irq 44
<6>[ 0.442840] tun: Universal TUN/TAP device driver, 1.6
<6>[ 0.443297] CAN device driver interface
<6>[ 0.448222] bgmac_bcma: Broadcom 47xx GBit MAC driver loaded
<6>[ 0.463645] fsl-gianfar soc:ethernet@2d10000: enabled errata workarounds, flags: 0x4
<6>[ 0.474714] fsl-gianfar soc:ethernet@2d10000 eth0: mac: b2:81:62:f2:95:bf
<6>[ 0.474725] fsl-gianfar soc:ethernet@2d10000 eth0: Running with NAPI enabled
<6>[ 0.474732] fsl-gianfar soc:ethernet@2d10000 eth0: RX BD ring size for Q[0]: 256
<6>[ 0.474740] fsl-gianfar soc:ethernet@2d10000 eth0: RX BD ring size for Q[1]: 256
<6>[ 0.474748] fsl-gianfar soc:ethernet@2d10000 eth0: TX BD ring size for Q[0]: 256
<6>[ 0.474755] fsl-gianfar soc:ethernet@2d10000 eth0: TX BD ring size for Q[1]: 256
<6>[ 0.475350] fsl-gianfar soc:ethernet@2d50000: enabled errata workarounds, flags: 0x4
<6>[ 0.486323] fsl-gianfar soc:ethernet@2d50000 eth1: mac: 72:df:f6:8f:1e:94
<6>[ 0.486333] fsl-gianfar soc:ethernet@2d50000 eth1: Running with NAPI enabled
<6>[ 0.486339] fsl-gianfar soc:ethernet@2d50000 eth1: RX BD ring size for Q[0]: 256
<6>[ 0.486347] fsl-gianfar soc:ethernet@2d50000 eth1: RX BD ring size for Q[1]: 256
<6>[ 0.486355] fsl-gianfar soc:ethernet@2d50000 eth1: TX BD ring size for Q[0]: 256
<6>[ 0.486362] fsl-gianfar soc:ethernet@2d50000 eth1: TX BD ring size for Q[1]: 256
<6>[ 0.487885] fsl-gianfar soc:ethernet@2d90000: enabled errata workarounds, flags: 0x4
<6>[ 0.498893] fsl-gianfar soc:ethernet@2d90000 eth2: mac: ce:b2:95:59:53:f4
<6>[ 0.498904] fsl-gianfar soc:ethernet@2d90000 eth2: Running with NAPI enabled
<6>[ 0.498910] fsl-gianfar soc:ethernet@2d90000 eth2: RX BD ring size for Q[0]: 256
<6>[ 0.498918] fsl-gianfar soc:ethernet@2d90000 eth2: RX BD ring size for Q[1]: 256
<6>[ 0.498925] fsl-gianfar soc:ethernet@2d90000 eth2: TX BD ring size for Q[0]: 256
<6>[ 0.498933] fsl-gianfar soc:ethernet@2d90000 eth2: TX BD ring size for Q[1]: 256
root@ls1021atsn:~# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: can0: <NOARP,ECHO> mtu 16 qdisc noop state DOWN mode DEFAULT group default qlen 10
link/can
3: can1: <NOARP,ECHO> mtu 16 qdisc noop state DOWN mode DEFAULT group default qlen 10
link/can
4: can2: <NOARP,ECHO> mtu 16 qdisc noop state DOWN mode DEFAULT group default qlen 10
link/can
5: can3: <NOARP,ECHO> mtu 16 qdisc noop state DOWN mode DEFAULT group default qlen 10
link/can
6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 10
link/ether b2:81:62:f2:95:bf brd ff:ff:ff:ff:ff:ff
7: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default ql0
link/ether 72:df:f6:8f:1e:94 brd ff:ff:ff:ff:ff:ff
8: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether ce:b2:95:59:53:f4 brd ff:ff:ff:ff:ff:ff
9: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/sit 0.0.0.0 brd 0.0.0.0
root@ls1021atsn:/proc# ethtool eth3
netlink error: no device matches name (offset 24)
netlink error: No such device
netlink error: no device matches name (offset 24)
netlink error: No such device
netlink error: no device matches name (offset 24)
netlink error: No such device
netlink error: no device matches name (offset 24)
netlink error: No such device
netlink error: no device matches name (offset 24)
netlink error: No such device
No data available
root@ls1021atsn:/proc# ethtool eth4
netlink error: no device matches name (offset 24)
netlink error: No such device
netlink error: no device matches name (offset 24)
netlink error: No such device
netlink error: no device matches name (offset 24)
netlink error: No such device
netlink error: no device matches name (offset 24)
netlink error: No such device
netlink error: no device matches name (offset 24)
netlink error: No such device
No data available
root@ls1021atsn:/proc# ethtool eth5
netlink error: no device matches name (offset 24)
netlink error: No such device
netlink error: no device matches name (offset 24)
netlink error: No such device
netlink error: no device matches name (offset 24)
netlink error: No such device
netlink error: no device matches name (offset 24)
netlink error: No such device
netlink error: no device matches name (offset 24)
Dear NXP team,
Thank you for the quick response.
Yes, please address this issue promptly.
Additionally, please note that the test was conducted using the kernel image shared here.
Thank you
BR
OK, thanks.
Dear NXP team,
As mentioned above, I have confirmed the sja1105 driver probe using the image you shared.
However, it appears that there is an issue with the network interface as shown below.
Please check the uploaded kernel driver. It seems that the network interface does not support queue settings.
------------------------------------------------------------------------------------------------
root@ls1021atsn:/# dmesg | grep eth0
[ 0.480985] fsl-gianfar soc:ethernet@2d10000 eth0: mac: 76:45:17:06:c5:21
[ 0.480998] fsl-gianfar soc:ethernet@2d10000 eth0: Running with NAPI enabled
[ 0.481005] fsl-gianfar soc:ethernet@2d10000 eth0: RX BD ring size for Q[0]: 256
[ 0.481013] fsl-gianfar soc:ethernet@2d10000 eth0: RX BD ring size for Q[1]: 256
[ 0.481020] fsl-gianfar soc:ethernet@2d10000 eth0: TX BD ring size for Q[0]: 256
[ 0.481027] fsl-gianfar soc:ethernet@2d10000 eth0: TX BD ring size for Q[1]: 256
root@ls1021atsn:/# ethtool -i eth0
driver: gfar-enet
version: 5.15.52-rt47+g0efe9e9618a8
firmware-version:
expansion-rom-version:
bus-info:
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
root@ls1021atsn:/# ethtool -i eth0
driver: gfar-enet
version: 5.15.52-rt47+g0efe9e9618a8
firmware-version:
expansion-rom-version:
bus-info:
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
root@ls1021atsn:/# ethtool -li eth0
ethtool: bad command line argument(s)
For more information run ethtool -h
root@ls1021atsn:/# ethtool -li eth0
ethtool: bad command line argument(s)
For more information run ethtool -h
root@ls1021atsn:/# ethtool -l eth0
netlink error: Operation not supported
root@ls1021atsn:/#
Thank you
BR
We have received your other tickets to address this problem.
We will support you in other ticket.
Dear NXP team,
I have initially confirmed the sja1105 driver probe with the provided image.
However, one of the boards is not booting. When connected to MINICOM, nothing appears.
Are there any additional checks I should perform for this board?
Thank you
BR
----------------------------------------------------------
root@ls1021atsn:/# dmesg | grep sja1105
[ 0.449441] SPI driver sja1105 has no spi_device_id for nxp,sja1105e
[ 0.449452] SPI driver sja1105 has no spi_device_id for nxp,sja1105t
[ 0.449457] SPI driver sja1105 has no spi_device_id for nxp,sja1105p
[ 0.449460] SPI driver sja1105 has no spi_device_id for nxp,sja1105q
[ 0.449464] SPI driver sja1105 has no spi_device_id for nxp,sja1105r
[ 0.449467] SPI driver sja1105 has no spi_device_id for nxp,sja1105s
[ 0.449471] SPI driver sja1105 has no spi_device_id for nxp,sja1110a
[ 0.449474] SPI driver sja1105 has no spi_device_id for nxp,sja1110b
[ 0.449478] SPI driver sja1105 has no spi_device_id for nxp,sja1110c
[ 0.449482] SPI driver sja1105 has no spi_device_id for nxp,sja1110d
[ 0.449878] sja1105 spi0.1: Probed switch chip: SJA1105T
[ 0.449931] sja1105 spi0.1: Port 4 interpreting RGMII delay settings based on "phy-mode" property, p"
[ 0.601315] sja1105 spi0.1: Probed switch chip: SJA1105T
[ 0.601368] sja1105 spi0.1: Port 4 interpreting RGMII delay settings based on "phy-mode" property, p"
[ 0.618414] sja1105 spi0.1: configuring for fixed/rgmii link mode
[ 0.619369] sja1105 spi0.1 swp5 (uninitialized): PHY [mdio@2d24000:06] driver [Broadcom BCM5464] (ir)
[ 0.621989] sja1105 spi0.1 swp2 (uninitialized): PHY [mdio@2d24000:03] driver [Broadcom BCM5464] (ir)
[ 0.624047] sja1105 spi0.1: Link is Up - 1Gbps/Full - flow control off
[ 0.625058] sja1105 spi0.1 swp3 (uninitialized): PHY [mdio@2d24000:04] driver [Broadcom BCM5464] (ir)
[ 0.627435] sja1105 spi0.1 swp4 (uninitialized): PHY [mdio@2d24000:05] driver [Broadcom BCM5464] (ir)
root@ls1021atsn:/# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: can0: <NOARP,ECHO> mtu 16 qdisc noop state DOWN mode DEFAULT group default qlen 10
link/can
3: can1: <NOARP,ECHO> mtu 16 qdisc noop state DOWN mode DEFAULT group default qlen 10
link/can
4: can2: <NOARP,ECHO> mtu 16 qdisc noop state DOWN mode DEFAULT group default qlen 10
link/can
5: can3: <NOARP,ECHO> mtu 16 qdisc noop state DOWN mode DEFAULT group default qlen 10
link/can
6: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether f6:b9:ef:49:e1:9e brd ff:ff:ff:ff:ff:ff
7: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 3a:1a:60:22:d2:e9 brd ff:ff:ff:ff:ff:ff
8: eth2: <BROADCAST,MULTICAST> mtu 1504 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 4e:2f:4e:3b:d7:a9 brd ff:ff:ff:ff:ff:ff
9: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/sit 0.0.0.0 brd 0.0.0.0
10: swp5@eth2: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN mode DEFAULT group default q0
link/ether 4e:2f:4e:3b:d7:a9 brd ff:ff:ff:ff:ff:ff
11: swp2@eth2: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN mode DEFAULT group default q0
link/ether 4e:2f:4e:3b:d7:a9 brd ff:ff:ff:ff:ff:ff
12: swp3@eth2: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN mode DEFAULT group default q0
link/ether 4e:2f:4e:3b:d7:a9 brd ff:ff:ff:ff:ff:ff
13: swp4@eth2: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN mode DEFAULT group default q0
link/ether 4e:2f:4e:3b:d7:a9 brd ff:ff:ff:ff:ff:ff
On your problem target board, you could use the original SD pre-built image to do verification.
It should not related with uImage which I provided.
Dear NXP team,
Thank you for update.
First, Are you saying that the runtime change refers to replacing the uImage-5.15.52-rt47+g0efe9e9618a8 image below?
Second, are you suggesting that I should change the boot uImage in the SD card area shared above?
Finally, in both cases, do I need to change the file name?
Thank you
BR
You only need to replace uImage in the SD card area shared above, then reboot the system.
Dear NXP team,
Thank you for the image update.
Currently, the boot image looks like the following. Should I replace the uImage below with the image you sent?
If it's possible to flash it at runtime, please also provide a guide for that method.
Thank you
BR
Just replace uImage with the image which I provided.
You could do it at runtime.
Dear NXP team,
Apart from the image request below, I encountered a build error when following the guide you provided.
Upon reviewing the code, it appears that if CONFIG_HAVE_IMX_BUSFREQ is not defined, static functions are called, causing a redefinition error. It seems that CONFIG_HAVE_IMX_BUSFREQ needs to be defined. Please confirm this.
Thank you
BR
------------------------------------------------------------------------------------
45 #if defined(CONFIG_HAVE_IMX_BUSFREQ) && !defined(CONFIG_ARM64)
46 extern struct regulator *arm_reg;
47 extern struct regulator *soc_reg;
48 void request_bus_freq(enum bus_freq_mode mode);
49 void release_bus_freq(enum bus_freq_mode mode);
50 int register_busfreq_notifier(struct notifier_block *nb);
51 int unregister_busfreq_notifier(struct notifier_block *nb);
52 int get_bus_freq_mode(void);
53 #elif defined(CONFIG_HAVE_IMX_BUSFREQ)
54 void request_bus_freq(enum bus_freq_mode mode);
55 void release_bus_freq(enum bus_freq_mode mode);
56 int get_bus_freq_mode(void);
57 #else
58 static inline void request_bus_freq(enum bus_freq_mode mode)
59 {
60 }
61 static inline void release_bus_freq(enum bus_freq_mode mode)
62 {
63 }
64 static inline int register_busfreq_notifier(struct notifier_block *nb)
65 {
66 return 0;
67 }
68 static inline int unregister_busfreq_notifier(struct notifier_block *nb)
69 {
70 return 0;
71 }
------------------------------------------------------------------------
| /home/bonkang/nxp/build-ls1021atsn/tmp/work-shared/ls1021atsn/kernel-source/arch/arm/mach-imx/busfreq-imx.c:183:5: error: redefinition of 'register_busfreq_notifier'
| 183 | int register_busfreq_notifier(struct notifier_block *nb)
| | ^~~~~~~~~~~~~~~~~~~~~~~~~
| In file included from /home/bonkang/nxp/build-ls1021atsn/tmp/work-shared/ls1021atsn/kernel-source/arch/arm/mach-imx/busfreq-imx.c:23:
| /home/bonkang/nxp/build-ls1021atsn/tmp/work-shared/ls1021atsn/kernel-source/include/linux/busfreq-imx.h:64:19: note: previous definition of 'register_busfreq_notifier' with type 'int(struct notifier_block *)'
| 64 | static inline int register_busfreq_notifier(struct notifier_block *nb)
| | ^~~~~~~~~~~~~~~~~~~~~~~~~
| /home/bonkang/nxp/build-ls1021atsn/tmp/work-shared/ls1021atsn/kernel-source/arch/arm/mach-imx/busfreq-imx.c:189:5: error: redefinition of 'unregister_busfreq_notifier'
| 189 | int unregister_busfreq_notifier(struct notifier_block *nb)
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| In file included from /home/bonkang/nxp/build-ls1021atsn/tmp/work-shared/ls1021atsn/kernel-source/arch/arm/mach-imx/busfreq-imx.c:23:
| /home/bonkang/nxp/build-ls1021atsn/tmp/work-shared/ls1021atsn/kernel-source/include/linux/busfreq-imx.h:68:19: note: previous definition of 'unregister_busfreq_notifier' with type 'int(struct notifier_block *)'
| 68 | static inline int unregister_busfreq_notifier(struct notifier_block *nb)
The attached is uImage which I built in real-time-edge 2.4 environment, it includes all Kernel configurations which I mentioned previously.
On your target board, please boot up to Linux and check which SD partition uImage is in, then use the attached image to replace the original one.
Dear NXP team,
Thank you for update.
First of all, I will follow the guide you provided to build the device driver from the given git repository and apply it in the form of modules (sja1105, dsa_core).
However, it is cumbersome to upload the module images to multiple devices, as we are currently booting from a .wic image on an SD card for several devices.
Can you apply the CONFIG_NET_DSA_SJA1105 feature and deliver it as a .wic image?
Thank you
BR
Dear NXT team,
Thank you for reply.
Unfortunately, the provided Real-time_Edge_v2.4_LS1021ATSN does not include the SJA1105 device driver.
We have been guided to use this image.
As you mentioned, please provide a package that includes the SJA1105 device driver.
BR
I downloaded Real-time_Edge_v2.4 and check Linux Kernel source code, NXP SJA1105 Ethernet switch driver is provided, however it is not enabled by default in Kernel configuration file, you need to recompile it.
$ repo init -u https://github.com/nxp-real-time-edge-sw/yocto-real-time-edge.git -b real-time-edge-kirkstone -m real-time-edge-2.4.0.xml
$ repo sync
$ DISTRO=nxp-real-time-edge MACHINE=ls1021atsn source real-time-edge-setup-env.sh -b build-ls1021atsn
$ bitbake virtual/kernel -c configure -f
Go to folder ~/yocto-real-time-edge/build-ls1021atsn/tmp/work/ls1021atsn-fsl-linux-gnueabi/linux-qoriq/5.15.52+gitAUTOINC+0efe9e9618-r0/build
$make ARCH=arm menuconfig
Please configure CONFIG_NET_DSA_SJA1105
Symbol: NET_DSA [=y] x
x Type : tristate x
x Defined at net/dsa/Kconfig:3 x
x Prompt: Distributed Switch Architecture x
x Depends on: NET [=y] && (BRIDGE [=y] || BRIDGE [=y]=n) && (HSR [=n] || HSR [=n]=n) && INET [=y] && N x
x Location: x
x -> Networking support (NET [=y]) x
x (1) -> Networking options x
x Selects: GRO_CELLS [=y] && NET_SWITCHDEV [=y] && PHYLINK [=y] && NET_DEVLINK [=y] x
x Implies: NET_SELFTESTS [=y]
Symbol: NET_DSA_SJA1105 [=y] x
x Type : tristate x
x Defined at drivers/net/dsa/sja1105/Kconfig:2 x
x Prompt: NXP SJA1105 Ethernet switch family support x
x Depends on: NETDEVICES [=y] && NET_DSA [=y] && SPI [=y] && PTP_1588_CLOCK_OPTIONAL [=y] x
x Location: x
x -> Device Drivers x
x -> Network device support (NETDEVICES [=y]) x
x (1) -> Distributed Switch Architecture drivers x
x Selects: NET_DSA_TAG_SJA1105 [=y] && PCS_XPCS [=y] && PACKING [=y] && CRC32 [=y]
Then run the following command to rebuild Linux Kernel uImage
$ bitbake virtual/kernel
The Real-time Edge Linux kernel supports SJA1105 switch using the Distributed Switch Architecture (DSA) framework
The following kernel configuration options are available for controlling its features:
Hardware Clock (PHC), visible in /dev/ptp1 on the LS1021A-TSN board, and for PTP timestamping on the SJA1105 ports