Thread (15 messages) 15 messages, 3 authors, 2026-03-30

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

From: Lorenzo Bianconi <lorenzo@kernel.org>
Date: 2026-03-30 08:07:49
Also in: linux-arm-kernel, linux-devicetree, linux-mediatek

Hi.
Hi Ben,
On 29/03/2026 15:07, Lorenzo Bianconi wrote:
quoted
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.

ack, I will fix it in v2.

Regards,
Lorenzo
quoted
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

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help