<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Other NXP Products中的主题 Re: SJA1105S linux driver: mode 1 configuration</title>
    <link>https://community.nxp.com/t5/Other-NXP-Products/SJA1105S-linux-driver-mode-1-configuration/m-p/1349006#M12212</link>
    <description>&lt;P&gt;There are at least two problems visible on the surface:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;You created a switch which has only one physical port, and that port &lt;BR /&gt;is a slave port. Your switch has no clue where to forward the traffic. Obviously,&lt;BR /&gt;it cannot respond to your echo requests by itself, nor it can generate them.&lt;BR /&gt;Add the master port to the switch.&lt;/LI&gt;
&lt;LI&gt;You have two Ethernet interfaces on a single host sitting on one IP subnet, 192.168.1.0/24. &lt;BR /&gt;This configuration is not valid and can confuse the kernel IP stack. If you&lt;BR /&gt;looked at &lt;A href="https://github.com/torvalds/linux/blob/v5.10/Documentation/networking/dsa/configuration.rst" target="_self"&gt;this document&lt;/A&gt; carefully, you would have noticed that the examples &lt;BR /&gt;given there assign different ports to different IP subnets.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;BR /&gt;Platon&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 30 Sep 2021 07:55:56 GMT</pubDate>
    <dc:creator>bpe</dc:creator>
    <dc:date>2021-09-30T07:55:56Z</dc:date>
    <item>
      <title>SJA1105S linux driver: mode 1 configuration</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/SJA1105S-linux-driver-mode-1-configuration/m-p/1342788#M12108</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;on a custom board, based on STM32MP1, we want to use the NXP SJA1105S switch together with Linux 5.10. We have already included the corresponding driver via menuconfig as a kernel module. As far as I can see, this driver tries to enable a VLAN-based port configuration(mode 2) at startup. Unfortunately it looks like, that the STM32MP1 mac driver do not support this, because it prints the message "Only single VLAN ID supported" as soon as we load the SJA1105 kernel module. Is it possible to configure the switch for operation mode 1 by Linux?&amp;nbsp;&lt;/P&gt;&lt;P&gt;Further we need to configure the exact tx and rx delays(in ns) for the RGMII interface(MAC-MAC) between the MPU and the switch. How can we archive this? Is there a possibility in the device tree?&lt;/P&gt;</description>
      <pubDate>Wed, 22 Sep 2021 07:03:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/SJA1105S-linux-driver-mode-1-configuration/m-p/1342788#M12108</guid>
      <dc:creator>choll</dc:creator>
      <dc:date>2021-09-22T07:03:52Z</dc:date>
    </item>
    <item>
      <title>Re: SJA1105S linux driver: mode 1 configuration</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/SJA1105S-linux-driver-mode-1-configuration/m-p/1345615#M12156</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;NXP have released several drivers for SJA1105P/Q/R/S, each part of an SDK or BSP&lt;BR /&gt;for a certain reference or development board. These drivers differ in supported&lt;BR /&gt;configurations and the ways they can be adjusted, to meet the specific of the&lt;BR /&gt;board central chip and it's primary applications. Without knowing which &lt;BR /&gt;driver or BSP you are working with, the only suggestion I can give is, consult &lt;BR /&gt;at the documentation of the BSP/SDK you have taken the driver from for supported &lt;BR /&gt;configuration options and methods.&lt;/P&gt;
&lt;P&gt;Regarding RGMII delays, they are adjustable via CFG_PAD_MIIx_ID register&lt;BR /&gt;which is discussed in &lt;A href="https://www.nxp.com/docs/en/supporting-information/AH1704.pdf" target="_self"&gt;SJA1105PQRS Application Hints&lt;/A&gt;, Section 6.1.13.2.&lt;BR /&gt;Again, methods to access this register depend on your driver.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;BR /&gt;Platon&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Sep 2021 06:47:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/SJA1105S-linux-driver-mode-1-configuration/m-p/1345615#M12156</guid>
      <dc:creator>bpe</dc:creator>
      <dc:date>2021-09-24T06:47:55Z</dc:date>
    </item>
    <item>
      <title>Re: SJA1105S linux driver: mode 1 configuration</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/SJA1105S-linux-driver-mode-1-configuration/m-p/1345684#M12158</link>
      <description>&lt;P&gt;Hi Platon,&lt;/P&gt;&lt;P&gt;we use the standard build-in driver of Linux Kernel 5.10.10. This is part of the ST BSP "&lt;SPAN&gt;OpenSTLinux5.10-dunfell-mp1-21-03-31.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Previous documentations that I have consulted:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;A href="https://www.nxp.com/docs/en/user-guide/UM11040.pdf" target="_blank"&gt;https://www.nxp.com/docs/en/user-guide/UM11040.pdf&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;A href="https://www.nxp.com/docs/en/user-manual/AH1704.pdf" target="_blank"&gt;https://www.nxp.com/docs/en/user-manual/AH1704.pdf&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;A href="https://github.com/torvalds/linux/blob/v5.10/Documentation/devicetree/bindings/net/dsa/sja1105.txt" target="_blank"&gt;https://github.com/torvalds/linux/blob/v5.10/Documentation/devicetree/bindings/net/dsa/sja1105.txt&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;A href="https://github.com/torvalds/linux/blob/v5.10/Documentation/networking/dsa/sja1105.rst" target="_blank"&gt;https://github.com/torvalds/linux/blob/v5.10/Documentation/networking/dsa/sja1105.rst&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Unfortunately these documentations do not treat the Linux driver and its functionalities adequately enough for our problem. Again, we need to load the driver without a VLAN-based configuration. Below you can see an example of the current output when the driver is starting.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;80.801160] sja1105 spi2.0: Probed switch chip: SJA1105S&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;80.934971] sja1105 spi2.0: Updating VLAN 1025&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;80.943584] sja1105 spi2.0: Updating VLAN 1025&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;80.952858] sja1105 spi2.0: Updating VLAN 1025&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;80.961709] sja1105 spi2.0: Updating VLAN 1025&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;80.967525] sja1105 spi2.0: Updating VLAN 1025&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;80.977959] stm32-dwmac 5800a000.ethernet eth0: Only single VLAN ID supported&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;80.983877] stm32-dwmac 5800a000.ethernet eth0: Only single VLAN ID supported&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;80.995737] stm32-dwmac 5800a000.ethernet eth0: Only single VLAN ID supported&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;81.004256] stm32-dwmac 5800a000.ethernet eth0: Only single VLAN ID supported&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;81.012844] stm32-dwmac 5800a000.ethernet eth0: Only single VLAN ID supported&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;81.021277] stm32-dwmac 5800a000.ethernet eth0: Only single VLAN ID supported&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;81.030518] sja1105 spi2.0: Updating VLAN 2049&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;81.039485] sja1105 spi2.0: Updating VLAN 2049&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;81.048265] sja1105 spi2.0: Updating VLAN 1026&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;81.057550] sja1105 spi2.0: Updating VLAN 1026&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;81.066966] sja1105 spi2.0: Updating VLAN 1026&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;81.076340] sja1105 spi2.0: Updating VLAN 1026&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;81.085989] sja1105 spi2.0: Updating VLAN 1026&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;81.091785] stm32-dwmac 5800a000.ethernet eth0: Only single VLAN ID supported&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;81.102420] stm32-dwmac 5800a000.ethernet eth0: Only single VLAN ID supported&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;81.110977] stm32-dwmac 5800a000.ethernet eth0: Only single VLAN ID supported&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;81.119447] stm32-dwmac 5800a000.ethernet eth0: Only single VLAN ID supported&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;81.127888] stm32-dwmac 5800a000.ethernet eth0: Only single VLAN ID supported&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;81.136362] stm32-dwmac 5800a000.ethernet eth0: Only single VLAN ID supported&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;81.144868] stm32-dwmac 5800a000.ethernet eth0: Only single VLAN ID supported&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;[&amp;nbsp;&amp;nbsp;81.153432] stm32-dwmac 5800a000.ethernet eth0: Only single VLAN ID supported&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="uiOutputText"&gt;...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;A new approach from us is to load a configuration file via spidev to the switch and do not use the driver.&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;As a starting point we customize the Python script 'examplePQRS.py', found in the&amp;nbsp;&lt;A href="https://www.nxp.com/webapp/Download?colCode=SJA1105X-DEVICE-TOOLS&amp;amp;appType=license" target="_self"&gt;Switch Configuration tool for SJA1105x &lt;/A&gt;, to our needs. Do you know, what the best way is to update the switch with the generated .bin/.hex file? A call of the spidev_test command with -i flag possibly?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Thanks and best regards&lt;/P&gt;</description>
      <pubDate>Fri, 24 Sep 2021 08:06:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/SJA1105S-linux-driver-mode-1-configuration/m-p/1345684#M12158</guid>
      <dc:creator>choll</dc:creator>
      <dc:date>2021-09-24T08:06:19Z</dc:date>
    </item>
    <item>
      <title>Re: SJA1105S linux driver: mode 1 configuration</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/SJA1105S-linux-driver-mode-1-configuration/m-p/1346927#M12188</link>
      <description>&lt;P&gt;The driver you are trying to use is for DSA. Make sure you are familiar with &lt;BR /&gt;&lt;A href="https://github.com/torvalds/linux/blob/v5.10/Documentation/networking/dsa/dsa.rst" target="_self"&gt;the basics&lt;/A&gt; of this kernel subsystem. SJA1105 does not support DSA-specific tags,&lt;BR /&gt;thus it has to use VLAN tagging to allow the rest of DSA code recognize the slave&lt;BR /&gt;port the frame comes from or is to be sent to. The driver implementation details are &lt;BR /&gt;given &lt;A href="https://github.com/torvalds/linux/blob/v5.10/Documentation/networking/dsa/sja1105.rst" target="_self"&gt;in this document&lt;/A&gt;. For the reason explained above, you cannot completely &lt;BR /&gt;disable VLAN tagging. However, VLAN tags utilized by DSA should not be visible &lt;BR /&gt;to the rest of the kernel. If your host network interface driver complains about unexpected or&lt;BR /&gt;unsupported VLAN tags, it may happen because either DSA is not &lt;A href="https://github.com/torvalds/linux/blob/v5.10/net/dsa/Kconfig" target="_self"&gt;fully configured&lt;/A&gt;&lt;BR /&gt;in the kernel or because your host network card driver has certain limitations&lt;BR /&gt;that affect DSA operation. Consult at the driver maintainer for additional information.&lt;/P&gt;
&lt;P&gt;If the task is to configure the SJA1105 as a generic L2 switch with the DSA driver, &lt;BR /&gt;consult at these documents:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://github.com/torvalds/linux/blob/v5.10/Documentation/networking/dsa/configuration.rst" target="_blank" rel="noopener"&gt;https://github.com/torvalds/linux/blob/v5.10/Documentation/networking/dsa/configuration.rst&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://github.com/torvalds/linux/blob/v5.10/Documentation/networking/bridge.rst" target="_blank" rel="noopener"&gt;https://github.com/torvalds/linux/blob/v5.10/Documentation/networking/bridge.rst&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;If you do not want to get into DSA complexities, you can just download the &lt;BR /&gt;switch static configuration at the boot time, which can be done in either &lt;BR /&gt;Linux or the bootloader, whatever is more convenient. If you decide to follow&lt;BR /&gt;this way, disable the DSA driver for SJA1105 completely to avoid unexpected&lt;BR /&gt;interaction. One visible drawback of this approach is, that you will lose Linux&lt;BR /&gt;level control over PHYs connected to the switch because they will not be visible&lt;BR /&gt;to Linux without a driver.&lt;/P&gt;
&lt;P&gt;Hope this helps,&lt;BR /&gt;Platon&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 27 Sep 2021 14:19:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/SJA1105S-linux-driver-mode-1-configuration/m-p/1346927#M12188</guid>
      <dc:creator>bpe</dc:creator>
      <dc:date>2021-09-27T14:19:58Z</dc:date>
    </item>
    <item>
      <title>Re: SJA1105S linux driver: mode 1 configuration</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/SJA1105S-linux-driver-mode-1-configuration/m-p/1348456#M12204</link>
      <description>&lt;P&gt;Hi Platon,&lt;/P&gt;&lt;P&gt;thank you for your answer.&amp;nbsp;For our application, it would be sufficient if the SJA1105 was configured as a generic L2 switch. Because of that, I followed the instructions in&amp;nbsp;&lt;A href="https://github.com/torvalds/linux/blob/v5.10/Documentation/networking/dsa/configuration.rst" target="_self"&gt;this link&amp;nbsp;&lt;/A&gt;already. Below you can see the commands I entered and the subsequent output messages.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;ip link add name br0 type bridge
ip link set dev swp3 master br0
[   94.865191] br0: port 1(swp3) entered blocking state
[   94.877273] br0: port 1(swp3) entered disabled state
[   94.890018] device swp3 entered promiscuous mode
ip addr add 192.168.1.12/24 dev br0
ip link set dev br0 up
[   96.362545] br0: port 1(swp3) entered blocking state
[   96.366159] br0: port 1(swp3) entered forwarding state
[   96.393642] IPv6: ADDRCONF(NETDEV_CHANGE): br0: link becomes ready&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is everything correct up to this point?&amp;nbsp;&lt;/P&gt;&lt;P&gt;Output of ifconfig:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt; ifconfig
br0: flags=4163&amp;lt;UP,BROADCAST,RUNNING,MULTICAST&amp;gt;  mtu 1500  metric 1
        inet 192.168.1.12  netmask 255.255.255.0  broadcast 0.0.0.0
        inet6 fe80::90db:5aff:fed1:1154  prefixlen 64  scopeid 0x20&amp;lt;link&amp;gt;
        ether 92:db:5a:d1:11:54  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 19  bytes 1570 (1.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163&amp;lt;UP,BROADCAST,RUNNING,MULTICAST&amp;gt;  mtu 1504  metric 1
        inet 192.168.1.11  netmask 255.255.255.0  broadcast 192.168.1.255
        ether 2e:64:07:f7:a9:30  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 53  bytes 7668 (7.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 38  base 0x6000  

lo: flags=73&amp;lt;UP,LOOPBACK,RUNNING&amp;gt;  mtu 65536  metric 1
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10&amp;lt;host&amp;gt;
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 80  bytes 6080 (5.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 80  bytes 6080 (5.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

swp3: flags=4163&amp;lt;UP,BROADCAST,RUNNING,MULTICAST&amp;gt;  mtu 1500  metric 1
        inet6 fe80::2c64:7ff:fef7:a930  prefixlen 64  scopeid 0x20&amp;lt;link&amp;gt;
        ether 2e:64:07:f7:a9:30  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 33  bytes 2766 (2.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Unfortunately&amp;nbsp;I still can neither ping 192.168.1.11 nor 192.168.1.12. Maybe there is still something wrong with my device tree?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;amp;ethernet0{
  pinctrl-names = "default", "sleep";
  pinctrl-0 = &amp;lt;&amp;amp;eth1_pins_mx&amp;gt;;
  pinctrl-1 = &amp;lt;&amp;amp;eth1_sleep_pins_mx&amp;gt;;
  status = "okay";

  /* USER CODE BEGIN ethernet0 */
  st,eth-clk-sel;
  phy-connection-type = "rgmii-txid"; 

  fixed-link {
    speed = &amp;lt;1000&amp;gt;;
    full-duplex;
  };

  mdio0 {
    #address-cells = &amp;lt;1&amp;gt;;
    #size-cells = &amp;lt;0&amp;gt;;
    compatible = "snps,dwmac-mdio";

    rgmii_phy5: ethernet-phy@5 {
      compatible = "ethernet-phy-id2000.a284", "ethernet-phy-ieee802.3-c22";
      reg = &amp;lt;5&amp;gt;;
    }; 

    rgmii_phy4: ethernet-phy@4 {
      compatible = "ethernet-phy-id2000.a284", "ethernet-phy-ieee802.3-c22";
      reg = &amp;lt;4&amp;gt;;
    };

    rgmii_phy0: ethernet-phy@0 {
      rx-internal-delay-ps = &amp;lt;2000&amp;gt;;
      tx-internal-delay-ps = &amp;lt;2000&amp;gt;;
      reg = &amp;lt;0&amp;gt;;
    };
  };

....

&amp;amp;spi4{
  pinctrl-names = "default", "sleep";
  pinctrl-0 = &amp;lt;&amp;amp;spi4_pins_mx&amp;gt;;
  pinctrl-1 = &amp;lt;&amp;amp;spi4_sleep_pins_mx&amp;gt;;
  status = "okay";

  /* USER CODE BEGIN spi4 */
  cs-gpios = &amp;lt;&amp;amp;gpiob 12 GPIO_ACTIVE_LOW&amp;gt;,
         &amp;lt;&amp;amp;gpiof 15 GPIO_ACTIVE_LOW&amp;gt;;

  sja1105@0 {
    compatible = "nxp,sja1105s";
    reg = &amp;lt;0&amp;gt;;
    spi-max-frequency = &amp;lt;16000000&amp;gt;;/* max 24 MHz according to the data sheet */

    #address-cells = &amp;lt;1&amp;gt;;
    #size-cells = &amp;lt;0&amp;gt;;
    fsl,spi-cs-sck-delay = &amp;lt;1000&amp;gt;;
    fsl,spi-sck-cs-delay = &amp;lt;1000&amp;gt;;
    spi-cpha;
    status = "okay";

    ports {
      #address-cells = &amp;lt;1&amp;gt;;
      #size-cells = &amp;lt;0&amp;gt;;

      port@0 {
        label = "cpu";
        ethernet = &amp;lt;&amp;amp;ethernet0&amp;gt;;
        phy-mode = "rgmii-rxid"; /* no PCB serpentine traces on the board */
        reg = &amp;lt;0&amp;gt;;

        /* Implicit "sja1105,role-phy;" */
        fixed-link {
          speed = &amp;lt;1000&amp;gt;;
          full-duplex;
        };
      };

      port@1 {
        label = "swp1";
        phy-handle = &amp;lt;&amp;amp;rgmii_phy5&amp;gt;;
        phy-mode = "rgmii-id";
        reg = &amp;lt;1&amp;gt;;

        /* Implicit "sja1105,role-mac;" */
      };

      port@2 {
        label = "swp2";
        phy-handle = &amp;lt;&amp;amp;rgmii_phy4&amp;gt;;
        phy-mode = "rgmii-id";
        reg = &amp;lt;2&amp;gt;;

        /* Implicit "sja1105,role-mac;" */
      };

      port@3 {
        label = "swp3";
        phy-handle = &amp;lt;&amp;amp;rgmii_phy0&amp;gt;;
        phy-mode = "rgmii-rxid";
        reg = &amp;lt;3&amp;gt;; 

        /* Implicit "sja1105,role-mac;" */
      };

      port@4 {
        label = "swp4";
        phy-mode = "rgmii-id";
        sja1105,role-mac;
        reg = &amp;lt;4&amp;gt;;

        fixed-link {
          speed = &amp;lt;1000&amp;gt;;
          full-duplex;
        };

        /* this port is unused!*/
      };
    };
  };

  fram: cy15v102qn@1 {
    compatible = "jedec,spi-nor";
    reg = &amp;lt;1&amp;gt;;
    spi-max-frequency = &amp;lt;32000000&amp;gt;;
    #address-cells = &amp;lt;1&amp;gt;;
    #size-cells = &amp;lt;1&amp;gt;;
    m25p,fast-read;
    status = "okay";
 
    partitions {
      compatible = "fixed-partitions";
      #address-cells = &amp;lt;1&amp;gt;;
      #size-cells = &amp;lt;1&amp;gt;;

      partition@0 {
        label = "spi-fram";
        reg = &amp;lt;0x0 0x40000&amp;gt;;  /* 2 Mbit =&amp;gt; 256k * 8 =&amp;gt; 262144 * 8 */
      };
    };
  };

  /* USER CODE END spi4 */
};&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am thankful for any advice.&lt;/P&gt;</description>
      <pubDate>Wed, 29 Sep 2021 14:34:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/SJA1105S-linux-driver-mode-1-configuration/m-p/1348456#M12204</guid>
      <dc:creator>choll</dc:creator>
      <dc:date>2021-09-29T14:34:58Z</dc:date>
    </item>
    <item>
      <title>Re: SJA1105S linux driver: mode 1 configuration</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/SJA1105S-linux-driver-mode-1-configuration/m-p/1349006#M12212</link>
      <description>&lt;P&gt;There are at least two problems visible on the surface:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;You created a switch which has only one physical port, and that port &lt;BR /&gt;is a slave port. Your switch has no clue where to forward the traffic. Obviously,&lt;BR /&gt;it cannot respond to your echo requests by itself, nor it can generate them.&lt;BR /&gt;Add the master port to the switch.&lt;/LI&gt;
&lt;LI&gt;You have two Ethernet interfaces on a single host sitting on one IP subnet, 192.168.1.0/24. &lt;BR /&gt;This configuration is not valid and can confuse the kernel IP stack. If you&lt;BR /&gt;looked at &lt;A href="https://github.com/torvalds/linux/blob/v5.10/Documentation/networking/dsa/configuration.rst" target="_self"&gt;this document&lt;/A&gt; carefully, you would have noticed that the examples &lt;BR /&gt;given there assign different ports to different IP subnets.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;BR /&gt;Platon&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 30 Sep 2021 07:55:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/SJA1105S-linux-driver-mode-1-configuration/m-p/1349006#M12212</guid>
      <dc:creator>bpe</dc:creator>
      <dc:date>2021-09-30T07:55:56Z</dc:date>
    </item>
    <item>
      <title>Re: SJA1105S linux driver: mode 1 configuration</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/SJA1105S-linux-driver-mode-1-configuration/m-p/1349588#M12227</link>
      <description>&lt;P&gt;Hi Platon,&lt;/P&gt;&lt;P&gt;yes, you are right regarding the different IP subnets. It was a bad example, I am sorry. That should fit better:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;ifconfig
br0: flags=4163&amp;lt;UP,BROADCAST,RUNNING,MULTICAST&amp;gt;  mtu 1500  metric 1
        inet 192.168.1.11  netmask 255.255.255.0  broadcast 0.0.0.0
        inet6 fe80::90db:5aff:fed1:1154  prefixlen 64  scopeid 0x20&amp;lt;link&amp;gt;
        ether 92:db:5a:d1:11:54  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 20  bytes 2068 (2.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163&amp;lt;UP,BROADCAST,RUNNING,MULTICAST&amp;gt;  mtu 1504  metric 1
        inet 192.168.2.11  netmask 255.255.255.0  broadcast 192.168.2.255
        ether 2e:64:07:f7:a9:30  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 44  bytes 5784 (5.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 38  base 0x6000  

lo: flags=73&amp;lt;UP,LOOPBACK,RUNNING&amp;gt;  mtu 65536  metric 1
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10&amp;lt;host&amp;gt;
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 80  bytes 6080 (5.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 80  bytes 6080 (5.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

swp3: flags=4163&amp;lt;UP,BROADCAST,RUNNING,MULTICAST&amp;gt;  mtu 1500  metric 1
        inet6 fe80::2c64:7ff:fef7:a930  prefixlen 64  scopeid 0x20&amp;lt;link&amp;gt;
        ether 2e:64:07:f7:a9:30  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 32  bytes 3124 (3.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Following the &lt;A href="https://github.com/torvalds/linux/blob/v5.10/Documentation/networking/dsa/configuration.rst" target="_self"&gt;example&lt;/A&gt;, I still have to add eth0 to the switch as a master port, using a VLAN.&amp;nbsp;But as soon as I insert the corresponding command, I get the following error messages:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;ip link add link eth0 name eth0.1 type vlan id 1
[  786.048015] 8021q: 802.1Q VLAN Support v1.8
[  786.051006] 8021q: adding VLAN 0 to HW filter on device eth0
[  786.060444] stm32-dwmac 5800a000.ethernet eth0: Adding VLAN in promisc mode not supported
[  786.074229] stm32-dwmac 5800a000.ethernet eth0: Adding VLAN in promisc mode not supported
RTNETLINK answers: Operation not permitted&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It seems so, that the Ethernet-MAC driver does not support adding VLANs. So my question still is, if is there a way to put the switch into working operation without using any VLANs?&lt;/P&gt;&lt;P&gt;Best regards and have a nice weekend&lt;/P&gt;&lt;P&gt;choll&lt;/P&gt;</description>
      <pubDate>Fri, 01 Oct 2021 13:46:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/SJA1105S-linux-driver-mode-1-configuration/m-p/1349588#M12227</guid>
      <dc:creator>choll</dc:creator>
      <dc:date>2021-10-01T13:46:01Z</dc:date>
    </item>
    <item>
      <title>Re: SJA1105S linux driver: mode 1 configuration</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/SJA1105S-linux-driver-mode-1-configuration/m-p/1350041#M12237</link>
      <description>&lt;P&gt;Hi Platon,&lt;/P&gt;&lt;P&gt;yes you are right, regarding the same subnet. I am sorry, it was my fault. Here you can see my corrected IP config:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt; ifconfig
br0: flags=4099&amp;lt;UP,BROADCAST,MULTICAST&amp;gt;  mtu 1500  metric 1
        inet 192.168.2.11  netmask 255.255.255.0  broadcast 0.0.0.0
        ether 5a:6a:ee:19:ef:49  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163&amp;lt;UP,BROADCAST,RUNNING,MULTICAST&amp;gt;  mtu 1504  metric 1
        inet 192.168.1.11  netmask 255.255.255.0  broadcast 192.168.1.255
        ether ee:ae:9f:b5:52:24  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 32  bytes 4600 (4.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 38  base 0x6000  

lo: flags=73&amp;lt;UP,LOOPBACK,RUNNING&amp;gt;  mtu 65536  metric 1
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10&amp;lt;host&amp;gt;
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 80  bytes 6080 (5.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 80  bytes 6080 (5.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

port3: flags=4163&amp;lt;UP,BROADCAST,RUNNING,MULTICAST&amp;gt;  mtu 1500  metric 1
        inet 192.169.3.11  netmask 255.255.255.0  broadcast 0.0.0.0
        inet6 fe80::ecae:9fff:feb5:5224  prefixlen 64  scopeid 0x20&amp;lt;link&amp;gt;
        ether ee:ae:9f:b5:52:24  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 20  bytes 1988 (1.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0&lt;/LI-CODE&gt;&lt;P&gt;Do we even need to assign an IP address to eth0, br0 and port3 in order to bring the switch into an operational state? Remember, we need only the L2 features of the switch.&lt;/P&gt;&lt;P&gt;Regarding your first comment: unfortunately we can not add eth0 directly to the bridge.&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;ip link set dev eth0 master br0
[  690.518942] br0: port 1(eth0) entered blocking state
[  690.523117] br0: port 1(eth0) entered disabled state
[  690.540760] stm32-dwmac 5800a000.ethernet eth0: Adding VLAN in promisc mode not supported
[  690.561127] stm32-dwmac 5800a000.ethernet eth0: failed to initialize vlan filtering on this port
RTNETLINK answers: Operation not permitted&lt;/LI-CODE&gt;&lt;P&gt;Following the &lt;A href="https://github.com/torvalds/linux/blob/v5.10/Documentation/networking/dsa/configuration.rst" target="_self"&gt;link&lt;/A&gt;, I have to create a VLAN for eth0 first. But if I insert the corresponding command, I get an error message too:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt; ip link add link eth0 name eth0.1 type vlan id 1
[ 1010.345817] stm32-dwmac 5800a000.ethernet eth0: Adding VLAN in promisc mode not supported
RTNETLINK answers: Operation not permitted&lt;/LI-CODE&gt;&lt;P&gt;It seems so, that the Ethernet-MAC driver does not permit adding VLANs to eth0. So I ask the question of my first post again, is it possible to use the DSA driver without adding any VLAN settings in the Linux shell?&lt;/P&gt;&lt;P&gt;Thank you and best regards&lt;/P&gt;&lt;P&gt;choll&lt;/P&gt;</description>
      <pubDate>Mon, 04 Oct 2021 12:57:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/SJA1105S-linux-driver-mode-1-configuration/m-p/1350041#M12237</guid>
      <dc:creator>choll</dc:creator>
      <dc:date>2021-10-04T12:57:59Z</dc:date>
    </item>
    <item>
      <title>Re: SJA1105S linux driver: mode 1 configuration</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/SJA1105S-linux-driver-mode-1-configuration/m-p/1356270#M12331</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;The cause of the problems was an incompatibility between the SJA1105 DSA driver and the MAC driver from ST.&amp;nbsp;We are now using &lt;A href="https://source.codeaurora.org/external/autoivnsw/sja1105x_linux_switchdev/" target="_self"&gt;this&lt;/A&gt;&amp;nbsp;a bit older driver and were able to put the switch into operation.&lt;/P&gt;&lt;P&gt;Thank you and best regards&lt;/P&gt;&lt;P&gt;choll&lt;/P&gt;</description>
      <pubDate>Fri, 15 Oct 2021 07:31:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/SJA1105S-linux-driver-mode-1-configuration/m-p/1356270#M12331</guid>
      <dc:creator>choll</dc:creator>
      <dc:date>2021-10-15T07:31:08Z</dc:date>
    </item>
  </channel>
</rss>

