[PATCH net-next 00/10] net: airoha: Support multiple net_devices connected to the same GDM port

Benjamin Larsson benjamin.larsson at genexis.eu
Sun Mar 29 06:40:43 PDT 2026


Hi.

On 29/03/2026 15:07, Lorenzo Bianconi wrote:
 > EN7581 or AN7583 SoCs support connecting multiple external SerDes (e.g.
 > Ethernet or USB SerDes) to GDM3 or GDM4 ports via a hw multiplexer that
 > manages the traffic in a TDM manner.

I think the word for this is arbiter. I think the common use of mux is 
as a more fixed data path selector.

 > As a result multiple net_devices can
 > connect to the same GDM{3,4} port and there is a theoretical "1:n"
 > relation between GDM ports and net_devices.
 >
 >             ┌─────────────────────────────────┐
 >             │                                 │    ┌──────┐
 >             │                         P1 GDM1 ├────►MT7530│
 >             │                                 │    └──────┘
 >             │                                 │      ETH0 (DSA conduit)
 >             │                                 │
 >             │              PSE/FE             │
 >             │                                 │
 >             │                                 │
 >             │                                 │    ┌─────┐
 >             │                         P0 CDM1 ├────►QDMA0│
 >             │  P4                     P9 GDM4 │    └─────┘
 >             └──┬─────────────────────────┬────┘
 >                │                         │
 >             ┌──▼──┐                 ┌────▼────┐
 >             │ PPE │                 │   MUX   │
 >             └─────┘                 └─┬─────┬─┘
 >                                       │     │
 >                                    ┌──▼──┐┌─▼───┐
 >                                    │ ETH ││ USB │
 >                                    └─────┘└─────┘
 >                                     ETH1   ETH2

A more representative picture is like the following and in the GDM2 path 
there is a real mux present(not relevant for this patch series though). 
Thus I think it is important to have the distinction between mux and 
arbiter. (Feel free to reuse the following illustration freely).

                 ┌─────────────────────────────────┐
                 │                                 │    ┌──────┐
    ┌─────────┐  │                         P1 GDM1 ├────►MT7530│
    │   MUX   ├──│ P2 GDM2                         │    └──────┘
    └─┬─────┬─┘  │                                 │      ETH0 (DSA conduit)
      │     │    │                                 │
   ┌──▼──┐┌─▼───┐│              PSE/FE             │
   │ PON ││ PON ││                                 │
   └─────┘└─────┘│                                 │
    ETH5   XPON  │                                 │    ┌─────┐
                 │                         P0 CDM1 ├────►QDMA0│
                 │  P4      P3 GDM3        P9 GDM4 │    └─────┘
                 └──┬──────────┬──────────────┬────┘
                    │          │              │
                 ┌──▼──┐  ┌────▼────┐    ┌────▼────┐
                 │ PPE │  │   ARB   │    │   ARB   │
                 └─────┘  └─┬─────┬─┘    └─┬─────┬─┘
                            │     │        │     │
                         ┌──▼──┐┌─▼───┐ ┌──▼──┐┌─▼───┐
                         │PCIE0││PCIE1│ │ ETH ││ USB │
                         └─────┘└─────┘ └─────┘└─────┘
                           ETH3   ETH4    ETH1   ETH2

MvH
Benjamin Larsson



More information about the Linux-mediatek mailing list