1
0
Fork 0
forked from mirror/openwrt
openwrt/target/linux
Markus Stockhausen a4cbb44c1b 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
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
bcm53xx kernel: bump 6.6 to 6.6.97 2025-07-12 16:47:58 +02:00
bcm4908
bmips kernel: bump 6.12 to 6.12.39 2025-07-19 11:59:56 +02:00
d1
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
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
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
qoriq
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
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
x86 x86: add Minisforum MS-A2 Mini PC 2025-08-10 12:12:05 +02:00
zynq
Makefile