diff --git a/target/linux/realtek/patches-6.18/300-02-enhance-realtek-board-setup.patch b/target/linux/realtek/patches-6.18/300-02-enhance-realtek-board-setup.patch index 54c1856d812..1f4f1982875 100644 --- a/target/linux/realtek/patches-6.18/300-02-enhance-realtek-board-setup.patch +++ b/target/linux/realtek/patches-6.18/300-02-enhance-realtek-board-setup.patch @@ -334,16 +334,27 @@ Signed-off-by: Markus Stockhausen static __init int realtek_add_initrd(void *fdt) { int node, err; -@@ -55,6 +361,8 @@ static __init const void *realtek_fixup_ +@@ -55,6 +361,19 @@ static __init const void *realtek_fixup_ static unsigned char fdt_buf[16 << 10] __initdata; int err; ++ /* ++ * The RTL9607C PCIe controller has 2 io regions, with the 2nd one ++ * being at an offset from the 1st one. This does not work with ++ * MIPS specific pci_remap_iospace() as it expects the region start ++ * address to be 0, which is not the case for 2nd io region of ++ * RTL9607C PCIe controller. Thus set the io port base to KSEG1, ++ * a common base for majority of MIPS platforms, for the generic ++ * pci_remap_iospace() to work here. ++ */ ++ set_io_port_base(KSEG1); ++ + realtek_prom_init(match_data); + if (fdt_check_header(fdt)) panic("Corrupt DT"); -@@ -68,12 +376,76 @@ static __init const void *realtek_fixup_ +@@ -68,12 +387,76 @@ static __init const void *realtek_fixup_ } diff --git a/target/linux/realtek/patches-6.18/300-03-realtek-board-increase-fixup_fdt-buffer-to-32-KiB.patch b/target/linux/realtek/patches-6.18/300-03-realtek-board-increase-fixup_fdt-buffer-to-32-KiB.patch index d5e93c3321b..2c9ef17d4a9 100644 --- a/target/linux/realtek/patches-6.18/300-03-realtek-board-increase-fixup_fdt-buffer-to-32-KiB.patch +++ b/target/linux/realtek/patches-6.18/300-03-realtek-board-increase-fixup_fdt-buffer-to-32-KiB.patch @@ -28,4 +28,4 @@ Signed-off-by: Jonas Jelonek + static unsigned char fdt_buf[32 << 10] __initdata; int err; - realtek_prom_init(match_data); + /*