diff --git a/target/linux/realtek/dts/rtl931x.dtsi b/target/linux/realtek/dts/rtl931x.dtsi index eeda87ef23..d754ebd5a7 100644 --- a/target/linux/realtek/dts/rtl931x.dtsi +++ b/target/linux/realtek/dts/rtl931x.dtsi @@ -296,6 +296,36 @@ }; }; + pinmux@1b00103c { + compatible = "pinctrl-single"; + reg = <0x1b00103c 0x4>; + + pinctrl-single,bit-per-mux; + pinctrl-single,register-width = <32>; + pinctrl-single,function-mask = <0x1>; + #pinctrl-cells = <2>; + + /* 31.25 MHz SPI master clock */ + pinmux_spi0_31mhz: spi0-31mhz { + pinctrl-single,bits = <0x0 0x1800 0x3800>; + }; + + /* Enable GPIO 8, 9, 10 */ + pinmux_disable_spi0: disable-spi0 { + pinctrl-single,bits = <0x0 0x0 0x400>; + }; + + /* Enable GPIO 12 */ + pinmux_disable_spi0_cs1: disable-spi-cs1 { + pinctrl-single,bits = <0x0 0x0 0x200>; + }; + + /* Enable GPIO 11 */ + pinmux_disable_spi0_cs0: disable-spi-cs0 { + pinctrl-single,bits = <0x0 0x0 0x100>; + }; + }; + pinmux@1b001358 { compatible = "pinctrl-single"; reg = <0x1b001358 0x4>; diff --git a/target/linux/realtek/files-6.12/arch/mips/include/asm/mach-rtl838x/mach-rtl83xx.h b/target/linux/realtek/files-6.12/arch/mips/include/asm/mach-rtl838x/mach-rtl83xx.h index 720dc4276f..364b66b73a 100644 --- a/target/linux/realtek/files-6.12/arch/mips/include/asm/mach-rtl838x/mach-rtl83xx.h +++ b/target/linux/realtek/files-6.12/arch/mips/include/asm/mach-rtl838x/mach-rtl83xx.h @@ -105,9 +105,6 @@ #define RTL9300_FAMILY_ID (0x9300) #define RTL9310_FAMILY_ID (0x9310) -/* SPI Support */ -#define RTL931X_SPI_CTRL0 (0x103C) - /* Basic SoC Features */ #define RTL838X_CPU_PORT 28 #define RTL839X_CPU_PORT 52 diff --git a/target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.c b/target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.c index 4b9ea3be68..99422d0d4c 100644 --- a/target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.c +++ b/target/linux/realtek/files-6.12/drivers/net/ethernet/rtl838x_eth.c @@ -1519,9 +1519,6 @@ static int rtl931x_chip_init(struct rtl838x_eth_priv *priv) /* Enable ESD auto recovery */ sw_w32(0x1, RTL931X_MDX_CTRL_RSVD); - /* Init SPI, is this for thermal control or what? */ - sw_w32_mask(0x7 << 11, 0x2 << 11, RTL931X_SPI_CTRL0); - return 0; }