[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230116091637.272923-1-jbrunet@baylibre.com>
Date: Mon, 16 Jan 2023 10:16:34 +0100
From: Jerome Brunet <jbrunet@...libre.com>
To: netdev@...r.kernel.org, "David S. Miller" <davem@...emloft.net>
Cc: Jerome Brunet <jbrunet@...libre.com>,
linux-amlogic@...ts.infradead.org,
Kevin Hilman <khilman@...libre.com>,
Neil Armstrong <neil.armstrong@...aro.org>,
Da Xue <da@...sconfused.com>, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH net-next 0/2] net: mdio: add amlogic gxl mdio mux support
Add support for the MDIO multiplexer found in the Amlogic GXL SoC family.
This multiplexer allows to choose between the external (SoC pins) MDIO bus,
or the internal one leading to the integrated 10/100M PHY.
This multiplexer has been handled with the mdio-mux-mmioreg generic driver
so far. When it was added, it was thought the logic was handled by a
single register.
It turns out more than a single register need to be properly set.
As long as the device is using the Amlogic vendor bootloader, or upstream
u-boot with net support, it is working fine since the kernel is inheriting
the bootloader settings. Without net support in the bootloader, this glue
comes unset in the kernel and only the external path may operate properly.
With this driver (and the associated DT update), the kernel no longer relies
on the bootloader to set things up, fixing the problem.
This has been tested on the aml-s905x-cc (LePotato) for the internal path
and the aml-s912-pc (Tartiflette) for the external path.
Jerome Brunet (2):
dt-bindings: net: add amlogic gxl mdio multiplexer
net: mdio: add amlogic gxl mdio mux support
.../bindings/net/amlogic,gxl-mdio-mux.yaml | 64 +++++++
drivers/net/mdio/Kconfig | 11 ++
drivers/net/mdio/Makefile | 1 +
drivers/net/mdio/mdio-mux-meson-gxl.c | 160 ++++++++++++++++++
4 files changed, 236 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/amlogic,gxl-mdio-mux.yaml
create mode 100644 drivers/net/mdio/mdio-mux-meson-gxl.c
--
2.39.0
Powered by blists - more mailing lists