Jelajahi Sumber

lantiq: make patches apply

The following patches are dropped because they are now upstreamed:
- 0002-gpio-stp-xway-Implement-get-callback.patch
  upstreamed with commit 5b9b2b5284f819 ("gpio: stp-xway: Implement get
  callback")
- 0027-01-net-phy-intel-xway-add-VR9-version-number.patch
  upstreamed with commit 5b73d9955fb4b0 ("net: phy: intel-xway: add VR9
  version number")
- 0027-02-net-phy-intel-xway-add-VR9-v1.1-phy-ids.patch
  upstreamed with commit f452518c982e57 ("net: phy: intel-xway: add VR9
  v1.1 phy ids")

The following patches were updated:
- 0018-MTD-nand-lots-of-xrx200-fixes.patch
  the mainline driver now resides in drivers/mtd/nand/raw/xway_nand.c
  (instead of drivers/mtd/nand/xway_nand.c)
- 0025-NET-MIPS-lantiq-adds-xrx200-net.patch
  the DMA API now requires a valid device to be passed to all operations
- 0028-NET-lantiq-various-etop-fixes.patch
  the DMA API now requires a valid device to be passed to all operations

Signed-off-by: Hauke Mehrtens <[email protected]>
Signed-off-by: Martin Blumenstingl <[email protected]>
Signed-off-by: Mathias Kresin <[email protected]>
Hauke Mehrtens 7 tahun lalu
induk
melakukan
f0c740650b
22 mengubah file dengan 106 tambahan dan 282 penghapusan
  1. 19 23
      target/linux/lantiq/config-4.19
  2. 6 6
      target/linux/lantiq/patches-4.19/0001-MIPS-lantiq-add-pcie-driver.patch
  3. 0 47
      target/linux/lantiq/patches-4.19/0002-gpio-stp-xway-Implement-get-callback.patch
  4. 2 2
      target/linux/lantiq/patches-4.19/0004-MIPS-lantiq-add-atm-hack.patch
  5. 3 3
      target/linux/lantiq/patches-4.19/0018-MTD-nand-lots-of-xrx200-fixes.patch
  6. 5 5
      target/linux/lantiq/patches-4.19/0022-MTD-m25p80-allow-loading-mtd-name-from-OF.patch
  7. 4 4
      target/linux/lantiq/patches-4.19/0023-NET-PHY-add-led-support-for-intel-xway.patch
  8. 10 8
      target/linux/lantiq/patches-4.19/0025-NET-MIPS-lantiq-adds-xrx200-net.patch
  9. 0 62
      target/linux/lantiq/patches-4.19/0027-01-net-phy-intel-xway-add-VR9-version-number.patch
  10. 0 69
      target/linux/lantiq/patches-4.19/0027-02-net-phy-intel-xway-add-VR9-v1.1-phy-ids.patch
  11. 30 26
      target/linux/lantiq/patches-4.19/0028-NET-lantiq-various-etop-fixes.patch
  12. 6 6
      target/linux/lantiq/patches-4.19/0030-GPIO-add-named-gpio-exports.patch
  13. 2 2
      target/linux/lantiq/patches-4.19/0031-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch
  14. 1 1
      target/linux/lantiq/patches-4.19/0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch
  15. 1 1
      target/linux/lantiq/patches-4.19/0042-arch-mips-increase-io_space_limit.patch
  16. 5 5
      target/linux/lantiq/patches-4.19/0050-USB-DWC2-make-the-lantiq-settings-match-vendor-drive.patch
  17. 1 1
      target/linux/lantiq/patches-4.19/0051-MIPS-lantiq-improve-USB-initialization.patch
  18. 2 2
      target/linux/lantiq/patches-4.19/0101-find_active_root.patch
  19. 2 2
      target/linux/lantiq/patches-4.19/0152-lantiq-VPE.patch
  20. 1 1
      target/linux/lantiq/patches-4.19/0301-xrx200-add-gphy-clk-src-device-tree-binding.patch
  21. 2 2
      target/linux/lantiq/patches-4.19/0701-NET-lantiq-etop-of-mido.patch
  22. 4 4
      target/linux/lantiq/xrx200/config-4.19

+ 19 - 23
target/linux/lantiq/config-4.19

@@ -2,18 +2,11 @@ CONFIG_ARCH_BINFMT_ELF_STATE=y
 CONFIG_ARCH_CLOCKSOURCE_DATA=y
 CONFIG_ARCH_CLOCKSOURCE_DATA=y
 CONFIG_ARCH_DISCARD_MEMBLOCK=y
 CONFIG_ARCH_DISCARD_MEMBLOCK=y
 CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
 CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
-# CONFIG_ARCH_HAS_GCOV_PROFILE_ALL is not set
 CONFIG_ARCH_HAS_RESET_CONTROLLER=y
 CONFIG_ARCH_HAS_RESET_CONTROLLER=y
-# CONFIG_ARCH_HAS_SG_CHAIN is not set
-# CONFIG_ARCH_HAS_STRICT_KERNEL_RWX is not set
-# CONFIG_ARCH_HAS_STRICT_MODULE_RWX is not set
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y
 CONFIG_ARCH_HIBERNATION_POSSIBLE=y
 CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
-CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
 CONFIG_ARCH_MMAP_RND_BITS_MAX=15
 CONFIG_ARCH_MMAP_RND_BITS_MAX=15
 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=15
 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=15
-# CONFIG_ARCH_OPTIONAL_KERNEL_RWX is not set
-# CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT is not set
 CONFIG_ARCH_SUPPORTS_UPROBES=y
 CONFIG_ARCH_SUPPORTS_UPROBES=y
 CONFIG_ARCH_SUSPEND_POSSIBLE=y
 CONFIG_ARCH_SUSPEND_POSSIBLE=y
 CONFIG_ARCH_USE_BUILTIN_BSWAP=y
 CONFIG_ARCH_USE_BUILTIN_BSWAP=y
@@ -43,7 +36,11 @@ CONFIG_CRYPTO_HASH2=y
 CONFIG_CRYPTO_RNG2=y
 CONFIG_CRYPTO_RNG2=y
 CONFIG_CRYPTO_WORKQUEUE=y
 CONFIG_CRYPTO_WORKQUEUE=y
 CONFIG_CSRC_R4K=y
 CONFIG_CSRC_R4K=y
+CONFIG_DMA_DIRECT_OPS=y
 CONFIG_DMA_NONCOHERENT=y
 CONFIG_DMA_NONCOHERENT=y
+CONFIG_DMA_NONCOHERENT_CACHE_SYNC=y
+CONFIG_DMA_NONCOHERENT_MMAP=y
+CONFIG_DMA_NONCOHERENT_OPS=y
 CONFIG_DTC=y
 CONFIG_DTC=y
 # CONFIG_DT_EASY50712 is not set
 # CONFIG_DT_EASY50712 is not set
 CONFIG_EARLY_PRINTK=y
 CONFIG_EARLY_PRINTK=y
@@ -53,11 +50,15 @@ CONFIG_GENERIC_ATOMIC64=y
 CONFIG_GENERIC_CLOCKEVENTS=y
 CONFIG_GENERIC_CLOCKEVENTS=y
 CONFIG_GENERIC_CMOS_UPDATE=y
 CONFIG_GENERIC_CMOS_UPDATE=y
 CONFIG_GENERIC_CPU_AUTOPROBE=y
 CONFIG_GENERIC_CPU_AUTOPROBE=y
-CONFIG_GENERIC_IO=y
 CONFIG_GENERIC_IRQ_CHIP=y
 CONFIG_GENERIC_IRQ_CHIP=y
 CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
 CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
 CONFIG_GENERIC_IRQ_IPI=y
 CONFIG_GENERIC_IRQ_IPI=y
 CONFIG_GENERIC_IRQ_SHOW=y
 CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_LIB_ASHLDI3=y
+CONFIG_GENERIC_LIB_ASHRDI3=y
+CONFIG_GENERIC_LIB_CMPDI2=y
+CONFIG_GENERIC_LIB_LSHRDI3=y
+CONFIG_GENERIC_LIB_UCMPDI2=y
 CONFIG_GENERIC_PCI_IOMAP=y
 CONFIG_GENERIC_PCI_IOMAP=y
 CONFIG_GENERIC_PHY=y
 CONFIG_GENERIC_PHY=y
 CONFIG_GENERIC_SCHED_CLOCK=y
 CONFIG_GENERIC_SCHED_CLOCK=y
@@ -67,29 +68,23 @@ CONFIG_GPIOLIB=y
 CONFIG_GPIO_MM_LANTIQ=y
 CONFIG_GPIO_MM_LANTIQ=y
 CONFIG_GPIO_STP_XWAY=y
 CONFIG_GPIO_STP_XWAY=y
 CONFIG_GPIO_SYSFS=y
 CONFIG_GPIO_SYSFS=y
-# CONFIG_GRO_CELLS is not set
 CONFIG_HANDLE_DOMAIN_IRQ=y
 CONFIG_HANDLE_DOMAIN_IRQ=y
 CONFIG_HARDWARE_WATCHPOINTS=y
 CONFIG_HARDWARE_WATCHPOINTS=y
 CONFIG_HAS_DMA=y
 CONFIG_HAS_DMA=y
 CONFIG_HAS_IOMEM=y
 CONFIG_HAS_IOMEM=y
 CONFIG_HAS_IOPORT_MAP=y
 CONFIG_HAS_IOPORT_MAP=y
-# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
-# CONFIG_HAVE_ARCH_BITREVERSE is not set
 CONFIG_HAVE_ARCH_COMPILER_H=y
 CONFIG_HAVE_ARCH_COMPILER_H=y
 CONFIG_HAVE_ARCH_JUMP_LABEL=y
 CONFIG_HAVE_ARCH_JUMP_LABEL=y
 CONFIG_HAVE_ARCH_KGDB=y
 CONFIG_HAVE_ARCH_KGDB=y
 CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
 CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
 CONFIG_HAVE_ARCH_TRACEHOOK=y
 CONFIG_HAVE_ARCH_TRACEHOOK=y
-# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
 CONFIG_HAVE_CBPF_JIT=y
 CONFIG_HAVE_CBPF_JIT=y
-CONFIG_HAVE_CC_STACKPROTECTOR=y
 CONFIG_HAVE_CLK=y
 CONFIG_HAVE_CLK=y
 CONFIG_HAVE_CONTEXT_TRACKING=y
 CONFIG_HAVE_CONTEXT_TRACKING=y
 CONFIG_HAVE_COPY_THREAD_TLS=y
 CONFIG_HAVE_COPY_THREAD_TLS=y
 CONFIG_HAVE_C_RECORDMCOUNT=y
 CONFIG_HAVE_C_RECORDMCOUNT=y
 CONFIG_HAVE_DEBUG_KMEMLEAK=y
 CONFIG_HAVE_DEBUG_KMEMLEAK=y
 CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
 CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
-CONFIG_HAVE_DMA_API_DEBUG=y
 CONFIG_HAVE_DMA_CONTIGUOUS=y
 CONFIG_HAVE_DMA_CONTIGUOUS=y
 CONFIG_HAVE_DYNAMIC_FTRACE=y
 CONFIG_HAVE_DYNAMIC_FTRACE=y
 CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
 CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
@@ -101,6 +96,7 @@ CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
 CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
 CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
 CONFIG_HAVE_KVM=y
 CONFIG_HAVE_KVM=y
 CONFIG_HAVE_LATENCYTOP_SUPPORT=y
 CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y
 CONFIG_HAVE_MEMBLOCK=y
 CONFIG_HAVE_MEMBLOCK=y
 CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
 CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
 CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
 CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
@@ -108,6 +104,7 @@ CONFIG_HAVE_NET_DSA=y
 CONFIG_HAVE_OPROFILE=y
 CONFIG_HAVE_OPROFILE=y
 CONFIG_HAVE_PERF_EVENTS=y
 CONFIG_HAVE_PERF_EVENTS=y
 CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
 CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_RSEQ=y
 CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
 CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
 CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
 CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
 CONFIG_HW_HAS_PCI=y
 CONFIG_HW_HAS_PCI=y
@@ -130,22 +127,23 @@ CONFIG_LANTIQ_WDT=y
 # CONFIG_LANTIQ_XRX200 is not set
 # CONFIG_LANTIQ_XRX200 is not set
 CONFIG_LEDS_GPIO=y
 CONFIG_LEDS_GPIO=y
 CONFIG_LIBFDT=y
 CONFIG_LIBFDT=y
+CONFIG_LOCK_DEBUGGING_SUPPORT=y
 CONFIG_MDIO_BUS=y
 CONFIG_MDIO_BUS=y
 CONFIG_MDIO_DEVICE=y
 CONFIG_MDIO_DEVICE=y
+CONFIG_MEMFD_CREATE=y
 CONFIG_MFD_CORE=y
 CONFIG_MFD_CORE=y
 CONFIG_MFD_SYSCON=y
 CONFIG_MFD_SYSCON=y
 CONFIG_MIGRATION=y
 CONFIG_MIGRATION=y
 CONFIG_MIPS=y
 CONFIG_MIPS=y
 CONFIG_MIPS_ASID_BITS=8
 CONFIG_MIPS_ASID_BITS=8
 CONFIG_MIPS_ASID_SHIFT=0
 CONFIG_MIPS_ASID_SHIFT=0
+CONFIG_MIPS_CBPF_JIT=y
 CONFIG_MIPS_CLOCK_VSYSCALL=y
 CONFIG_MIPS_CLOCK_VSYSCALL=y
 # CONFIG_MIPS_CMDLINE_DTB_EXTEND is not set
 # CONFIG_MIPS_CMDLINE_DTB_EXTEND is not set
 # CONFIG_MIPS_CMDLINE_FROM_BOOTLOADER is not set
 # CONFIG_MIPS_CMDLINE_FROM_BOOTLOADER is not set
 CONFIG_MIPS_CMDLINE_FROM_DTB=y
 CONFIG_MIPS_CMDLINE_FROM_DTB=y
 # CONFIG_MIPS_ELF_APPENDED_DTB is not set
 # CONFIG_MIPS_ELF_APPENDED_DTB is not set
-# CONFIG_MIPS_HUGE_TLB_SUPPORT is not set
 CONFIG_MIPS_L1_CACHE_SHIFT=5
 CONFIG_MIPS_L1_CACHE_SHIFT=5
-# CONFIG_MIPS_MACHINE is not set
 # CONFIG_MIPS_MT_SMP is not set
 # CONFIG_MIPS_MT_SMP is not set
 # CONFIG_MIPS_NO_APPENDED_DTB is not set
 # CONFIG_MIPS_NO_APPENDED_DTB is not set
 CONFIG_MIPS_RAW_APPENDED_DTB=y
 CONFIG_MIPS_RAW_APPENDED_DTB=y
@@ -167,13 +165,14 @@ CONFIG_MTD_SPLIT_UIMAGE_FW=y
 CONFIG_NEED_DMA_MAP_STATE=y
 CONFIG_NEED_DMA_MAP_STATE=y
 CONFIG_NEED_PER_CPU_KM=y
 CONFIG_NEED_PER_CPU_KM=y
 CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y
 CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y
-# CONFIG_NO_IOPORT_MAP is not set
+CONFIG_NVMEM=y
 CONFIG_OF=y
 CONFIG_OF=y
 CONFIG_OF_ADDRESS=y
 CONFIG_OF_ADDRESS=y
 CONFIG_OF_EARLY_FLATTREE=y
 CONFIG_OF_EARLY_FLATTREE=y
 CONFIG_OF_FLATTREE=y
 CONFIG_OF_FLATTREE=y
 CONFIG_OF_GPIO=y
 CONFIG_OF_GPIO=y
 CONFIG_OF_IRQ=y
 CONFIG_OF_IRQ=y
+CONFIG_OF_KOBJ=y
 CONFIG_OF_MDIO=y
 CONFIG_OF_MDIO=y
 CONFIG_OF_NET=y
 CONFIG_OF_NET=y
 CONFIG_PCI_DRIVERS_LEGACY=y
 CONFIG_PCI_DRIVERS_LEGACY=y
@@ -188,17 +187,12 @@ CONFIG_PINCTRL_XWAY=y
 CONFIG_POWER_RESET=y
 CONFIG_POWER_RESET=y
 CONFIG_POWER_RESET_SYSCON=y
 CONFIG_POWER_RESET_SYSCON=y
 CONFIG_PSB6970_PHY=y
 CONFIG_PSB6970_PHY=y
-# CONFIG_RCU_NEED_SEGCBLIST is not set
-# CONFIG_RCU_STALL_COMMON is not set
 CONFIG_REGMAP=y
 CONFIG_REGMAP=y
 CONFIG_REGMAP_MMIO=y
 CONFIG_REGMAP_MMIO=y
 CONFIG_RESET_CONTROLLER=y
 CONFIG_RESET_CONTROLLER=y
 CONFIG_RESET_LANTIQ=y
 CONFIG_RESET_LANTIQ=y
 CONFIG_RTL8366RB_PHY=y
 CONFIG_RTL8366RB_PHY=y
 CONFIG_RTL8366_SMI=y
 CONFIG_RTL8366_SMI=y
-# CONFIG_SCHED_INFO is not set
-# CONFIG_SCSI_DMA is not set
-# CONFIG_SENSORS_LTQ_CPUTEMP is not set
 # CONFIG_SERIAL_8250 is not set
 # CONFIG_SERIAL_8250 is not set
 CONFIG_SERIAL_LANTIQ=y
 CONFIG_SERIAL_LANTIQ=y
 # CONFIG_SOC_AMAZON_SE is not set
 # CONFIG_SOC_AMAZON_SE is not set
@@ -208,6 +202,7 @@ CONFIG_SOC_XWAY=y
 CONFIG_SPI=y
 CONFIG_SPI=y
 CONFIG_SPI_LANTIQ_SSC=y
 CONFIG_SPI_LANTIQ_SSC=y
 CONFIG_SPI_MASTER=y
 CONFIG_SPI_MASTER=y
+CONFIG_SPI_MEM=y
 CONFIG_SRCU=y
 CONFIG_SRCU=y
 CONFIG_SWAP_IO_SPACE=y
 CONFIG_SWAP_IO_SPACE=y
 CONFIG_SWCONFIG=y
 CONFIG_SWCONFIG=y
@@ -221,6 +216,7 @@ CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
 CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
 CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
 CONFIG_SYS_SUPPORTS_MIPS16=y
 CONFIG_SYS_SUPPORTS_MIPS16=y
 CONFIG_SYS_SUPPORTS_MULTITHREADING=y
 CONFIG_SYS_SUPPORTS_MULTITHREADING=y
+CONFIG_SYS_SUPPORTS_VPE_LOADER=y
 CONFIG_TICK_CPU_ACCOUNTING=y
 CONFIG_TICK_CPU_ACCOUNTING=y
 CONFIG_TINY_SRCU=y
 CONFIG_TINY_SRCU=y
 CONFIG_USE_OF=y
 CONFIG_USE_OF=y

+ 6 - 6
target/linux/lantiq/patches-4.19/0001-MIPS-lantiq-add-pcie-driver.patch

@@ -4143,7 +4143,7 @@ Signed-off-by: John Crispin <[email protected]>
 +
 +
 --- a/arch/mips/pci/pci-legacy.c
 --- a/arch/mips/pci/pci-legacy.c
 +++ b/arch/mips/pci/pci-legacy.c
 +++ b/arch/mips/pci/pci-legacy.c
-@@ -313,3 +313,30 @@ char *__init pcibios_setup(char *str)
+@@ -311,3 +311,30 @@ char *__init pcibios_setup(char *str)
  		return pcibios_plat_setup(str);
  		return pcibios_plat_setup(str);
  	return str;
  	return str;
  }
  }
@@ -5482,9 +5482,9 @@ Signed-off-by: John Crispin <[email protected]>
 +
 +
 +#endif /* IFXMIPS_PCIE_VR9_H */
 +#endif /* IFXMIPS_PCIE_VR9_H */
 +
 +
---- a/drivers/pci/pcie/aer/Kconfig
-+++ b/drivers/pci/pcie/aer/Kconfig
-@@ -19,6 +19,7 @@ config PCIEAER
+--- a/drivers/pci/pcie/Kconfig
++++ b/drivers/pci/pcie/Kconfig
+@@ -54,6 +54,7 @@ config PCIEAER_INJECT
  config PCIE_ECRC
  config PCIE_ECRC
  	bool "PCI Express ECRC settings control"
  	bool "PCI Express ECRC settings control"
  	depends on PCIEAER
  	depends on PCIEAER
@@ -5494,7 +5494,7 @@ Signed-off-by: John Crispin <[email protected]>
  	  (transaction layer end-to-end CRC checking).
  	  (transaction layer end-to-end CRC checking).
 --- a/include/linux/pci.h
 --- a/include/linux/pci.h
 +++ b/include/linux/pci.h
 +++ b/include/linux/pci.h
-@@ -1302,6 +1302,8 @@ void pci_walk_bus(struct pci_bus *top, i
+@@ -1325,6 +1325,8 @@ void pci_walk_bus(struct pci_bus *top, i
  		  void *userdata);
  		  void *userdata);
  int pci_cfg_space_size(struct pci_dev *dev);
  int pci_cfg_space_size(struct pci_dev *dev);
  unsigned char pci_bus_max_busnr(struct pci_bus *bus);
  unsigned char pci_bus_max_busnr(struct pci_bus *bus);
@@ -5505,7 +5505,7 @@ Signed-off-by: John Crispin <[email protected]>
  					 unsigned long type);
  					 unsigned long type);
 --- a/include/linux/pci_ids.h
 --- a/include/linux/pci_ids.h
 +++ b/include/linux/pci_ids.h
 +++ b/include/linux/pci_ids.h
-@@ -1061,6 +1061,12 @@
+@@ -1065,6 +1065,12 @@
  #define PCI_DEVICE_ID_SGI_LITHIUM	0x1002
  #define PCI_DEVICE_ID_SGI_LITHIUM	0x1002
  #define PCI_DEVICE_ID_SGI_IOC4		0x100a
  #define PCI_DEVICE_ID_SGI_IOC4		0x100a
  
  

+ 0 - 47
target/linux/lantiq/patches-4.19/0002-gpio-stp-xway-Implement-get-callback.patch

@@ -1,47 +0,0 @@
-From 5b9b2b5284f81941972105b13337c58489ea8fca Mon Sep 17 00:00:00 2001
-From: Mathias Kresin <[email protected]>
-Date: Thu, 28 Jun 2018 21:57:40 +0200
-Subject: [PATCH] gpio: stp-xway: Implement get callback
-
-Add an implementation to get the current GPIO state.
-
-The callback is used by the leds-gpio driver for example, in case the
-current LED/GPIO state should be kept during driver load.
-
-Signed-off-by: Mathias Kresin <[email protected]>
-Signed-off-by: Linus Walleij <[email protected]>
----
- drivers/gpio/gpio-stp-xway.c | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
---- a/drivers/gpio/gpio-stp-xway.c
-+++ b/drivers/gpio/gpio-stp-xway.c
-@@ -91,6 +91,20 @@ struct xway_stp {
- };
- 
- /**
-+ * xway_stp_get() - gpio_chip->get - get gpios.
-+ * @gc:     Pointer to gpio_chip device structure.
-+ * @gpio:   GPIO signal number.
-+ *
-+ * Gets the shadow value.
-+ */
-+static int xway_stp_get(struct gpio_chip *gc, unsigned int gpio)
-+{
-+	struct xway_stp *chip = gpiochip_get_data(gc);
-+
-+	return (xway_stp_r32(chip->virt, XWAY_STP_CPU0) & BIT(gpio));
-+}
-+
-+/**
-  * xway_stp_set() - gpio_chip->set - set gpios.
-  * @gc:     Pointer to gpio_chip device structure.
-  * @gpio:   GPIO signal number.
-@@ -215,6 +229,7 @@ static int xway_stp_probe(struct platfor
- 	chip->gc.parent = &pdev->dev;
- 	chip->gc.label = "stp-xway";
- 	chip->gc.direction_output = xway_stp_dir_out;
-+	chip->gc.get = xway_stp_get;
- 	chip->gc.set = xway_stp_set;
- 	chip->gc.request = xway_stp_request;
- 	chip->gc.base = -1;

+ 2 - 2
target/linux/lantiq/patches-4.19/0004-MIPS-lantiq-add-atm-hack.patch

@@ -448,7 +448,7 @@ Signed-off-by: John Crispin <[email protected]>
 +EXPORT_SYMBOL(_dma_cache_wback);
 +EXPORT_SYMBOL(_dma_cache_wback);
 +EXPORT_SYMBOL(_dma_cache_inv);
 +EXPORT_SYMBOL(_dma_cache_inv);
  
  
- #endif /* CONFIG_DMA_NONCOHERENT || CONFIG_DMA_MAYBE_COHERENT */
+ #endif /* CONFIG_DMA_NONCOHERENT */
  
  
 --- a/include/uapi/linux/atm.h
 --- a/include/uapi/linux/atm.h
 +++ b/include/uapi/linux/atm.h
 +++ b/include/uapi/linux/atm.h
@@ -469,7 +469,7 @@ Signed-off-by: John Crispin <[email protected]>
  	int		max_pcr;	/* maximum PCR in cells per second */
  	int		max_pcr;	/* maximum PCR in cells per second */
 --- a/net/atm/proc.c
 --- a/net/atm/proc.c
 +++ b/net/atm/proc.c
 +++ b/net/atm/proc.c
-@@ -155,7 +155,7 @@ static void *vcc_seq_next(struct seq_fil
+@@ -141,7 +141,7 @@ static void *vcc_seq_next(struct seq_fil
  static void pvc_info(struct seq_file *seq, struct atm_vcc *vcc)
  static void pvc_info(struct seq_file *seq, struct atm_vcc *vcc)
  {
  {
  	static const char *const class_name[] = {
  	static const char *const class_name[] = {

+ 3 - 3
target/linux/lantiq/patches-4.19/0018-MTD-nand-lots-of-xrx200-fixes.patch

@@ -5,11 +5,11 @@ Subject: [PATCH 18/36] MTD: nand: lots of xrx200 fixes
 
 
 Signed-off-by: John Crispin <[email protected]>
 Signed-off-by: John Crispin <[email protected]>
 ---
 ---
- drivers/mtd/nand/xway_nand.c |   63 ++++++++++++++++++++++++++++++++++++++++++
+ drivers/mtd/nand/raw/xway_nand.c |   63 ++++++++++++++++++++++++++++++++++++++++++
  1 file changed, 63 insertions(+)
  1 file changed, 63 insertions(+)
 
 
---- a/drivers/mtd/nand/xway_nand.c
-+++ b/drivers/mtd/nand/xway_nand.c
+--- a/drivers/mtd/nand/raw/xway_nand.c
++++ b/drivers/mtd/nand/raw/xway_nand.c
 @@ -63,6 +63,24 @@
 @@ -63,6 +63,24 @@
  #define NAND_CON_CSMUX		(1 << 1)
  #define NAND_CON_CSMUX		(1 << 1)
  #define NAND_CON_NANDM		1
  #define NAND_CON_NANDM		1

+ 5 - 5
target/linux/lantiq/patches-4.19/0022-MTD-m25p80-allow-loading-mtd-name-from-OF.patch

@@ -22,7 +22,7 @@ Signed-off-by: John Crispin <[email protected]>
  
  
  #include <linux/mtd/mtd.h>
  #include <linux/mtd/mtd.h>
  #include <linux/mtd/partitions.h>
  #include <linux/mtd/partitions.h>
-@@ -245,6 +246,10 @@ static int m25p_probe(struct spi_device
+@@ -180,6 +181,10 @@ static int m25p_probe(struct spi_mem *sp
  	};
  	};
  	char *flash_name;
  	char *flash_name;
  	int ret;
  	int ret;
@@ -31,14 +31,14 @@ Signed-off-by: John Crispin <[email protected]>
 +	of_property_read_string(spi->dev.of_node,
 +	of_property_read_string(spi->dev.of_node,
 +		"linux,mtd-name", &of_mtd_name);
 +		"linux,mtd-name", &of_mtd_name);
  
  
- 	data = dev_get_platdata(&spi->dev);
+ 	data = dev_get_platdata(&spimem->spi->dev);
  
  
-@@ -283,6 +288,8 @@ static int m25p_probe(struct spi_device
+@@ -218,6 +223,8 @@ static int m25p_probe(struct spi_mem *sp
  
  
  	if (data && data->name)
  	if (data && data->name)
  		nor->mtd.name = data->name;
  		nor->mtd.name = data->name;
 +	else if (of_mtd_name)
 +	else if (of_mtd_name)
 +		nor->mtd.name = of_mtd_name;
 +		nor->mtd.name = of_mtd_name;
  
  
- 	/* For some (historical?) reason many platforms provide two different
- 	 * names in flash_platform_data: "name" and "type". Quite often name is
+ 	if (!nor->mtd.name)
+ 		nor->mtd.name = spi_mem_get_name(spimem);

+ 4 - 4
target/linux/lantiq/patches-4.19/0023-NET-PHY-add-led-support-for-intel-xway.patch

@@ -13,9 +13,9 @@ Signed-off-by: John Crispin <[email protected]>
 
 
 --- a/drivers/net/phy/intel-xway.c
 --- a/drivers/net/phy/intel-xway.c
 +++ b/drivers/net/phy/intel-xway.c
 +++ b/drivers/net/phy/intel-xway.c
-@@ -152,6 +152,51 @@
- #define PHY_ID_PHY11G_VR9		0xD565A409
- #define PHY_ID_PHY22F_VR9		0xD565A419
+@@ -154,6 +154,51 @@
+ #define PHY_ID_PHY11G_VR9_1_2		0xD565A409
+ #define PHY_ID_PHY22F_VR9_1_2		0xD565A419
  
  
 +#if IS_ENABLED(CONFIG_OF_MDIO)
 +#if IS_ENABLED(CONFIG_OF_MDIO)
 +static int vr9_gphy_of_reg_init(struct phy_device *phydev)
 +static int vr9_gphy_of_reg_init(struct phy_device *phydev)
@@ -65,7 +65,7 @@ Signed-off-by: John Crispin <[email protected]>
  static int xway_gphy_config_init(struct phy_device *phydev)
  static int xway_gphy_config_init(struct phy_device *phydev)
  {
  {
  	int err;
  	int err;
-@@ -190,6 +235,7 @@ static int xway_gphy_config_init(struct
+@@ -192,6 +237,7 @@ static int xway_gphy_config_init(struct
  	phy_write_mmd(phydev, MDIO_MMD_VEND2, XWAY_MMD_LED2H, ledxh);
  	phy_write_mmd(phydev, MDIO_MMD_VEND2, XWAY_MMD_LED2H, ledxh);
  	phy_write_mmd(phydev, MDIO_MMD_VEND2, XWAY_MMD_LED2L, ledxl);
  	phy_write_mmd(phydev, MDIO_MMD_VEND2, XWAY_MMD_LED2L, ledxl);
  
  

+ 10 - 8
target/linux/lantiq/patches-4.19/0025-NET-MIPS-lantiq-adds-xrx200-net.patch

@@ -16,7 +16,7 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net
 
 
 --- a/drivers/net/ethernet/Kconfig
 --- a/drivers/net/ethernet/Kconfig
 +++ b/drivers/net/ethernet/Kconfig
 +++ b/drivers/net/ethernet/Kconfig
-@@ -107,7 +107,13 @@ config LANTIQ_ETOP
+@@ -106,7 +106,13 @@ config LANTIQ_ETOP
  	tristate "Lantiq SoC ETOP driver"
  	tristate "Lantiq SoC ETOP driver"
  	depends on SOC_TYPE_XWAY
  	depends on SOC_TYPE_XWAY
  	---help---
  	---help---
@@ -33,7 +33,7 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net
  source "drivers/net/ethernet/mediatek/Kconfig"
  source "drivers/net/ethernet/mediatek/Kconfig"
 --- a/drivers/net/ethernet/Makefile
 --- a/drivers/net/ethernet/Makefile
 +++ b/drivers/net/ethernet/Makefile
 +++ b/drivers/net/ethernet/Makefile
-@@ -50,6 +50,7 @@ obj-$(CONFIG_NET_VENDOR_XSCALE) += xscal
+@@ -49,6 +49,7 @@ obj-$(CONFIG_NET_VENDOR_XSCALE) += xscal
  obj-$(CONFIG_JME) += jme.o
  obj-$(CONFIG_JME) += jme.o
  obj-$(CONFIG_KORINA) += korina.o
  obj-$(CONFIG_KORINA) += korina.o
  obj-$(CONFIG_LANTIQ_ETOP) += lantiq_etop.o
  obj-$(CONFIG_LANTIQ_ETOP) += lantiq_etop.o
@@ -209,7 +209,7 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net
 +};
 +};
 --- /dev/null
 --- /dev/null
 +++ b/drivers/net/ethernet/lantiq_xrx200.c
 +++ b/drivers/net/ethernet/lantiq_xrx200.c
-@@ -0,0 +1,1887 @@
+@@ -0,0 +1,1889 @@
 +/*
 +/*
 + *   This program is free software; you can redistribute it and/or modify it
 + *   This program is free software; you can redistribute it and/or modify it
 + *   under the terms of the GNU General Public License version 2 as published
 + *   under the terms of the GNU General Public License version 2 as published
@@ -1133,7 +1133,7 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net
 +		goto skip;
 +		goto skip;
 +
 +
 +	skb_reserve(ch->skb[ch->dma.desc], NET_SKB_PAD);
 +	skb_reserve(ch->skb[ch->dma.desc], NET_SKB_PAD);
-+	ch->dma.desc_base[ch->dma.desc].addr = dma_map_single(NULL,
++	ch->dma.desc_base[ch->dma.desc].addr = dma_map_single(ch->dma.dev,
 +		ch->skb[ch->dma.desc]->data, XRX200_DMA_DATA_LEN,
 +		ch->skb[ch->dma.desc]->data, XRX200_DMA_DATA_LEN,
 +			DMA_FROM_DEVICE);
 +			DMA_FROM_DEVICE);
 +	ch->dma.desc_base[ch->dma.desc].addr =
 +	ch->dma.desc_base[ch->dma.desc].addr =
@@ -1328,7 +1328,7 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net
 +
 +
 +	netif_trans_update(dev);
 +	netif_trans_update(dev);
 +
 +
-+	desc->addr = ((unsigned int) dma_map_single(NULL, skb->data, len,
++	desc->addr = ((unsigned int) dma_map_single(ch->dma.dev, skb->data, len,
 +						DMA_TO_DEVICE)) - byte_offset;
 +						DMA_TO_DEVICE)) - byte_offset;
 +	wmb();
 +	wmb();
 +	desc->ctl = LTQ_DMA_OWN | LTQ_DMA_SOP | LTQ_DMA_EOP |
 +	desc->ctl = LTQ_DMA_OWN | LTQ_DMA_SOP | LTQ_DMA_EOP |
@@ -1365,7 +1365,7 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net
 +	return IRQ_HANDLED;
 +	return IRQ_HANDLED;
 +}
 +}
 +
 +
-+static int xrx200_dma_init(struct xrx200_hw *hw)
++static int xrx200_dma_init(struct device *dev, struct xrx200_hw *hw)
 +{
 +{
 +	int i, err = 0;
 +	int i, err = 0;
 +
 +
@@ -1378,6 +1378,7 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net
 +		spin_lock_init(&ch->lock);
 +		spin_lock_init(&ch->lock);
 +
 +
 +		ch->idx = ch->dma.nr = i;
 +		ch->idx = ch->dma.nr = i;
++		ch->dma.dev = dev;
 +
 +
 +		if (i == XRX200_DMA_TX) {
 +		if (i == XRX200_DMA_TX) {
 +			ltq_dma_alloc_tx(&ch->dma);
 +			ltq_dma_alloc_tx(&ch->dma);
@@ -1540,11 +1541,12 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net
 +{
 +{
 +	struct net_device *netdev = phydev->attached_dev;
 +	struct net_device *netdev = phydev->attached_dev;
 +
 +
-+	if (do_carrier)
++	if (do_carrier) {
 +		if (up)
 +		if (up)
 +			netif_carrier_on(netdev);
 +			netif_carrier_on(netdev);
 +		else if (!xrx200_phy_has_link(netdev))
 +		else if (!xrx200_phy_has_link(netdev))
 +			netif_carrier_off(netdev);
 +			netif_carrier_off(netdev);
++	}
 +
 +
 +	phydev->adjust_link(netdev);
 +	phydev->adjust_link(netdev);
 +}
 +}
@@ -2002,7 +2004,7 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net
 +	}
 +	}
 +
 +
 +	/* bring up the dma engine and IP core */
 +	/* bring up the dma engine and IP core */
-+	xrx200_dma_init(&xrx200_hw);
++	xrx200_dma_init(&pdev->dev, &xrx200_hw);
 +	xrx200_hw_init(&xrx200_hw);
 +	xrx200_hw_init(&xrx200_hw);
 +	tasklet_init(&xrx200_hw.chan[XRX200_DMA_TX].tasklet, xrx200_tx_housekeeping, (u32) &xrx200_hw.chan[XRX200_DMA_TX]);
 +	tasklet_init(&xrx200_hw.chan[XRX200_DMA_TX].tasklet, xrx200_tx_housekeeping, (u32) &xrx200_hw.chan[XRX200_DMA_TX]);
 +	tasklet_init(&xrx200_hw.chan[XRX200_DMA_TX_2].tasklet, xrx200_tx_housekeeping, (u32) &xrx200_hw.chan[XRX200_DMA_TX_2]);
 +	tasklet_init(&xrx200_hw.chan[XRX200_DMA_TX_2].tasklet, xrx200_tx_housekeeping, (u32) &xrx200_hw.chan[XRX200_DMA_TX_2]);

+ 0 - 62
target/linux/lantiq/patches-4.19/0027-01-net-phy-intel-xway-add-VR9-version-number.patch

@@ -1,62 +0,0 @@
-From 5b73d9955fb4b0e3c37f8f6c71910293246c89dc Mon Sep 17 00:00:00 2001
-From: Mathias Kresin <[email protected]>
-Date: Thu, 22 Mar 2018 23:31:38 +0100
-Subject: [PATCH 1/2] net: phy: intel-xway: add VR9 version number
-
-The VR9 phy ids are matching only for the SoC version 1.2. Rename the
-macros and change the names to take this into account.
-
-Signed-off-by: Mathias Kresin <[email protected]>
-Signed-off-by: David S. Miller <[email protected]>
----
- drivers/net/phy/intel-xway.c | 16 ++++++++--------
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
---- a/drivers/net/phy/intel-xway.c
-+++ b/drivers/net/phy/intel-xway.c
-@@ -149,8 +149,8 @@
- #define PHY_ID_PHY22F_1_4		0xD565A410
- #define PHY_ID_PHY11G_1_5		0xD565A401
- #define PHY_ID_PHY22F_1_5		0xD565A411
--#define PHY_ID_PHY11G_VR9		0xD565A409
--#define PHY_ID_PHY22F_VR9		0xD565A419
-+#define PHY_ID_PHY11G_VR9_1_2		0xD565A409
-+#define PHY_ID_PHY22F_VR9_1_2		0xD565A419
- 
- #if IS_ENABLED(CONFIG_OF_MDIO)
- static int vr9_gphy_of_reg_init(struct phy_device *phydev)
-@@ -366,9 +366,9 @@ static struct phy_driver xway_gphy[] = {
- 		.suspend	= genphy_suspend,
- 		.resume		= genphy_resume,
- 	}, {
--		.phy_id		= PHY_ID_PHY11G_VR9,
-+		.phy_id		= PHY_ID_PHY11G_VR9_1_2,
- 		.phy_id_mask	= 0xffffffff,
--		.name		= "Intel XWAY PHY11G (xRX integrated)",
-+		.name		= "Intel XWAY PHY11G (xRX v1.2 integrated)",
- 		.features	= PHY_GBIT_FEATURES,
- 		.flags		= PHY_HAS_INTERRUPT,
- 		.config_init	= xway_gphy_config_init,
-@@ -380,9 +380,9 @@ static struct phy_driver xway_gphy[] = {
- 		.suspend	= genphy_suspend,
- 		.resume		= genphy_resume,
- 	}, {
--		.phy_id		= PHY_ID_PHY22F_VR9,
-+		.phy_id		= PHY_ID_PHY22F_VR9_1_2,
- 		.phy_id_mask	= 0xffffffff,
--		.name		= "Intel XWAY PHY22F (xRX integrated)",
-+		.name		= "Intel XWAY PHY22F (xRX v1.2 integrated)",
- 		.features	= PHY_BASIC_FEATURES,
- 		.flags		= PHY_HAS_INTERRUPT,
- 		.config_init	= xway_gphy_config_init,
-@@ -404,8 +404,8 @@ static struct mdio_device_id __maybe_unu
- 	{ PHY_ID_PHY22F_1_4, 0xffffffff },
- 	{ PHY_ID_PHY11G_1_5, 0xffffffff },
- 	{ PHY_ID_PHY22F_1_5, 0xffffffff },
--	{ PHY_ID_PHY11G_VR9, 0xffffffff },
--	{ PHY_ID_PHY22F_VR9, 0xffffffff },
-+	{ PHY_ID_PHY11G_VR9_1_2, 0xffffffff },
-+	{ PHY_ID_PHY22F_VR9_1_2, 0xffffffff },
- 	{ }
- };
- MODULE_DEVICE_TABLE(mdio, xway_gphy_tbl);

+ 0 - 69
target/linux/lantiq/patches-4.19/0027-02-net-phy-intel-xway-add-VR9-v1.1-phy-ids.patch

@@ -1,69 +0,0 @@
-From f452518c982e57538e6d49da0a2c80eef22087ab Mon Sep 17 00:00:00 2001
-From: Mathias Kresin <[email protected]>
-Date: Thu, 22 Mar 2018 23:31:39 +0100
-Subject: [PATCH 2/2] net: phy: intel-xway: add VR9 v1.1 phy ids
-
-The phys embedded into the v1.1 of the VR9 SoC are using different phy
-ids. Add the phy ids to use the driver for this VR9 version as well.
-
-Signed-off-by: Mathias Kresin <[email protected]>
-Signed-off-by: David S. Miller <[email protected]>
----
- drivers/net/phy/intel-xway.c | 28 ++++++++++++++++++++++++++++
- 1 file changed, 28 insertions(+)
-
---- a/drivers/net/phy/intel-xway.c
-+++ b/drivers/net/phy/intel-xway.c
-@@ -149,6 +149,8 @@
- #define PHY_ID_PHY22F_1_4		0xD565A410
- #define PHY_ID_PHY11G_1_5		0xD565A401
- #define PHY_ID_PHY22F_1_5		0xD565A411
-+#define PHY_ID_PHY11G_VR9_1_1		0xD565A408
-+#define PHY_ID_PHY22F_VR9_1_1		0xD565A418
- #define PHY_ID_PHY11G_VR9_1_2		0xD565A409
- #define PHY_ID_PHY22F_VR9_1_2		0xD565A419
- 
-@@ -366,6 +368,34 @@ static struct phy_driver xway_gphy[] = {
- 		.suspend	= genphy_suspend,
- 		.resume		= genphy_resume,
- 	}, {
-+		.phy_id		= PHY_ID_PHY11G_VR9_1_1,
-+		.phy_id_mask	= 0xffffffff,
-+		.name		= "Intel XWAY PHY11G (xRX v1.1 integrated)",
-+		.features	= PHY_GBIT_FEATURES,
-+		.flags		= PHY_HAS_INTERRUPT,
-+		.config_init	= xway_gphy_config_init,
-+		.config_aneg	= genphy_config_aneg,
-+		.read_status	= genphy_read_status,
-+		.ack_interrupt	= xway_gphy_ack_interrupt,
-+		.did_interrupt	= xway_gphy_did_interrupt,
-+		.config_intr	= xway_gphy_config_intr,
-+		.suspend	= genphy_suspend,
-+		.resume		= genphy_resume,
-+	}, {
-+		.phy_id		= PHY_ID_PHY22F_VR9_1_1,
-+		.phy_id_mask	= 0xffffffff,
-+		.name		= "Intel XWAY PHY22F (xRX v1.1 integrated)",
-+		.features	= PHY_BASIC_FEATURES,
-+		.flags		= PHY_HAS_INTERRUPT,
-+		.config_init	= xway_gphy_config_init,
-+		.config_aneg	= genphy_config_aneg,
-+		.read_status	= genphy_read_status,
-+		.ack_interrupt	= xway_gphy_ack_interrupt,
-+		.did_interrupt	= xway_gphy_did_interrupt,
-+		.config_intr	= xway_gphy_config_intr,
-+		.suspend	= genphy_suspend,
-+		.resume		= genphy_resume,
-+	}, {
- 		.phy_id		= PHY_ID_PHY11G_VR9_1_2,
- 		.phy_id_mask	= 0xffffffff,
- 		.name		= "Intel XWAY PHY11G (xRX v1.2 integrated)",
-@@ -404,6 +434,8 @@ static struct mdio_device_id __maybe_unu
- 	{ PHY_ID_PHY22F_1_4, 0xffffffff },
- 	{ PHY_ID_PHY11G_1_5, 0xffffffff },
- 	{ PHY_ID_PHY22F_1_5, 0xffffffff },
-+	{ PHY_ID_PHY11G_VR9_1_1, 0xffffffff },
-+	{ PHY_ID_PHY22F_VR9_1_1, 0xffffffff },
- 	{ PHY_ID_PHY11G_VR9_1_2, 0xffffffff },
- 	{ PHY_ID_PHY22F_VR9_1_2, 0xffffffff },
- 	{ }

+ 30 - 26
target/linux/lantiq/patches-4.19/0028-NET-lantiq-various-etop-fixes.patch

@@ -165,14 +165,15 @@ Signed-off-by: John Crispin <[email protected]>
 -	int tx_free[MAX_DMA_CHAN >> 1];
 -	int tx_free[MAX_DMA_CHAN >> 1];
 +	struct ltq_etop_chan txch;
 +	struct ltq_etop_chan txch;
 +	struct ltq_etop_chan rxch;
 +	struct ltq_etop_chan rxch;
-+
+ 
+-	spinlock_t lock;
 +	int tx_irq;
 +	int tx_irq;
 +	int rx_irq;
 +	int rx_irq;
 +
 +
 +	unsigned char mac[6];
 +	unsigned char mac[6];
 +	int mii_mode;
 +	int mii_mode;
- 
- 	spinlock_t lock;
++ 
++ 	spinlock_t lock;
 +
 +
 +	struct clk *clk_ppe;
 +	struct clk *clk_ppe;
 +	struct clk *clk_switch;
 +	struct clk *clk_switch;
@@ -272,7 +273,7 @@ Signed-off-by: John Crispin <[email protected]>
  		int desc;
  		int desc;
  		for (desc = 0; desc < LTQ_DESC_NUM; desc++)
  		for (desc = 0; desc < LTQ_DESC_NUM; desc++)
  			dev_kfree_skb_any(ch->skb[ch->dma.desc]);
  			dev_kfree_skb_any(ch->skb[ch->dma.desc]);
-@@ -231,65 +308,133 @@ static void
+@@ -231,66 +308,135 @@ static void
  ltq_etop_hw_exit(struct net_device *dev)
  ltq_etop_hw_exit(struct net_device *dev)
  {
  {
  	struct ltq_etop_priv *priv = netdev_priv(dev);
  	struct ltq_etop_priv *priv = netdev_priv(dev);
@@ -328,11 +329,10 @@ Signed-off-by: John Crispin <[email protected]>
  	struct ltq_etop_priv *priv = netdev_priv(dev);
  	struct ltq_etop_priv *priv = netdev_priv(dev);
 -	int i;
 -	int i;
 +	int mii_mode = priv->mii_mode;
 +	int mii_mode = priv->mii_mode;
- 
--	ltq_pmu_enable(PMU_PPE);
++
 +	clk_enable(priv->clk_ppe);
 +	clk_enable(priv->clk_ppe);
  
  
--	switch (priv->pldata->mii_mode) {
+-	ltq_pmu_enable(PMU_PPE);
 +	if (of_machine_is_compatible("lantiq,ar9")) {
 +	if (of_machine_is_compatible("lantiq,ar9")) {
 +		ltq_etop_gbit_init(dev);
 +		ltq_etop_gbit_init(dev);
 +		/* force the etops link to the gbit to MII */
 +		/* force the etops link to the gbit to MII */
@@ -341,7 +341,8 @@ Signed-off-by: John Crispin <[email protected]>
 +	ltq_etop_w32_mask(MDIO_CFG_MASK, 0, LTQ_ETOP_MDIO_CFG);
 +	ltq_etop_w32_mask(MDIO_CFG_MASK, 0, LTQ_ETOP_MDIO_CFG);
 +	ltq_etop_w32_mask(MAC_CFG_MASK, MAC_CFG_CGEN | MAC_CFG_DUPLEX |
 +	ltq_etop_w32_mask(MAC_CFG_MASK, MAC_CFG_CGEN | MAC_CFG_DUPLEX |
 +			MAC_CFG_SPEED | MAC_CFG_LINK, LTQ_ETOP_MAC_CFG);
 +			MAC_CFG_SPEED | MAC_CFG_LINK, LTQ_ETOP_MAC_CFG);
-+
+ 
+-	switch (priv->pldata->mii_mode) {
 +	switch (mii_mode) {
 +	switch (mii_mode) {
  	case PHY_INTERFACE_MODE_RMII:
  	case PHY_INTERFACE_MODE_RMII:
 -		ltq_etop_w32_mask(ETOP_MII_MASK,
 -		ltq_etop_w32_mask(ETOP_MII_MASK,
@@ -396,6 +397,7 @@ Signed-off-by: John Crispin <[email protected]>
 -		struct ltq_etop_chan *ch = &priv->ch[i];
 -		struct ltq_etop_chan *ch = &priv->ch[i];
 -
 -
 -		ch->idx = ch->dma.nr = i;
 -		ch->idx = ch->dma.nr = i;
+-		ch->dma.dev = &priv->pdev->dev;
 -
 -
 -		if (IS_TX(i)) {
 -		if (IS_TX(i)) {
 -			ltq_dma_alloc_tx(&ch->dma);
 -			ltq_dma_alloc_tx(&ch->dma);
@@ -409,6 +411,7 @@ Signed-off-by: John Crispin <[email protected]>
 -			ch->dma.desc = 0;
 -			ch->dma.desc = 0;
 -			request_irq(irq, ltq_etop_dma_irq, 0, "etop_rx", priv);
 -			request_irq(irq, ltq_etop_dma_irq, 0, "etop_rx", priv);
 +	priv->txch.dma.nr = tx;
 +	priv->txch.dma.nr = tx;
++	priv->txch.dma.dev = &priv->pdev->dev;
 +	ltq_dma_alloc_tx(&priv->txch.dma);
 +	ltq_dma_alloc_tx(&priv->txch.dma);
 +	err = request_irq(priv->tx_irq, ltq_etop_dma_irq, 0, "eth_tx", priv);
 +	err = request_irq(priv->tx_irq, ltq_etop_dma_irq, 0, "eth_tx", priv);
 +	if (err) {
 +	if (err) {
@@ -418,6 +421,7 @@ Signed-off-by: John Crispin <[email protected]>
 +	priv->txch.dma.irq = priv->tx_irq;
 +	priv->txch.dma.irq = priv->tx_irq;
 +
 +
 +	priv->rxch.dma.nr = rx;
 +	priv->rxch.dma.nr = rx;
++	priv->rxch.dma.dev = &priv->pdev->dev;
 +	ltq_dma_alloc_rx(&priv->rxch.dma);
 +	ltq_dma_alloc_rx(&priv->rxch.dma);
 +	for (priv->rxch.dma.desc = 0; priv->rxch.dma.desc < LTQ_DESC_NUM;
 +	for (priv->rxch.dma.desc = 0; priv->rxch.dma.desc < LTQ_DESC_NUM;
 +			priv->rxch.dma.desc++) {
 +			priv->rxch.dma.desc++) {
@@ -440,7 +444,7 @@ Signed-off-by: John Crispin <[email protected]>
  }
  }
  
  
  static void
  static void
-@@ -308,6 +453,39 @@ static const struct ethtool_ops ltq_etop
+@@ -309,6 +455,39 @@ static const struct ethtool_ops ltq_etop
  };
  };
  
  
  static int
  static int
@@ -480,7 +484,7 @@ Signed-off-by: John Crispin <[email protected]>
  ltq_etop_mdio_wr(struct mii_bus *bus, int phy_addr, int phy_reg, u16 phy_data)
  ltq_etop_mdio_wr(struct mii_bus *bus, int phy_addr, int phy_reg, u16 phy_data)
  {
  {
  	u32 val = MDIO_REQUEST |
  	u32 val = MDIO_REQUEST |
-@@ -315,9 +493,9 @@ ltq_etop_mdio_wr(struct mii_bus *bus, in
+@@ -316,9 +495,9 @@ ltq_etop_mdio_wr(struct mii_bus *bus, in
  		((phy_reg & MDIO_REG_MASK) << MDIO_REG_OFFSET) |
  		((phy_reg & MDIO_REG_MASK) << MDIO_REG_OFFSET) |
  		phy_data;
  		phy_data;
  
  
@@ -492,7 +496,7 @@ Signed-off-by: John Crispin <[email protected]>
  	return 0;
  	return 0;
  }
  }
  
  
-@@ -328,12 +506,12 @@ ltq_etop_mdio_rd(struct mii_bus *bus, in
+@@ -329,12 +508,12 @@ ltq_etop_mdio_rd(struct mii_bus *bus, in
  		((phy_addr & MDIO_ADDR_MASK) << MDIO_ADDR_OFFSET) |
  		((phy_addr & MDIO_ADDR_MASK) << MDIO_ADDR_OFFSET) |
  		((phy_reg & MDIO_REG_MASK) << MDIO_REG_OFFSET);
  		((phy_reg & MDIO_REG_MASK) << MDIO_REG_OFFSET);
  
  
@@ -509,7 +513,7 @@ Signed-off-by: John Crispin <[email protected]>
  	return val;
  	return val;
  }
  }
  
  
-@@ -348,8 +526,18 @@ ltq_etop_mdio_probe(struct net_device *d
+@@ -349,8 +528,18 @@ ltq_etop_mdio_probe(struct net_device *d
  {
  {
  	struct ltq_etop_priv *priv = netdev_priv(dev);
  	struct ltq_etop_priv *priv = netdev_priv(dev);
  	struct phy_device *phydev;
  	struct phy_device *phydev;
@@ -529,7 +533,7 @@ Signed-off-by: John Crispin <[email protected]>
  
  
  	if (!phydev) {
  	if (!phydev) {
  		netdev_err(dev, "no PHY found\n");
  		netdev_err(dev, "no PHY found\n");
-@@ -357,21 +545,18 @@ ltq_etop_mdio_probe(struct net_device *d
+@@ -358,21 +547,18 @@ ltq_etop_mdio_probe(struct net_device *d
  	}
  	}
  
  
  	phydev = phy_connect(dev, phydev_name(phydev),
  	phydev = phy_connect(dev, phydev_name(phydev),
@@ -556,7 +560,7 @@ Signed-off-by: John Crispin <[email protected]>
  	phydev->advertising = phydev->supported;
  	phydev->advertising = phydev->supported;
  	phy_attached_info(phydev);
  	phy_attached_info(phydev);
  
  
-@@ -392,8 +577,13 @@ ltq_etop_mdio_init(struct net_device *de
+@@ -393,8 +579,13 @@ ltq_etop_mdio_init(struct net_device *de
  	}
  	}
  
  
  	priv->mii_bus->priv = dev;
  	priv->mii_bus->priv = dev;
@@ -572,7 +576,7 @@ Signed-off-by: John Crispin <[email protected]>
  	priv->mii_bus->name = "ltq_mii";
  	priv->mii_bus->name = "ltq_mii";
  	snprintf(priv->mii_bus->id, MII_BUS_ID_SIZE, "%s-%x",
  	snprintf(priv->mii_bus->id, MII_BUS_ID_SIZE, "%s-%x",
  		priv->pdev->name, priv->pdev->id);
  		priv->pdev->name, priv->pdev->id);
-@@ -430,17 +620,19 @@ static int
+@@ -431,17 +622,19 @@ static int
  ltq_etop_open(struct net_device *dev)
  ltq_etop_open(struct net_device *dev)
  {
  {
  	struct ltq_etop_priv *priv = netdev_priv(dev);
  	struct ltq_etop_priv *priv = netdev_priv(dev);
@@ -601,7 +605,7 @@ Signed-off-by: John Crispin <[email protected]>
  	netif_tx_start_all_queues(dev);
  	netif_tx_start_all_queues(dev);
  	return 0;
  	return 0;
  }
  }
-@@ -449,18 +641,19 @@ static int
+@@ -450,18 +643,19 @@ static int
  ltq_etop_stop(struct net_device *dev)
  ltq_etop_stop(struct net_device *dev)
  {
  {
  	struct ltq_etop_priv *priv = netdev_priv(dev);
  	struct ltq_etop_priv *priv = netdev_priv(dev);
@@ -631,7 +635,7 @@ Signed-off-by: John Crispin <[email protected]>
  	return 0;
  	return 0;
  }
  }
  
  
-@@ -470,16 +663,16 @@ ltq_etop_tx(struct sk_buff *skb, struct
+@@ -471,16 +665,16 @@ ltq_etop_tx(struct sk_buff *skb, struct
  	int queue = skb_get_queue_mapping(skb);
  	int queue = skb_get_queue_mapping(skb);
  	struct netdev_queue *txq = netdev_get_tx_queue(dev, queue);
  	struct netdev_queue *txq = netdev_get_tx_queue(dev, queue);
  	struct ltq_etop_priv *priv = netdev_priv(dev);
  	struct ltq_etop_priv *priv = netdev_priv(dev);
@@ -653,7 +657,7 @@ Signed-off-by: John Crispin <[email protected]>
  		netdev_err(dev, "tx ring full\n");
  		netdev_err(dev, "tx ring full\n");
  		netif_tx_stop_queue(txq);
  		netif_tx_stop_queue(txq);
  		return NETDEV_TX_BUSY;
  		return NETDEV_TX_BUSY;
-@@ -487,7 +680,7 @@ ltq_etop_tx(struct sk_buff *skb, struct
+@@ -488,7 +682,7 @@ ltq_etop_tx(struct sk_buff *skb, struct
  
  
  	/* dma needs to start on a 16 byte aligned address */
  	/* dma needs to start on a 16 byte aligned address */
  	byte_offset = CPHYSADDR(skb->data) % 16;
  	byte_offset = CPHYSADDR(skb->data) % 16;
@@ -662,7 +666,7 @@ Signed-off-by: John Crispin <[email protected]>
  
  
  	netif_trans_update(dev);
  	netif_trans_update(dev);
  
  
-@@ -497,11 +690,11 @@ ltq_etop_tx(struct sk_buff *skb, struct
+@@ -498,11 +692,11 @@ ltq_etop_tx(struct sk_buff *skb, struct
  	wmb();
  	wmb();
  	desc->ctl = LTQ_DMA_OWN | LTQ_DMA_SOP | LTQ_DMA_EOP |
  	desc->ctl = LTQ_DMA_OWN | LTQ_DMA_SOP | LTQ_DMA_EOP |
  		LTQ_DMA_TX_OFFSET(byte_offset) | (len & LTQ_DMA_SIZE_MASK);
  		LTQ_DMA_TX_OFFSET(byte_offset) | (len & LTQ_DMA_SIZE_MASK);
@@ -677,7 +681,7 @@ Signed-off-by: John Crispin <[email protected]>
  		netif_tx_stop_queue(txq);
  		netif_tx_stop_queue(txq);
  
  
  	return NETDEV_TX_OK;
  	return NETDEV_TX_OK;
-@@ -515,8 +708,10 @@ ltq_etop_change_mtu(struct net_device *d
+@@ -516,8 +710,10 @@ ltq_etop_change_mtu(struct net_device *d
  
  
  	dev->mtu = new_mtu;
  	dev->mtu = new_mtu;
  
  
@@ -689,7 +693,7 @@ Signed-off-by: John Crispin <[email protected]>
  	spin_unlock_irqrestore(&priv->lock, flags);
  	spin_unlock_irqrestore(&priv->lock, flags);
  
  
  	return 0;
  	return 0;
-@@ -584,6 +779,9 @@ ltq_etop_init(struct net_device *dev)
+@@ -577,6 +773,9 @@ ltq_etop_init(struct net_device *dev)
  	if (err)
  	if (err)
  		goto err_hw;
  		goto err_hw;
  	ltq_etop_change_mtu(dev, 1500);
  	ltq_etop_change_mtu(dev, 1500);
@@ -699,7 +703,7 @@ Signed-off-by: John Crispin <[email protected]>
  
  
  	memcpy(&mac, &priv->pldata->mac, sizeof(struct sockaddr));
  	memcpy(&mac, &priv->pldata->mac, sizeof(struct sockaddr));
  	if (!is_valid_ether_addr(mac.sa_data)) {
  	if (!is_valid_ether_addr(mac.sa_data)) {
-@@ -601,9 +799,10 @@ ltq_etop_init(struct net_device *dev)
+@@ -594,9 +793,10 @@ ltq_etop_init(struct net_device *dev)
  		dev->addr_assign_type = NET_ADDR_RANDOM;
  		dev->addr_assign_type = NET_ADDR_RANDOM;
  
  
  	ltq_etop_set_multicast_list(dev);
  	ltq_etop_set_multicast_list(dev);
@@ -713,7 +717,7 @@ Signed-off-by: John Crispin <[email protected]>
  	return 0;
  	return 0;
  
  
  err_netdev:
  err_netdev:
-@@ -623,6 +822,9 @@ ltq_etop_tx_timeout(struct net_device *d
+@@ -616,6 +816,9 @@ ltq_etop_tx_timeout(struct net_device *d
  	err = ltq_etop_hw_init(dev);
  	err = ltq_etop_hw_init(dev);
  	if (err)
  	if (err)
  		goto err_hw;
  		goto err_hw;
@@ -723,7 +727,7 @@ Signed-off-by: John Crispin <[email protected]>
  	netif_trans_update(dev);
  	netif_trans_update(dev);
  	netif_wake_queue(dev);
  	netif_wake_queue(dev);
  	return;
  	return;
-@@ -646,14 +848,19 @@ static const struct net_device_ops ltq_e
+@@ -639,14 +842,19 @@ static const struct net_device_ops ltq_e
  	.ndo_tx_timeout = ltq_etop_tx_timeout,
  	.ndo_tx_timeout = ltq_etop_tx_timeout,
  };
  };
  
  
@@ -747,7 +751,7 @@ Signed-off-by: John Crispin <[email protected]>
  
  
  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
  	if (!res) {
  	if (!res) {
-@@ -679,31 +886,62 @@ ltq_etop_probe(struct platform_device *p
+@@ -672,31 +880,62 @@ ltq_etop_probe(struct platform_device *p
  		goto err_out;
  		goto err_out;
  	}
  	}
  
  
@@ -825,7 +829,7 @@ Signed-off-by: John Crispin <[email protected]>
  
  
  	err = register_netdev(dev);
  	err = register_netdev(dev);
  	if (err)
  	if (err)
-@@ -732,31 +970,22 @@ ltq_etop_remove(struct platform_device *
+@@ -725,31 +964,22 @@ ltq_etop_remove(struct platform_device *
  	return 0;
  	return 0;
  }
  }
  
  

+ 6 - 6
target/linux/lantiq/patches-4.19/0030-GPIO-add-named-gpio-exports.patch

@@ -22,7 +22,7 @@ Signed-off-by: John Crispin <[email protected]>
  
  
  #include "gpiolib.h"
  #include "gpiolib.h"
  
  
-@@ -507,3 +509,72 @@ void of_gpiochip_remove(struct gpio_chip
+@@ -660,3 +662,72 @@ void of_gpiochip_remove(struct gpio_chip
  	gpiochip_remove_pin_ranges(chip);
  	gpiochip_remove_pin_ranges(chip);
  	of_node_put(chip->of_node);
  	of_node_put(chip->of_node);
  }
  }
@@ -112,7 +112,7 @@ Signed-off-by: John Crispin <[email protected]>
  {
  {
 --- a/include/linux/gpio/consumer.h
 --- a/include/linux/gpio/consumer.h
 +++ b/include/linux/gpio/consumer.h
 +++ b/include/linux/gpio/consumer.h
-@@ -451,6 +451,7 @@ struct gpio_desc *devm_fwnode_get_gpiod_
+@@ -533,6 +533,7 @@ struct gpio_desc *devm_fwnode_get_gpiod_
  
  
  #if IS_ENABLED(CONFIG_GPIOLIB) && IS_ENABLED(CONFIG_GPIO_SYSFS)
  #if IS_ENABLED(CONFIG_GPIOLIB) && IS_ENABLED(CONFIG_GPIO_SYSFS)
  
  
@@ -120,7 +120,7 @@ Signed-off-by: John Crispin <[email protected]>
  int gpiod_export(struct gpio_desc *desc, bool direction_may_change);
  int gpiod_export(struct gpio_desc *desc, bool direction_may_change);
  int gpiod_export_link(struct device *dev, const char *name,
  int gpiod_export_link(struct device *dev, const char *name,
  		      struct gpio_desc *desc);
  		      struct gpio_desc *desc);
-@@ -458,6 +459,13 @@ void gpiod_unexport(struct gpio_desc *de
+@@ -540,6 +541,13 @@ void gpiod_unexport(struct gpio_desc *de
  
  
  #else  /* CONFIG_GPIOLIB && CONFIG_GPIO_SYSFS */
  #else  /* CONFIG_GPIOLIB && CONFIG_GPIO_SYSFS */
  
  
@@ -136,7 +136,7 @@ Signed-off-by: John Crispin <[email protected]>
  {
  {
 --- a/drivers/gpio/gpiolib-sysfs.c
 --- a/drivers/gpio/gpiolib-sysfs.c
 +++ b/drivers/gpio/gpiolib-sysfs.c
 +++ b/drivers/gpio/gpiolib-sysfs.c
-@@ -553,7 +553,7 @@ static struct class gpio_class = {
+@@ -568,7 +568,7 @@ static struct class gpio_class = {
   *
   *
   * Returns zero on success, else an error.
   * Returns zero on success, else an error.
   */
   */
@@ -145,7 +145,7 @@ Signed-off-by: John Crispin <[email protected]>
  {
  {
  	struct gpio_chip	*chip;
  	struct gpio_chip	*chip;
  	struct gpio_device	*gdev;
  	struct gpio_device	*gdev;
-@@ -615,6 +615,8 @@ int gpiod_export(struct gpio_desc *desc,
+@@ -630,6 +630,8 @@ int gpiod_export(struct gpio_desc *desc,
  	offset = gpio_chip_hwgpio(desc);
  	offset = gpio_chip_hwgpio(desc);
  	if (chip->names && chip->names[offset])
  	if (chip->names && chip->names[offset])
  		ioname = chip->names[offset];
  		ioname = chip->names[offset];
@@ -154,7 +154,7 @@ Signed-off-by: John Crispin <[email protected]>
  
  
  	dev = device_create_with_groups(&gpio_class, &gdev->dev,
  	dev = device_create_with_groups(&gpio_class, &gdev->dev,
  					MKDEV(0, 0), data, gpio_groups,
  					MKDEV(0, 0), data, gpio_groups,
-@@ -636,6 +638,12 @@ err_unlock:
+@@ -651,6 +653,12 @@ err_unlock:
  	gpiod_dbg(desc, "%s: status %d\n", __func__, status);
  	gpiod_dbg(desc, "%s: status %d\n", __func__, status);
  	return status;
  	return status;
  }
  }

+ 2 - 2
target/linux/lantiq/patches-4.19/0031-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch

@@ -18,7 +18,7 @@ Signed-off-by: John Crispin <[email protected]>
 
 
 --- a/drivers/i2c/busses/Kconfig
 --- a/drivers/i2c/busses/Kconfig
 +++ b/drivers/i2c/busses/Kconfig
 +++ b/drivers/i2c/busses/Kconfig
-@@ -696,6 +696,16 @@ config I2C_MESON
+@@ -690,6 +690,16 @@ config I2C_MESON
  	  If you say yes to this option, support will be included for the
  	  If you say yes to this option, support will be included for the
  	  I2C interface on the Amlogic Meson family of SoCs.
  	  I2C interface on the Amlogic Meson family of SoCs.
  
  
@@ -37,7 +37,7 @@ Signed-off-by: John Crispin <[email protected]>
  	depends on PPC
  	depends on PPC
 --- a/drivers/i2c/busses/Makefile
 --- a/drivers/i2c/busses/Makefile
 +++ b/drivers/i2c/busses/Makefile
 +++ b/drivers/i2c/busses/Makefile
-@@ -68,6 +68,7 @@ obj-$(CONFIG_I2C_IMX_LPI2C)	+= i2c-imx-l
+@@ -67,6 +67,7 @@ obj-$(CONFIG_I2C_IMX_LPI2C)	+= i2c-imx-l
  obj-$(CONFIG_I2C_IOP3XX)	+= i2c-iop3xx.o
  obj-$(CONFIG_I2C_IOP3XX)	+= i2c-iop3xx.o
  obj-$(CONFIG_I2C_JZ4780)	+= i2c-jz4780.o
  obj-$(CONFIG_I2C_JZ4780)	+= i2c-jz4780.o
  obj-$(CONFIG_I2C_KEMPLD)	+= i2c-kempld.o
  obj-$(CONFIG_I2C_KEMPLD)	+= i2c-kempld.o

+ 1 - 1
target/linux/lantiq/patches-4.19/0035-owrt-lantiq-wifi-and-ethernet-eeprom-handling.patch

@@ -203,7 +203,7 @@ Signed-off-by: John Crispin <[email protected]>
 +early_param("ethaddr", setup_ethaddr);
 +early_param("ethaddr", setup_ethaddr);
 --- a/drivers/net/ethernet/lantiq_etop.c
 --- a/drivers/net/ethernet/lantiq_etop.c
 +++ b/drivers/net/ethernet/lantiq_etop.c
 +++ b/drivers/net/ethernet/lantiq_etop.c
-@@ -783,7 +783,11 @@ ltq_etop_init(struct net_device *dev)
+@@ -777,7 +777,11 @@ ltq_etop_init(struct net_device *dev)
  	if (err)
  	if (err)
  		goto err_hw;
  		goto err_hw;
  
  

+ 1 - 1
target/linux/lantiq/patches-4.19/0042-arch-mips-increase-io_space_limit.patch

@@ -12,7 +12,7 @@ Signed-off-by: John Crispin <[email protected]>
 
 
 --- a/arch/mips/include/asm/io.h
 --- a/arch/mips/include/asm/io.h
 +++ b/arch/mips/include/asm/io.h
 +++ b/arch/mips/include/asm/io.h
-@@ -50,7 +50,7 @@
+@@ -52,7 +52,7 @@
  
  
  /* ioswab[bwlq], __mem_ioswab[bwlq] are defined in mangle-port.h */
  /* ioswab[bwlq], __mem_ioswab[bwlq] are defined in mangle-port.h */
  
  

+ 5 - 5
target/linux/lantiq/patches-4.19/0050-USB-DWC2-make-the-lantiq-settings-match-vendor-drive.patch

@@ -23,7 +23,7 @@ Signed-off-by: Hauke Mehrtens <[email protected]>
 
 
 --- a/drivers/usb/dwc2/params.c
 --- a/drivers/usb/dwc2/params.c
 +++ b/drivers/usb/dwc2/params.c
 +++ b/drivers/usb/dwc2/params.c
-@@ -83,7 +83,14 @@ static void dwc2_set_rk_params(struct dw
+@@ -90,7 +90,14 @@ static void dwc2_set_rk_params(struct dw
  		GAHBCFG_HBSTLEN_SHIFT;
  		GAHBCFG_HBSTLEN_SHIFT;
  }
  }
  
  
@@ -39,7 +39,7 @@ Signed-off-by: Hauke Mehrtens <[email protected]>
  {
  {
  	struct dwc2_core_params *p = &hsotg->params;
  	struct dwc2_core_params *p = &hsotg->params;
  
  
-@@ -91,12 +98,20 @@ static void dwc2_set_ltq_params(struct d
+@@ -98,12 +105,20 @@ static void dwc2_set_ltq_params(struct d
  	p->host_rx_fifo_size = 288;
  	p->host_rx_fifo_size = 288;
  	p->host_nperio_tx_fifo_size = 128;
  	p->host_nperio_tx_fifo_size = 128;
  	p->host_perio_tx_fifo_size = 96;
  	p->host_perio_tx_fifo_size = 96;
@@ -62,7 +62,7 @@ Signed-off-by: Hauke Mehrtens <[email protected]>
  static void dwc2_set_amlogic_params(struct dwc2_hsotg *hsotg)
  static void dwc2_set_amlogic_params(struct dwc2_hsotg *hsotg)
  {
  {
  	struct dwc2_core_params *p = &hsotg->params;
  	struct dwc2_core_params *p = &hsotg->params;
-@@ -140,8 +155,11 @@ const struct of_device_id dwc2_of_match_
+@@ -155,8 +170,11 @@ const struct of_device_id dwc2_of_match_
  	{ .compatible = "brcm,bcm2835-usb", .data = dwc2_set_bcm_params },
  	{ .compatible = "brcm,bcm2835-usb", .data = dwc2_set_bcm_params },
  	{ .compatible = "hisilicon,hi6220-usb", .data = dwc2_set_his_params  },
  	{ .compatible = "hisilicon,hi6220-usb", .data = dwc2_set_his_params  },
  	{ .compatible = "rockchip,rk3066-usb", .data = dwc2_set_rk_params },
  	{ .compatible = "rockchip,rk3066-usb", .data = dwc2_set_rk_params },
@@ -74,5 +74,5 @@ Signed-off-by: Hauke Mehrtens <[email protected]>
 +	{ .compatible = "lantiq,xrx200-usb", .data = &dwc2_set_ltq_xrx200_params },
 +	{ .compatible = "lantiq,xrx200-usb", .data = &dwc2_set_ltq_xrx200_params },
 +	{ .compatible = "lantiq,xrx300-usb", .data = &dwc2_set_ltq_xrx200_params },
 +	{ .compatible = "lantiq,xrx300-usb", .data = &dwc2_set_ltq_xrx200_params },
  	{ .compatible = "snps,dwc2" },
  	{ .compatible = "snps,dwc2" },
- 	{ .compatible = "samsung,s3c6400-hsotg" },
- 	{ .compatible = "amlogic,meson8-usb",
+ 	{ .compatible = "samsung,s3c6400-hsotg",
+ 	  .data = dwc2_set_s3c6400_params },

+ 1 - 1
target/linux/lantiq/patches-4.19/0051-MIPS-lantiq-improve-USB-initialization.patch

@@ -41,7 +41,7 @@ Signed-off-by: Hauke Mehrtens <[email protected]>
  /* the pci enable helper */
  /* the pci enable helper */
  static int pci_enable(struct clk *clk)
  static int pci_enable(struct clk *clk)
  {
  {
-@@ -569,4 +588,5 @@ void __init ltq_soc_init(void)
+@@ -567,4 +586,5 @@ void __init ltq_soc_init(void)
  		clkdev_add_pmu("1e116000.mei", "dfe", 1, 0, PMU_DFE);
  		clkdev_add_pmu("1e116000.mei", "dfe", 1, 0, PMU_DFE);
  		clkdev_add_pmu("1e100400.serial", NULL, 1, 0, PMU_ASC0);
  		clkdev_add_pmu("1e100400.serial", NULL, 1, 0, PMU_ASC0);
  	}
  	}

+ 2 - 2
target/linux/lantiq/patches-4.19/0101-find_active_root.patch

@@ -52,9 +52,9 @@
 @@ -72,7 +105,9 @@ static int parse_fixed_partitions(struct
 @@ -72,7 +105,9 @@ static int parse_fixed_partitions(struct
  		return 0;
  		return 0;
  
  
- 	parts = kzalloc(nr_parts * sizeof(*parts), GFP_KERNEL);
+ 	parts = kcalloc(nr_parts, sizeof(*parts), GFP_KERNEL);
 -	if (!parts)
 -	if (!parts)
-+	part_nodes = kzalloc(nr_parts * sizeof(*part_nodes), GFP_KERNEL);
++	part_nodes = kcalloc(nr_parts, sizeof(*part_nodes), GFP_KERNEL);
 +
 +
 +	if (!parts || !part_nodes)
 +	if (!parts || !part_nodes)
  		return -ENOMEM;
  		return -ENOMEM;

+ 2 - 2
target/linux/lantiq/patches-4.19/0152-lantiq-VPE.patch

@@ -1,6 +1,6 @@
 --- a/arch/mips/Kconfig
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -2327,6 +2327,12 @@ config MIPS_VPE_LOADER
+@@ -2317,6 +2317,12 @@ config MIPS_VPE_LOADER
  	  Includes a loader for loading an elf relocatable object
  	  Includes a loader for loading an elf relocatable object
  	  onto another VPE and running it.
  	  onto another VPE and running it.
  
  
@@ -142,7 +142,7 @@
  {
  {
 --- a/arch/mips/lantiq/prom.c
 --- a/arch/mips/lantiq/prom.c
 +++ b/arch/mips/lantiq/prom.c
 +++ b/arch/mips/lantiq/prom.c
-@@ -37,10 +37,14 @@ unsigned long physical_memsize = 0L;
+@@ -36,10 +36,14 @@ unsigned long physical_memsize = 0L;
   */
   */
  static struct ltq_soc_info soc_info;
  static struct ltq_soc_info soc_info;
  
  

+ 1 - 1
target/linux/lantiq/patches-4.19/0301-xrx200-add-gphy-clk-src-device-tree-binding.patch

@@ -21,7 +21,7 @@
  /* bring up all register ranges that we need for basic system control */
  /* bring up all register ranges that we need for basic system control */
  void __init ltq_soc_init(void)
  void __init ltq_soc_init(void)
  {
  {
-@@ -589,4 +603,6 @@ void __init ltq_soc_init(void)
+@@ -587,4 +601,6 @@ void __init ltq_soc_init(void)
  		clkdev_add_pmu("1e100400.serial", NULL, 1, 0, PMU_ASC0);
  		clkdev_add_pmu("1e100400.serial", NULL, 1, 0, PMU_ASC0);
  	}
  	}
  	usb_set_clock();
  	usb_set_clock();

+ 2 - 2
target/linux/lantiq/patches-4.19/0701-NET-lantiq-etop-of-mido.patch

@@ -8,7 +8,7 @@
  
  
  #include <asm/checksum.h>
  #include <asm/checksum.h>
  
  
-@@ -567,7 +568,8 @@ static int
+@@ -569,7 +570,8 @@ static int
  ltq_etop_mdio_init(struct net_device *dev)
  ltq_etop_mdio_init(struct net_device *dev)
  {
  {
  	struct ltq_etop_priv *priv = netdev_priv(dev);
  	struct ltq_etop_priv *priv = netdev_priv(dev);
@@ -18,7 +18,7 @@
  
  
  	priv->mii_bus = mdiobus_alloc();
  	priv->mii_bus = mdiobus_alloc();
  	if (!priv->mii_bus) {
  	if (!priv->mii_bus) {
-@@ -587,7 +589,15 @@ ltq_etop_mdio_init(struct net_device *de
+@@ -589,7 +591,15 @@ ltq_etop_mdio_init(struct net_device *de
  	priv->mii_bus->name = "ltq_mii";
  	priv->mii_bus->name = "ltq_mii";
  	snprintf(priv->mii_bus->id, MII_BUS_ID_SIZE, "%s-%x",
  	snprintf(priv->mii_bus->id, MII_BUS_ID_SIZE, "%s-%x",
  		priv->pdev->name, priv->pdev->id);
  		priv->pdev->name, priv->pdev->id);

+ 4 - 4
target/linux/lantiq/xrx200/config-4.19

@@ -16,7 +16,6 @@ CONFIG_CRYPTO_MANAGER2=y
 CONFIG_CRYPTO_NULL2=y
 CONFIG_CRYPTO_NULL2=y
 CONFIG_EXTRA_FIRMWARE="lantiq/xrx200_phy11g_a14.bin lantiq/xrx200_phy11g_a22.bin lantiq/xrx200_phy22f_a14.bin lantiq/xrx200_phy22f_a22.bin"
 CONFIG_EXTRA_FIRMWARE="lantiq/xrx200_phy11g_a14.bin lantiq/xrx200_phy11g_a22.bin lantiq/xrx200_phy22f_a14.bin lantiq/xrx200_phy22f_a22.bin"
 CONFIG_EXTRA_FIRMWARE_DIR="firmware"
 CONFIG_EXTRA_FIRMWARE_DIR="firmware"
-CONFIG_FIRMWARE_IN_KERNEL=y
 CONFIG_HWMON=y
 CONFIG_HWMON=y
 CONFIG_ICPLUS_PHY=y
 CONFIG_ICPLUS_PHY=y
 CONFIG_IFX_VPE_EXT=y
 CONFIG_IFX_VPE_EXT=y
@@ -32,6 +31,7 @@ CONFIG_LZO_DECOMPRESS=y
 CONFIG_MIPS_MT=y
 CONFIG_MIPS_MT=y
 # CONFIG_MIPS_MT_FPAFF is not set
 # CONFIG_MIPS_MT_FPAFF is not set
 CONFIG_MIPS_MT_SMP=y
 CONFIG_MIPS_MT_SMP=y
+CONFIG_MIPS_NR_CPU_NR_MAP=2
 CONFIG_MIPS_PERF_SHARED_TC_COUNTERS=y
 CONFIG_MIPS_PERF_SHARED_TC_COUNTERS=y
 CONFIG_MIPS_VPE_APSP_API=y
 CONFIG_MIPS_VPE_APSP_API=y
 CONFIG_MIPS_VPE_APSP_API_MT=y
 CONFIG_MIPS_VPE_APSP_API_MT=y
@@ -52,11 +52,10 @@ CONFIG_MTD_UBI_WL_THRESHOLD=4096
 CONFIG_NET_FLOW_LIMIT=y
 CONFIG_NET_FLOW_LIMIT=y
 CONFIG_NLS=y
 CONFIG_NLS=y
 CONFIG_NR_CPUS=2
 CONFIG_NR_CPUS=2
-CONFIG_OF_ADDRESS_PCI=y
-CONFIG_OF_PCI=y
-CONFIG_OF_PCI_IRQ=y
 CONFIG_PADATA=y
 CONFIG_PADATA=y
 CONFIG_PCI=y
 CONFIG_PCI=y
+# CONFIG_PCIEAER is not set
+CONFIG_PCIEPORTBUS=y
 CONFIG_PCIE_LANTIQ=y
 CONFIG_PCIE_LANTIQ=y
 CONFIG_PCI_DOMAINS=y
 CONFIG_PCI_DOMAINS=y
 CONFIG_PCI_LANTIQ=y
 CONFIG_PCI_LANTIQ=y
@@ -75,6 +74,7 @@ CONFIG_RTL8366S_PHY=y
 CONFIG_RTL8367B_PHY=y
 CONFIG_RTL8367B_PHY=y
 CONFIG_RTL8367_PHY=y
 CONFIG_RTL8367_PHY=y
 CONFIG_SENSORS_LTQ_CPUTEMP=y
 CONFIG_SENSORS_LTQ_CPUTEMP=y
+CONFIG_SGL_ALLOC=y
 CONFIG_SMP=y
 CONFIG_SMP=y
 CONFIG_SMP_UP=y
 CONFIG_SMP_UP=y
 CONFIG_SWCONFIG_LEDS=y
 CONFIG_SWCONFIG_LEDS=y