openwrt/target/linux
Sven Eckelmann 3adb820779 realtek: rtl931x: Add SPI_CTRL0 as pinmux
The RTL931x has next to its SPI flash controller a SPI master interface. It
is connected to

* SPI_CS#[1,0]: AH22 , AK22 (aka: GPIO 12, 11)
* SPI_CLK:      AL23 (aka: GPIO 8)
* SPI_MISO:     AM23 (aka: GPIO 9)
* SPI_MOSI:     AL22 (aka: GPIO 10)

It is not the same as the SPI flash controller which uses pins:

* SPI_CS#[1,0]: B24, A24
* SPI_SCLK:     A23
* SPI_SDI/SIO0: B21
* SPO_SDO_SIO1: B21
* SPI_SIO2:     A22
* SPI_SIO3:     B22
* SPI_RSTN:     B23

As shown above, the SPI master controller shares its pin with GPIO 8, 9,
10, 11, 12. In some upcoming devices (like the Plasma Cloud PSX28/ESX28),
they will be used for SFP cage signaling. These pins must therefore be
switched manually to the GPIO mode.

The SPI_CTRL0 register provides all necessary configuration to enforce the
GPIO mode of the pins. And until more requirements (and a correct driver)
for the SPI master controller arise, it is therefore possible to use
pinctrl-single to configure it using the devicetree.

Previously the ethernet driver did configure the SPI master controller for
31.25 MHz. It is unknown for which kind of device this was originally made
and what was actually connected there. But this manual write to the
register conflicts potentially with the write of the pinctrl driver to the
same register. Luckily, we don't need this SPI speed configuration in the
ethernet driver. Still, to allow this device an easy migration, the
`spi0-31mhz` configuration was already prepared.

Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20263
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-10-02 10:30:16 +02:00
..
airoha airoha: fix scuclk node for an7581 2025-09-29 12:05:10 +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 ath79: replace various mtd_get_mac_text 2025-09-30 11:21:18 +02:00
bcm27xx kernel: bump 6.12 to 6.12.49 2025-09-27 12:37:38 +02:00
bcm47xx treewide: strip trailing whitespace 2025-05-20 00:47:37 +02:00
bcm53xx kernel: bump 6.6 to 6.6.103 2025-09-01 02:05:24 +02:00
bcm4908 bcm63xx-cfe: install into image staging dir 2025-04-13 10:44:19 +02:00
bmips treewide: remove of_gpio.h 2025-09-20 12:47:23 +02:00
d1 kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
econet econet: Add basic USB support with Mass Storage 2025-09-18 22:36:28 +02:00
gemini gemini: Add module for VSC73xx switches 2025-09-15 23:12:56 +02:00
generic realtek: backport ECC driver 2025-09-30 11:15:26 +02:00
imx kernel: bump 6.6 to 6.6.103 2025-09-01 02:05:24 +02:00
ipq40xx ipq40xx: mikrotik: generate a RouterBOOT v7 NOR compatible sysupgrade 2025-09-29 17:34:51 +01:00
ipq806x treewide: fix compatible string for ath10k 2025-08-25 10:35:39 +02:00
ixp4xx ixp4xx: Add back Actiontec MI424WR A/C/D 2025-09-26 23:40:40 +02:00
kirkwood kirkwood: add kmod-ata-ahci as default to ix4-200d 2025-07-19 17:58:41 +02:00
lantiq lantiq: use new ADSL nvmem support 2025-09-23 23:24:33 +02:00
layerscape kernel: bump 6.12 to 6.12.43 2025-08-26 21:35:36 +02:00
loongarch64 loongarch64: switch to Linux 6.12 by default 2025-09-09 00:10:31 +02:00
malta malta: drop 6.6 support 2025-07-20 23:37:37 +02:00
mediatek mediatek: fix polarity of user button on openwrt-one 2025-10-02 09:54:32 +02:00
mpc85xx mpc85xx: tl-wdr4900: add back 5ghz LED 2025-08-13 09:57:05 +02:00
mvebu mvebu: use upstream DTS for Ctera C200-V2 2025-09-27 00:39:32 +02:00
mxs mxs: drop 6.6 support 2025-05-24 16:15:53 +02:00
octeon octeon: set kernel 6.12 as default and remove support for 6.6 2025-09-27 20:45:50 +01: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 qualcomax: dts: fix typo "disbled" 2025-09-23 21:52:06 +02:00
qualcommbe kernel: bump 6.12 to 6.12.45 2025-09-07 11:42:46 +02:00
ramips ramips: mikrotik: generate a RouterBOOT v7 NOR compatible sysupgrade 2025-09-29 17:34:51 +01:00
realtek realtek: rtl931x: Add SPI_CTRL0 as pinmux 2025-10-02 10:30:16 +02:00
rockchip rockchip: add missing config symbols 2025-09-23 22:15:52 +02:00
sifiveu kernel: remove duplicate PREEMPT settings 2025-06-08 15:59:55 +02:00
siflower treewide: remove of_gpio.h 2025-09-20 12:47:23 +02:00
starfive kernel: bump 6.12 to 6.12.48 2025-09-21 12:14:36 +02:00
stm32 generic: 6.12: add new config symbols 2025-07-13 15:27:54 +02:00
sunxi sunxi: enable at24 support 2025-09-08 22:35:39 +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: config: add CONFIG_MITIGATION_VMSCAPE=y 2025-09-18 14:01:11 +02:00
zynq zynq: disable unused Vitesse PHY 2025-09-08 14:21:50 +02:00
Makefile linux: fix missing default packages in profiles.json 2024-11-17 19:29:06 +01:00