Re: [RFC PATCH net-next 3/4] net: ti: icssg-prueth: Add support for ICSSG switch firmware on AM654 PG2.0 EVM
From: Roger Quadros <rogerq@kernel.org>
Date: 2023-09-08 07:46:44
Also in:
lkml
On 05/09/2023 11:43, MD Danish Anwar wrote:
On 04/09/23 19:38, Andrew Lunn wrote:quoted
quoted
Switch mode requires loading of new firmware into ICSSG cores. This means interfaces have to taken down and then reconfigured to switch mode using devlink.Can you always run it in switch mode, just not have the ports in a bridge? AndrewNo, we can't always run it in switch mode. Switch mode requires loading of different firmware. The switch firmware only supports switch operations. If the ports are not in a bridge in switch mode, the normal functionalities will not work. We will not be able to send / receive / forward packets in switch mode without bridge. When device is booted up, the dual EMAC firmware is loaded and ICSSG works in dual EMAC mode with both ports doing independent TX / RX. When switch mode is enabled, dual EMAC firmware is unloaded and switch firmware is loaded. The ports become part of the bridge and the two port together acts as a switch.
Since we are loading the switch firmware and the switch logic is in firmware, it means we don't really need Linux help to do basic switching on the external ports. I suppose Andrews question was, can it work as a switch after switching from dual-emac to switch mode and not setting up the Linux bridge. e.g. Looking at your command list
Switch to ICSSG Switch mode: ip link set dev eth1 down ip link set dev eth2 down devlink dev param set platform/icssg2-eth name \ switch_mode value 1 cmode runtime
At this point, can it work as a switch. If not, why?
ip link add name br0 type bridge ip link set dev eth1 master br0 ip link set dev eth2 master br0 ip link set dev br0 up ip link set dev eth1 up ip link set dev eth2 up bridge vlan add dev br0 vid 1 pvid untagged self
-- cheers, -roger