diff --git a/target/linux/realtek/patches-6.18/023-02-v7.0-gpio-realtek-otto-add-rtl9607-support.patch b/target/linux/realtek/patches-6.18/023-02-v7.0-gpio-realtek-otto-add-rtl9607-support.patch index bc60d881a7..028f03ca7f 100644 --- a/target/linux/realtek/patches-6.18/023-02-v7.0-gpio-realtek-otto-add-rtl9607-support.patch +++ b/target/linux/realtek/patches-6.18/023-02-v7.0-gpio-realtek-otto-add-rtl9607-support.patch @@ -16,7 +16,7 @@ Signed-off-by: Bartosz Golaszewski --- a/drivers/gpio/gpio-realtek-otto.c +++ b/drivers/gpio/gpio-realtek-otto.c -@@ -350,6 +350,10 @@ static const struct of_device_id realtek +@@ -351,6 +351,10 @@ static const struct of_device_id realtek { .compatible = "realtek,rtl9310-gpio", }, diff --git a/target/linux/realtek/patches-6.18/024-02-v7.1-net-phy-realtek-add-RTL8224-pair-order-support.patch b/target/linux/realtek/patches-6.18/024-02-v7.1-net-phy-realtek-add-RTL8224-pair-order-support.patch index 63e8512b16..dd79064599 100644 --- a/target/linux/realtek/patches-6.18/024-02-v7.1-net-phy-realtek-add-RTL8224-pair-order-support.patch +++ b/target/linux/realtek/patches-6.18/024-02-v7.1-net-phy-realtek-add-RTL8224-pair-order-support.patch @@ -37,7 +37,15 @@ Signed-off-by: Jakub Kicinski --- a/drivers/net/phy/realtek/realtek_main.c +++ b/drivers/net/phy/realtek/realtek_main.c -@@ -175,6 +175,8 @@ +@@ -19,6 +19,7 @@ + #include + #include + ++#include "../phylib.h" + #include "realtek.h" + + #define RTL8201F_IER 0x13 +@@ -175,6 +176,8 @@ #define RTL8221B_PHYCR1_ALDPS_XTAL_OFF_EN BIT(12) #define RTL8221B_PHYCR1_PHYAD_0_EN BIT(13) @@ -46,7 +54,7 @@ Signed-off-by: Jakub Kicinski #define RTL8366RB_POWER_SAVE 0x15 #define RTL8366RB_POWER_SAVE_ON BIT(12) -@@ -1865,6 +1867,66 @@ static int rtl8224_cable_test_get_status +@@ -1865,6 +1868,66 @@ static int rtl8224_cable_test_get_status return rtl8224_cable_test_report(phydev, finished); } @@ -113,7 +121,7 @@ Signed-off-by: Jakub Kicinski static bool rtlgen_supports_2_5gbps(struct phy_device *phydev) { int val; -@@ -2466,6 +2528,8 @@ static struct phy_driver realtek_drvs[] +@@ -2466,6 +2529,8 @@ static struct phy_driver realtek_drvs[] PHY_ID_MATCH_EXACT(0x001ccad0), .name = "RTL8224 2.5Gbps PHY", .flags = PHY_POLL_CABLE_TEST, diff --git a/target/linux/realtek/patches-6.18/024-04-v7.1-net-phy-realtek-add-RTL8224-polarity-support.patch b/target/linux/realtek/patches-6.18/024-04-v7.1-net-phy-realtek-add-RTL8224-polarity-support.patch index df69c6515d..2c9ac752a0 100644 --- a/target/linux/realtek/patches-6.18/024-04-v7.1-net-phy-realtek-add-RTL8224-polarity-support.patch +++ b/target/linux/realtek/patches-6.18/024-04-v7.1-net-phy-realtek-add-RTL8224-polarity-support.patch @@ -24,7 +24,7 @@ Signed-off-by: Jakub Kicinski --- a/drivers/net/phy/realtek/realtek_main.c +++ b/drivers/net/phy/realtek/realtek_main.c -@@ -176,6 +176,7 @@ +@@ -177,6 +177,7 @@ #define RTL8221B_PHYCR1_PHYAD_0_EN BIT(13) #define RTL8224_VND1_MDI_PAIR_SWAP 0xa90 @@ -32,7 +32,7 @@ Signed-off-by: Jakub Kicinski #define RTL8366RB_POWER_SAVE 0x15 #define RTL8366RB_POWER_SAVE_ON BIT(12) -@@ -1915,9 +1916,40 @@ static int rtl8224_mdi_config_order(stru +@@ -1916,9 +1917,40 @@ static int rtl8224_mdi_config_order(stru order ? BIT(port_offset) : 0); } diff --git a/target/linux/realtek/patches-6.18/300-mips-add-rtl838x-platform.patch b/target/linux/realtek/patches-6.18/300-mips-add-rtl838x-platform.patch index c0ebb3184f..7115255fba 100644 --- a/target/linux/realtek/patches-6.18/300-mips-add-rtl838x-platform.patch +++ b/target/linux/realtek/patches-6.18/300-mips-add-rtl838x-platform.patch @@ -11,7 +11,7 @@ Submitted-by: Birger Koblitz --- --- a/arch/mips/Kbuild.platforms +++ b/arch/mips/Kbuild.platforms -@@ -22,6 +22,7 @@ platform-$(CONFIG_MACH_NINTENDO64) += n6 +@@ -23,6 +23,7 @@ platform-$(CONFIG_MACH_NINTENDO64) += n6 platform-$(CONFIG_PIC32MZDA) += pic32/ platform-$(CONFIG_RALINK) += ralink/ platform-$(CONFIG_MIKROTIK_RB532) += rb532/ @@ -21,7 +21,7 @@ Submitted-by: Birger Koblitz platform-$(CONFIG_SGI_IP28) += sgi-ip22/ --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -651,23 +651,24 @@ config RALINK +@@ -696,23 +696,24 @@ config RALINK config MACH_REALTEK_RTL bool "Realtek RTL838x/RTL839x based machines" @@ -52,7 +52,7 @@ Submitted-by: Birger Koblitz config SGI_IP22 bool "SGI IP22 (Indy/Indigo2)" -@@ -1011,6 +1012,36 @@ config FIT_IMAGE_FDT_EPM5 +@@ -1056,6 +1057,36 @@ config FIT_IMAGE_FDT_EPM5 from Mobileye in the FIT kernel image. This requires u-boot on the platform. diff --git a/target/linux/realtek/patches-6.18/308-tune-switch-4kec.patch b/target/linux/realtek/patches-6.18/308-tune-switch-4kec.patch index 87cd76d462..f8cc4d7240 100644 --- a/target/linux/realtek/patches-6.18/308-tune-switch-4kec.patch +++ b/target/linux/realtek/patches-6.18/308-tune-switch-4kec.patch @@ -10,7 +10,7 @@ Signed-off-by: Markus Stockhausen --- a/arch/mips/Makefile +++ b/arch/mips/Makefile -@@ -164,6 +164,11 @@ cflags-$(CONFIG_CPU_R4X00) += $(call cc- +@@ -160,6 +160,11 @@ cflags-$(CONFIG_CPU_R4X00) += $(call cc- cflags-$(CONFIG_CPU_TX49XX) += $(call cc-option,-march=r4600,-march=mips3) -Wa,--trap cflags-$(CONFIG_CPU_MIPS32_R1) += -march=mips32 -Wa,--trap cflags-$(CONFIG_CPU_MIPS32_R2) += -march=mips32r2 -mtune=34kc -Wa,--trap diff --git a/target/linux/realtek/patches-6.18/314-irqchip-irq-realtek-rtl-add-VPE-support.patch b/target/linux/realtek/patches-6.18/314-irqchip-irq-realtek-rtl-add-VPE-support.patch index 4610ca8c19..5d85f2ce2a 100644 --- a/target/linux/realtek/patches-6.18/314-irqchip-irq-realtek-rtl-add-VPE-support.patch +++ b/target/linux/realtek/patches-6.18/314-irqchip-irq-realtek-rtl-add-VPE-support.patch @@ -129,7 +129,7 @@ Signed-off-by: Markus Stockhausen raw_spin_unlock_irqrestore(&irq_lock, flags); } -@@ -65,110 +118,259 @@ static void realtek_ictl_unmask_irq(stru +@@ -65,110 +118,261 @@ static void realtek_ictl_unmask_irq(stru static void realtek_ictl_mask_irq(struct irq_data *i) { unsigned long flags; @@ -148,7 +148,8 @@ Signed-off-by: Markus Stockhausen } +static int __maybe_unused realtek_ictl_irq_affinity(struct irq_data *i, -+ const struct cpumask *dest, bool force) ++ const struct cpumask *dest, ++ bool force) +{ + struct realtek_ictl_output *output = i->domain->host_data; + cpumask_t cpu_configure; @@ -212,7 +213,7 @@ Signed-off-by: Markus Stockhausen } +static int intc_select(struct irq_domain *d, struct irq_fwspec *fwspec, -+ enum irq_domain_bus_token bus_token) ++ enum irq_domain_bus_token bus_token) +{ + struct realtek_ictl_output *output = d->host_data; + bool routed_elsewhere; @@ -266,7 +267,7 @@ Signed-off-by: Markus Stockhausen chained_irq_enter(chip, desc); - pending = readl(REG(RTL_ICTL_GIMR)) & readl(REG(RTL_ICTL_GISR)); + pending = readl(REG(RTL_ICTL_GIMR, cpu)) & readl(REG(RTL_ICTL_GISR, cpu)) -+ & output->child_mask; ++ & output->child_mask; if (unlikely(!pending)) { spurious_interrupt(); @@ -291,7 +292,7 @@ Signed-off-by: Markus Stockhausen + * disconnected. Routing values {1..15} connect to output lines {0..14}. + */ +static int __init setup_parent_interrupts(struct device_node *node, int *parents, -+ unsigned int num_parents) ++ unsigned int num_parents) +{ + struct realtek_ictl_output *outputs; + struct realtek_ictl_output *output; @@ -339,11 +340,11 @@ Signed-off-by: Markus Stockhausen - int parent_irq; + unsigned int p; + int cpu; -+ -+ cpumask_clear(&realtek_ictl_cpu_configurable); - realtek_ictl_base = of_iomap(node, 0); - if (!realtek_ictl_base) ++ cpumask_clear(&realtek_ictl_cpu_configurable); ++ + for (cpu = 0; cpu < NR_CPUS; cpu++) { + realtek_ictl_base[cpu] = of_iomap(node, cpu); + if (realtek_ictl_base[cpu]) { @@ -370,11 +371,11 @@ Signed-off-by: Markus Stockhausen + pr_err("too many parent interrupts\n"); + return -EINVAL; + } - -- if (WARN_ON(!of_irq_count(node))) { ++ + for (p = 0; p < num_parents; p++) + parent_irqs[p] = of_irq_get(node, p); -+ + +- if (WARN_ON(!of_irq_count(node))) { + if (WARN_ON(!num_parents)) { /* * If DT contains no parent interrupts, assume MIPS CPU IRQ 2 @@ -387,7 +388,7 @@ Signed-off-by: Markus Stockhausen oirq.np = of_find_compatible_node(NULL, NULL, "mti,cpu-interrupt-controller"); - oirq.args_count = 1; - oirq.args[0] = 2; -- + - parent_irq = irq_create_of_mapping(&oirq); + if (oirq.np) { + oirq.args_count = 1; @@ -407,7 +408,7 @@ Signed-off-by: Markus Stockhausen - else if (!parent_irq) - return -ENODEV; - -- domain = irq_domain_add_linear(node, RTL_ICTL_NUM_INPUTS, &irq_domain_ops, NULL); +- domain = irq_domain_create_linear(of_fwnode_handle(node), RTL_ICTL_NUM_INPUTS, &irq_domain_ops, NULL); - if (!domain) - return -ENOMEM; - diff --git a/target/linux/realtek/patches-6.18/318-add-rtl83xx-clk-support.patch b/target/linux/realtek/patches-6.18/318-add-rtl83xx-clk-support.patch index 2a580e670c..66b4f1e086 100644 --- a/target/linux/realtek/patches-6.18/318-add-rtl83xx-clk-support.patch +++ b/target/linux/realtek/patches-6.18/318-add-rtl83xx-clk-support.patch @@ -13,7 +13,7 @@ Submitted-by: Markus Stockhausen --- a/drivers/clk/Kconfig +++ b/drivers/clk/Kconfig -@@ -491,6 +491,7 @@ source "drivers/clk/mvebu/Kconfig" +@@ -529,6 +529,7 @@ source "drivers/clk/mvebu/Kconfig" source "drivers/clk/nuvoton/Kconfig" source "drivers/clk/pistachio/Kconfig" source "drivers/clk/qcom/Kconfig" @@ -23,7 +23,7 @@ Submitted-by: Markus Stockhausen source "drivers/clk/rockchip/Kconfig" --- a/drivers/clk/Makefile +++ b/drivers/clk/Makefile -@@ -122,6 +122,7 @@ obj-$(CONFIG_COMMON_CLK_PISTACHIO) += pi +@@ -141,6 +141,7 @@ obj-$(CONFIG_COMMON_CLK_PISTACHIO) += pi obj-$(CONFIG_COMMON_CLK_PXA) += pxa/ obj-$(CONFIG_COMMON_CLK_QCOM) += qcom/ obj-y += ralink/ diff --git a/target/linux/realtek/patches-6.18/330-add-realtek-thernal-driver.patch b/target/linux/realtek/patches-6.18/330-add-realtek-thernal-driver.patch index ab466ba6d2..f5384eb644 100644 --- a/target/linux/realtek/patches-6.18/330-add-realtek-thernal-driver.patch +++ b/target/linux/realtek/patches-6.18/330-add-realtek-thernal-driver.patch @@ -1,6 +1,6 @@ --- a/drivers/thermal/Kconfig +++ b/drivers/thermal/Kconfig -@@ -499,4 +499,11 @@ config LOONGSON2_THERMAL +@@ -517,4 +517,11 @@ config LOONGSON2_THERMAL is higher than the high temperature threshold or lower than the low temperature threshold, the interrupt will occur. @@ -14,7 +14,7 @@ endif --- a/drivers/thermal/Makefile +++ b/drivers/thermal/Makefile -@@ -63,4 +63,5 @@ obj-$(CONFIG_AMLOGIC_THERMAL) += aml +@@ -67,4 +67,5 @@ obj-$(CONFIG_AMLOGIC_THERMAL) += aml obj-$(CONFIG_SPRD_THERMAL) += sprd_thermal.o obj-$(CONFIG_KHADAS_MCU_FAN_THERMAL) += khadas_mcu_fan.o obj-$(CONFIG_LOONGSON2_THERMAL) += loongson2_thermal.o diff --git a/target/linux/realtek/patches-6.18/700-dsa-mdio-increase-max-ports-for-rtl839x-rtl931x.patch b/target/linux/realtek/patches-6.18/700-dsa-mdio-increase-max-ports-for-rtl839x-rtl931x.patch index 5f7e96358a..40d181da73 100644 --- a/target/linux/realtek/patches-6.18/700-dsa-mdio-increase-max-ports-for-rtl839x-rtl931x.patch +++ b/target/linux/realtek/patches-6.18/700-dsa-mdio-increase-max-ports-for-rtl839x-rtl931x.patch @@ -35,16 +35,16 @@ Signed-off-by: Markus Stockhausen &phy->mdio.reset_assert_delay); --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -311,7 +311,7 @@ static inline const char *phy_modes(phy_ - #define PHY_INIT_TIMEOUT 100000 - #define PHY_FORCE_TIMEOUT 10 +@@ -316,7 +316,7 @@ static inline long rgmii_clock(int speed + } + } -#define PHY_MAX_ADDR 32 +#define PHY_MAX_ADDR 64 /* Used when trying to connect to a specific phy (mii bus id:phy device id) */ #define PHY_ID_FMT "%s:%02x" -@@ -431,10 +431,10 @@ struct mii_bus { +@@ -402,10 +402,10 @@ struct mii_bus { struct mdio_device *mdio_map[PHY_MAX_ADDR]; /** @phy_mask: PHY addresses to be ignored when probing */ @@ -70,7 +70,7 @@ Signed-off-by: Markus Stockhausen struct dsa_chip_data { --- a/include/net/dsa.h +++ b/include/net/dsa.h -@@ -480,7 +480,7 @@ struct dsa_switch { +@@ -481,7 +481,7 @@ struct dsa_switch { /* * User mii_bus and devices for the individual ports. */ @@ -79,7 +79,7 @@ Signed-off-by: Markus Stockhausen struct mii_bus *user_mii_bus; /* Ageing Time limits in msecs */ -@@ -616,24 +616,24 @@ static inline bool dsa_is_user_port(stru +@@ -617,24 +617,24 @@ static inline bool dsa_is_user_port(stru dsa_switch_for_each_port_continue_reverse((_dp), (_ds)) \ if (dsa_port_is_cpu((_dp))) @@ -130,23 +130,23 @@ Signed-off-by: Markus Stockhausen return ds->ops->phy_write(ds, addr, reg, val); return 0; ---- a/drivers/net/phy/mdio_bus.c -+++ b/drivers/net/phy/mdio_bus.c -@@ -615,7 +615,7 @@ static int mdiobus_scan_bus_c22(struct m +--- a/drivers/net/phy/mdio_bus_provider.c ++++ b/drivers/net/phy/mdio_bus_provider.c +@@ -209,7 +209,7 @@ static int mdiobus_scan_bus_c22(struct m int i; for (i = 0; i < PHY_MAX_ADDR; i++) { - if ((bus->phy_mask & BIT(i)) == 0) { -+ if ((bus->phy_mask & BIT_ULL(i)) == 0ULL) { ++ if ((bus->phy_mask & BIT_ULL(i)) == 0) { struct phy_device *phydev; phydev = mdiobus_scan_c22(bus, i); -@@ -631,7 +631,7 @@ static int mdiobus_scan_bus_c45(struct m +@@ -225,7 +225,7 @@ static int mdiobus_scan_bus_c45(struct m int i; for (i = 0; i < PHY_MAX_ADDR; i++) { - if ((bus->phy_mask & BIT(i)) == 0) { -+ if ((bus->phy_mask & BIT_ULL(i)) == 0ULL) { ++ if ((bus->phy_mask & BIT_ULL(i)) == 0) { struct phy_device *phydev; /* Don't scan C45 if we already have a C22 device */ diff --git a/target/linux/realtek/patches-6.18/716-net-ethernet-add-support-for-rtl838x-ethernet.patch b/target/linux/realtek/patches-6.18/716-net-ethernet-add-support-for-rtl838x-ethernet.patch index 3d7529074d..5f23d3c398 100644 --- a/target/linux/realtek/patches-6.18/716-net-ethernet-add-support-for-rtl838x-ethernet.patch +++ b/target/linux/realtek/patches-6.18/716-net-ethernet-add-support-for-rtl838x-ethernet.patch @@ -22,7 +22,7 @@ Submitted-by: John Crispin --- a/drivers/net/ethernet/Kconfig +++ b/drivers/net/ethernet/Kconfig -@@ -179,6 +179,13 @@ source "drivers/net/ethernet/rdc/Kconfig +@@ -180,6 +180,13 @@ source "drivers/net/ethernet/rdc/Kconfig source "drivers/net/ethernet/realtek/Kconfig" source "drivers/net/ethernet/renesas/Kconfig" source "drivers/net/ethernet/rocker/Kconfig" @@ -38,7 +38,7 @@ Submitted-by: John Crispin source "drivers/net/ethernet/sgi/Kconfig" --- a/drivers/net/ethernet/Makefile +++ b/drivers/net/ethernet/Makefile -@@ -82,6 +82,7 @@ obj-$(CONFIG_NET_VENDOR_REALTEK) += real +@@ -83,6 +83,7 @@ obj-$(CONFIG_NET_VENDOR_REALTEK) += real obj-$(CONFIG_NET_VENDOR_RENESAS) += renesas/ obj-$(CONFIG_NET_VENDOR_RDC) += rdc/ obj-$(CONFIG_NET_VENDOR_ROCKER) += rocker/ diff --git a/target/linux/realtek/patches-6.18/718-net-dsa-add-support-for-rtl838x-switch.patch b/target/linux/realtek/patches-6.18/718-net-dsa-add-support-for-rtl838x-switch.patch index dc261efe36..0fba3ae911 100644 --- a/target/linux/realtek/patches-6.18/718-net-dsa-add-support-for-rtl838x-switch.patch +++ b/target/linux/realtek/patches-6.18/718-net-dsa-add-support-for-rtl838x-switch.patch @@ -22,7 +22,7 @@ Submitted-by: John Crispin --- a/drivers/net/dsa/Kconfig +++ b/drivers/net/dsa/Kconfig -@@ -91,6 +91,8 @@ source "drivers/net/dsa/xrs700x/Kconfig" +@@ -86,6 +86,8 @@ source "drivers/net/dsa/xrs700x/Kconfig" source "drivers/net/dsa/realtek/Kconfig" @@ -30,10 +30,10 @@ Submitted-by: John Crispin + config NET_DSA_RZN1_A5PSW tristate "Renesas RZ/N1 A5PSW Ethernet switch support" - depends on OF && ARCH_RZN1 + depends on OF && (ARCH_RZN1 || COMPILE_TEST) --- a/drivers/net/dsa/Makefile +++ b/drivers/net/dsa/Makefile -@@ -26,5 +26,6 @@ obj-y += mxl862xx/ +@@ -23,5 +23,6 @@ obj-y += mxl862xx/ obj-y += ocelot/ obj-y += qca/ obj-y += realtek/ diff --git a/target/linux/realtek/patches-6.18/720-add-rtl-phy.patch b/target/linux/realtek/patches-6.18/720-add-rtl-phy.patch index d82bb64e9a..36f1a434e3 100644 --- a/target/linux/realtek/patches-6.18/720-add-rtl-phy.patch +++ b/target/linux/realtek/patches-6.18/720-add-rtl-phy.patch @@ -30,7 +30,7 @@ Submitted-by: Birger Koblitz config REALTEK_PHY_HWMON --- a/drivers/net/phy/Makefile +++ b/drivers/net/phy/Makefile -@@ -109,7 +109,7 @@ obj-$(CONFIG_NXP_CBTX_PHY) += nxp-cbtx.o +@@ -105,7 +105,7 @@ obj-$(CONFIG_NXP_CBTX_PHY) += nxp-cbtx.o obj-$(CONFIG_NXP_TJA11XX_PHY) += nxp-tja11xx.o obj-y += qcom/ obj-$(CONFIG_QSEMI_PHY) += qsemi.o diff --git a/target/linux/realtek/patches-6.18/723-net-mdio-Add-Realtek-Otto-auxiliary-controller.patch b/target/linux/realtek/patches-6.18/723-net-mdio-Add-Realtek-Otto-auxiliary-controller.patch index ac6cb1bc20..59157cc52d 100644 --- a/target/linux/realtek/patches-6.18/723-net-mdio-Add-Realtek-Otto-auxiliary-controller.patch +++ b/target/linux/realtek/patches-6.18/723-net-mdio-Add-Realtek-Otto-auxiliary-controller.patch @@ -20,7 +20,7 @@ Signed-off-by: Sander Vanheule --- a/drivers/net/mdio/Kconfig +++ b/drivers/net/mdio/Kconfig -@@ -207,6 +207,16 @@ config MDIO_REGMAP +@@ -191,6 +191,16 @@ config MDIO_REGMAP regmap. Users willing to use this driver must explicitly select REGMAP. @@ -39,9 +39,9 @@ Signed-off-by: Sander Vanheule depends on 64BIT --- a/drivers/net/mdio/Makefile +++ b/drivers/net/mdio/Makefile -@@ -20,6 +20,7 @@ obj-$(CONFIG_MDIO_MSCC_MIIM) += mdio-ms - obj-$(CONFIG_MDIO_MVUSB) += mdio-mvusb.o +@@ -22,6 +22,7 @@ obj-$(CONFIG_MDIO_MVUSB) += mdio-mvusb. obj-$(CONFIG_MDIO_OCTEON) += mdio-octeon.o + obj-$(CONFIG_MDIO_REALTEK_RTL9300) += mdio-realtek-rtl9300.o obj-$(CONFIG_MDIO_REGMAP) += mdio-regmap.o +obj-$(CONFIG_MDIO_REALTEK_OTTO_AUX) += mdio-realtek-otto-aux.o obj-$(CONFIG_MDIO_SMBUS) += mdio-smbus.o diff --git a/target/linux/realtek/patches-6.18/730-add-pcs-rtl-otto.patch b/target/linux/realtek/patches-6.18/730-add-pcs-rtl-otto.patch index 27927bd891..b32f2a1bb3 100644 --- a/target/linux/realtek/patches-6.18/730-add-pcs-rtl-otto.patch +++ b/target/linux/realtek/patches-6.18/730-add-pcs-rtl-otto.patch @@ -24,8 +24,8 @@ Signed-off-by: Markus Stockhausen + This module provides a driver for the Realtek SerDes PCS + config PCS_RZN1_MIIC - tristate "Renesas RZ/N1 MII converter" - depends on OF && (ARCH_RZN1 || COMPILE_TEST) + tristate "Renesas RZ/N1, RZ/N2H, RZ/T2H MII converter" + depends on OF --- a/drivers/net/pcs/Makefile +++ b/drivers/net/pcs/Makefile @@ -7,5 +7,6 @@ pcs_xpcs-$(CONFIG_PCS_XPCS) := pcs-xpcs. diff --git a/target/linux/realtek/patches-6.18/740-net-phy-realtek-support-MDI-swapping-for-RTL8226.patch b/target/linux/realtek/patches-6.18/740-net-phy-realtek-support-MDI-swapping-for-RTL8226.patch index 63540be15a..b0d490f2ce 100644 --- a/target/linux/realtek/patches-6.18/740-net-phy-realtek-support-MDI-swapping-for-RTL8226.patch +++ b/target/linux/realtek/patches-6.18/740-net-phy-realtek-support-MDI-swapping-for-RTL8226.patch @@ -30,7 +30,7 @@ Signed-off-by: Jan Hoffmann --- a/drivers/net/phy/realtek/realtek_main.c +++ b/drivers/net/phy/realtek/realtek_main.c -@@ -1489,6 +1489,148 @@ static unsigned int rtl822x_inband_caps( +@@ -1490,6 +1490,148 @@ static unsigned int rtl822x_inband_caps( } } @@ -179,7 +179,7 @@ Signed-off-by: Jan Hoffmann static int rtl822xb_get_rate_matching(struct phy_device *phydev, phy_interface_t iface) { -@@ -2452,7 +2594,7 @@ static struct phy_driver realtek_drvs[] +@@ -2453,7 +2595,7 @@ static struct phy_driver realtek_drvs[] .soft_reset = rtl822x_c45_soft_reset, .get_features = rtl822x_c45_get_features, .config_aneg = rtl822x_c45_config_aneg, diff --git a/target/linux/realtek/patches-6.18/800-gpio-regmap-Bypass-cache-for-shadowed-outputs.patch b/target/linux/realtek/patches-6.18/800-gpio-regmap-Bypass-cache-for-shadowed-outputs.patch index fd73b162f8..d4cbf2b1fa 100644 --- a/target/linux/realtek/patches-6.18/800-gpio-regmap-Bypass-cache-for-shadowed-outputs.patch +++ b/target/linux/realtek/patches-6.18/800-gpio-regmap-Bypass-cache-for-shadowed-outputs.patch @@ -37,7 +37,7 @@ Signed-off-by: Sander Vanheule --- a/drivers/gpio/gpio-regmap.c +++ b/drivers/gpio/gpio-regmap.c -@@ -80,7 +80,15 @@ static int gpio_regmap_get(struct gpio_c +@@ -82,7 +82,15 @@ static int gpio_regmap_get(struct gpio_c if (ret) return ret; diff --git a/target/linux/realtek/patches-6.18/802-mfd-Add-RTL8231-core-device.patch b/target/linux/realtek/patches-6.18/802-mfd-Add-RTL8231-core-device.patch index 2a6be8e456..b8e209024c 100644 --- a/target/linux/realtek/patches-6.18/802-mfd-Add-RTL8231-core-device.patch +++ b/target/linux/realtek/patches-6.18/802-mfd-Add-RTL8231-core-device.patch @@ -32,7 +32,7 @@ Signed-off-by: Sander Vanheule --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig -@@ -1219,6 +1219,15 @@ config MFD_RDC321X +@@ -1312,6 +1312,15 @@ config MFD_RDC321X southbridge which provides access to GPIOs and Watchdog using the southbridge PCI device configuration space. @@ -50,7 +50,7 @@ Signed-off-by: Sander Vanheule depends on I2C --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile -@@ -246,6 +246,7 @@ obj-$(CONFIG_MFD_HI6421_PMIC) += hi6421- +@@ -252,6 +252,7 @@ obj-$(CONFIG_MFD_HI6421_PMIC) += hi6421- obj-$(CONFIG_MFD_HI6421_SPMI) += hi6421-spmi-pmic.o obj-$(CONFIG_MFD_HI655X_PMIC) += hi655x-pmic.o obj-$(CONFIG_MFD_DLN2) += dln2.o diff --git a/target/linux/realtek/patches-6.18/803-pinctrl-Add-RTL8231-pin-control-and-GPIO-support.patch b/target/linux/realtek/patches-6.18/803-pinctrl-Add-RTL8231-pin-control-and-GPIO-support.patch index 1b88dcd55c..b33c0e4646 100644 --- a/target/linux/realtek/patches-6.18/803-pinctrl-Add-RTL8231-pin-control-and-GPIO-support.patch +++ b/target/linux/realtek/patches-6.18/803-pinctrl-Add-RTL8231-pin-control-and-GPIO-support.patch @@ -23,7 +23,7 @@ Signed-off-by: Sander Vanheule --- a/drivers/pinctrl/Kconfig +++ b/drivers/pinctrl/Kconfig -@@ -483,6 +483,17 @@ config PINCTRL_SCMI +@@ -531,6 +531,17 @@ config PINCTRL_SCMI It uses SCMI Message Protocol to interact with the firmware providing all the pinctrl controls. @@ -43,10 +43,10 @@ Signed-off-by: Sander Vanheule depends on OF --- a/drivers/pinctrl/Makefile +++ b/drivers/pinctrl/Makefile -@@ -47,6 +47,7 @@ obj-$(CONFIG_PINCTRL_PIC32) += pinctrl-p - obj-$(CONFIG_PINCTRL_PISTACHIO) += pinctrl-pistachio.o +@@ -52,6 +52,7 @@ obj-$(CONFIG_PINCTRL_PISTACHIO) += pinct obj-$(CONFIG_PINCTRL_RK805) += pinctrl-rk805.o obj-$(CONFIG_PINCTRL_ROCKCHIP) += pinctrl-rockchip.o + obj-$(CONFIG_PINCTRL_RP1) += pinctrl-rp1.o +obj-$(CONFIG_PINCTRL_RTL8231) += pinctrl-rtl8231.o obj-$(CONFIG_PINCTRL_SCMI) += pinctrl-scmi.o obj-$(CONFIG_PINCTRL_SINGLE) += pinctrl-single.o diff --git a/target/linux/realtek/patches-6.18/804-leds-Add-support-for-RTL8231-LED-scan-matrix.patch b/target/linux/realtek/patches-6.18/804-leds-Add-support-for-RTL8231-LED-scan-matrix.patch index 324b556998..b5c2a61c41 100644 --- a/target/linux/realtek/patches-6.18/804-leds-Add-support-for-RTL8231-LED-scan-matrix.patch +++ b/target/linux/realtek/patches-6.18/804-leds-Add-support-for-RTL8231-LED-scan-matrix.patch @@ -21,7 +21,7 @@ Signed-off-by: Sander Vanheule --- a/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig -@@ -634,6 +634,16 @@ config LEDS_REGULATOR +@@ -666,6 +666,16 @@ config LEDS_REGULATOR help This option enables support for regulator driven LEDs. @@ -40,9 +40,9 @@ Signed-off-by: Sander Vanheule depends on LEDS_CLASS --- a/drivers/leds/Makefile +++ b/drivers/leds/Makefile -@@ -80,6 +80,7 @@ obj-$(CONFIG_LEDS_PM8058) += leds-pm805 - obj-$(CONFIG_LEDS_POWERNV) += leds-powernv.o +@@ -84,6 +84,7 @@ obj-$(CONFIG_LEDS_POWERNV) += leds-powe obj-$(CONFIG_LEDS_PWM) += leds-pwm.o + obj-$(CONFIG_LEDS_QNAP_MCU) += leds-qnap-mcu.o obj-$(CONFIG_LEDS_REGULATOR) += leds-regulator.o +obj-$(CONFIG_LEDS_RTL8231) += leds-rtl8231.o obj-$(CONFIG_LEDS_SC27XX_BLTC) += leds-sc27xx-bltc.o diff --git a/target/linux/realtek/patches-6.18/805-add-i2c-gpio-shared-driver.patch b/target/linux/realtek/patches-6.18/805-add-i2c-gpio-shared-driver.patch index e50ee312dd..d7d3ef8485 100644 --- a/target/linux/realtek/patches-6.18/805-add-i2c-gpio-shared-driver.patch +++ b/target/linux/realtek/patches-6.18/805-add-i2c-gpio-shared-driver.patch @@ -13,7 +13,7 @@ Signed-off-by: Markus Stockhausen --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig -@@ -683,6 +683,15 @@ config I2C_GPIO +@@ -696,6 +696,15 @@ config I2C_GPIO This is a very simple bitbanging I2C driver utilizing the arch-neutral GPIO API to control the SCL and SDA lines. @@ -31,7 +31,7 @@ Signed-off-by: Markus Stockhausen depends on I2C_GPIO --- a/drivers/i2c/busses/Makefile +++ b/drivers/i2c/busses/Makefile -@@ -67,6 +67,7 @@ obj-$(CONFIG_I2C_EG20T) += i2c-eg20t.o +@@ -66,6 +66,7 @@ obj-$(CONFIG_I2C_EG20T) += i2c-eg20t.o obj-$(CONFIG_I2C_EMEV2) += i2c-emev2.o obj-$(CONFIG_I2C_EXYNOS5) += i2c-exynos5.o obj-$(CONFIG_I2C_GPIO) += i2c-gpio.o diff --git a/target/linux/realtek/patches-6.18/806-add-mdio-driver.patch b/target/linux/realtek/patches-6.18/806-add-mdio-driver.patch index 17461f0e4b..7bd2cdfb34 100644 --- a/target/linux/realtek/patches-6.18/806-add-mdio-driver.patch +++ b/target/linux/realtek/patches-6.18/806-add-mdio-driver.patch @@ -8,9 +8,9 @@ Signed-off-by: Markus Stockhausen --- a/drivers/net/mdio/Makefile +++ b/drivers/net/mdio/Makefile -@@ -20,6 +20,7 @@ obj-$(CONFIG_MDIO_MSCC_MIIM) += mdio-ms - obj-$(CONFIG_MDIO_MVUSB) += mdio-mvusb.o +@@ -22,6 +22,7 @@ obj-$(CONFIG_MDIO_MVUSB) += mdio-mvusb. obj-$(CONFIG_MDIO_OCTEON) += mdio-octeon.o + obj-$(CONFIG_MDIO_REALTEK_RTL9300) += mdio-realtek-rtl9300.o obj-$(CONFIG_MDIO_REGMAP) += mdio-regmap.o +obj-$(CONFIG_MDIO_REALTEK_OTTO) += mdio-realtek-otto.o obj-$(CONFIG_MDIO_REALTEK_OTTO_AUX) += mdio-realtek-otto-aux.o @@ -18,7 +18,7 @@ Signed-off-by: Markus Stockhausen obj-$(CONFIG_MDIO_SUN4I) += mdio-sun4i.o --- a/drivers/net/mdio/Kconfig +++ b/drivers/net/mdio/Kconfig -@@ -207,6 +207,13 @@ config MDIO_REGMAP +@@ -191,6 +191,13 @@ config MDIO_REGMAP regmap. Users willing to use this driver must explicitly select REGMAP. diff --git a/target/linux/realtek/patches-6.18/808-add-serdes-mdio-driver.patch b/target/linux/realtek/patches-6.18/808-add-serdes-mdio-driver.patch index 292683f846..7706997770 100644 --- a/target/linux/realtek/patches-6.18/808-add-serdes-mdio-driver.patch +++ b/target/linux/realtek/patches-6.18/808-add-serdes-mdio-driver.patch @@ -11,7 +11,7 @@ Signed-off-by: Markus Stockhausen --- --- a/drivers/net/mdio/Makefile +++ b/drivers/net/mdio/Makefile -@@ -22,6 +22,7 @@ obj-$(CONFIG_MDIO_OCTEON) += mdio-octeo +@@ -24,6 +24,7 @@ obj-$(CONFIG_MDIO_REALTEK_RTL9300) += md obj-$(CONFIG_MDIO_REGMAP) += mdio-regmap.o obj-$(CONFIG_MDIO_REALTEK_OTTO) += mdio-realtek-otto.o obj-$(CONFIG_MDIO_REALTEK_OTTO_AUX) += mdio-realtek-otto-aux.o @@ -21,7 +21,7 @@ Signed-off-by: Markus Stockhausen obj-$(CONFIG_MDIO_THUNDER) += mdio-thunder.o --- a/drivers/net/mdio/Kconfig +++ b/drivers/net/mdio/Kconfig -@@ -224,6 +224,13 @@ config MDIO_REALTEK_OTTO_AUX +@@ -208,6 +208,13 @@ config MDIO_REALTEK_OTTO_AUX This driver supports the auxilairy MDIO bus on RTL838x SoCs. This bus is typically used to attach RTL8231 GPIO extenders. diff --git a/target/linux/realtek/patches-6.18/809-add-hasivo-stc8-mfd.patch b/target/linux/realtek/patches-6.18/809-add-hasivo-stc8-mfd.patch index 7c865eb4d1..8351101e1f 100644 --- a/target/linux/realtek/patches-6.18/809-add-hasivo-stc8-mfd.patch +++ b/target/linux/realtek/patches-6.18/809-add-hasivo-stc8-mfd.patch @@ -132,7 +132,7 @@ Signed-off-by: Bevan Weiss + }; --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig -@@ -557,6 +557,17 @@ config MFD_MX25_TSADC +@@ -616,6 +616,17 @@ config MFD_MX25_TSADC i.MX25 processors. They consist of a conversion queue for general purpose ADC and a queue for Touchscreens. @@ -152,12 +152,12 @@ Signed-off-by: Bevan Weiss depends on OF --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile -@@ -290,3 +290,5 @@ obj-$(CONFIG_MFD_ATC260X_I2C) += atc260x +@@ -304,3 +304,5 @@ obj-$(CONFIG_MFD_RSMU_SPI) += rsmu_spi.o + obj-$(CONFIG_MFD_UPBOARD_FPGA) += upboard-fpga.o - obj-$(CONFIG_MFD_RSMU_I2C) += rsmu_i2c.o rsmu_core.o - obj-$(CONFIG_MFD_RSMU_SPI) += rsmu_spi.o rsmu_core.o + obj-$(CONFIG_MFD_LOONGSON_SE) += loongson-se.o + -+obj-$(CONFIG_MFD_HASIVO_STC8) += hasivo-stc8-mfd.o ++obj-$(CONFIG_MFD_HASIVO_STC8) += hasivo-stc8-mfd.o --- /dev/null +++ b/drivers/mfd/hasivo-stc8-mfd.c @@ -0,0 +1,169 @@ diff --git a/target/linux/realtek/patches-6.18/810-lm75-alert-polarity-swap.patch b/target/linux/realtek/patches-6.18/810-lm75-alert-polarity-swap.patch index 694640af5d..87835f3965 100644 --- a/target/linux/realtek/patches-6.18/810-lm75-alert-polarity-swap.patch +++ b/target/linux/realtek/patches-6.18/810-lm75-alert-polarity-swap.patch @@ -22,7 +22,7 @@ Signed-off-by: Markus Stockhausen --- a/drivers/hwmon/lm75.c +++ b/drivers/hwmon/lm75.c -@@ -121,7 +121,8 @@ struct lm75_data { +@@ -122,7 +122,8 @@ struct lm75_data { static const u8 lm75_sample_set_masks[] = { 0 << 5, 1 << 5, 2 << 5, 3 << 5 }; @@ -32,27 +32,26 @@ Signed-off-by: Markus Stockhausen /* The structure below stores the configuration values of the supported devices. * In case of being supported multiple configurations, the default one must -@@ -631,6 +632,7 @@ static int lm75_probe(struct i2c_client +@@ -713,6 +714,7 @@ static int lm75_generic_probe(struct dev struct device *hwmon_dev; struct lm75_data *data; int status, err; + u16 set_mask; - if (!i2c_check_functionality(client->adapter, - I2C_FUNC_SMBUS_BYTE_DATA | I2C_FUNC_SMBUS_WORD_DATA)) -@@ -680,9 +682,14 @@ static int lm75_probe(struct i2c_client - } + data = devm_kzalloc(dev, sizeof(struct lm75_data), GFP_KERNEL); + if (!data) +@@ -744,8 +746,13 @@ static int lm75_generic_probe(struct dev + return err; data->orig_conf = status; - data->current_conf = status; -+ + +- err = lm75_write_config(data, data->params->set_mask, +- data->params->clr_mask); + set_mask = data->params->set_mask; + if (of_property_read_bool(dev->of_node, "alert-polarity-active-high")) { + pr_info("set lm75 alert to active high\n"); + set_mask |= LM75_ALERT_POLARITY_HIGH; + } - -- err = lm75_write_config(data, data->params->set_mask, -- data->params->clr_mask); ++ + err = lm75_write_config(data, set_mask, data->params->clr_mask); if (err) return err;