openwrt/target/linux/realtek/files-6.18
Jonas Jelonek 90c0a37ddc realtek: pcs: switch SerDes polarity to {rx,tx}-polarity
With the recent backport of the common PHY properties infrastructure
(phy-common-props and the phy_get_manual_{rx,tx}_polarity() helpers) to
OpenWrt, the generic `{rx,tx}-polarity` device tree properties are now
usable for the Realtek PCS driver. Switch the driver and all affected
boards from the local vendor-specific `realtek,pnswap-{rx,tx}` booleans
to the common properties.

Add a `config_polarity` SerDes op (implemented by RTL930x and RTL931x;
RTL838x/RTL839x polarity support not yet added) and a generic wrapper
that resolves the requested polarity via phy_get_manual_{rx,tx}_polarity()
and dispatches to the op. Variants without the op silently accept the
default polarity but warn when a non-default polarity is requested,
since that cannot be honored.

Move the polarity programming out of the variant setup_serdes callbacks
into rtpcs_pcs_config, so it runs before setup_serdes. This matches the
ordering used by the vendor SDK, which configures polarity first.

Update all board DTS files that previously used `realtek,pnswap-{rx,tx}`
to the new `{rx,tx}-polarity = <PHY_POL_INVERT>` property, and select
PHY_COMMON_PROPS from Kconfig.

Each SerDes now retains its DT node for later polarity lookup. Use
for_each_child_of_node_scoped for the iterator, and register a
devm_add_action_or_reset for each stored reference so it is released on
unbind or probe failure.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/23044
Signed-off-by: Robert Marko <robimarko@gmail.com>
2026-04-24 10:13:38 +02:00
..
arch/mips treewide: strip trailing whitespace 2026-04-08 10:05:53 +02:00
Documentation/devicetree/bindings/i2c kernel/realtek: create files for v6.18 (from v6.12) 2026-03-29 18:08:20 +02:00
drivers realtek: pcs: switch SerDes polarity to {rx,tx}-polarity 2026-04-24 10:13:38 +02:00
include/dt-bindings/clock kernel/realtek: create files for v6.18 (from v6.12) 2026-03-29 18:08:20 +02:00
net/dsa kernel/realtek: create files for v6.18 (from v6.12) 2026-03-29 18:08:20 +02:00