openwrt/target/linux
Markus Stockhausen a4cbb44c1b
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
realtek: convert access to RTL931x analog serdes pages
The RTL931x has 14 frontend and at least 26 backend serdes. Currently
the programming functions always need to determine the right backend
serdes from the given frontend serdes on their own.

We plan to provide a consistent serdes mapping to all callers as follows

Frontend SerDes  |  0  1  2  3  4  5  6  7  8  9 10 11 12 13
-----------------+------------------------------------------
Backend SerDes 1 |  0  1  2  3  6  7 10 11 14 15 18 19 22 23
Backend SerDes 2 |  0  1  2  4  6  8 10 12 14 16 18 20 22 24
Backend SerDes 3 |  0  1  2  5  6  9 10 13 14 17 18 21 22 25

frontend page               "even" frontend SerDes     "odd" frontend SerDes
page 0x000-0x03f (analog):  page 0x000-0x03f back SDS  page 0x000-0x03f back SDS
page 0x100-0x13f (XSGMII1): page 0x000-0x03f back SDS  page 0x000-0x03f back SDS+1
page 0x200-0x23f (XSGMII2): page 0x000-0x03f back SDS  page 0x000-0x03f back SDS+2

As a first micro step provide some helpers that simply operate on
frontend serdes and will determine the backend serdes on their own.

So rtmdio_931x_read_sds_phy() and rtmdio_931x_write_sds_phy() operate
on backend serdes. While rtmdio_931x_read_sds_phy_**new**() and
rtmdio_931x_write_sds_phy_**new**() operate on frontend serdes.

This is only an intermediate naming convention and will be cleanup
afterwards.

In a first step make use of these new functions whenever we
want to access the analog page. As the pages stay unchanged
in the new functions conversion is as simple as this:

Old:
asds = rtl931x_get_analog_sds(...)
rtmdio_931x_read_sds_phy(asds, ...)

New:
rtmdio_931x_read_sds_phy_new(sds, ...)

Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19818
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-08-25 13:44:43 +02:00
..
airoha kernel: bump 6.6 to 6.6.98 2025-07-16 09:40:36 +02:00
apm821xx apm821xx: sata: refresh config 2025-07-27 18:22:31 +02:00
armsr armsr: Make kernel modules depend on target 2025-07-26 01:11:21 +02:00
at91 treewide: strip trailing whitespace 2025-05-20 00:47:37 +02:00
ath79 treewide: fix compatible string for ath10k 2025-08-25 10:35:39 +02:00
bcm27xx bcm27xx: Make kernel modules depend on target 2025-07-26 01:11:21 +02:00
bcm47xx treewide: strip trailing whitespace 2025-05-20 00:47:37 +02:00
bcm53xx kernel: bump 6.6 to 6.6.97 2025-07-12 16:47:58 +02:00
bcm4908 bcm63xx-cfe: install into image staging dir 2025-04-13 10:44:19 +02:00
bmips kernel: bump 6.12 to 6.12.39 2025-07-19 11:59:56 +02:00
d1 kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
gemini gemini: Remove kmod-md-multipath dependency 2025-07-27 01:35:36 +02:00
generic kernel: Remove patch for fixed bug 2025-08-23 20:35:49 +02:00
imx generic: 6.12: add new config symbols 2025-07-13 15:27:54 +02:00
ipq40xx treewide: fix compatible string for ath10k 2025-08-25 10:35:39 +02:00
ipq806x treewide: fix compatible string for ath10k 2025-08-25 10:35:39 +02:00
ixp4xx ixp4xx: Switch to kernel v6.12 2025-06-03 01:45:40 +02:00
kirkwood kirkwood: add kmod-ata-ahci as default to ix4-200d 2025-07-19 17:58:41 +02:00
lantiq lantiq: replace patches with upstream version 2025-08-07 13:36:49 +02:00
layerscape layerscape: add 6.12 testing kernel 2025-08-17 19:00:58 +02:00
loongarch64 loongarch64: add 6.12 as testing kernel 2025-07-12 23:17:00 +02:00
malta malta: drop 6.6 support 2025-07-20 23:37:37 +02:00
mediatek mediatek: remove the aquantia kmod from filogic mediatek platforms 2025-08-24 19:52:34 +02:00
mpc85xx mpc85xx: tl-wdr4900: add back 5ghz LED 2025-08-13 09:57:05 +02:00
mvebu mvebu: switch to kernel 6.12 2025-08-04 22:57:18 +02:00
mxs mxs: drop 6.6 support 2025-05-24 16:15:53 +02:00
octeon octeon: ubnt-*: Add device specific DTS pruning 2025-07-09 10:39:29 +02:00
omap omap: enable 6.12 testing kernel 2025-08-22 20:18:16 +02:00
pistachio kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
qoriq kernel: Activate CONFIG_NET_SWITCHDEV in generic config 2025-03-15 13:54:59 +01:00
qualcommax qualcommax: ipq6018 rework nss_port5 clock to multiple conf 2025-08-11 20:37:17 +02:00
qualcommbe kernel: Reorder kernel configuration 2025-07-26 01:11:21 +02:00
ramips images: move append-teltonika-metadata to image-commands.mk 2025-08-24 17:52:25 +02:00
realtek realtek: convert access to RTL931x analog serdes pages 2025-08-25 13:44:43 +02:00
rockchip rockchip: Add Realtek RTL8821CU support for the Radxa ROCK Pi E v3 2025-08-01 15:52:26 +03:00
sifiveu kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
siflower siflower: sf21: fix usb_vbus for Bananapi BPI-RV2 2025-08-10 21:51:17 +02:00
starfive kernel: bump 6.12 to 6.12.36 2025-07-12 16:47:58 +02:00
stm32 generic: 6.12: add new config symbols 2025-07-13 15:27:54 +02:00
sunxi sunxi: enable ramdisk feature 2025-08-11 23:06:24 +02:00
tegra tegra: add 6.12 as testing kernel 2025-07-13 00:49:37 +02:00
uml kernel: bump 6.12 to 6.12.33 2025-06-12 12:42:15 +02:00
x86 x86: add Minisforum MS-A2 Mini PC 2025-08-10 12:12:05 +02:00
zynq kernel: filter out compiler opts from config 2024-11-17 14:55:16 +01:00
Makefile linux: fix missing default packages in profiles.json 2024-11-17 19:29:06 +01:00