From aeb69417739ee1346d4f00b7374322875c4dbb8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Sun, 8 Mar 2020 22:33:11 +0100 Subject: [PATCH 01/29] bcm27xx: 5.4: add support for Sensirion SPS30 in i2c-sensor overlay MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add support for Sensirion SPS30 particulate matter sensor with fixed address 0x69. Signed-off-by: Petr Štetiar --- ...ensirion-SPS30-to-i2c-sensor-overlay.patch | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 target/linux/bcm27xx/patches-5.4/950-0491-add-Sensirion-SPS30-to-i2c-sensor-overlay.patch diff --git a/target/linux/bcm27xx/patches-5.4/950-0491-add-Sensirion-SPS30-to-i2c-sensor-overlay.patch b/target/linux/bcm27xx/patches-5.4/950-0491-add-Sensirion-SPS30-to-i2c-sensor-overlay.patch new file mode 100644 index 0000000000..e85329aa08 --- /dev/null +++ b/target/linux/bcm27xx/patches-5.4/950-0491-add-Sensirion-SPS30-to-i2c-sensor-overlay.patch @@ -0,0 +1,59 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20=C5=A0tetiar?= +Date: Sat, 7 Mar 2020 22:37:52 +0100 +Subject: [PATCH] add Sensirion SPS30 to i2c-sensor overlay +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Add support for Sensirion SPS30 particulate matter sensor with fixed +address 0x69. + +Signed-off-by: Petr Štetiar + +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 62ad35f78bad..0d7d00ac92c4 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -1261,6 +1261,9 @@ Params: addr Set the address for the BME280, BME680, BMP280, + si7020 Select the Silicon Labs Si7013/20/21 humidity/ + temperature sensor + ++ sps30 Select the Sensirion SPS30 particulate matter ++ sensor. Fixed address 0x69. ++ + tmp102 Select the Texas Instruments TMP102 temp sensor + Valid addresses 0x48-0x4b, default 0x48 + +diff --git a/arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts b/arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts +index 40881d72a157..ce97837b0db5 100644 +--- a/arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts ++++ b/arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts +@@ -231,6 +231,20 @@ + }; + }; + ++ fragment@15 { ++ target = <&i2c_arm>; ++ __dormant__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ sps30: sps30@69 { ++ compatible = "sensirion,sps30"; ++ reg = <0x69>; ++ status = "okay"; ++ }; ++ }; ++ }; + + __overrides__ { + addr = <&bme280>,"reg:0", <&bmp280>,"reg:0", <&tmp102>,"reg:0", +@@ -252,5 +266,6 @@ + ds1621 = <0>,"+12"; + max17040 = <0>,"+13"; + bme680 = <0>,"+14"; ++ sps30 = <0>,"+15"; + }; + }; From 8c26d67a67d0a1d18eb26c83a1e51f84558b65c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Wed, 18 Mar 2020 16:54:03 +0100 Subject: [PATCH 02/29] mac80211: realtek: add staging driver for RTL8723BS SDIO module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds kernel module for Realtek RTL8723BS SDIO Wireless LAN NIC driver available in the staging. Signed-off-by: Petr Štetiar --- package/kernel/mac80211/realtek.mk | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/package/kernel/mac80211/realtek.mk b/package/kernel/mac80211/realtek.mk index 41f5e3e9dc..cc96df7d8b 100644 --- a/package/kernel/mac80211/realtek.mk +++ b/package/kernel/mac80211/realtek.mk @@ -1,7 +1,7 @@ PKG_DRIVERS += \ rtl8180 rtl8187 \ rtlwifi rtlwifi-pci rtlwifi-btcoexist rtlwifi-usb rtl8192c-common \ - rtl8192ce rtl8192se rtl8192de rtl8192cu rtl8821ae \ + rtl8192ce rtl8192se rtl8192de rtl8192cu rtl8723bs rtl8821ae \ rtl8xxxu rtw88 config-$(call config_package,rtl8180) += RTL8180 @@ -22,6 +22,9 @@ config-$(CONFIG_PACKAGE_RTLWIFI_DEBUG) += RTLWIFI_DEBUG config-$(call config_package,rtl8xxxu) += RTL8XXXU config-y += RTL8XXXU_UNTESTED +config-$(call config_package,rtl8723bs) += RTL8723BS +config-y += STAGING + config-$(call config_package,rtw88) += RTW88 RTW88_CORE RTW88_PCI config-y += RTW88_8822BE RTW88_8822CE @@ -180,3 +183,17 @@ define KernelPackage/rtw88 $(PKG_BUILD_DIR)/drivers/net/wireless/realtek/rtw88/rtwpci.ko AUTOLOAD:=$(call AutoProbe,rtwpci) endef + +define KernelPackage/rtl8723bs + $(call KernelPackage/mac80211/Default) + TITLE:=Realtek RTL8723BS SDIO Wireless LAN NIC driver (staging) + DEPENDS+= +kmod-mac80211 + FILES:=$(PKG_BUILD_DIR)/drivers/staging/rtl8723bs/r8723bs.ko + AUTOLOAD:=$(call AutoProbe,r8723bs) +endef + +define KernelPackage/rtl8723bs/description + This option enables support for RTL8723BS SDIO drivers, such as the wifi found + on the 1st gen Intel Compute Stick, the CHIP and many other Intel Atom and ARM + based devices. +endef From 5fbcb52648ccc2a012e464b9ca8928e5dd8812ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Wed, 18 Mar 2020 16:51:13 +0100 Subject: [PATCH 03/29] linux-firmware: add firmware for RTL8723BS SDIO modules MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds firmware package for Realtek RTL8723BS SDIO Wireless LAN NIC driver available in the staging. Signed-off-by: Petr Štetiar --- package/firmware/linux-firmware/realtek.mk | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/package/firmware/linux-firmware/realtek.mk b/package/firmware/linux-firmware/realtek.mk index 87a11c0779..b0f6ff7f35 100644 --- a/package/firmware/linux-firmware/realtek.mk +++ b/package/firmware/linux-firmware/realtek.mk @@ -79,6 +79,13 @@ define Package/rtl8723bu-firmware/install endef $(eval $(call BuildPackage,rtl8723bu-firmware)) +Package/rtl8723bs-firmware = $(call Package/firmware-default,RealTek RTL8723BS firmware) +define Package/rtl8723bs-firmware/install + $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi + $(INSTALL_DATA) $(PKG_BUILD_DIR)/rtlwifi/rtl8723bs*.bin $(1)/lib/firmware/rtlwifi +endef +$(eval $(call BuildPackage,rtl8723bs-firmware)) + Package/rtl8821ae-firmware = $(call Package/firmware-default,RealTek RTL8821AE firmware) define Package/rtl8821ae-firmware/install $(INSTALL_DIR) $(1)/lib/firmware/rtlwifi From 48436953e9f25fced7a14d0e92fadb22ebe8ba50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Mon, 16 Mar 2020 14:47:07 +0100 Subject: [PATCH 04/29] uboot-sunxi: bump to 2020.01 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refreshed patches, removed following, probably obsolete patches: 221-compatible-old-dtc.patch 240-sun50i-h5-Orange-Pi-Zero-Plus-Fix-SdCard-detection.patch Signed-off-by: Petr Štetiar --- package/boot/uboot-sunxi/Makefile | 4 +- .../003-add-theobroma-a31-pangolin.patch | 4 +- .../patches/062-A20-improve-gmac-upload.patch | 2 +- .../063-fix-lime2-revK-add-micrel-PHY.patch | 12 ++--- ...1-sun6i-sync-PLL1-multdiv-with-Boot1.patch | 2 +- .../100-sun6i-alternate-on-UART2.patch | 2 +- .../101-sun6i-support-console-on-UART2.patch | 4 +- ...2-sunxi-make_CONS_INDEX-configurable.patch | 2 +- ...-environment-for-dtc-binary-location.patch | 2 +- .../patches/210-sunxi-deactivate-binman.patch | 4 +- .../patches/221-compatible-old-dtc.patch | 52 ------------------- .../230-disable-axp209-on-a13-olinuxino.diff | 8 +-- ...ge-Pi-Zero-Plus-Fix-SdCard-detection.patch | 28 ---------- 13 files changed, 23 insertions(+), 103 deletions(-) delete mode 100644 package/boot/uboot-sunxi/patches/221-compatible-old-dtc.patch delete mode 100644 package/boot/uboot-sunxi/patches/240-sun50i-h5-Orange-Pi-Zero-Plus-Fix-SdCard-detection.patch diff --git a/package/boot/uboot-sunxi/Makefile b/package/boot/uboot-sunxi/Makefile index eef4c56f53..69d5d9269b 100644 --- a/package/boot/uboot-sunxi/Makefile +++ b/package/boot/uboot-sunxi/Makefile @@ -9,9 +9,9 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk -PKG_VERSION:=2019.01 +PKG_VERSION:=2020.01 -PKG_HASH:=50bd7e5a466ab828914d080d5f6a432345b500e8fba1ad3b7b61e95e60d51c22 +PKG_HASH:=aa453c603208b1b27bd03525775a7f79b443adec577fdc6e8f06974025a135f1 PKG_MAINTAINER:=Zoltan HERPAI diff --git a/package/boot/uboot-sunxi/patches/003-add-theobroma-a31-pangolin.patch b/package/boot/uboot-sunxi/patches/003-add-theobroma-a31-pangolin.patch index 899bcb1299..518f882d20 100644 --- a/package/boot/uboot-sunxi/patches/003-add-theobroma-a31-pangolin.patch +++ b/package/boot/uboot-sunxi/patches/003-add-theobroma-a31-pangolin.patch @@ -1,6 +1,6 @@ --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile -@@ -313,6 +313,7 @@ dtb-$(CONFIG_MACH_SUN6I) += \ +@@ -446,6 +446,7 @@ dtb-$(CONFIG_MACH_SUN6I) += \ sun6i-a31-m9.dtb \ sun6i-a31-mele-a1000g-quad.dtb \ sun6i-a31-mixtile-loftq.dtb \ @@ -358,7 +358,7 @@ +CONFIG_SUNXI_SPI=y --- a/arch/arm/mach-sunxi/Kconfig +++ b/arch/arm/mach-sunxi/Kconfig -@@ -875,6 +875,14 @@ config VIDEO_LCD_PANEL_I2C_SCL +@@ -895,6 +895,14 @@ config VIDEO_LCD_PANEL_I2C_SCL Set the SCL pin for the LCD i2c interface. This takes a string in the format understood by sunxi_name_to_gpio, e.g. PH1 for pin 1 of port H. diff --git a/package/boot/uboot-sunxi/patches/062-A20-improve-gmac-upload.patch b/package/boot/uboot-sunxi/patches/062-A20-improve-gmac-upload.patch index a1caf18a18..13a703f307 100644 --- a/package/boot/uboot-sunxi/patches/062-A20-improve-gmac-upload.patch +++ b/package/boot/uboot-sunxi/patches/062-A20-improve-gmac-upload.patch @@ -2,7 +2,7 @@ --- a/configs/A20-OLinuXino-Lime2_defconfig +++ b/configs/A20-OLinuXino-Lime2_defconfig -@@ -25,6 +25,7 @@ CONFIG_ETH_DESIGNWARE=y +@@ -26,6 +26,7 @@ CONFIG_ETH_DESIGNWARE=y CONFIG_RGMII=y CONFIG_MII=y CONFIG_SUN7I_GMAC=y diff --git a/package/boot/uboot-sunxi/patches/063-fix-lime2-revK-add-micrel-PHY.patch b/package/boot/uboot-sunxi/patches/063-fix-lime2-revK-add-micrel-PHY.patch index 9ea0642537..d553634556 100644 --- a/package/boot/uboot-sunxi/patches/063-fix-lime2-revK-add-micrel-PHY.patch +++ b/package/boot/uboot-sunxi/patches/063-fix-lime2-revK-add-micrel-PHY.patch @@ -1,17 +1,17 @@ --- a/configs/A20-OLinuXino-Lime2-eMMC_defconfig +++ b/configs/A20-OLinuXino-Lime2-eMMC_defconfig -@@ -8,6 +8,8 @@ CONFIG_MMC_SUNXI_SLOT_EXTRA=2 +@@ -9,6 +9,8 @@ CONFIG_MMC_SUNXI_SLOT_EXTRA=2 CONFIG_USB0_VBUS_PIN="PC17" CONFIG_USB0_VBUS_DET="PH5" CONFIG_I2C1_ENABLE=y +CONFIG_PHY_MICREL=y +CONFIG_PHY_MICREL_KSZ90X1=y CONFIG_SATAPWR="PC3" + CONFIG_SPL_SPI_SUNXI=y CONFIG_AHCI=y - CONFIG_NR_DRAM_BANKS=1 --- a/configs/A20-OLinuXino-Lime2_defconfig +++ b/configs/A20-OLinuXino-Lime2_defconfig -@@ -7,6 +7,8 @@ CONFIG_MMC0_CD_PIN="PH1" +@@ -8,6 +8,8 @@ CONFIG_MMC0_CD_PIN="PH1" CONFIG_USB0_VBUS_PIN="PC17" CONFIG_USB0_VBUS_DET="PH5" CONFIG_I2C1_ENABLE=y @@ -19,10 +19,10 @@ +CONFIG_PHY_MICREL_KSZ90X1=y CONFIG_SATAPWR="PC3" CONFIG_AHCI=y - CONFIG_NR_DRAM_BANKS=1 + # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set --- a/drivers/net/phy/micrel_ksz90x1.c +++ b/drivers/net/phy/micrel_ksz90x1.c -@@ -13,6 +13,8 @@ +@@ -14,6 +14,8 @@ #include #include #include @@ -31,7 +31,7 @@ /* * KSZ9021 - KSZ9031 common -@@ -329,6 +331,10 @@ static int ksz9031_phy_extwrite(struct p +@@ -344,6 +346,10 @@ static int ksz9031_phy_extwrite(struct p static int ksz9031_config(struct phy_device *phydev) { int ret; diff --git a/package/boot/uboot-sunxi/patches/091-sun6i-sync-PLL1-multdiv-with-Boot1.patch b/package/boot/uboot-sunxi/patches/091-sun6i-sync-PLL1-multdiv-with-Boot1.patch index bcf2faa186..f2a2b5e48f 100644 --- a/package/boot/uboot-sunxi/patches/091-sun6i-sync-PLL1-multdiv-with-Boot1.patch +++ b/package/boot/uboot-sunxi/patches/091-sun6i-sync-PLL1-multdiv-with-Boot1.patch @@ -28,5 +28,5 @@ More specifically, the following settings are now used: + k = 4; + m = 2; } else if (clk > 768000000) { - k = 3; + k = 4; m = 2; diff --git a/package/boot/uboot-sunxi/patches/100-sun6i-alternate-on-UART2.patch b/package/boot/uboot-sunxi/patches/100-sun6i-alternate-on-UART2.patch index 8bab220518..a7afa51304 100644 --- a/package/boot/uboot-sunxi/patches/100-sun6i-alternate-on-UART2.patch +++ b/package/boot/uboot-sunxi/patches/100-sun6i-alternate-on-UART2.patch @@ -6,7 +6,7 @@ Subject: sun6i: define alternate-function for UART2 on GPG --- a/arch/arm/include/asm/arch-sunxi/gpio.h +++ b/arch/arm/include/asm/arch-sunxi/gpio.h -@@ -186,6 +186,7 @@ enum sunxi_gpio_number { +@@ -190,6 +190,7 @@ enum sunxi_gpio_number { #define SUN6I_GPG_SDC1 2 #define SUN8I_GPG_SDC1 2 #define SUN6I_GPG_TWI3 2 diff --git a/package/boot/uboot-sunxi/patches/101-sun6i-support-console-on-UART2.patch b/package/boot/uboot-sunxi/patches/101-sun6i-support-console-on-UART2.patch index b922690845..823c156809 100644 --- a/package/boot/uboot-sunxi/patches/101-sun6i-support-console-on-UART2.patch +++ b/package/boot/uboot-sunxi/patches/101-sun6i-support-console-on-UART2.patch @@ -6,7 +6,7 @@ Subject: ARM: sun6i: Support console on UART2 (GPG6/GPG7) --- a/arch/arm/mach-sunxi/board.c +++ b/arch/arm/mach-sunxi/board.c -@@ -127,6 +127,10 @@ static int gpio_init(void) +@@ -129,6 +129,10 @@ static int gpio_init(void) sunxi_gpio_set_cfgpin(SUNXI_GPG(3), SUN5I_GPG_UART1); sunxi_gpio_set_cfgpin(SUNXI_GPG(4), SUN5I_GPG_UART1); sunxi_gpio_set_pull(SUNXI_GPG(4), SUNXI_GPIO_PULL_UP); @@ -19,7 +19,7 @@ Subject: ARM: sun6i: Support console on UART2 (GPG6/GPG7) sunxi_gpio_set_cfgpin(SUNXI_GPB(1), SUN8I_GPB_UART2); --- a/include/configs/sunxi-common.h +++ b/include/configs/sunxi-common.h -@@ -258,6 +258,8 @@ extern int soft_i2c_gpio_scl; +@@ -244,6 +244,8 @@ extern int soft_i2c_gpio_scl; #endif #elif CONFIG_CONS_INDEX == 2 && defined(CONFIG_MACH_SUN5I) #define OF_STDOUT_PATH "/soc@01c00000/serial@01c28400:115200" diff --git a/package/boot/uboot-sunxi/patches/102-sunxi-make_CONS_INDEX-configurable.patch b/package/boot/uboot-sunxi/patches/102-sunxi-make_CONS_INDEX-configurable.patch index 4e35d582fa..b8c1253dcd 100644 --- a/package/boot/uboot-sunxi/patches/102-sunxi-make_CONS_INDEX-configurable.patch +++ b/package/boot/uboot-sunxi/patches/102-sunxi-make_CONS_INDEX-configurable.patch @@ -6,7 +6,7 @@ Subject: ARM: sunxi: Make CONS_INDEX configurable --- a/arch/arm/mach-sunxi/Kconfig +++ b/arch/arm/mach-sunxi/Kconfig -@@ -538,6 +538,14 @@ config SYS_BOARD +@@ -558,6 +558,14 @@ config SYS_BOARD config SYS_SOC default "sunxi" diff --git a/package/boot/uboot-sunxi/patches/200-mkimage-check-environment-for-dtc-binary-location.patch b/package/boot/uboot-sunxi/patches/200-mkimage-check-environment-for-dtc-binary-location.patch index 12f47259c3..fe8eac7848 100644 --- a/package/boot/uboot-sunxi/patches/200-mkimage-check-environment-for-dtc-binary-location.patch +++ b/package/boot/uboot-sunxi/patches/200-mkimage-check-environment-for-dtc-binary-location.patch @@ -17,7 +17,7 @@ Cc: Simon Glass --- a/tools/fit_image.c +++ b/tools/fit_image.c -@@ -656,9 +656,14 @@ static int fit_handle_file(struct image_ +@@ -662,9 +662,14 @@ static int fit_handle_file(struct image_ } *cmd = '\0'; } else if (params->datafile) { diff --git a/package/boot/uboot-sunxi/patches/210-sunxi-deactivate-binman.patch b/package/boot/uboot-sunxi/patches/210-sunxi-deactivate-binman.patch index d86097858a..c6be836915 100644 --- a/package/boot/uboot-sunxi/patches/210-sunxi-deactivate-binman.patch +++ b/package/boot/uboot-sunxi/patches/210-sunxi-deactivate-binman.patch @@ -12,7 +12,7 @@ old way of generating images. --- a/Makefile +++ b/Makefile -@@ -1344,8 +1344,10 @@ endif +@@ -1525,8 +1525,10 @@ endif ifneq ($(CONFIG_ARCH_SUNXI),) ifeq ($(CONFIG_ARM64),) @@ -27,7 +27,7 @@ old way of generating images. $(call if_changed,cat) --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -842,7 +842,6 @@ config ARCH_SOCFPGA +@@ -945,7 +945,6 @@ config ARCH_SOCFPGA config ARCH_SUNXI bool "Support sunxi (Allwinner) SoCs" diff --git a/package/boot/uboot-sunxi/patches/221-compatible-old-dtc.patch b/package/boot/uboot-sunxi/patches/221-compatible-old-dtc.patch deleted file mode 100644 index 4056d98008..0000000000 --- a/package/boot/uboot-sunxi/patches/221-compatible-old-dtc.patch +++ /dev/null @@ -1,52 +0,0 @@ -Revert the commit c0e032e0090d65 ("scripts/dtc: Update to upstream -version v1.4.3") -OpenWrt uses the dtc from the kernel also in u-boot, but when we compile -against kernel 4.9 we run into some errors because it is too old now. -Add the options only when they are supported to make it compatible with -dtc from kernel 4.9. - ---- a/scripts/Kbuild.include -+++ b/scripts/Kbuild.include -@@ -173,6 +173,11 @@ ld-version = $(shell $(LD) --version | $ - # Usage: $(call ld-ifversion, -ge, 22252, y) - ld-ifversion = $(shell [ $(ld-version) $(1) $(2) ] && echo $(3) || echo $(4)) - -+# dtc-option -+# Usage: DTC_FLAGS += $(call dtc-option,-Wno-unit_address_vs_reg) -+dtc-option = $(call try-run,\ -+ echo '/dts-v1/; / {};' | $(DTC) $(1),$(1),$(2)) -+ - ###### - - ### ---- a/scripts/Makefile.extrawarn -+++ b/scripts/Makefile.extrawarn -@@ -56,8 +56,8 @@ endif - - KBUILD_CFLAGS += $(warning) - --dtc-warning-2 += -Wnode_name_chars_strict --dtc-warning-2 += -Wproperty_name_chars_strict -+dtc-warning-2 += $(call dtc-option,-Wnode_name_chars_strict) -+dtc-warning-2 += $(call dtc-option,-Wproperty_name_chars_strict) - - dtc-warning := $(dtc-warning-$(findstring 1, $(KBUILD_ENABLE_EXTRA_GCC_CHECKS))) - dtc-warning += $(dtc-warning-$(findstring 2, $(KBUILD_ENABLE_EXTRA_GCC_CHECKS))) -@@ -68,11 +68,11 @@ DTC_FLAGS += $(dtc-warning) - else - - # Disable noisy checks by default --DTC_FLAGS += -Wno-unit_address_vs_reg --DTC_FLAGS += -Wno-simple_bus_reg --DTC_FLAGS += -Wno-unit_address_format --DTC_FLAGS += -Wno-pci_bridge --DTC_FLAGS += -Wno-pci_device_bus_num --DTC_FLAGS += -Wno-pci_device_reg -+DTC_FLAGS += $(call dtc-option,-Wno-unit_address_vs_reg) -+DTC_FLAGS += $(call dtc-option,-Wno-simple_bus_reg) -+DTC_FLAGS += $(call dtc-option,-Wno-unit_address_format) -+DTC_FLAGS += $(call dtc-option,-Wno-pci_bridge) -+DTC_FLAGS += $(call dtc-option,-Wno-pci_device_bus_num) -+DTC_FLAGS += $(call dtc-option,-Wno-pci_device_reg) - - endif diff --git a/package/boot/uboot-sunxi/patches/230-disable-axp209-on-a13-olinuxino.diff b/package/boot/uboot-sunxi/patches/230-disable-axp209-on-a13-olinuxino.diff index 9ce6adeb35..ce5ea8f01c 100644 --- a/package/boot/uboot-sunxi/patches/230-disable-axp209-on-a13-olinuxino.diff +++ b/package/boot/uboot-sunxi/patches/230-disable-axp209-on-a13-olinuxino.diff @@ -1,6 +1,6 @@ --- a/configs/A13-OLinuXino_defconfig +++ b/configs/A13-OLinuXino_defconfig -@@ -7,7 +7,6 @@ CONFIG_DRAM_EMR1=0 +@@ -8,7 +8,6 @@ CONFIG_DRAM_EMR1=0 CONFIG_MMC0_CD_PIN="PG0" CONFIG_USB0_VBUS_DET="PG1" CONFIG_USB1_VBUS_PIN="PG11" @@ -8,12 +8,12 @@ # CONFIG_VIDEO_HDMI is not set CONFIG_VIDEO_VGA_VIA_LCD=y CONFIG_VIDEO_VGA_VIA_LCD_FORCE_SYNC_ACTIVE_HIGH=y -@@ -24,7 +23,7 @@ CONFIG_CMD_USB_MASS_STORAGE=y - CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-olinuxino" +@@ -25,7 +24,7 @@ CONFIG_DEFAULT_DEVICE_TREE="sun5i-a13-ol + CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_DFU_RAM=y CONFIG_FASTBOOT_CMD_OEM_FORMAT=y -CONFIG_AXP_ALDO3_VOLT=3300 +CONFIG_SUNXI_NO_PMIC=y CONFIG_CONS_INDEX=2 CONFIG_USB_EHCI_HCD=y - CONFIG_USB_MUSB_GADGET=y + CONFIG_USB_OHCI_HCD=y diff --git a/package/boot/uboot-sunxi/patches/240-sun50i-h5-Orange-Pi-Zero-Plus-Fix-SdCard-detection.patch b/package/boot/uboot-sunxi/patches/240-sun50i-h5-Orange-Pi-Zero-Plus-Fix-SdCard-detection.patch deleted file mode 100644 index 2feab76754..0000000000 --- a/package/boot/uboot-sunxi/patches/240-sun50i-h5-Orange-Pi-Zero-Plus-Fix-SdCard-detection.patch +++ /dev/null @@ -1,28 +0,0 @@ -From ad320d4d6ad03af5ff730546113d53a47ef6a22e Mon Sep 17 00:00:00 2001 -From: Hauke Mehrtens -Date: Sun, 13 Jan 2019 17:05:09 +0100 -Subject: [PATCH] sun50i: h5: Orange Pi Zero Plus: Fix SdCard detection - -The Detection pin is at PF6 and not at PH13 like defined before. I -checked the schematics and now I am am not seeing this error message any -more: -Loading Environment from FAT... Card did not respond to voltage select! - -Fixes: 76d69eb01de ("sun50i: h5: Add initial Orange Pi Zero Plus support") -Signed-off-by: Hauke Mehrtens ---- - configs/orangepi_zero_plus_defconfig | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - ---- a/configs/orangepi_zero_plus_defconfig -+++ b/configs/orangepi_zero_plus_defconfig -@@ -4,8 +4,7 @@ CONFIG_SPL=y - CONFIG_MACH_SUN50I_H5=y - CONFIG_DRAM_CLK=624 - CONFIG_DRAM_ZQ=3881977 --CONFIG_MMC0_CD_PIN="PH13" --CONFIG_MMC_SUNXI_SLOT_EXTRA=2 -+CONFIG_MMC0_CD_PIN="PF6" - CONFIG_NR_DRAM_BANKS=1 - # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set - # CONFIG_CMD_FLASH is not set From a9bd89fe18e1414c430e0fe7f4425779d149d540 Mon Sep 17 00:00:00 2001 From: Aleksander Jan Bajkowski Date: Sun, 9 Feb 2020 18:27:48 +0100 Subject: [PATCH 05/29] uboot-sunxi: Banana Pi M2 Ultra switch to mainline defconfig U-boot also have defconfig for this board. In 2019.01 branch they are identical. Signed-off-by: Aleksander Jan Bajkowski --- package/boot/uboot-sunxi/Makefile | 4 +-- .../250-Sinovoip-BPI-M2-Ultra-defconfig.patch | 25 ------------------- 2 files changed, 2 insertions(+), 27 deletions(-) delete mode 100644 package/boot/uboot-sunxi/patches/250-Sinovoip-BPI-M2-Ultra-defconfig.patch diff --git a/package/boot/uboot-sunxi/Makefile b/package/boot/uboot-sunxi/Makefile index 69d5d9269b..9bb61b1417 100644 --- a/package/boot/uboot-sunxi/Makefile +++ b/package/boot/uboot-sunxi/Makefile @@ -253,7 +253,7 @@ define U-Boot/orangepi_pc2 UENV:=a64 endef -define U-Boot/Sinovoip_BPI_M2_Ultra +define U-Boot/Bananapi_M2_Ultra BUILD_SUBTARGET:=cortexa7 NAME:=Bananapi M2 Ultra BUILD_DEVICES:=lemaker_bananapi-m2-ultra @@ -267,6 +267,7 @@ UBOOT_TARGETS := \ A20-OLinuXino-Lime2-eMMC \ A20-OLinuXino_MICRO \ Bananapi \ + Bananapi_M2_Ultra \ Bananapro \ Cubieboard \ Cubieboard2 \ @@ -294,7 +295,6 @@ UBOOT_TARGETS := \ pangolin \ pine64_plus \ Sinovoip_BPI_M2_Plus \ - Sinovoip_BPI_M2_Ultra \ sopine_baseboard \ orangepi_zero_plus diff --git a/package/boot/uboot-sunxi/patches/250-Sinovoip-BPI-M2-Ultra-defconfig.patch b/package/boot/uboot-sunxi/patches/250-Sinovoip-BPI-M2-Ultra-defconfig.patch deleted file mode 100644 index 94606aa846..0000000000 --- a/package/boot/uboot-sunxi/patches/250-Sinovoip-BPI-M2-Ultra-defconfig.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- /dev/null -+++ b/configs/Sinovoip_BPI_M2_Ultra_defconfig -@@ -0,0 +1,22 @@ -+CONFIG_ARM=y -+CONFIG_ARCH_SUNXI=y -+CONFIG_SPL=y -+CONFIG_MACH_SUN8I_R40=y -+CONFIG_DRAM_CLK=576 -+CONFIG_DRAM_ZQ=3881979 -+CONFIG_MACPWR="PA17" -+CONFIG_MMC0_CD_PIN="PH13" -+CONFIG_MMC_SUNXI_SLOT_EXTRA=2 -+CONFIG_AHCI=y -+CONFIG_NR_DRAM_BANKS=1 -+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -+CONFIG_SPL_I2C_SUPPORT=y -+# CONFIG_CMD_FLASH is not set -+CONFIG_DEFAULT_DEVICE_TREE="sun8i-r40-bananapi-m2-ultra" -+CONFIG_SCSI_AHCI=y -+CONFIG_RGMII=y -+CONFIG_SUN8I_EMAC=y -+CONFIG_AXP_DLDO4_VOLT=2500 -+CONFIG_AXP_ELDO3_VOLT=1200 -+CONFIG_SCSI=y -+CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y From 461a1d5a04eeac3cb6df7e28a95b8633c6c7cffc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Wed, 25 Mar 2020 12:55:45 +0100 Subject: [PATCH 06/29] uboot-sunxi: rename Sinovoip BPI M2 Plus to Bananapi M2 Plus H3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rename the board as done in upstream commit 268ae6548779 ("sunxi: Rename Sinovoip BPI M2 Plus to Bananapi M2 Plus H3") which backs the rename with the following reasoning: The brand Sinovoip is used for Sinovoip's original VOIP products, while the Bananapi brand is for the single board computers they produce. This has been verified by Bananapi. Rename the board from "Sinovoip BPI M2 Plus" to "Bananapi M2 Plus". For the defconfig file, all lowercase is used. To support the H5 variant of this board, the "H3" suffix is added to the defconfig name. This has to be done in order to allow building U-Boot past v2019.04 release where this change was introduced. Ref: https://github.com/openwrt/openwrt/pull/2849#discussion_r396401489 Suggested-by: Pawel Dembicki Signed-off-by: Petr Štetiar --- package/boot/uboot-sunxi/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/boot/uboot-sunxi/Makefile b/package/boot/uboot-sunxi/Makefile index 9bb61b1417..bdbefecf01 100644 --- a/package/boot/uboot-sunxi/Makefile +++ b/package/boot/uboot-sunxi/Makefile @@ -222,9 +222,9 @@ define U-Boot/pine64_plus UENV:=a64 endef -define U-Boot/Sinovoip_BPI_M2_Plus +define U-Boot/bananapi_m2_plus_h3 BUILD_SUBTARGET:=cortexa7 - NAME:=Bananapi M2 Plus + NAME:=Bananapi M2 Plus H3 BUILD_DEVICES:=sinovoip_bananapi-m2-plus endef @@ -266,6 +266,7 @@ UBOOT_TARGETS := \ A20-OLinuXino-Lime2 \ A20-OLinuXino-Lime2-eMMC \ A20-OLinuXino_MICRO \ + bananapi_m2_plus_h3 \ Bananapi \ Bananapi_M2_Ultra \ Bananapro \ @@ -294,7 +295,6 @@ UBOOT_TARGETS := \ orangepi_pc2 \ pangolin \ pine64_plus \ - Sinovoip_BPI_M2_Plus \ sopine_baseboard \ orangepi_zero_plus From cda9af568b28b9c3cf06c9a544afaf7ef2dffcbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Mon, 16 Mar 2020 15:37:54 +0100 Subject: [PATCH 07/29] uboot-sunxi: add support for Olimex A64-Olinuxino MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adding U-Boot image for Olimex A64-Olinuxino. Signed-off-by: Petr Štetiar --- package/boot/uboot-sunxi/Makefile | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/package/boot/uboot-sunxi/Makefile b/package/boot/uboot-sunxi/Makefile index bdbefecf01..f4e58e52b5 100644 --- a/package/boot/uboot-sunxi/Makefile +++ b/package/boot/uboot-sunxi/Makefile @@ -25,6 +25,14 @@ define U-Boot/Default HIDDEN:=1 endef +define U-Boot/a64-olinuxino + BUILD_SUBTARGET:=cortexa53 + NAME:=Olimex A64-OLinuXino + BUILD_DEVICES:=olimex_a64-olinuxino + DEPENDS:=+PACKAGE_u-boot-olimex_a64-olinuxino:arm-trusted-firmware-sunxi + UENV:=a64 +endef + define U-Boot/A10-OLinuXino-Lime BUILD_SUBTARGET:=cortexa8 NAME:=A10 OLinuXino LIME @@ -260,6 +268,7 @@ define U-Boot/Bananapi_M2_Ultra endef UBOOT_TARGETS := \ + a64-olinuxino \ A10-OLinuXino-Lime \ A13-OLinuXino \ A20-OLinuXino-Lime \ From 90897df61a6ae7aa1512d666d16395cfdd84c5bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Mon, 16 Mar 2020 15:37:54 +0100 Subject: [PATCH 08/29] uboot-sunxi: add support for Olimex A64-Olinuxino eMMC MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adding U-Boot image for Olimex A64-Olinuxino eMMC, including patch which adds eMMC boot partition configuration commands. Signed-off-by: Petr Štetiar --- package/boot/uboot-sunxi/Makefile | 9 ++++++ ...uxino-emmc-add-eMMC-boot-part-config.patch | 29 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 package/boot/uboot-sunxi/patches/260-configs-a64-olinuxino-emmc-add-eMMC-boot-part-config.patch diff --git a/package/boot/uboot-sunxi/Makefile b/package/boot/uboot-sunxi/Makefile index f4e58e52b5..e7823e6f05 100644 --- a/package/boot/uboot-sunxi/Makefile +++ b/package/boot/uboot-sunxi/Makefile @@ -33,6 +33,14 @@ define U-Boot/a64-olinuxino UENV:=a64 endef +define U-Boot/a64-olinuxino-emmc + BUILD_SUBTARGET:=cortexa53 + NAME:=Olimex A64-OLinuXino eMMC + BUILD_DEVICES:=olimex_a64-olinuxino-emmc + DEPENDS:=+PACKAGE_u-boot-olimex_a64-olinuxino-emmc:arm-trusted-firmware-sunxi + UENV:=a64 +endef + define U-Boot/A10-OLinuXino-Lime BUILD_SUBTARGET:=cortexa8 NAME:=A10 OLinuXino LIME @@ -269,6 +277,7 @@ endef UBOOT_TARGETS := \ a64-olinuxino \ + a64-olinuxino-emmc \ A10-OLinuXino-Lime \ A13-OLinuXino \ A20-OLinuXino-Lime \ diff --git a/package/boot/uboot-sunxi/patches/260-configs-a64-olinuxino-emmc-add-eMMC-boot-part-config.patch b/package/boot/uboot-sunxi/patches/260-configs-a64-olinuxino-emmc-add-eMMC-boot-part-config.patch new file mode 100644 index 0000000000..a448b8319f --- /dev/null +++ b/package/boot/uboot-sunxi/patches/260-configs-a64-olinuxino-emmc-add-eMMC-boot-part-config.patch @@ -0,0 +1,29 @@ +From 7fa26c287b225c5e42be6d1a81d45592ec45bd9c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20=C5=A0tetiar?= +Date: Wed, 18 Mar 2020 12:59:01 +0100 +Subject: [PATCH] configs: a64-olinuxino-emmc: add eMMC boot part config + commands +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +mmc bootbus and partconf commands are needed in order to be able to +configure booting from separate boot0/boot1 eMMC partitions. + +Signed-off-by: Petr Štetiar +--- + configs/a64-olinuxino-emmc_defconfig | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configs/a64-olinuxino-emmc_defconfig b/configs/a64-olinuxino-emmc_defconfig +index 8443a6dae9e3..9a96a964b1dc 100644 +--- a/configs/a64-olinuxino-emmc_defconfig ++++ b/configs/a64-olinuxino-emmc_defconfig +@@ -12,6 +12,7 @@ CONFIG_USE_PREBOOT=y + CONFIG_DEFAULT_DEVICE_TREE="sun50i-a64-olinuxino-emmc" + CONFIG_SYS_RELOC_GD_ENV_ADDR=y + CONFIG_SUN8I_EMAC=y ++CONFIG_SUPPORT_EMMC_BOOT=y + CONFIG_USB_EHCI_HCD=y + CONFIG_USB_OHCI_HCD=y + CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y From 5f2ff607e286ab92ede986d62b39391557d36c61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Wed, 18 Mar 2020 15:00:22 +0100 Subject: [PATCH 09/29] uboot-sunxi: a64: allow booting directly from eMMC MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Current boot script uses hardcoded bootdevice, which allows booting from SD card only, so this patch allows booting directly from eMMC as well. While at it, replace fixed root device with more flexible UUID based probing, so from now on probing order of MMC device doesn't matter. Signed-off-by: Petr Štetiar --- package/boot/uboot-sunxi/uEnv-a64.txt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/package/boot/uboot-sunxi/uEnv-a64.txt b/package/boot/uboot-sunxi/uEnv-a64.txt index 7a717fdc0f..a47ebda613 100644 --- a/package/boot/uboot-sunxi/uEnv-a64.txt +++ b/package/boot/uboot-sunxi/uEnv-a64.txt @@ -1,5 +1,7 @@ -setenv loadkernel fatload mmc 0 \$kernel_addr_r uImage -setenv loaddtb fatload mmc 0 \$fdt_addr_r dtb -setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait earlycon=uart,mmio32,0x01c28000 +setenv mmc_rootpart 2 +part uuid mmc ${mmc_bootdev}:${mmc_rootpart} uuid +setenv loadkernel fatload mmc \$mmc_bootdev \$kernel_addr_r uImage +setenv loaddtb fatload mmc \$mmc_bootdev \$fdt_addr_r dtb +setenv bootargs console=ttyS0,115200 earlyprintk root=PARTUUID=${uuid} rootwait earlycon=uart,mmio32,0x01c28000 setenv uenvcmd run loadkernel \&\& run loaddtb \&\& booti \$kernel_addr_r - \$fdt_addr_r run uenvcmd From 5217aa78f19058e462f38e6155973811b48aa47e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Mon, 16 Mar 2020 10:56:01 +0100 Subject: [PATCH 10/29] sunxi: a53: image: make it DRY MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace same copy&pasted lines with the appropriate reusable bits. Signed-off-by: Petr Štetiar --- target/linux/sunxi/image/cortex-a53.mk | 46 ++++++++++++-------------- 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/target/linux/sunxi/image/cortex-a53.mk b/target/linux/sunxi/image/cortex-a53.mk index eeaaa887d7..79dd43c60f 100644 --- a/target/linux/sunxi/image/cortex-a53.mk +++ b/target/linux/sunxi/image/cortex-a53.mk @@ -6,14 +6,27 @@ # See /LICENSE for more information. # +define Device/sun50i + SUNXI_DTS_DIR := allwinner/ + KERNEL_NAME := Image + KERNEL := kernel-bin +endef + +define Device/sun50i-h5 + SOC := sun50i-h5 + $(Device/sun50i) +endef + +define Device/sun50i-a64 + SOC := sun50i-a64 + $(Device/sun50i) +endef + define Device/friendlyarm_nanopi-neo-plus2 DEVICE_VENDOR := FriendlyARM DEVICE_MODEL := NanoPi NEO Plus2 SUPPORTED_DEVICES:=nanopi-neo-plus2 - SUNXI_DTS_DIR := allwinner/ - SOC := sun50i-h5 - KERNEL_NAME := Image - KERNEL := kernel-bin + $(Device/sun50i-h5) endef TARGET_DEVICES += friendlyarm_nanopi-neo-plus2 @@ -21,49 +34,34 @@ define Device/friendlyarm_nanopi-neo2 DEVICE_VENDOR := FriendlyARM DEVICE_MODEL := NanoPi NEO2 SUPPORTED_DEVICES:=nanopi-neo2 - SUNXI_DTS_DIR := allwinner/ - SOC := sun50i-h5 - KERNEL_NAME := Image - KERNEL := kernel-bin + $(Device/sun50i-h5) endef TARGET_DEVICES += friendlyarm_nanopi-neo2 define Device/pine64_pine64-plus DEVICE_VENDOR := Pine64 DEVICE_MODEL := Pine64+ - SUNXI_DTS_DIR := allwinner/ - SOC := sun50i-a64 - KERNEL_NAME := Image - KERNEL := kernel-bin + $(Device/sun50i-a64) endef TARGET_DEVICES += pine64_pine64-plus define Device/pine64_sopine-baseboard DEVICE_VENDOR := Pine64 DEVICE_MODEL := SoPine - SUNXI_DTS_DIR := allwinner/ - SOC := sun50i-a64 - KERNEL_NAME := Image - KERNEL := kernel-bin + $(Device/sun50i-a64) endef TARGET_DEVICES += pine64_sopine-baseboard define Device/xunlong_orangepi-pc2 DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi PC 2 - SUNXI_DTS_DIR := allwinner/ - SOC := sun50i-h5 - KERNEL_NAME := Image - KERNEL := kernel-bin + $(Device/sun50i-h5) endef TARGET_DEVICES += xunlong_orangepi-pc2 define Device/xunlong_orangepi-zero-plus DEVICE_VENDOR := Xunlong DEVICE_MODEL := Orange Pi Zero Plus - SUNXI_DTS_DIR := allwinner/ - SOC := sun50i-h5 - KERNEL_NAME := Image - KERNEL := kernel-bin + $(Device/sun50i-h5) endef TARGET_DEVICES += xunlong_orangepi-zero-plus From c31954f1cf8760a873b6cabbcef271149958886d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Mon, 16 Mar 2020 10:57:50 +0100 Subject: [PATCH 11/29] sunxi: a53: add support for Olimex A64-Olinuxino MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Specifications: SoC: Allwinner A64 (1.2 GHz Quad-Core ARM Cortex-A53 64-bit) RAM: 1GB or 2GB RAM DDR3L @ 672Mhz Flash: 0/4/16GB eMMC flash memory for storage and boot MicroSD card connector for cards up to 32GB Debug: serial UART debug header with 0.1" pins Wired connectivity: 10/100/1000Mbps GbE Ethernet Wireless connectivity: on-board RTL8723BS 1T1R 802.11bgn WiFi and Bluetooth 4.0 module with built-in antenna (only available in the A64-OLinuXino-1G4GW) Flashing instructions: Standard sunxi SD card installation procedure - copy image to SD card, insert in into SD card slot on the device and boot. Known issues: Wireless doesn't work properly via netifd. Signed-off-by: Petr Štetiar --- target/linux/sunxi/image/cortex-a53.mk | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/target/linux/sunxi/image/cortex-a53.mk b/target/linux/sunxi/image/cortex-a53.mk index 79dd43c60f..96885cf926 100644 --- a/target/linux/sunxi/image/cortex-a53.mk +++ b/target/linux/sunxi/image/cortex-a53.mk @@ -38,6 +38,15 @@ define Device/friendlyarm_nanopi-neo2 endef TARGET_DEVICES += friendlyarm_nanopi-neo2 +define Device/olimex_a64-olinuxino + DEVICE_VENDOR := Olimex + DEVICE_MODEL := A64-Olinuxino + DEVICE_PACKAGES := kmod-rtl8723bs rtl8723bs-firmware + $(Device/sun50i-a64) + SUNXI_DTS := $$(SUNXI_DTS_DIR)$$(SOC)-olinuxino +endef +TARGET_DEVICES += olimex_a64-olinuxino + define Device/pine64_pine64-plus DEVICE_VENDOR := Pine64 DEVICE_MODEL := Pine64+ From 0784d07c11eb0eadf0d4426cc7dba3642ff5762c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Mon, 16 Mar 2020 10:57:50 +0100 Subject: [PATCH 12/29] sunxi: a53: add support for Olimex A64-Olinuxino eMMC MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Specifications: SoC: Allwinner A64 (1.2 GHz Quad-Core ARM Cortex-A53 64-bit) RAM: 1GB or 2GB RAM DDR3L @ 672Mhz Flash: 0/4/16GB eMMC flash memory for storage and boot MicroSD card connector for cards up to 32GB Debug: serial UART debug header with 0.1" pins Wired connectivity: 10/100/1000Mbps GbE Ethernet Wireless connectivity: on-board RTL8723BS 1T1R 802.11bgn WiFi and Bluetooth 4.0 module with built-in antenna (only available in the A64-OLinuXino-1G4GW) Flashing instructions: Standard sunxi SD card installation procedure - copy eMMC image to SD card, insert in into SD card slot on the device and boot. You should see something like following if the eMMC is detected correctly: mmcblk2: mmc2:0001 P1XXXX 3.60 GiB mmcblk2boot0: mmc2:0001 P1XXXX partition 1 16.0 MiB mmcblk2boot1: mmc2:0001 P1XXXX partition 2 16.0 MiB Then flash SD card eMMC image straight into the mmcblk2 device: dd if=/mnt/openwrt...a64-olinuxino-emmc-squashfs-sdcard.img of=/dev/mmcblk2 It also possible to boot from boot0 partition[1]: 1. Compile U-Boot with CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x40 otherwise the U-Boot will get stuck in bootloop 2. Configure eMMC to boot from boot0 partition inside U-Boot: mmc bootbus 1 1 0 0; mmc partconf 1 1 1 0 3. echo 0 > /sys/block/mmcblk2boot0/force_ro 4. Write U-Boot from offset 0 (not offset 8k as with SD card) into boot0 partition dd if=u-boot-sunxi-with-spl.bin of=/dev/mmcblk2boot0 Known issues: Wireless doesn't work properly via netifd. 1. https://linux-sunxi.org/index.php?title=Bootable_eMMC Signed-off-by: Petr Štetiar --- target/linux/sunxi/image/cortex-a53.mk | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/target/linux/sunxi/image/cortex-a53.mk b/target/linux/sunxi/image/cortex-a53.mk index 96885cf926..7a70de4dff 100644 --- a/target/linux/sunxi/image/cortex-a53.mk +++ b/target/linux/sunxi/image/cortex-a53.mk @@ -47,6 +47,16 @@ define Device/olimex_a64-olinuxino endef TARGET_DEVICES += olimex_a64-olinuxino +define Device/olimex_a64-olinuxino-emmc + DEVICE_VENDOR := Olimex + DEVICE_MODEL := A64-Olinuxino + DEVICE_VARIANT := eMMC + DEVICE_PACKAGES := kmod-rtl8723bs rtl8723bs-firmware + $(Device/sun50i-a64) + SUNXI_DTS := $$(SUNXI_DTS_DIR)$$(SOC)-olinuxino-emmc +endef +TARGET_DEVICES += olimex_a64-olinuxino-emmc + define Device/pine64_pine64-plus DEVICE_VENDOR := Pine64 DEVICE_MODEL := Pine64+ From 8743a9c9b997be9e0f09715b7efa4fffcd5a1c30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Thu, 26 Mar 2020 10:13:57 +0100 Subject: [PATCH 13/29] sunxi: 5.4: a64-olinuxino: use red LED for status signalization MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There is a red LED marked as `GPIO_LED1` on the silkscreen and connected to PE17, so use this LED for status signalization. Signed-off-by: Petr Štetiar --- ...inner-a64-olinuxino-add-user-red-LED.patch | 34 +++++++++++++++++++ ...ner-a64-olinuxino-add-status-LED-ali.patch | 34 +++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100644 target/linux/sunxi/patches-5.4/420-v5.7-arm64-dts-allwinner-a64-olinuxino-add-user-red-LED.patch create mode 100644 target/linux/sunxi/patches-5.4/430-arm64-dts-allwinner-a64-olinuxino-add-status-LED-ali.patch diff --git a/target/linux/sunxi/patches-5.4/420-v5.7-arm64-dts-allwinner-a64-olinuxino-add-user-red-LED.patch b/target/linux/sunxi/patches-5.4/420-v5.7-arm64-dts-allwinner-a64-olinuxino-add-user-red-LED.patch new file mode 100644 index 0000000000..40b59c4c50 --- /dev/null +++ b/target/linux/sunxi/patches-5.4/420-v5.7-arm64-dts-allwinner-a64-olinuxino-add-user-red-LED.patch @@ -0,0 +1,34 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20=C5=A0tetiar?= +Date: Wed, 25 Mar 2020 18:11:16 +0100 +Subject: [PATCH] arm64: dts: allwinner: a64: olinuxino: add user red LED +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +There is a red LED marked as `GPIO_LED1` on the silkscreen and connected +to PE17 by default. So lets add this missing bit in the current hardware +description. + +Signed-off-by: Petr Štetiar + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts +index 6dfafa1c879b..b9f90e19c035 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts +@@ -32,6 +32,15 @@ + }; + }; + ++ leds { ++ compatible = "gpio-leds"; ++ ++ user { ++ label = "a64-olinuxino:red:user"; ++ gpios = <&pio 4 17 GPIO_ACTIVE_HIGH>; /* PE17 */ ++ }; ++ }; ++ + reg_usb1_vbus: usb1-vbus { + compatible = "regulator-fixed"; + regulator-name = "usb1-vbus"; diff --git a/target/linux/sunxi/patches-5.4/430-arm64-dts-allwinner-a64-olinuxino-add-status-LED-ali.patch b/target/linux/sunxi/patches-5.4/430-arm64-dts-allwinner-a64-olinuxino-add-status-LED-ali.patch new file mode 100644 index 0000000000..69fe5d43ea --- /dev/null +++ b/target/linux/sunxi/patches-5.4/430-arm64-dts-allwinner-a64-olinuxino-add-status-LED-ali.patch @@ -0,0 +1,34 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20=C5=A0tetiar?= +Date: Thu, 26 Mar 2020 10:09:19 +0100 +Subject: [PATCH] arm64: dts: allwinner: a64: olinuxino: add status LED aliases +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Petr Štetiar + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts +index b9f90e19c035..5b42bb251fbf 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts +@@ -15,6 +15,10 @@ + aliases { + ethernet0 = &emac; + serial0 = &uart0; ++ led-boot = &led_user; ++ led-failsafe = &led_user; ++ led-running = &led_user; ++ led-upgrade = &led_user; + }; + + chosen { +@@ -35,7 +39,7 @@ + leds { + compatible = "gpio-leds"; + +- user { ++ led_user: user { + label = "a64-olinuxino:red:user"; + gpios = <&pio 4 17 GPIO_ACTIVE_HIGH>; /* PE17 */ + }; From 8ac614fe96e940ecd6d5bd2447e3ada9d59f3902 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Thu, 19 Mar 2020 00:43:14 +0100 Subject: [PATCH 14/29] sunxi: 5.4: dts: a64: olinuxino: add bank supply regulators MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is backport of v5.6 patch. Allwinner A64 SoC has separate supplies for PC, PD, PE, PG and PL. This patch adds regulators for them to the pinctrl node. Exception is PL which is used by the RSB bus. To avoid circular dependencies, VCC-PL is omitted. On boards with eMMC, VCC-PC is supplied by ELDO1, instead of DCDC1. Signed-off-by: Petr Štetiar --- ...ner-a64-olinuxino-Add-bank-supply-re.patch | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 target/linux/sunxi/patches-5.4/410-v5.6-arm64-dts-allwinner-a64-olinuxino-Add-bank-supply-re.patch diff --git a/target/linux/sunxi/patches-5.4/410-v5.6-arm64-dts-allwinner-a64-olinuxino-Add-bank-supply-re.patch b/target/linux/sunxi/patches-5.4/410-v5.6-arm64-dts-allwinner-a64-olinuxino-Add-bank-supply-re.patch new file mode 100644 index 0000000000..f844301a8a --- /dev/null +++ b/target/linux/sunxi/patches-5.4/410-v5.6-arm64-dts-allwinner-a64-olinuxino-Add-bank-supply-re.patch @@ -0,0 +1,62 @@ +From f0c3b29f56f0a946df4941edfe2d98e3e766c30f Mon Sep 17 00:00:00 2001 +From: Stefan Mavrodiev +Date: Fri, 29 Nov 2019 13:39:40 +0200 +Subject: [PATCH] arm64: dts: allwinner: a64: olinuxino: Add bank supply + regulators + +Allwinner A64 SoC has separate supplies for PC, PD, PE, PG and PL. This +patch adds regulators for them to the pinctrl node. + +Exception is PL which is used by the RSB bus. To avoid circular +dependencies, VCC-PL is omitted. + +On boards with eMMC, VCC-PC is supplied by ELDO1, instead of DCDC1. + +Signed-off-by: Stefan Mavrodiev +[Maxime: Changed the r_pio comment a bit] +Signed-off-by: Maxime Ripard +--- + .../dts/allwinner/sun50i-a64-olinuxino-emmc.dts | 4 ++++ + .../boot/dts/allwinner/sun50i-a64-olinuxino.dts | 17 +++++++++++++++++ + 2 files changed, 21 insertions(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts +index 96ab0227e82d..a1629688e694 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts +@@ -21,3 +21,7 @@ + cap-mmc-hw-reset; + status = "okay"; + }; ++ ++&pio { ++ vcc-pc-supply = <®_eldo1>; ++}; +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts +index 01a9a52edae4..3e026a95a58a 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts +@@ -163,6 +163,23 @@ + status = "okay"; + }; + ++&pio { ++ vcc-pc-supply = <®_dcdc1>; ++ vcc-pd-supply = <®_dcdc1>; ++ vcc-pe-supply = <®_aldo1>; ++ vcc-pg-supply = <®_dldo4>; ++}; ++ ++&r_pio { ++ /* ++ * FIXME: We can't add that supply for now since it would ++ * create a circular dependency between pinctrl, the regulator ++ * and the RSB Bus. ++ * ++ * vcc-pl-supply = <®_aldo2>; ++ */ ++}; ++ + &r_rsb { + status = "okay"; + From 153a6b8c349f5bd4d3d4e7817cbe80834debcbf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Thu, 26 Mar 2020 13:06:12 +0100 Subject: [PATCH 15/29] sunxi: a53: fix ethernet on a64-olinuxino MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit a64-olinuxino board has Micrel KSZ9031 Gigabit PHY so add support for this PHY into kernel. Signed-off-by: Petr Štetiar --- target/linux/sunxi/cortexa53/config-5.4 | 1 + 1 file changed, 1 insertion(+) diff --git a/target/linux/sunxi/cortexa53/config-5.4 b/target/linux/sunxi/cortexa53/config-5.4 index e9d6ffc3c8..6e1ef22129 100644 --- a/target/linux/sunxi/cortexa53/config-5.4 +++ b/target/linux/sunxi/cortexa53/config-5.4 @@ -123,6 +123,7 @@ CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE=y CONFIG_KVM_ARM_PMU=y CONFIG_KVM_INDIRECT_VECTORS=y CONFIG_MDIO_BUS_MUX=y +CONFIG_MICREL_PHY=y CONFIG_MODULES_USE_ELF_RELA=y CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_NO_IOPORT_MAP=y From c3178110b5d2912fcd7dfd40443e7be07afbd2af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Thu, 26 Mar 2020 13:14:32 +0100 Subject: [PATCH 16/29] sunxi: switch to 5.4 kernel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Seems to be working fine on my a64-olinuxino, it's 99.9% upstream stuff anyway. Lets start wider userbase testing. Signed-off-by: Petr Štetiar --- target/linux/sunxi/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/sunxi/Makefile b/target/linux/sunxi/Makefile index f10bf57dee..37b8a30e22 100644 --- a/target/linux/sunxi/Makefile +++ b/target/linux/sunxi/Makefile @@ -13,7 +13,7 @@ BOARDNAME:=Allwinner A1x/A20/A3x/R40 FEATURES:=fpu usb ext4 display rtc squashfs SUBTARGETS:=cortexa8 cortexa7 cortexa53 -KERNEL_PATCHVER:=4.19 +KERNEL_PATCHVER:=5.4 KERNEL_TESTING_PATCHVER:=5.4 KERNELNAME:=zImage dtbs From d59137d1d93991d2ed261c066d4dad836e0dd2bb Mon Sep 17 00:00:00 2001 From: "Leon M. George" Date: Mon, 11 Nov 2019 14:10:50 +0100 Subject: [PATCH 17/29] ipq40xx: wpj428: fix missing MDIO GPIO reset and pinmux MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The bootloader does not always initialize the MDIO pins before booting Linux. E.g. on version "U-Boot 2012.07 [Chaos Calmer 15.05.1,r35193] (Jul 25 2017 - 11:36:26)" this is the case when booting automatically without activating the U-Boot console. Without this change, the kernel boot will complain about missing PHYs: libphy: ipq40xx_mdio: probed ar40xx c000000.ess-switch: Probe failed - Missing PHYs! libphy: Fixed MDIO Bus: probed With this change it will work as expected: libphy: ipq40xx_mdio: probed ESS reset ok! ESS reset ok! libphy: Fixed MDIO Bus: probed Ref: GH-2835 Tested-by: Fredrik Olofsson Signed-off-by: Leon M. George [commit description from Fredrik, subject facelift] Signed-off-by: Petr Štetiar --- .../arch/arm/boot/dts/qcom-ipq4028-wpj428.dts | 18 ++++++++++++++++++ .../arch/arm/boot/dts/qcom-ipq4028-wpj428.dts | 18 ++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts index cf8540c101..1bcf5e80bf 100644 --- a/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts +++ b/target/linux/ipq40xx/files-4.19/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts @@ -32,6 +32,10 @@ mdio@90000 { status = "okay"; + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + reset-gpios = <&tlmm 59 GPIO_ACTIVE_LOW>; + reset-delay-us = <2000>; }; ess-psgmii@98000 { @@ -129,6 +133,20 @@ }; &tlmm { + mdio_pins: mdio_pinmux { + mux_1 { + pins = "gpio53"; + function = "mdio"; + bias-pull-up; + }; + + mux_2 { + pins = "gpio52"; + function = "mdc"; + bias-pull-up; + }; + }; + serial_pins: serial_pinmux { mux { pins = "gpio60", "gpio61"; diff --git a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts index cf8540c101..1bcf5e80bf 100644 --- a/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts +++ b/target/linux/ipq40xx/files-5.4/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts @@ -32,6 +32,10 @@ mdio@90000 { status = "okay"; + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + reset-gpios = <&tlmm 59 GPIO_ACTIVE_LOW>; + reset-delay-us = <2000>; }; ess-psgmii@98000 { @@ -129,6 +133,20 @@ }; &tlmm { + mdio_pins: mdio_pinmux { + mux_1 { + pins = "gpio53"; + function = "mdio"; + bias-pull-up; + }; + + mux_2 { + pins = "gpio52"; + function = "mdc"; + bias-pull-up; + }; + }; + serial_pins: serial_pinmux { mux { pins = "gpio60", "gpio61"; From bf15557f8a85e7ada25074122f4af5bd3a5df697 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Tue, 24 Mar 2020 11:09:41 +0100 Subject: [PATCH 18/29] ipq40xx: switch to 5.4 kernel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 5.4.24 seems to be working fine on my zyxel,nbg6617, so let's start wider userbase testing. Signed-off-by: Petr Štetiar --- target/linux/ipq40xx/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/ipq40xx/Makefile b/target/linux/ipq40xx/Makefile index f397361340..94b47c4c96 100644 --- a/target/linux/ipq40xx/Makefile +++ b/target/linux/ipq40xx/Makefile @@ -8,7 +8,7 @@ CPU_TYPE:=cortex-a7 CPU_SUBTYPE:=neon-vfpv4 SUBTARGETS:=generic -KERNEL_PATCHVER:=4.19 +KERNEL_PATCHVER:=5.4 KERNEL_TESTING_PATCHVER:=5.4 KERNELNAME:=zImage Image dtbs From 5ecc0cfd6f3da1e8f573024753169aa6f115745e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Thu, 26 Mar 2020 15:19:42 +0100 Subject: [PATCH 19/29] kernel: bump 5.4 to 5.4.28 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changelog since 5.4.24 mentions CVE-2019-19769, CVE-2020-8648, CVE-2020-8649 and CVE-2020-8647. Removed upstreamed: generic: 507-v5.6-iio-chemical-sps30-fix-missing-triggered-buffer-depe.patch generic: 600-ipv6-addrconf-call-ipv6_mc_up-for-non-Ethernet-inter.patch bcm27xx: 950-0435-ASoC-pcm512x-Fix-unbalanced-regulator-enable-call-in.patch ipq806x: 701-stmmac-fix-notifier-registration.patch lantiq: 002-pinctrl-falcon-fix-syntax-error.patch octeontx: 0002-net-thunderx-workaround-BGX-TX-Underflow-issue.patch Run tested: apu2, qemu-x86-64, apalis, a64-olinuxino, nbg6617 Build tested: sunxi/a53, imx6, x86/64, ipq40xx Tested-by: Kevin Darbyshire-Bryant [apu2] Signed-off-by: Petr Štetiar --- include/kernel-version.mk | 4 +- ...mware-loader-for-uPD720201-and-uPD72.patch | 8 +- .../802-usb-xhci-force-msi-renesas-xhci.patch | 2 +- ...uart-set-UART_CS_-RX-TX-_READY_ORIDE.patch | 18 +-- ...61-tty-serial-ar933x-uart-rs485-gpio.patch | 14 +- ...ompletely-disable-the-spidev-warning.patch | 2 +- .../950-0037-Add-dwc_otg-driver.patch | 2 +- ...o_user-and-__copy_from_user-performa.patch | 2 +- ...oup-Disable-cgroup-memory-by-default.patch | 6 +- ...Show-that-the-VIA-VL805-supports-LPM.patch | 2 +- ...or-host-controllers-that-don-t-updat.patch | 2 +- ...ce-quirks-for-Freeway-Airmouse-T3-an.patch | 4 +- ....dtbo-overlays-to-be-built-piecemeal.patch | 2 +- ...-unbalanced-regulator-enable-call-in.patch | 44 ----- ...ow-.dtbo-overlays-to-be-built-adjust.patch | 2 +- ...cmdline-Fix-possible-reference-past-.patch | 2 +- ...cmdline-Make-various-char-pointers-c.patch | 2 +- ...cmdline-Stop-parsing-extras-after-bp.patch | 8 +- ...cmdline-Accept-extras-directly-after.patch | 6 +- ...cmdline-Rework-drm_mode_parse_cmdlin.patch | 6 +- ...cmdline-Add-freestanding-argument-to.patch | 8 +- ...cmdline-Set-bpp-refresh_specified-af.patch | 8 +- ...cmdline-Allow-specifying-stand-alone.patch | 16 +- ...cmdline-Add-support-for-specifying-p.patch | 6 +- ...cmdline-Remove-some-unnecessary-code.patch | 2 +- ...cmdline-Explicitly-memset-the-passed.patch | 2 +- ...30-fix-missing-triggered-buffer-depe.patch | 30 ---- ...ll-ipv6_mc_up-for-non-Ethernet-inter.patch | 71 --------- ...-net-phy-add-core-phylib-sfp-support.patch | 16 +- .../generic/hack-5.4/220-gc_sections.patch | 2 +- .../702-phy_add_aneg_done_function.patch | 4 +- .../generic/hack-5.4/902-debloat_proc.patch | 6 +- .../hack-5.4/904-debloat_dma_buf.patch | 2 +- ...0-add-linux-spidev-compatible-si3210.patch | 2 +- .../pending-5.4/630-packet_socket_type.patch | 6 +- ...w_table-add-hardware-offload-support.patch | 6 +- ...detach-callback-to-struct-phy_driver.patch | 4 +- ...ARM-dts-imx-Add-GW5907-board-support.patch | 18 +-- ...ARM-dts-imx-Add-GW5910-board-support.patch | 18 +-- ...ARM-dts-imx-Add-GW5913-board-support.patch | 18 +-- ...ARM-dts-imx-Add-GW5912-board-support.patch | 18 +-- ...701-stmmac-fix-notifier-registration.patch | 79 --------- .../002-pinctrl-falcon-fix-syntax-error.patch | 25 --- ...ARM-dts-imx23-introduce-mmc0_sck_cfg.patch | 7 - ...-use-proper-interface-type-for-RGMII.patch | 7 +- ...rx-workaround-BGX-TX-Underflow-issue.patch | 150 ------------------ ...n-mcp251x-convert-to-half-duplex-SPI.patch | 14 +- ...r-Gateworks-PLX-PEX860x-switch-with-.patch | 9 +- ...satile-fpga-Apply-clear-mask-earlier.patch | 6 +- ...ner-a64-olinuxino-Add-bank-supply-re.patch | 4 - ...inner-a64-olinuxino-add-user-red-LED.patch | 4 +- ...ner-a64-olinuxino-add-status-LED-ali.patch | 6 +- 52 files changed, 112 insertions(+), 600 deletions(-) delete mode 100644 target/linux/bcm27xx/patches-5.4/950-0435-ASoC-pcm512x-Fix-unbalanced-regulator-enable-call-in.patch delete mode 100644 target/linux/generic/backport-5.4/507-v5.6-iio-chemical-sps30-fix-missing-triggered-buffer-depe.patch delete mode 100644 target/linux/generic/backport-5.4/600-ipv6-addrconf-call-ipv6_mc_up-for-non-Ethernet-inter.patch delete mode 100644 target/linux/ipq806x/patches-5.4/701-stmmac-fix-notifier-registration.patch delete mode 100644 target/linux/lantiq/patches-5.4/002-pinctrl-falcon-fix-syntax-error.patch delete mode 100644 target/linux/octeontx/patches-5.4/0002-net-thunderx-workaround-BGX-TX-Underflow-issue.patch diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 2a808f05d7..b5f2ae1b21 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -8,11 +8,11 @@ endif LINUX_VERSION-4.14 = .172 LINUX_VERSION-4.19 = .108 -LINUX_VERSION-5.4 = .24 +LINUX_VERSION-5.4 = .28 LINUX_KERNEL_HASH-4.14.172 = 2318a1ab937580a079351ed20557c336a3d95b664f667b14e3ba49e3271b217a LINUX_KERNEL_HASH-4.19.108 = 09aeeca5b08efea2f54b977b2999afb60d42f93b9f65b2b0111969f183f750a3 -LINUX_KERNEL_HASH-5.4.24 = 7fa0ac784c78129beed43260a7a22a077f1041ac0e8e88647284d2cf7b1d7eb3 +LINUX_KERNEL_HASH-5.4.28 = c863cc1346348f9a40083b4bc0d34375117b1c401af920994d42e855653ef7a4 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/target/linux/apm821xx/patches-5.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch b/target/linux/apm821xx/patches-5.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch index 68110e29b0..36eab9349b 100644 --- a/target/linux/apm821xx/patches-5.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch +++ b/target/linux/apm821xx/patches-5.4/801-usb-xhci-add-firmware-loader-for-uPD720201-and-uPD72.patch @@ -93,7 +93,7 @@ Signed-off-by: Vinod Koul static const char hcd_name[] = "xhci_hcd"; static struct hc_driver __read_mostly xhci_pci_hc_driver; -@@ -283,6 +323,873 @@ static void xhci_pme_acpi_rtd3_enable(st +@@ -284,6 +324,873 @@ static void xhci_pme_acpi_rtd3_enable(st static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { } #endif /* CONFIG_ACPI */ @@ -967,7 +967,7 @@ Signed-off-by: Vinod Koul /* called during probe() after chip reset completes */ static int xhci_pci_setup(struct usb_hcd *hcd) { -@@ -324,6 +1231,27 @@ static int xhci_pci_probe(struct pci_dev +@@ -325,6 +1232,27 @@ static int xhci_pci_probe(struct pci_dev struct hc_driver *driver; struct usb_hcd *hcd; @@ -995,7 +995,7 @@ Signed-off-by: Vinod Koul driver = (struct hc_driver *)id->driver_data; /* Prevent runtime suspending between USB-2 and USB-3 initialization */ -@@ -385,6 +1313,16 @@ static void xhci_pci_remove(struct pci_d +@@ -386,6 +1314,16 @@ static void xhci_pci_remove(struct pci_d { struct xhci_hcd *xhci; @@ -1012,7 +1012,7 @@ Signed-off-by: Vinod Koul xhci = hcd_to_xhci(pci_get_drvdata(dev)); xhci->xhc_state |= XHCI_STATE_REMOVING; -@@ -512,6 +1450,11 @@ static int xhci_pci_resume(struct usb_hc +@@ -513,6 +1451,11 @@ static int xhci_pci_resume(struct usb_hc if (pdev->vendor == PCI_VENDOR_ID_INTEL) usb_enable_intel_xhci_ports(pdev); diff --git a/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch b/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch index af1e5ed6df..55686a2fd8 100644 --- a/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch +++ b/target/linux/apm821xx/patches-5.4/802-usb-xhci-force-msi-renesas-xhci.patch @@ -13,7 +13,7 @@ produce a noisy warning. --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c -@@ -274,6 +274,7 @@ static void xhci_pci_quirks(struct devic +@@ -275,6 +275,7 @@ static void xhci_pci_quirks(struct devic pdev->device == 0x0015) { xhci->quirks |= XHCI_RESET_ON_RESUME; xhci->quirks |= XHCI_ZERO_64B_REGS; diff --git a/target/linux/ath79/patches-5.4/0060-serial-ar933x_uart-set-UART_CS_-RX-TX-_READY_ORIDE.patch b/target/linux/ath79/patches-5.4/0060-serial-ar933x_uart-set-UART_CS_-RX-TX-_READY_ORIDE.patch index 485aadcbbd..30828d693c 100644 --- a/target/linux/ath79/patches-5.4/0060-serial-ar933x_uart-set-UART_CS_-RX-TX-_READY_ORIDE.patch +++ b/target/linux/ath79/patches-5.4/0060-serial-ar933x_uart-set-UART_CS_-RX-TX-_READY_ORIDE.patch @@ -40,9 +40,9 @@ Signed-off-by: Daniel Golle --- a/drivers/tty/serial/ar933x_uart.c +++ b/drivers/tty/serial/ar933x_uart.c -@@ -286,6 +286,10 @@ static void ar933x_uart_set_termios(stru +@@ -290,6 +290,10 @@ static void ar933x_uart_set_termios(stru ar933x_uart_rmw_set(up, AR933X_UART_CS_REG, - AR933X_UART_CS_HOST_INT_EN); + AR933X_UART_CS_TX_READY_ORIDE | AR933X_UART_CS_RX_READY_ORIDE); + /* enable RX and TX ready overide */ + ar933x_uart_rmw_set(up, AR933X_UART_CS_REG, @@ -51,14 +51,14 @@ Signed-off-by: Daniel Golle /* reenable the UART */ ar933x_uart_rmw(up, AR933X_UART_CS_REG, AR933X_UART_CS_IF_MODE_M << AR933X_UART_CS_IF_MODE_S, -@@ -418,6 +422,10 @@ static int ar933x_uart_startup(struct ua - ar933x_uart_rmw_set(up, AR933X_UART_CS_REG, - AR933X_UART_CS_HOST_INT_EN); +@@ -424,6 +428,10 @@ static int ar933x_uart_startup(struct ua -+ /* enable RX and TX ready overide */ -+ ar933x_uart_rmw_set(up, AR933X_UART_CS_REG, + /* enable RX and TX ready overide */ + ar933x_uart_rmw_set(up, AR933X_UART_CS_REG, + AR933X_UART_CS_TX_READY_ORIDE | AR933X_UART_CS_RX_READY_ORIDE); + ++ /* enable RX and TX ready overide */ ++ ar933x_uart_rmw_set(up, AR933X_UART_CS_REG, + AR933X_UART_CS_TX_READY_ORIDE | AR933X_UART_CS_RX_READY_ORIDE); + /* Enable RX interrupts */ - up->ier = AR933X_UART_INT_RX_VALID; - ar933x_uart_write(up, AR933X_UART_INT_EN_REG, up->ier); diff --git a/target/linux/ath79/patches-5.4/0061-tty-serial-ar933x-uart-rs485-gpio.patch b/target/linux/ath79/patches-5.4/0061-tty-serial-ar933x-uart-rs485-gpio.patch index 54811eb4c1..e27c0854f5 100644 --- a/target/linux/ath79/patches-5.4/0061-tty-serial-ar933x-uart-rs485-gpio.patch +++ b/target/linux/ath79/patches-5.4/0061-tty-serial-ar933x-uart-rs485-gpio.patch @@ -160,7 +160,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards } static void ar933x_uart_break_ctl(struct uart_port *port, int break_state) -@@ -336,11 +393,20 @@ static void ar933x_uart_rx_chars(struct +@@ -340,11 +397,20 @@ static void ar933x_uart_rx_chars(struct static void ar933x_uart_tx_chars(struct ar933x_uart_port *up) { struct circ_buf *xmit = &up->port.state->xmit; @@ -181,7 +181,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards count = up->port.fifosize; do { unsigned int rdata; -@@ -368,8 +434,14 @@ static void ar933x_uart_tx_chars(struct +@@ -372,8 +438,14 @@ static void ar933x_uart_tx_chars(struct if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS) uart_write_wakeup(&up->port); @@ -197,7 +197,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards } static irqreturn_t ar933x_uart_interrupt(int irq, void *dev_id) -@@ -427,8 +499,7 @@ static int ar933x_uart_startup(struct ua +@@ -435,8 +507,7 @@ static int ar933x_uart_startup(struct ua AR933X_UART_CS_TX_READY_ORIDE | AR933X_UART_CS_RX_READY_ORIDE); /* Enable RX interrupts */ @@ -207,7 +207,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards spin_unlock_irqrestore(&up->port.lock, flags); -@@ -511,6 +582,21 @@ static const struct uart_ops ar933x_uart +@@ -519,6 +590,21 @@ static const struct uart_ops ar933x_uart .verify_port = ar933x_uart_verify_port, }; @@ -229,7 +229,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards #ifdef CONFIG_SERIAL_AR933X_CONSOLE static struct ar933x_uart_port * ar933x_console_ports[CONFIG_SERIAL_AR933X_NR_UARTS]; -@@ -680,6 +766,8 @@ static int ar933x_uart_probe(struct plat +@@ -688,6 +774,8 @@ static int ar933x_uart_probe(struct plat goto err_disable_clk; } @@ -238,7 +238,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards port->mapbase = mem_res->start; port->line = id; port->irq = irq_res->start; -@@ -690,6 +778,7 @@ static int ar933x_uart_probe(struct plat +@@ -698,6 +786,7 @@ static int ar933x_uart_probe(struct plat port->regshift = 2; port->fifosize = AR933X_UART_FIFO_SIZE; port->ops = &ar933x_uart_ops; @@ -246,7 +246,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards baud = ar933x_uart_get_baud(port->uartclk, AR933X_UART_MAX_SCALE, 1); up->min_baud = max_t(unsigned int, baud, AR933X_UART_MIN_BAUD); -@@ -697,6 +786,18 @@ static int ar933x_uart_probe(struct plat +@@ -705,6 +794,18 @@ static int ar933x_uart_probe(struct plat baud = ar933x_uart_get_baud(port->uartclk, 0, AR933X_UART_MAX_STEP); up->max_baud = min_t(unsigned int, baud, AR933X_UART_MAX_BAUD); diff --git a/target/linux/bcm27xx/patches-5.4/950-0011-spi-spidev-Completely-disable-the-spidev-warning.patch b/target/linux/bcm27xx/patches-5.4/950-0011-spi-spidev-Completely-disable-the-spidev-warning.patch index cca2191d91..7419136f8a 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0011-spi-spidev-Completely-disable-the-spidev-warning.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0011-spi-spidev-Completely-disable-the-spidev-warning.patch @@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell --- a/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c -@@ -724,7 +724,7 @@ static int spidev_probe(struct spi_devic +@@ -729,7 +729,7 @@ static int spidev_probe(struct spi_devic * compatible string, it is a Linux implementation thing * rather than a description of the hardware. */ diff --git a/target/linux/bcm27xx/patches-5.4/950-0037-Add-dwc_otg-driver.patch b/target/linux/bcm27xx/patches-5.4/950-0037-Add-dwc_otg-driver.patch index 970c78f4df..0823c01c53 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0037-Add-dwc_otg-driver.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0037-Add-dwc_otg-driver.patch @@ -1040,7 +1040,7 @@ Signed-off-by: Jonathan Bell } --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5302,7 +5302,7 @@ static void port_event(struct usb_hub *h +@@ -5306,7 +5306,7 @@ static void port_event(struct usb_hub *h port_dev->over_current_count++; port_over_current_notify(port_dev); diff --git a/target/linux/bcm27xx/patches-5.4/950-0056-Improve-__copy_to_user-and-__copy_from_user-performa.patch b/target/linux/bcm27xx/patches-5.4/950-0056-Improve-__copy_to_user-and-__copy_from_user-performa.patch index 9b0257d3a4..d7f51722fd 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0056-Improve-__copy_to_user-and-__copy_from_user-performa.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0056-Improve-__copy_to_user-and-__copy_from_user-performa.patch @@ -276,7 +276,7 @@ Signed-off-by: Phil Elwell ENDPROC(arm_copy_from_user) +ENDPROC(__copy_from_user_std) - .pushsection .fixup,"ax" + .pushsection .text.fixup,"ax" .align 0 --- /dev/null +++ b/arch/arm/lib/exports_rpi.c diff --git a/target/linux/bcm27xx/patches-5.4/950-0089-cgroup-Disable-cgroup-memory-by-default.patch b/target/linux/bcm27xx/patches-5.4/950-0089-cgroup-Disable-cgroup-memory-by-default.patch index 96ab11f8ab..30eefd3e21 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0089-cgroup-Disable-cgroup-memory-by-default.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0089-cgroup-Disable-cgroup-memory-by-default.patch @@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c -@@ -5707,6 +5707,8 @@ int __init cgroup_init_early(void) +@@ -5720,6 +5720,8 @@ int __init cgroup_init_early(void) } static u16 cgroup_disable_mask __initdata; @@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell /** * cgroup_init - cgroup initialization -@@ -5746,6 +5748,12 @@ int __init cgroup_init(void) +@@ -5759,6 +5761,12 @@ int __init cgroup_init(void) mutex_unlock(&cgroup_mutex); @@ -39,7 +39,7 @@ Signed-off-by: Phil Elwell for_each_subsys(ss, ssid) { if (ss->early_init) { struct cgroup_subsys_state *css = -@@ -6165,6 +6173,28 @@ static int __init cgroup_disable(char *s +@@ -6178,6 +6186,28 @@ static int __init cgroup_disable(char *s } __setup("cgroup_disable=", cgroup_disable); diff --git a/target/linux/bcm27xx/patches-5.4/950-0215-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch b/target/linux/bcm27xx/patches-5.4/950-0215-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch index 1728ed70d3..ee1e3940b3 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0215-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0215-usb-xhci-Show-that-the-VIA-VL805-supports-LPM.patch @@ -10,7 +10,7 @@ Signed-off-by: Phil Elwell --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c -@@ -243,6 +243,10 @@ static void xhci_pci_quirks(struct devic +@@ -244,6 +244,10 @@ static void xhci_pci_quirks(struct devic pdev->device == 0x3432) xhci->quirks |= XHCI_BROKEN_STREAMS; diff --git a/target/linux/bcm27xx/patches-5.4/950-0268-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch b/target/linux/bcm27xx/patches-5.4/950-0268-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch index 50b9a9b4b4..afddaa9462 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0268-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0268-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch @@ -23,7 +23,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c -@@ -244,8 +244,10 @@ static void xhci_pci_quirks(struct devic +@@ -245,8 +245,10 @@ static void xhci_pci_quirks(struct devic xhci->quirks |= XHCI_BROKEN_STREAMS; if (pdev->vendor == PCI_VENDOR_ID_VIA && diff --git a/target/linux/bcm27xx/patches-5.4/950-0284-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch b/target/linux/bcm27xx/patches-5.4/950-0284-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch index 1843ebdce0..203e8638a2 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0284-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0284-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch @@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell #define USB_VENDOR_ID_BELKIN 0x050d #define USB_DEVICE_ID_FLIP_KVM 0x3201 -@@ -1224,6 +1227,9 @@ +@@ -1226,6 +1229,9 @@ #define USB_VENDOR_ID_XAT 0x2505 #define USB_DEVICE_ID_XAT_CSR 0x0220 @@ -53,7 +53,7 @@ Signed-off-by: Jonathan Bell { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH), HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE2), HID_QUIRK_ALWAYS_POLL }, -@@ -175,6 +176,7 @@ static const struct hid_device_id hid_qu +@@ -176,6 +177,7 @@ static const struct hid_device_id hid_qu { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP_LTD2, USB_DEVICE_ID_SMARTJOY_DUAL_PLUS), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT }, diff --git a/target/linux/bcm27xx/patches-5.4/950-0317-kbuild-Allow-.dtbo-overlays-to-be-built-piecemeal.patch b/target/linux/bcm27xx/patches-5.4/950-0317-kbuild-Allow-.dtbo-overlays-to-be-built-piecemeal.patch index d02902a9b3..c7b3e7e09e 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0317-kbuild-Allow-.dtbo-overlays-to-be-built-piecemeal.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0317-kbuild-Allow-.dtbo-overlays-to-be-built-piecemeal.patch @@ -31,6 +31,6 @@ Signed-off-by: Phil Elwell +%.dtbo: prepare3 scripts_dtc + $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@ + - PHONY += dtbs dtbs_install dt_binding_check + PHONY += dtbs dtbs_install dtbs_check dtbs dtbs_check: include/config/kernel.release scripts_dtc $(Q)$(MAKE) $(build)=$(dtstree) diff --git a/target/linux/bcm27xx/patches-5.4/950-0435-ASoC-pcm512x-Fix-unbalanced-regulator-enable-call-in.patch b/target/linux/bcm27xx/patches-5.4/950-0435-ASoC-pcm512x-Fix-unbalanced-regulator-enable-call-in.patch deleted file mode 100644 index ae9b9f44fa..0000000000 --- a/target/linux/bcm27xx/patches-5.4/950-0435-ASoC-pcm512x-Fix-unbalanced-regulator-enable-call-in.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 9a536b0cb8f83bd979fe274ef0197ece12a3ed09 Mon Sep 17 00:00:00 2001 -From: Matthias Reichl -Date: Thu, 20 Feb 2020 21:29:56 +0100 -Subject: [PATCH] ASoC: pcm512x: Fix unbalanced regulator enable call - in probe error path - -commit ac0a68997935c4acb92eaae5ad8982e0bb432d56 upstream. - -When we get a clock error during probe we have to call -regulator_bulk_disable before bailing out, otherwise we trigger -a warning in regulator_put. - -Fix this by using "goto err" like in the error cases above. - -Fixes: 5a3af1293194d ("ASoC: pcm512x: Add PCM512x driver") -Signed-off-by: Matthias Reichl -Reviewed-by: Pierre-Louis Bossart -Link: https://lore.kernel.org/r/20200220202956.29233-1-hias@horus.com -Signed-off-by: Mark Brown ---- - sound/soc/codecs/pcm512x.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - ---- a/sound/soc/codecs/pcm512x.c -+++ b/sound/soc/codecs/pcm512x.c -@@ -1564,13 +1564,15 @@ int pcm512x_probe(struct device *dev, st - } - - pcm512x->sclk = devm_clk_get(dev, NULL); -- if (PTR_ERR(pcm512x->sclk) == -EPROBE_DEFER) -- return -EPROBE_DEFER; -+ if (PTR_ERR(pcm512x->sclk) == -EPROBE_DEFER) { -+ ret = -EPROBE_DEFER; -+ goto err; -+ } - if (!IS_ERR(pcm512x->sclk)) { - ret = clk_prepare_enable(pcm512x->sclk); - if (ret != 0) { - dev_err(dev, "Failed to enable SCLK: %d\n", ret); -- return ret; -+ goto err; - } - } - diff --git a/target/linux/bcm27xx/patches-5.4/950-0466-Kbuild-Allow-.dtbo-overlays-to-be-built-adjust.patch b/target/linux/bcm27xx/patches-5.4/950-0466-Kbuild-Allow-.dtbo-overlays-to-be-built-adjust.patch index e9b8a76831..5795d47464 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0466-Kbuild-Allow-.dtbo-overlays-to-be-built-adjust.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0466-Kbuild-Allow-.dtbo-overlays-to-be-built-adjust.patch @@ -23,4 +23,4 @@ Signed-off-by: Nataliya Korovkina +%.dtbo: include/config/kernel.release scripts_dtc $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@ - PHONY += dtbs dtbs_install dt_binding_check + PHONY += dtbs dtbs_install dtbs_check diff --git a/target/linux/bcm27xx/patches-5.4/950-0480-drm-modes-parse_cmdline-Fix-possible-reference-past-.patch b/target/linux/bcm27xx/patches-5.4/950-0480-drm-modes-parse_cmdline-Fix-possible-reference-past-.patch index 1617a45d52..9b514c3a25 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0480-drm-modes-parse_cmdline-Fix-possible-reference-past-.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0480-drm-modes-parse_cmdline-Fix-possible-reference-past-.patch @@ -138,4 +138,4 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-1-hdego + sep = delim; } - mode->rotation_reflection = rotation; + if (!(rotation & DRM_MODE_ROTATE_MASK)) diff --git a/target/linux/bcm27xx/patches-5.4/950-0481-drm-modes-parse_cmdline-Make-various-char-pointers-c.patch b/target/linux/bcm27xx/patches-5.4/950-0481-drm-modes-parse_cmdline-Make-various-char-pointers-c.patch index ef8c161f52..6abe7beb32 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0481-drm-modes-parse_cmdline-Make-various-char-pointers-c.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0481-drm-modes-parse_cmdline-Make-various-char-pointers-c.patch @@ -37,7 +37,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-2-hdego option = sep + 1; delim = strchr(option, '='); -@@ -1718,8 +1718,8 @@ bool drm_mode_parse_command_line_for_con +@@ -1725,8 +1725,8 @@ bool drm_mode_parse_command_line_for_con bool named_mode = false, parse_extras = false; unsigned int bpp_off = 0, refresh_off = 0, options_off = 0; unsigned int mode_end = 0; diff --git a/target/linux/bcm27xx/patches-5.4/950-0482-drm-modes-parse_cmdline-Stop-parsing-extras-after-bp.patch b/target/linux/bcm27xx/patches-5.4/950-0482-drm-modes-parse_cmdline-Stop-parsing-extras-after-bp.patch index 1128ac0c36..1d356eb6ab 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0482-drm-modes-parse_cmdline-Stop-parsing-extras-after-bp.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0482-drm-modes-parse_cmdline-Stop-parsing-extras-after-bp.patch @@ -27,7 +27,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-3-hdego --- a/drivers/gpu/drm/drm_modes.c +++ b/drivers/gpu/drm/drm_modes.c -@@ -1721,7 +1721,7 @@ bool drm_mode_parse_command_line_for_con +@@ -1728,7 +1728,7 @@ bool drm_mode_parse_command_line_for_con const char *bpp_ptr = NULL, *refresh_ptr = NULL, *extra_ptr = NULL; const char *options_ptr = NULL; char *bpp_end_ptr = NULL, *refresh_end_ptr = NULL; @@ -36,7 +36,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-3-hdego #ifdef CONFIG_FB if (!mode_option) -@@ -1841,9 +1841,11 @@ bool drm_mode_parse_command_line_for_con +@@ -1848,9 +1848,11 @@ bool drm_mode_parse_command_line_for_con else if (refresh_ptr) extra_ptr = refresh_end_ptr; @@ -53,14 +53,14 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-3-hdego connector, mode); --- a/drivers/gpu/drm/selftests/drm_cmdline_selftests.h +++ b/drivers/gpu/drm/selftests/drm_cmdline_selftests.h -@@ -60,3 +60,4 @@ cmdline_test(drm_cmdline_test_vmirror) +@@ -61,3 +61,4 @@ cmdline_test(drm_cmdline_test_vmirror) cmdline_test(drm_cmdline_test_margin_options) cmdline_test(drm_cmdline_test_multiple_options) cmdline_test(drm_cmdline_test_invalid_option) +cmdline_test(drm_cmdline_test_bpp_extra_and_option) --- a/drivers/gpu/drm/selftests/test-drm_cmdline_parser.c +++ b/drivers/gpu/drm/selftests/test-drm_cmdline_parser.c -@@ -992,6 +992,32 @@ static int drm_cmdline_test_invalid_opti +@@ -1003,6 +1003,32 @@ static int drm_cmdline_test_invalid_opti return 0; } diff --git a/target/linux/bcm27xx/patches-5.4/950-0483-drm-modes-parse_cmdline-Accept-extras-directly-after.patch b/target/linux/bcm27xx/patches-5.4/950-0483-drm-modes-parse_cmdline-Accept-extras-directly-after.patch index 79cfa56e84..8d9a92ec0d 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0483-drm-modes-parse_cmdline-Accept-extras-directly-after.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0483-drm-modes-parse_cmdline-Accept-extras-directly-after.patch @@ -27,7 +27,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-4-hdego --- a/drivers/gpu/drm/drm_modes.c +++ b/drivers/gpu/drm/drm_modes.c -@@ -1794,6 +1794,7 @@ bool drm_mode_parse_command_line_for_con +@@ -1801,6 +1801,7 @@ bool drm_mode_parse_command_line_for_con mode_end = refresh_off; } else if (options_ptr) { mode_end = options_off; @@ -37,14 +37,14 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-4-hdego parse_extras = true; --- a/drivers/gpu/drm/selftests/drm_cmdline_selftests.h +++ b/drivers/gpu/drm/selftests/drm_cmdline_selftests.h -@@ -61,3 +61,4 @@ cmdline_test(drm_cmdline_test_margin_opt +@@ -62,3 +62,4 @@ cmdline_test(drm_cmdline_test_margin_opt cmdline_test(drm_cmdline_test_multiple_options) cmdline_test(drm_cmdline_test_invalid_option) cmdline_test(drm_cmdline_test_bpp_extra_and_option) +cmdline_test(drm_cmdline_test_extra_and_option) --- a/drivers/gpu/drm/selftests/test-drm_cmdline_parser.c +++ b/drivers/gpu/drm/selftests/test-drm_cmdline_parser.c -@@ -1018,6 +1018,30 @@ static int drm_cmdline_test_bpp_extra_an +@@ -1029,6 +1029,30 @@ static int drm_cmdline_test_bpp_extra_an return 0; } diff --git a/target/linux/bcm27xx/patches-5.4/950-0484-drm-modes-parse_cmdline-Rework-drm_mode_parse_cmdlin.patch b/target/linux/bcm27xx/patches-5.4/950-0484-drm-modes-parse_cmdline-Rework-drm_mode_parse_cmdlin.patch index 0cf2939a06..1716ebd7be 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0484-drm-modes-parse_cmdline-Rework-drm_mode_parse_cmdlin.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0484-drm-modes-parse_cmdline-Rework-drm_mode_parse_cmdlin.patch @@ -61,9 +61,9 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-5-hdego + option = sep + 1; + } while (sep); - mode->rotation_reflection = rotation; - -@@ -1855,9 +1854,7 @@ bool drm_mode_parse_command_line_for_con + if (!(rotation & DRM_MODE_ROTATE_MASK)) + rotation |= DRM_MODE_ROTATE_0; +@@ -1862,9 +1861,7 @@ bool drm_mode_parse_command_line_for_con } if (options_ptr) { diff --git a/target/linux/bcm27xx/patches-5.4/950-0485-drm-modes-parse_cmdline-Add-freestanding-argument-to.patch b/target/linux/bcm27xx/patches-5.4/950-0485-drm-modes-parse_cmdline-Add-freestanding-argument-to.patch index ac37b72f74..6ed952bd45 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0485-drm-modes-parse_cmdline-Add-freestanding-argument-to.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0485-drm-modes-parse_cmdline-Add-freestanding-argument-to.patch @@ -29,9 +29,9 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-6-hdego const struct drm_connector *connector, struct drm_cmdline_mode *mode) { -@@ -1663,6 +1664,9 @@ static int drm_mode_parse_cmdline_option - option = sep + 1; - } while (sep); +@@ -1670,6 +1671,9 @@ static int drm_mode_parse_cmdline_option + if (!is_power_of_2(rotation & DRM_MODE_ROTATE_MASK)) + return -EINVAL; + if (rotation && freestanding) + return -EINVAL; @@ -39,7 +39,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-6-hdego mode->rotation_reflection = rotation; return 0; -@@ -1855,6 +1859,7 @@ bool drm_mode_parse_command_line_for_con +@@ -1862,6 +1866,7 @@ bool drm_mode_parse_command_line_for_con if (options_ptr) { ret = drm_mode_parse_cmdline_options(options_ptr + 1, diff --git a/target/linux/bcm27xx/patches-5.4/950-0486-drm-modes-parse_cmdline-Set-bpp-refresh_specified-af.patch b/target/linux/bcm27xx/patches-5.4/950-0486-drm-modes-parse_cmdline-Set-bpp-refresh_specified-af.patch index 7f0c6299de..ac973e1d4e 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0486-drm-modes-parse_cmdline-Set-bpp-refresh_specified-af.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0486-drm-modes-parse_cmdline-Set-bpp-refresh_specified-af.patch @@ -24,7 +24,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-7-hdego --- a/drivers/gpu/drm/drm_modes.c +++ b/drivers/gpu/drm/drm_modes.c -@@ -1771,10 +1771,8 @@ bool drm_mode_parse_command_line_for_con +@@ -1778,10 +1778,8 @@ bool drm_mode_parse_command_line_for_con /* Try to locate the bpp and refresh specifiers, if any */ bpp_ptr = strchr(name, '-'); @@ -36,7 +36,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-7-hdego refresh_ptr = strchr(name, '@'); if (refresh_ptr) { -@@ -1782,7 +1780,6 @@ bool drm_mode_parse_command_line_for_con +@@ -1789,7 +1787,6 @@ bool drm_mode_parse_command_line_for_con return false; refresh_off = refresh_ptr - name; @@ -44,7 +44,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-7-hdego } /* Locate the start of named options */ -@@ -1825,6 +1822,8 @@ bool drm_mode_parse_command_line_for_con +@@ -1832,6 +1829,8 @@ bool drm_mode_parse_command_line_for_con ret = drm_mode_parse_cmdline_bpp(bpp_ptr, &bpp_end_ptr, mode); if (ret) return false; @@ -53,7 +53,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-7-hdego } if (refresh_ptr) { -@@ -1832,6 +1831,8 @@ bool drm_mode_parse_command_line_for_con +@@ -1839,6 +1838,8 @@ bool drm_mode_parse_command_line_for_con &refresh_end_ptr, mode); if (ret) return false; diff --git a/target/linux/bcm27xx/patches-5.4/950-0487-drm-modes-parse_cmdline-Allow-specifying-stand-alone.patch b/target/linux/bcm27xx/patches-5.4/950-0487-drm-modes-parse_cmdline-Allow-specifying-stand-alone.patch index 301ad57f03..746f35f83b 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0487-drm-modes-parse_cmdline-Allow-specifying-stand-alone.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0487-drm-modes-parse_cmdline-Allow-specifying-stand-alone.patch @@ -27,7 +27,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-8-hdego --- a/drivers/gpu/drm/drm_modes.c +++ b/drivers/gpu/drm/drm_modes.c -@@ -1677,17 +1677,6 @@ static const char * const drm_named_mode +@@ -1684,17 +1684,6 @@ static const char * const drm_named_mode "PAL", }; @@ -45,7 +45,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-8-hdego /** * drm_mode_parse_command_line_for_connector - parse command line modeline for connector * @mode_option: optional per connector mode option -@@ -1718,7 +1707,7 @@ bool drm_mode_parse_command_line_for_con +@@ -1725,7 +1714,7 @@ bool drm_mode_parse_command_line_for_con struct drm_cmdline_mode *mode) { const char *name; @@ -54,7 +54,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-8-hdego unsigned int bpp_off = 0, refresh_off = 0, options_off = 0; unsigned int mode_end = 0; const char *bpp_ptr = NULL, *refresh_ptr = NULL, *extra_ptr = NULL; -@@ -1738,49 +1727,14 @@ bool drm_mode_parse_command_line_for_con +@@ -1745,49 +1734,14 @@ bool drm_mode_parse_command_line_for_con name = mode_option; @@ -105,7 +105,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-8-hdego /* Locate the start of named options */ options_ptr = strchr(name, ','); -@@ -1800,23 +1754,45 @@ bool drm_mode_parse_command_line_for_con +@@ -1807,23 +1761,45 @@ bool drm_mode_parse_command_line_for_con parse_extras = true; } @@ -160,7 +160,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-8-hdego if (bpp_ptr) { ret = drm_mode_parse_cmdline_bpp(bpp_ptr, &bpp_end_ptr, mode); -@@ -1852,7 +1828,7 @@ bool drm_mode_parse_command_line_for_con +@@ -1859,7 +1835,7 @@ bool drm_mode_parse_command_line_for_con else len = strlen(extra_ptr); @@ -169,7 +169,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-8-hdego connector, mode); if (ret) return false; -@@ -1860,7 +1836,7 @@ bool drm_mode_parse_command_line_for_con +@@ -1867,7 +1843,7 @@ bool drm_mode_parse_command_line_for_con if (options_ptr) { ret = drm_mode_parse_cmdline_options(options_ptr + 1, @@ -180,7 +180,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-8-hdego return false; --- a/drivers/gpu/drm/selftests/drm_cmdline_selftests.h +++ b/drivers/gpu/drm/selftests/drm_cmdline_selftests.h -@@ -62,3 +62,5 @@ cmdline_test(drm_cmdline_test_multiple_o +@@ -63,3 +63,5 @@ cmdline_test(drm_cmdline_test_multiple_o cmdline_test(drm_cmdline_test_invalid_option) cmdline_test(drm_cmdline_test_bpp_extra_and_option) cmdline_test(drm_cmdline_test_extra_and_option) @@ -188,7 +188,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-8-hdego +cmdline_test(drm_cmdline_test_freestanding_force_e_and_options) --- a/drivers/gpu/drm/selftests/test-drm_cmdline_parser.c +++ b/drivers/gpu/drm/selftests/test-drm_cmdline_parser.c -@@ -1042,6 +1042,56 @@ static int drm_cmdline_test_extra_and_op +@@ -1053,6 +1053,56 @@ static int drm_cmdline_test_extra_and_op return 0; } diff --git a/target/linux/bcm27xx/patches-5.4/950-0488-drm-modes-parse_cmdline-Add-support-for-specifying-p.patch b/target/linux/bcm27xx/patches-5.4/950-0488-drm-modes-parse_cmdline-Add-support-for-specifying-p.patch index 29382003a8..cbda9ecc10 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0488-drm-modes-parse_cmdline-Add-support-for-specifying-p.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0488-drm-modes-parse_cmdline-Add-support-for-specifying-p.patch @@ -91,7 +91,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-9-hdego } else { return -EINVAL; } -@@ -1715,6 +1745,8 @@ bool drm_mode_parse_command_line_for_con +@@ -1722,6 +1752,8 @@ bool drm_mode_parse_command_line_for_con char *bpp_end_ptr = NULL, *refresh_end_ptr = NULL; int i, len, ret; @@ -102,14 +102,14 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-9-hdego mode_option = fb_mode_option; --- a/drivers/gpu/drm/selftests/drm_cmdline_selftests.h +++ b/drivers/gpu/drm/selftests/drm_cmdline_selftests.h -@@ -64,3 +64,4 @@ cmdline_test(drm_cmdline_test_bpp_extra_ +@@ -65,3 +65,4 @@ cmdline_test(drm_cmdline_test_bpp_extra_ cmdline_test(drm_cmdline_test_extra_and_option) cmdline_test(drm_cmdline_test_freestanding_options) cmdline_test(drm_cmdline_test_freestanding_force_e_and_options) +cmdline_test(drm_cmdline_test_panel_orientation) --- a/drivers/gpu/drm/selftests/test-drm_cmdline_parser.c +++ b/drivers/gpu/drm/selftests/test-drm_cmdline_parser.c -@@ -1092,6 +1092,28 @@ static int drm_cmdline_test_freestanding +@@ -1103,6 +1103,28 @@ static int drm_cmdline_test_freestanding return 0; } diff --git a/target/linux/bcm27xx/patches-5.4/950-0489-drm-modes-parse_cmdline-Remove-some-unnecessary-code.patch b/target/linux/bcm27xx/patches-5.4/950-0489-drm-modes-parse_cmdline-Remove-some-unnecessary-code.patch index ce80f19b74..fb4a7f1cda 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0489-drm-modes-parse_cmdline-Remove-some-unnecessary-code.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0489-drm-modes-parse_cmdline-Remove-some-unnecessary-code.patch @@ -24,7 +24,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-10-hdeg --- a/drivers/gpu/drm/drm_modes.c +++ b/drivers/gpu/drm/drm_modes.c -@@ -1747,11 +1747,6 @@ bool drm_mode_parse_command_line_for_con +@@ -1754,11 +1754,6 @@ bool drm_mode_parse_command_line_for_con mode->panel_orientation = DRM_MODE_PANEL_ORIENTATION_UNKNOWN; diff --git a/target/linux/bcm27xx/patches-5.4/950-0490-drm-modes-parse_cmdline-Explicitly-memset-the-passed.patch b/target/linux/bcm27xx/patches-5.4/950-0490-drm-modes-parse_cmdline-Explicitly-memset-the-passed.patch index 6c17d894f7..372cd0d665 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0490-drm-modes-parse_cmdline-Explicitly-memset-the-passed.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0490-drm-modes-parse_cmdline-Explicitly-memset-the-passed.patch @@ -24,7 +24,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191118155134.30468-11-hdeg --- a/drivers/gpu/drm/drm_modes.c +++ b/drivers/gpu/drm/drm_modes.c -@@ -1745,12 +1745,11 @@ bool drm_mode_parse_command_line_for_con +@@ -1752,12 +1752,11 @@ bool drm_mode_parse_command_line_for_con char *bpp_end_ptr = NULL, *refresh_end_ptr = NULL; int i, len, ret; diff --git a/target/linux/generic/backport-5.4/507-v5.6-iio-chemical-sps30-fix-missing-triggered-buffer-depe.patch b/target/linux/generic/backport-5.4/507-v5.6-iio-chemical-sps30-fix-missing-triggered-buffer-depe.patch deleted file mode 100644 index 9c2c4d5a8f..0000000000 --- a/target/linux/generic/backport-5.4/507-v5.6-iio-chemical-sps30-fix-missing-triggered-buffer-depe.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 61338e27e2eef3bfcd3df5c39cec5b9dc10ba25c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Petr=20=C5=A0tetiar?= -Date: Sun, 23 Feb 2020 22:08:25 +0100 -Subject: [PATCH] iio: chemical: sps30: fix missing triggered buffer dependency -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -SPS30 uses triggered buffer, but the dependency is not specified in the -Kconfig file. Fix this by selecting IIO_BUFFER and IIO_TRIGGERED_BUFFER -config symbols. - -Cc: stable@vger.kernel.org -Fixes: 232e0f6ddeae ("iio: chemical: add support for Sensirion SPS30 sensor") -Signed-off-by: Petr Štetiar ---- - drivers/iio/chemical/Kconfig | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/drivers/iio/chemical/Kconfig -+++ b/drivers/iio/chemical/Kconfig -@@ -91,6 +91,8 @@ config SPS30 - tristate "SPS30 particulate matter sensor" - depends on I2C - select CRC8 -+ select IIO_BUFFER -+ select IIO_TRIGGERED_BUFFER - help - Say Y here to build support for the Sensirion SPS30 particulate - matter sensor. diff --git a/target/linux/generic/backport-5.4/600-ipv6-addrconf-call-ipv6_mc_up-for-non-Ethernet-inter.patch b/target/linux/generic/backport-5.4/600-ipv6-addrconf-call-ipv6_mc_up-for-non-Ethernet-inter.patch deleted file mode 100644 index d8fe827fa7..0000000000 --- a/target/linux/generic/backport-5.4/600-ipv6-addrconf-call-ipv6_mc_up-for-non-Ethernet-inter.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 82afdcd4ec3c8ca6551cbf7c43c09e2fd240487a Mon Sep 17 00:00:00 2001 -From: Hangbin Liu -Date: Tue, 10 Mar 2020 15:27:37 +0800 -Subject: [PATCH] ipv6/addrconf: call ipv6_mc_up() for non-Ethernet interface -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Rafał found an issue that for non-Ethernet interface, if we down and up -frequently, the memory will be consumed slowly. - -The reason is we add allnodes/allrouters addressed in multicast list in -ipv6_add_dev(). When link down, we call ipv6_mc_down(), store all multicast -addresses via mld_add_delrec(). But when link up, we don't call ipv6_mc_up() -for non-Ethernet interface to remove the addresses. This makes idev->mc_tomb -getting bigger and bigger. The call stack looks like: - -addrconf_notify(NETDEV_REGISTER) - ipv6_add_dev - ipv6_dev_mc_inc(ff01::1) - ipv6_dev_mc_inc(ff02::1) - ipv6_dev_mc_inc(ff02::2) - -addrconf_notify(NETDEV_UP) - addrconf_dev_config - /* Alas, we support only Ethernet autoconfiguration. */ - return; - -addrconf_notify(NETDEV_DOWN) - addrconf_ifdown - ipv6_mc_down - igmp6_group_dropped(ff02::2) - mld_add_delrec(ff02::2) - igmp6_group_dropped(ff02::1) - igmp6_group_dropped(ff01::1) - -After investigating, I can't found a rule to disable multicast on -non-Ethernet interface. In RFC2460, the link could be Ethernet, PPP, ATM, -tunnels, etc. In IPv4, it doesn't check the dev type when calls ip_mc_up() -in inetdev_event(). Even for IPv6, we don't check the dev type and call -ipv6_add_dev(), ipv6_dev_mc_inc() after register device. - -So I think it's OK to fix this memory consumer by calling ipv6_mc_up() for -non-Ethernet interface. - -v2: Also check IFF_MULTICAST flag to make sure the interface supports - multicast - -Reported-by: Rafał Miłecki -Tested-by: Rafał Miłecki -Fixes: 74235a25c673 ("[IPV6] addrconf: Fix IPv6 on tuntap tunnels") -Fixes: 1666d49e1d41 ("mld: do not remove mld souce list info when set link down") -Signed-off-by: Hangbin Liu -Signed-off-by: David S. Miller ---- - net/ipv6/addrconf.c | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/net/ipv6/addrconf.c -+++ b/net/ipv6/addrconf.c -@@ -3345,6 +3345,10 @@ static void addrconf_dev_config(struct n - (dev->type != ARPHRD_NONE) && - (dev->type != ARPHRD_RAWIP)) { - /* Alas, we support only Ethernet autoconfiguration. */ -+ idev = __in6_dev_get(dev); -+ if (!IS_ERR_OR_NULL(idev) && dev->flags & IFF_UP && -+ dev->flags & IFF_MULTICAST) -+ ipv6_mc_up(idev); - return; - } - diff --git a/target/linux/generic/backport-5.4/737-v5.5-net-phy-add-core-phylib-sfp-support.patch b/target/linux/generic/backport-5.4/737-v5.5-net-phy-add-core-phylib-sfp-support.patch index 7835d3f19f..23230abfbb 100644 --- a/target/linux/generic/backport-5.4/737-v5.5-net-phy-add-core-phylib-sfp-support.patch +++ b/target/linux/generic/backport-5.4/737-v5.5-net-phy-add-core-phylib-sfp-support.patch @@ -24,7 +24,7 @@ Signed-off-by: Russell King #include #include #include -@@ -841,6 +842,9 @@ void phy_stop(struct phy_device *phydev) +@@ -842,6 +843,9 @@ void phy_stop(struct phy_device *phydev) mutex_lock(&phydev->lock); @@ -34,7 +34,7 @@ Signed-off-by: Russell King phydev->state = PHY_HALTED; mutex_unlock(&phydev->lock); -@@ -903,6 +907,9 @@ void phy_state_machine(struct work_struc +@@ -904,6 +908,9 @@ void phy_state_machine(struct work_struc old_state = phydev->state; @@ -54,7 +54,7 @@ Signed-off-by: Russell King #include #include #include -@@ -1178,6 +1179,65 @@ phy_standalone_show(struct device *dev, +@@ -1183,6 +1184,65 @@ phy_standalone_show(struct device *dev, static DEVICE_ATTR_RO(phy_standalone); /** @@ -120,7 +120,7 @@ Signed-off-by: Russell King * phy_attach_direct - attach a network device to a given PHY device pointer * @dev: network device to attach * @phydev: Pointer to phy_device to attach -@@ -1254,6 +1314,9 @@ int phy_attach_direct(struct net_device +@@ -1259,6 +1319,9 @@ int phy_attach_direct(struct net_device dev->phydev = phydev; } @@ -130,7 +130,7 @@ Signed-off-by: Russell King /* Some Ethernet drivers try to connect to a PHY device before * calling register_netdevice() -> netdev_register_kobject() and * does the dev->dev.kobj initialization. Here we only check for -@@ -2282,6 +2345,9 @@ static int phy_remove(struct device *dev +@@ -2287,6 +2350,9 @@ static int phy_remove(struct device *dev phydev->state = PHY_DOWN; mutex_unlock(&phydev->lock); @@ -151,7 +151,7 @@ Signed-off-by: Russell King struct sk_buff; /* -@@ -342,6 +344,8 @@ struct phy_c45_device_ids { +@@ -343,6 +345,8 @@ struct phy_c45_device_ids { * dev_flags: Device-specific flags used by the PHY driver. * irq: IRQ number of the PHY's interrupt (-1 if none) * phy_timer: The timer for handling the state machine @@ -160,7 +160,7 @@ Signed-off-by: Russell King * attached_dev: The attached enet driver's device instance ptr * adjust_link: Callback for the enet controller to respond to * changes in the link state. -@@ -432,6 +436,9 @@ struct phy_device { +@@ -434,6 +438,9 @@ struct phy_device { struct mutex lock; @@ -170,7 +170,7 @@ Signed-off-by: Russell King struct phylink *phylink; struct net_device *attached_dev; -@@ -1020,6 +1027,10 @@ int phy_suspend(struct phy_device *phyde +@@ -1023,6 +1030,10 @@ int phy_suspend(struct phy_device *phyde int phy_resume(struct phy_device *phydev); int __phy_resume(struct phy_device *phydev); int phy_loopback(struct phy_device *phydev, bool enable); diff --git a/target/linux/generic/hack-5.4/220-gc_sections.patch b/target/linux/generic/hack-5.4/220-gc_sections.patch index fbac74c111..22276d4399 100644 --- a/target/linux/generic/hack-5.4/220-gc_sections.patch +++ b/target/linux/generic/hack-5.4/220-gc_sections.patch @@ -31,7 +31,7 @@ Signed-off-by: Gabor Juhos select OF_EARLY_FLATTREE if OF --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile -@@ -107,6 +107,7 @@ ifeq ($(CONFIG_FUNCTION_TRACER),y) +@@ -106,6 +106,7 @@ ifeq ($(CONFIG_FUNCTION_TRACER),y) ORIG_CFLAGS := $(KBUILD_CFLAGS) KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS)) endif diff --git a/target/linux/generic/hack-5.4/702-phy_add_aneg_done_function.patch b/target/linux/generic/hack-5.4/702-phy_add_aneg_done_function.patch index 0f4dab3460..f82cef1f94 100644 --- a/target/linux/generic/hack-5.4/702-phy_add_aneg_done_function.patch +++ b/target/linux/generic/hack-5.4/702-phy_add_aneg_done_function.patch @@ -1,6 +1,6 @@ --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -522,6 +522,12 @@ struct phy_driver { +@@ -524,6 +524,12 @@ struct phy_driver { /* Determines the negotiated speed and duplex */ int (*read_status)(struct phy_device *phydev); @@ -15,7 +15,7 @@ --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1822,6 +1822,9 @@ int genphy_update_link(struct phy_device +@@ -1827,6 +1827,9 @@ int genphy_update_link(struct phy_device if (bmcr & BMCR_ANRESTART) goto done; diff --git a/target/linux/generic/hack-5.4/902-debloat_proc.patch b/target/linux/generic/hack-5.4/902-debloat_proc.patch index d3aff83896..f652751339 100644 --- a/target/linux/generic/hack-5.4/902-debloat_proc.patch +++ b/target/linux/generic/hack-5.4/902-debloat_proc.patch @@ -29,7 +29,7 @@ Signed-off-by: Felix Fietkau --- a/fs/locks.c +++ b/fs/locks.c -@@ -2961,6 +2961,8 @@ static const struct seq_operations locks +@@ -2989,6 +2989,8 @@ static const struct seq_operations locks static int __init proc_locks_init(void) { @@ -235,7 +235,7 @@ Signed-off-by: Felix Fietkau if (!pe) --- a/mm/vmalloc.c +++ b/mm/vmalloc.c -@@ -3549,6 +3549,8 @@ static const struct seq_operations vmall +@@ -3552,6 +3552,8 @@ static const struct seq_operations vmall static int __init proc_vmalloc_init(void) { @@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau --- a/net/core/sock.c +++ b/net/core/sock.c -@@ -3603,6 +3603,8 @@ static __net_initdata struct pernet_oper +@@ -3606,6 +3606,8 @@ static __net_initdata struct pernet_oper static int __init proto_init(void) { diff --git a/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch b/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch index a9a250fe40..24971487a4 100644 --- a/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch +++ b/target/linux/generic/hack-5.4/904-debloat_dma_buf.patch @@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau selftest.o \ --- a/drivers/dma-buf/dma-buf.c +++ b/drivers/dma-buf/dma-buf.c -@@ -1297,4 +1297,5 @@ static void __exit dma_buf_deinit(void) +@@ -1298,4 +1298,5 @@ static void __exit dma_buf_deinit(void) dma_buf_uninit_debugfs(); kern_unmount(dma_buf_mnt); } diff --git a/target/linux/generic/pending-5.4/130-add-linux-spidev-compatible-si3210.patch b/target/linux/generic/pending-5.4/130-add-linux-spidev-compatible-si3210.patch index 152d48d4cd..75aaa8076f 100644 --- a/target/linux/generic/pending-5.4/130-add-linux-spidev-compatible-si3210.patch +++ b/target/linux/generic/pending-5.4/130-add-linux-spidev-compatible-si3210.patch @@ -8,7 +8,7 @@ Signed-off-by: Giuseppe Lippolis --- a/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c -@@ -668,6 +668,7 @@ static const struct of_device_id spidev_ +@@ -673,6 +673,7 @@ static const struct of_device_id spidev_ { .compatible = "lwn,bk4" }, { .compatible = "dh,dhcom-board" }, { .compatible = "menlo,m53cpld" }, diff --git a/target/linux/generic/pending-5.4/630-packet_socket_type.patch b/target/linux/generic/pending-5.4/630-packet_socket_type.patch index 80c891a630..fcd00ad666 100644 --- a/target/linux/generic/pending-5.4/630-packet_socket_type.patch +++ b/target/linux/generic/pending-5.4/630-packet_socket_type.patch @@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -3267,6 +3269,7 @@ static int packet_create(struct net *net +@@ -3268,6 +3270,7 @@ static int packet_create(struct net *net mutex_init(&po->pg_vec_lock); po->rollover = NULL; po->prot_hook.func = packet_rcv; @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau if (sock->type == SOCK_PACKET) po->prot_hook.func = packet_rcv_spkt; -@@ -3900,6 +3903,16 @@ packet_setsockopt(struct socket *sock, i +@@ -3901,6 +3904,16 @@ packet_setsockopt(struct socket *sock, i po->xmit = val ? packet_direct_xmit : dev_queue_xmit; return 0; } @@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau default: return -ENOPROTOOPT; } -@@ -3956,6 +3969,13 @@ static int packet_getsockopt(struct sock +@@ -3957,6 +3970,13 @@ static int packet_getsockopt(struct sock case PACKET_VNET_HDR: val = po->has_vnet_hdr; break; diff --git a/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch b/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch index c69ca6db2d..a005b25c7a 100644 --- a/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch +++ b/target/linux/generic/pending-5.4/640-netfilter-nf_flow_table-add-hardware-offload-support.patch @@ -506,7 +506,7 @@ Signed-off-by: Pablo Neira Ayuso +MODULE_ALIAS("nf-flow-table-hw"); --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c -@@ -5740,6 +5740,13 @@ static int nf_tables_flowtable_parse_hoo +@@ -5745,6 +5745,13 @@ static int nf_tables_flowtable_parse_hoo if (err < 0) return err; @@ -520,7 +520,7 @@ Signed-off-by: Pablo Neira Ayuso ops = kcalloc(n, sizeof(struct nf_hook_ops), GFP_KERNEL); if (!ops) return -ENOMEM; -@@ -5870,10 +5877,19 @@ static int nf_tables_newflowtable(struct +@@ -5875,10 +5882,19 @@ static int nf_tables_newflowtable(struct } flowtable->data.type = type; @@ -540,7 +540,7 @@ Signed-off-by: Pablo Neira Ayuso err = nf_tables_flowtable_parse_hook(&ctx, nla[NFTA_FLOWTABLE_HOOK], flowtable); if (err < 0) -@@ -5999,7 +6015,8 @@ static int nf_tables_fill_flowtable_info +@@ -6004,7 +6020,8 @@ static int nf_tables_fill_flowtable_info nla_put_string(skb, NFTA_FLOWTABLE_NAME, flowtable->name) || nla_put_be32(skb, NFTA_FLOWTABLE_USE, htonl(flowtable->use)) || nla_put_be64(skb, NFTA_FLOWTABLE_HANDLE, cpu_to_be64(flowtable->handle), diff --git a/target/linux/generic/pending-5.4/703-phy-add-detach-callback-to-struct-phy_driver.patch b/target/linux/generic/pending-5.4/703-phy-add-detach-callback-to-struct-phy_driver.patch index 7b19890217..246bb8f94e 100644 --- a/target/linux/generic/pending-5.4/703-phy-add-detach-callback-to-struct-phy_driver.patch +++ b/target/linux/generic/pending-5.4/703-phy-add-detach-callback-to-struct-phy_driver.patch @@ -11,7 +11,7 @@ Signed-off-by: Gabor Juhos --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1458,6 +1458,9 @@ void phy_detach(struct phy_device *phyde +@@ -1463,6 +1463,9 @@ void phy_detach(struct phy_device *phyde struct module *ndev_owner = NULL; struct mii_bus *bus; @@ -23,7 +23,7 @@ Signed-off-by: Gabor Juhos sysfs_remove_link(&dev->dev.kobj, "phydev"); --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -537,6 +537,12 @@ struct phy_driver { +@@ -540,6 +540,12 @@ struct phy_driver { /* Override default interrupt handling */ int (*handle_interrupt)(struct phy_device *phydev); diff --git a/target/linux/imx6/patches-5.4/001-ARM-dts-imx-Add-GW5907-board-support.patch b/target/linux/imx6/patches-5.4/001-ARM-dts-imx-Add-GW5907-board-support.patch index a4e9604ffa..133c3b9566 100644 --- a/target/linux/imx6/patches-5.4/001-ARM-dts-imx-Add-GW5907-board-support.patch +++ b/target/linux/imx6/patches-5.4/001-ARM-dts-imx-Add-GW5907-board-support.patch @@ -26,11 +26,9 @@ Signed-off-by: Shawn Guo create mode 100644 arch/arm/boot/dts/imx6q-gw5907.dts create mode 100644 arch/arm/boot/dts/imx6qdl-gw5907.dtsi -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index 1e9e1af..9ee80e2 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -422,6 +422,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ +@@ -418,6 +418,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6dl-gw560x.dtb \ imx6dl-gw5903.dtb \ imx6dl-gw5904.dtb \ @@ -38,7 +36,7 @@ index 1e9e1af..9ee80e2 100644 imx6dl-hummingboard.dtb \ imx6dl-hummingboard-emmc-som-v15.dtb \ imx6dl-hummingboard-som-v15.dtb \ -@@ -493,6 +494,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ +@@ -489,6 +490,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6q-gw560x.dtb \ imx6q-gw5903.dtb \ imx6q-gw5904.dtb \ @@ -46,9 +44,6 @@ index 1e9e1af..9ee80e2 100644 imx6q-h100.dtb \ imx6q-hummingboard.dtb \ imx6q-hummingboard-emmc-som-v15.dtb \ -diff --git a/arch/arm/boot/dts/imx6dl-gw5907.dts b/arch/arm/boot/dts/imx6dl-gw5907.dts -new file mode 100644 -index 00000000..3fa2822 --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-gw5907.dts @@ -0,0 +1,14 @@ @@ -66,9 +61,6 @@ index 00000000..3fa2822 + model = "Gateworks Ventana i.MX6 DualLite/Solo GW5907"; + compatible = "gw,imx6dl-gw5907", "gw,ventana", "fsl,imx6dl"; +}; -diff --git a/arch/arm/boot/dts/imx6q-gw5907.dts b/arch/arm/boot/dts/imx6q-gw5907.dts -new file mode 100644 -index 00000000..b25526e --- /dev/null +++ b/arch/arm/boot/dts/imx6q-gw5907.dts @@ -0,0 +1,14 @@ @@ -86,9 +78,6 @@ index 00000000..b25526e + model = "Gateworks Ventana i.MX6 Dual/Quad GW5907"; + compatible = "gw,imx6q-gw5907", "gw,ventana", "fsl,imx6q"; +}; -diff --git a/arch/arm/boot/dts/imx6qdl-gw5907.dtsi b/arch/arm/boot/dts/imx6qdl-gw5907.dtsi -new file mode 100644 -index 00000000..0bdebdd --- /dev/null +++ b/arch/arm/boot/dts/imx6qdl-gw5907.dtsi @@ -0,0 +1,399 @@ @@ -491,6 +480,3 @@ index 00000000..0bdebdd + >; + }; +}; --- -2.7.4 - diff --git a/target/linux/imx6/patches-5.4/002-ARM-dts-imx-Add-GW5910-board-support.patch b/target/linux/imx6/patches-5.4/002-ARM-dts-imx-Add-GW5910-board-support.patch index aade7650f9..707577edc1 100644 --- a/target/linux/imx6/patches-5.4/002-ARM-dts-imx-Add-GW5910-board-support.patch +++ b/target/linux/imx6/patches-5.4/002-ARM-dts-imx-Add-GW5910-board-support.patch @@ -35,11 +35,9 @@ Signed-off-by: Shawn Guo create mode 100644 arch/arm/boot/dts/imx6q-gw5910.dts create mode 100644 arch/arm/boot/dts/imx6qdl-gw5910.dtsi -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index 9ee80e2..85e53cc 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -423,6 +423,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ +@@ -419,6 +419,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6dl-gw5903.dtb \ imx6dl-gw5904.dtb \ imx6dl-gw5907.dtb \ @@ -47,7 +45,7 @@ index 9ee80e2..85e53cc 100644 imx6dl-hummingboard.dtb \ imx6dl-hummingboard-emmc-som-v15.dtb \ imx6dl-hummingboard-som-v15.dtb \ -@@ -495,6 +496,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ +@@ -491,6 +492,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6q-gw5903.dtb \ imx6q-gw5904.dtb \ imx6q-gw5907.dtb \ @@ -55,9 +53,6 @@ index 9ee80e2..85e53cc 100644 imx6q-h100.dtb \ imx6q-hummingboard.dtb \ imx6q-hummingboard-emmc-som-v15.dtb \ -diff --git a/arch/arm/boot/dts/imx6dl-gw5910.dts b/arch/arm/boot/dts/imx6dl-gw5910.dts -new file mode 100644 -index 00000000..0d5e7e5 --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-gw5910.dts @@ -0,0 +1,14 @@ @@ -75,9 +70,6 @@ index 00000000..0d5e7e5 + model = "Gateworks Ventana i.MX6 DualLite/Solo GW5910"; + compatible = "gw,imx6dl-gw5910", "gw,ventana", "fsl,imx6dl"; +}; -diff --git a/arch/arm/boot/dts/imx6q-gw5910.dts b/arch/arm/boot/dts/imx6q-gw5910.dts -new file mode 100644 -index 00000000..6aafa2f --- /dev/null +++ b/arch/arm/boot/dts/imx6q-gw5910.dts @@ -0,0 +1,14 @@ @@ -95,9 +87,6 @@ index 00000000..6aafa2f + model = "Gateworks Ventana i.MX6 Dual/Quad GW5910"; + compatible = "gw,imx6q-gw5910", "gw,ventana", "fsl,imx6q"; +}; -diff --git a/arch/arm/boot/dts/imx6qdl-gw5910.dtsi b/arch/arm/boot/dts/imx6qdl-gw5910.dtsi -new file mode 100644 -index 00000000..be1af74 --- /dev/null +++ b/arch/arm/boot/dts/imx6qdl-gw5910.dtsi @@ -0,0 +1,491 @@ @@ -592,6 +581,3 @@ index 00000000..be1af74 + >; + }; +}; --- -2.7.4 - diff --git a/target/linux/imx6/patches-5.4/003-ARM-dts-imx-Add-GW5913-board-support.patch b/target/linux/imx6/patches-5.4/003-ARM-dts-imx-Add-GW5913-board-support.patch index 2d242fb890..07a7cbfc88 100644 --- a/target/linux/imx6/patches-5.4/003-ARM-dts-imx-Add-GW5913-board-support.patch +++ b/target/linux/imx6/patches-5.4/003-ARM-dts-imx-Add-GW5913-board-support.patch @@ -30,11 +30,9 @@ Signed-off-by: Shawn Guo create mode 100644 arch/arm/boot/dts/imx6q-gw5913.dts create mode 100644 arch/arm/boot/dts/imx6qdl-gw5913.dtsi -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index 85e53cc..5b059fc 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -424,6 +424,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ +@@ -420,6 +420,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6dl-gw5904.dtb \ imx6dl-gw5907.dtb \ imx6dl-gw5910.dtb \ @@ -42,7 +40,7 @@ index 85e53cc..5b059fc 100644 imx6dl-hummingboard.dtb \ imx6dl-hummingboard-emmc-som-v15.dtb \ imx6dl-hummingboard-som-v15.dtb \ -@@ -497,6 +498,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ +@@ -493,6 +494,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6q-gw5904.dtb \ imx6q-gw5907.dtb \ imx6q-gw5910.dtb \ @@ -50,9 +48,6 @@ index 85e53cc..5b059fc 100644 imx6q-h100.dtb \ imx6q-hummingboard.dtb \ imx6q-hummingboard-emmc-som-v15.dtb \ -diff --git a/arch/arm/boot/dts/imx6dl-gw5913.dts b/arch/arm/boot/dts/imx6dl-gw5913.dts -new file mode 100644 -index 00000000..b74e533 --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-gw5913.dts @@ -0,0 +1,14 @@ @@ -70,9 +65,6 @@ index 00000000..b74e533 + model = "Gateworks Ventana i.MX6 DualLite/Solo GW5913"; + compatible = "gw,imx6dl-gw5913", "gw,ventana", "fsl,imx6dl"; +}; -diff --git a/arch/arm/boot/dts/imx6q-gw5913.dts b/arch/arm/boot/dts/imx6q-gw5913.dts -new file mode 100644 -index 00000000..6f511f1 --- /dev/null +++ b/arch/arm/boot/dts/imx6q-gw5913.dts @@ -0,0 +1,14 @@ @@ -90,9 +82,6 @@ index 00000000..6f511f1 + model = "Gateworks Ventana i.MX6 Dual/Quad GW5913"; + compatible = "gw,imx6q-gw5913", "gw,ventana", "fsl,imx6q"; +}; -diff --git a/arch/arm/boot/dts/imx6qdl-gw5913.dtsi b/arch/arm/boot/dts/imx6qdl-gw5913.dtsi -new file mode 100644 -index 00000000..635c203 --- /dev/null +++ b/arch/arm/boot/dts/imx6qdl-gw5913.dtsi @@ -0,0 +1,348 @@ @@ -444,6 +433,3 @@ index 00000000..635c203 + >; + }; +}; --- -2.7.4 - diff --git a/target/linux/imx6/patches-5.4/004-ARM-dts-imx-Add-GW5912-board-support.patch b/target/linux/imx6/patches-5.4/004-ARM-dts-imx-Add-GW5912-board-support.patch index a47cb279cb..cf0ff9dbb2 100644 --- a/target/linux/imx6/patches-5.4/004-ARM-dts-imx-Add-GW5912-board-support.patch +++ b/target/linux/imx6/patches-5.4/004-ARM-dts-imx-Add-GW5912-board-support.patch @@ -35,11 +35,9 @@ Signed-off-by: Shawn Guo create mode 100644 arch/arm/boot/dts/imx6q-gw5912.dts create mode 100644 arch/arm/boot/dts/imx6qdl-gw5912.dtsi -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index 5b059fc..1a32a7d 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -424,6 +424,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ +@@ -420,6 +420,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6dl-gw5904.dtb \ imx6dl-gw5907.dtb \ imx6dl-gw5910.dtb \ @@ -47,7 +45,7 @@ index 5b059fc..1a32a7d 100644 imx6dl-gw5913.dtb \ imx6dl-hummingboard.dtb \ imx6dl-hummingboard-emmc-som-v15.dtb \ -@@ -498,6 +499,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ +@@ -494,6 +495,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6q-gw5904.dtb \ imx6q-gw5907.dtb \ imx6q-gw5910.dtb \ @@ -55,9 +53,6 @@ index 5b059fc..1a32a7d 100644 imx6q-gw5913.dtb \ imx6q-h100.dtb \ imx6q-hummingboard.dtb \ -diff --git a/arch/arm/boot/dts/imx6dl-gw5912.dts b/arch/arm/boot/dts/imx6dl-gw5912.dts -new file mode 100644 -index 00000000..5260e01 --- /dev/null +++ b/arch/arm/boot/dts/imx6dl-gw5912.dts @@ -0,0 +1,13 @@ @@ -74,9 +69,6 @@ index 00000000..5260e01 + model = "Gateworks Ventana i.MX6 DualLite/Solo GW5912"; + compatible = "gw,imx6dl-gw5912", "gw,ventana", "fsl,imx6dl"; +}; -diff --git a/arch/arm/boot/dts/imx6q-gw5912.dts b/arch/arm/boot/dts/imx6q-gw5912.dts -new file mode 100644 -index 00000000..4dcbd94 --- /dev/null +++ b/arch/arm/boot/dts/imx6q-gw5912.dts @@ -0,0 +1,13 @@ @@ -93,9 +85,6 @@ index 00000000..4dcbd94 + model = "Gateworks Ventana i.MX6 Dual/Quad GW5912"; + compatible = "gw,imx6q-gw5912", "gw,ventana", "fsl,imx6q"; +}; -diff --git a/arch/arm/boot/dts/imx6qdl-gw5912.dtsi b/arch/arm/boot/dts/imx6qdl-gw5912.dtsi -new file mode 100644 -index 00000000..8c57fd2 --- /dev/null +++ b/arch/arm/boot/dts/imx6qdl-gw5912.dtsi @@ -0,0 +1,461 @@ @@ -560,6 +549,3 @@ index 00000000..8c57fd2 + >; + }; +}; --- -2.7.4 - diff --git a/target/linux/ipq806x/patches-5.4/701-stmmac-fix-notifier-registration.patch b/target/linux/ipq806x/patches-5.4/701-stmmac-fix-notifier-registration.patch deleted file mode 100644 index 2c25ad33e8..0000000000 --- a/target/linux/ipq806x/patches-5.4/701-stmmac-fix-notifier-registration.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 474a31e13a4e9749fb3ee55794d69d0f17ee0998 Mon Sep 17 00:00:00 2001 -From: Aaro Koskinen -Date: Wed, 26 Feb 2020 18:49:01 +0200 -Subject: net: stmmac: fix notifier registration - -We cannot register the same netdev notifier multiple times when probing -stmmac devices. Register the notifier only once in module init, and also -make debugfs creation/deletion safe against simultaneous notifier call. - -Fixes: 481a7d154cbb ("stmmac: debugfs entry name is not be changed when udev rename device name.") -Signed-off-by: Aaro Koskinen -Signed-off-by: David S. Miller ---- - drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 13 ++++++++----- - 1 file changed, 8 insertions(+), 5 deletions(-) - -(limited to 'drivers/net/ethernet/stmicro/stmmac') - ---- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -@@ -4208,6 +4208,8 @@ static void stmmac_init_fs(struct net_de - { - struct stmmac_priv *priv = netdev_priv(dev); - -+ rtnl_lock(); -+ - /* Create per netdev entries */ - priv->dbgfs_dir = debugfs_create_dir(dev->name, stmmac_fs_dir); - -@@ -4219,14 +4221,13 @@ static void stmmac_init_fs(struct net_de - debugfs_create_file("dma_cap", 0444, priv->dbgfs_dir, dev, - &stmmac_dma_cap_fops); - -- register_netdevice_notifier(&stmmac_notifier); -+ rtnl_unlock(); - } - - static void stmmac_exit_fs(struct net_device *dev) - { - struct stmmac_priv *priv = netdev_priv(dev); - -- unregister_netdevice_notifier(&stmmac_notifier); - debugfs_remove_recursive(priv->dbgfs_dir); - } - #endif /* CONFIG_DEBUG_FS */ -@@ -4728,14 +4729,14 @@ int stmmac_dvr_remove(struct device *dev - - netdev_info(priv->dev, "%s: removing driver", __func__); - --#ifdef CONFIG_DEBUG_FS -- stmmac_exit_fs(ndev); --#endif - stmmac_stop_all_dma(priv); - - stmmac_mac_set(priv, priv->ioaddr, false); - netif_carrier_off(ndev); - unregister_netdev(ndev); -+#ifdef CONFIG_DEBUG_FS -+ stmmac_exit_fs(ndev); -+#endif - phylink_destroy(priv->phylink); - if (priv->plat->stmmac_rst) - reset_control_assert(priv->plat->stmmac_rst); -@@ -4955,6 +4956,7 @@ static int __init stmmac_init(void) - /* Create debugfs main directory if it doesn't exist yet */ - if (!stmmac_fs_dir) - stmmac_fs_dir = debugfs_create_dir(STMMAC_RESOURCE_NAME, NULL); -+ register_netdevice_notifier(&stmmac_notifier); - #endif - - return 0; -@@ -4963,6 +4965,7 @@ static int __init stmmac_init(void) - static void __exit stmmac_exit(void) - { - #ifdef CONFIG_DEBUG_FS -+ unregister_netdevice_notifier(&stmmac_notifier); - debugfs_remove_recursive(stmmac_fs_dir); - #endif - } diff --git a/target/linux/lantiq/patches-5.4/002-pinctrl-falcon-fix-syntax-error.patch b/target/linux/lantiq/patches-5.4/002-pinctrl-falcon-fix-syntax-error.patch deleted file mode 100644 index 40a833be54..0000000000 --- a/target/linux/lantiq/patches-5.4/002-pinctrl-falcon-fix-syntax-error.patch +++ /dev/null @@ -1,25 +0,0 @@ -From d2fee0bb982195540e4fbe009996fcdbc26d163c Mon Sep 17 00:00:00 2001 -From: Mathias Kresin -Date: Thu, 5 Mar 2020 08:17:27 +0100 -Subject: [PATCH] pinctrl: falcon: fix syntax error - -Add the missing semicolon after of_node_put to get the file compiled. - -Fixes: f17d2f54d36d ("pinctrl: falcon: Add of_node_put() before return") -Cc: stable@vger.kernel.org # v5.4+ -Signed-off-by: Mathias Kresin ---- - drivers/pinctrl/pinctrl-falcon.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/pinctrl/pinctrl-falcon.c -+++ b/drivers/pinctrl/pinctrl-falcon.c -@@ -451,7 +451,7 @@ static int pinctrl_falcon_probe(struct p - falcon_info.clk[*bank] = clk_get(&ppdev->dev, NULL); - if (IS_ERR(falcon_info.clk[*bank])) { - dev_err(&ppdev->dev, "failed to get clock\n"); -- of_node_put(np) -+ of_node_put(np); - return PTR_ERR(falcon_info.clk[*bank]); - } - falcon_info.membase[*bank] = devm_ioremap_resource(&pdev->dev, diff --git a/target/linux/mxs/patches-5.4/100-ARM-dts-imx23-introduce-mmc0_sck_cfg.patch b/target/linux/mxs/patches-5.4/100-ARM-dts-imx23-introduce-mmc0_sck_cfg.patch index 029fe6a8af..88e3c725aa 100644 --- a/target/linux/mxs/patches-5.4/100-ARM-dts-imx23-introduce-mmc0_sck_cfg.patch +++ b/target/linux/mxs/patches-5.4/100-ARM-dts-imx23-introduce-mmc0_sck_cfg.patch @@ -24,8 +24,6 @@ Signed-off-by: Shawn Guo arch/arm/boot/dts/imx23.dtsi | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) -diff --git a/arch/arm/boot/dts/imx23-olinuxino.dts b/arch/arm/boot/dts/imx23-olinuxino.dts -index 4c9aafe00b5d..0729e72f2283 100644 --- a/arch/arm/boot/dts/imx23-olinuxino.dts +++ b/arch/arm/boot/dts/imx23-olinuxino.dts @@ -23,7 +23,7 @@ @@ -37,8 +35,6 @@ index 4c9aafe00b5d..0729e72f2283 100644 bus-width = <4>; broken-cd; status = "okay"; -diff --git a/arch/arm/boot/dts/imx23.dtsi b/arch/arm/boot/dts/imx23.dtsi -index eb0aeda1682c..c5edff381213 100644 --- a/arch/arm/boot/dts/imx23.dtsi +++ b/arch/arm/boot/dts/imx23.dtsi @@ -267,6 +267,14 @@ @@ -56,6 +52,3 @@ index eb0aeda1682c..c5edff381213 100644 mmc1_4bit_pins_a: mmc1-4bit@0 { reg = <0>; fsl,pinmux-ids = < --- -2.17.1 - diff --git a/target/linux/octeontx/patches-5.4/0001-net-thunderx-use-proper-interface-type-for-RGMII.patch b/target/linux/octeontx/patches-5.4/0001-net-thunderx-use-proper-interface-type-for-RGMII.patch index 0369e6ff67..6f144b6db8 100644 --- a/target/linux/octeontx/patches-5.4/0001-net-thunderx-use-proper-interface-type-for-RGMII.patch +++ b/target/linux/octeontx/patches-5.4/0001-net-thunderx-use-proper-interface-type-for-RGMII.patch @@ -29,11 +29,9 @@ Signed-off-by: David S. Miller drivers/net/ethernet/cavium/thunder/thunder_bgx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c -index 8ae28f8..5f2db9c 100644 --- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c +++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c -@@ -1042,7 +1042,7 @@ static int phy_interface_mode(u8 lmac_type) +@@ -1048,7 +1048,7 @@ static int phy_interface_mode(u8 lmac_ty if (lmac_type == BGX_MODE_QSGMII) return PHY_INTERFACE_MODE_QSGMII; if (lmac_type == BGX_MODE_RGMII) @@ -42,6 +40,3 @@ index 8ae28f8..5f2db9c 100644 return PHY_INTERFACE_MODE_SGMII; } --- -2.7.4 - diff --git a/target/linux/octeontx/patches-5.4/0002-net-thunderx-workaround-BGX-TX-Underflow-issue.patch b/target/linux/octeontx/patches-5.4/0002-net-thunderx-workaround-BGX-TX-Underflow-issue.patch deleted file mode 100644 index 597dd9da74..0000000000 --- a/target/linux/octeontx/patches-5.4/0002-net-thunderx-workaround-BGX-TX-Underflow-issue.patch +++ /dev/null @@ -1,150 +0,0 @@ -From 585ddca487c827178cf697f8bc2e87346061d155 Mon Sep 17 00:00:00 2001 -From: Tim Harvey -Date: Wed, 19 Feb 2020 15:19:36 -0800 -Subject: [PATCH 02/12] net: thunderx: workaround BGX TX Underflow issue - -While it is not yet understood why a TX underflow can easily occur -for SGMII interfaces resulting in a TX wedge. It has been found that -disabling/re-enabling the LMAC resolves the issue. - -Signed-off-by: Tim Harvey -Reviewed-by: Robert Jones -Signed-off-by: David S. Miller ---- - drivers/net/ethernet/cavium/thunder/thunder_bgx.c | 62 +++++++++++++++++++++-- - drivers/net/ethernet/cavium/thunder/thunder_bgx.h | 9 ++++ - 2 files changed, 68 insertions(+), 3 deletions(-) - -diff --git a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c -index 5f2db9c..ade414a 100644 ---- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c -+++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c -@@ -413,10 +413,19 @@ void bgx_lmac_rx_tx_enable(int node, int bgx_idx, int lmacid, bool enable) - lmac = &bgx->lmac[lmacid]; - - cfg = bgx_reg_read(bgx, lmacid, BGX_CMRX_CFG); -- if (enable) -+ if (enable) { - cfg |= CMR_PKT_RX_EN | CMR_PKT_TX_EN; -- else -+ -+ /* enable TX FIFO Underflow interrupt */ -+ bgx_reg_modify(bgx, lmacid, BGX_GMP_GMI_TXX_INT_ENA_W1S, -+ GMI_TXX_INT_UNDFLW); -+ } else { - cfg &= ~(CMR_PKT_RX_EN | CMR_PKT_TX_EN); -+ -+ /* Disable TX FIFO Underflow interrupt */ -+ bgx_reg_modify(bgx, lmacid, BGX_GMP_GMI_TXX_INT_ENA_W1C, -+ GMI_TXX_INT_UNDFLW); -+ } - bgx_reg_write(bgx, lmacid, BGX_CMRX_CFG, cfg); - - if (bgx->is_rgx) -@@ -1544,6 +1553,48 @@ static int bgx_init_phy(struct bgx *bgx) - return bgx_init_of_phy(bgx); - } - -+static irqreturn_t bgx_intr_handler(int irq, void *data) -+{ -+ struct bgx *bgx = (struct bgx *)data; -+ u64 status, val; -+ int lmac; -+ -+ for (lmac = 0; lmac < bgx->lmac_count; lmac++) { -+ status = bgx_reg_read(bgx, lmac, BGX_GMP_GMI_TXX_INT); -+ if (status & GMI_TXX_INT_UNDFLW) { -+ pci_err(bgx->pdev, "BGX%d lmac%d UNDFLW\n", -+ bgx->bgx_id, lmac); -+ val = bgx_reg_read(bgx, lmac, BGX_CMRX_CFG); -+ val &= ~CMR_EN; -+ bgx_reg_write(bgx, lmac, BGX_CMRX_CFG, val); -+ val |= CMR_EN; -+ bgx_reg_write(bgx, lmac, BGX_CMRX_CFG, val); -+ } -+ /* clear interrupts */ -+ bgx_reg_write(bgx, lmac, BGX_GMP_GMI_TXX_INT, status); -+ } -+ -+ return IRQ_HANDLED; -+} -+ -+static void bgx_register_intr(struct pci_dev *pdev) -+{ -+ struct bgx *bgx = pci_get_drvdata(pdev); -+ int ret; -+ -+ ret = pci_alloc_irq_vectors(pdev, BGX_LMAC_VEC_OFFSET, -+ BGX_LMAC_VEC_OFFSET, PCI_IRQ_ALL_TYPES); -+ if (ret < 0) { -+ pci_err(pdev, "Req for #%d msix vectors failed\n", -+ BGX_LMAC_VEC_OFFSET); -+ return; -+ } -+ ret = pci_request_irq(pdev, GMPX_GMI_TX_INT, bgx_intr_handler, NULL, -+ bgx, "BGX%d", bgx->bgx_id); -+ if (ret) -+ pci_free_irq(pdev, GMPX_GMI_TX_INT, bgx); -+} -+ - static int bgx_probe(struct pci_dev *pdev, const struct pci_device_id *ent) - { - int err; -@@ -1559,7 +1610,7 @@ static int bgx_probe(struct pci_dev *pdev, const struct pci_device_id *ent) - - pci_set_drvdata(pdev, bgx); - -- err = pci_enable_device(pdev); -+ err = pcim_enable_device(pdev); - if (err) { - dev_err(dev, "Failed to enable PCI device\n"); - pci_set_drvdata(pdev, NULL); -@@ -1613,6 +1664,8 @@ static int bgx_probe(struct pci_dev *pdev, const struct pci_device_id *ent) - - bgx_init_hw(bgx); - -+ bgx_register_intr(pdev); -+ - /* Enable all LMACs */ - for (lmac = 0; lmac < bgx->lmac_count; lmac++) { - err = bgx_lmac_enable(bgx, lmac); -@@ -1629,6 +1682,7 @@ static int bgx_probe(struct pci_dev *pdev, const struct pci_device_id *ent) - - err_enable: - bgx_vnic[bgx->bgx_id] = NULL; -+ pci_free_irq(pdev, GMPX_GMI_TX_INT, bgx); - err_release_regions: - pci_release_regions(pdev); - err_disable_device: -@@ -1646,6 +1700,8 @@ static void bgx_remove(struct pci_dev *pdev) - for (lmac = 0; lmac < bgx->lmac_count; lmac++) - bgx_lmac_disable(bgx, lmac); - -+ pci_free_irq(pdev, GMPX_GMI_TX_INT, bgx); -+ - bgx_vnic[bgx->bgx_id] = NULL; - pci_release_regions(pdev); - pci_disable_device(pdev); -diff --git a/drivers/net/ethernet/cavium/thunder/thunder_bgx.h b/drivers/net/ethernet/cavium/thunder/thunder_bgx.h -index cbdd20b..ac0c89c 100644 ---- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.h -+++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.h -@@ -183,6 +183,15 @@ - #define BGX_GMP_GMI_TXX_BURST 0x38228 - #define BGX_GMP_GMI_TXX_MIN_PKT 0x38240 - #define BGX_GMP_GMI_TXX_SGMII_CTL 0x38300 -+#define BGX_GMP_GMI_TXX_INT 0x38500 -+#define BGX_GMP_GMI_TXX_INT_W1S 0x38508 -+#define BGX_GMP_GMI_TXX_INT_ENA_W1C 0x38510 -+#define BGX_GMP_GMI_TXX_INT_ENA_W1S 0x38518 -+#define GMI_TXX_INT_PTP_LOST BIT_ULL(4) -+#define GMI_TXX_INT_LATE_COL BIT_ULL(3) -+#define GMI_TXX_INT_XSDEF BIT_ULL(2) -+#define GMI_TXX_INT_XSCOL BIT_ULL(1) -+#define GMI_TXX_INT_UNDFLW BIT_ULL(0) - - #define BGX_MSIX_VEC_0_29_ADDR 0x400000 /* +(0..29) << 4 */ - #define BGX_MSIX_VEC_0_29_CTL 0x400008 --- -2.7.4 - diff --git a/target/linux/octeontx/patches-5.4/0003-can-mcp251x-convert-to-half-duplex-SPI.patch b/target/linux/octeontx/patches-5.4/0003-can-mcp251x-convert-to-half-duplex-SPI.patch index aabf1b9b1e..6096fcf2be 100644 --- a/target/linux/octeontx/patches-5.4/0003-can-mcp251x-convert-to-half-duplex-SPI.patch +++ b/target/linux/octeontx/patches-5.4/0003-can-mcp251x-convert-to-half-duplex-SPI.patch @@ -12,11 +12,9 @@ Signed-off-by: Tim Harvey drivers/net/can/spi/mcp251x.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) -diff --git a/drivers/net/can/spi/mcp251x.c b/drivers/net/can/spi/mcp251x.c -index 0b0dd3f0..c655b29 100644 --- a/drivers/net/can/spi/mcp251x.c +++ b/drivers/net/can/spi/mcp251x.c -@@ -345,8 +345,7 @@ static u8 mcp251x_read_reg(struct spi_device *spi, uint8_t reg) +@@ -291,23 +291,23 @@ static u8 mcp251x_read_reg(struct spi_de priv->spi_tx_buf[0] = INSTRUCTION_READ; priv->spi_tx_buf[1] = reg; @@ -26,9 +24,8 @@ index 0b0dd3f0..c655b29 100644 return val; } -@@ -354,15 +353,16 @@ static u8 mcp251x_read_reg(struct spi_device *spi, uint8_t reg) - static void mcp251x_read_2regs(struct spi_device *spi, uint8_t reg, - uint8_t *v1, uint8_t *v2) + + static void mcp251x_read_2regs(struct spi_device *spi, u8 reg, u8 *v1, u8 *v2) { + u8 val[4] = {0}; struct mcp251x_priv *priv = spi_get_drvdata(spi); @@ -45,7 +42,4 @@ index 0b0dd3f0..c655b29 100644 + *v2 = val[1]; } - static void mcp251x_write_reg(struct spi_device *spi, u8 reg, uint8_t val) --- -2.7.4 - + static void mcp251x_write_reg(struct spi_device *spi, u8 reg, u8 val) diff --git a/target/linux/octeontx/patches-5.4/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch b/target/linux/octeontx/patches-5.4/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch index f7bc97c035..70990a102a 100644 --- a/target/linux/octeontx/patches-5.4/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch +++ b/target/linux/octeontx/patches-5.4/0004-PCI-add-quirk-for-Gateworks-PLX-PEX860x-switch-with-.patch @@ -12,11 +12,9 @@ Signed-off-by: Tim Harvey drivers/pci/quirks.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) -diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c -index 419dda6..40e2ddb 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c -@@ -26,6 +26,7 @@ +@@ -25,6 +25,7 @@ #include #include #include @@ -24,7 +22,7 @@ index 419dda6..40e2ddb 100644 #include #include #include -@@ -5216,3 +5217,34 @@ static void quirk_reset_lenovo_thinkpad_p50_nvgpu(struct pci_dev *pdev) +@@ -5431,3 +5432,34 @@ out_disable: DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_VENDOR_ID_NVIDIA, 0x13b1, PCI_CLASS_DISPLAY_VGA, 8, quirk_reset_lenovo_thinkpad_p50_nvgpu); @@ -59,6 +57,3 @@ index 419dda6..40e2ddb 100644 +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PLX, 0x8606, newport_pciesw_early_fixup); +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_PLX, 0x8604, newport_pciesw_early_fixup); +#endif /* CONFIG_PCI_HOST_THUNDER_PEM */ --- -2.7.4 - diff --git a/target/linux/oxnas/patches-5.4/002-irqchip-versatile-fpga-Apply-clear-mask-earlier.patch b/target/linux/oxnas/patches-5.4/002-irqchip-versatile-fpga-Apply-clear-mask-earlier.patch index eef2c4624f..7a82b5a7cc 100644 --- a/target/linux/oxnas/patches-5.4/002-irqchip-versatile-fpga-Apply-clear-mask-earlier.patch +++ b/target/linux/oxnas/patches-5.4/002-irqchip-versatile-fpga-Apply-clear-mask-earlier.patch @@ -32,11 +32,9 @@ Cc: Daniel Golle drivers/irqchip/irq-versatile-fpga.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -diff --git a/drivers/irqchip/irq-versatile-fpga.c b/drivers/irqchip/irq-versatile-fpga.c -index 70e2cfff8175..f1386733d3bc 100644 --- a/drivers/irqchip/irq-versatile-fpga.c +++ b/drivers/irqchip/irq-versatile-fpga.c -@@ -212,6 +212,9 @@ int __init fpga_irq_of_init(struct device_node *node, +@@ -212,6 +212,9 @@ int __init fpga_irq_of_init(struct devic if (of_property_read_u32(node, "valid-mask", &valid_mask)) valid_mask = 0; @@ -46,7 +44,7 @@ index 70e2cfff8175..f1386733d3bc 100644 /* Some chips are cascaded from a parent IRQ */ parent_irq = irq_of_parse_and_map(node, 0); if (!parent_irq) { -@@ -221,9 +224,6 @@ int __init fpga_irq_of_init(struct device_node *node, +@@ -221,9 +224,6 @@ int __init fpga_irq_of_init(struct devic fpga_irq_init(base, node->name, 0, parent_irq, valid_mask, node); diff --git a/target/linux/sunxi/patches-5.4/410-v5.6-arm64-dts-allwinner-a64-olinuxino-Add-bank-supply-re.patch b/target/linux/sunxi/patches-5.4/410-v5.6-arm64-dts-allwinner-a64-olinuxino-Add-bank-supply-re.patch index f844301a8a..67f7a1536e 100644 --- a/target/linux/sunxi/patches-5.4/410-v5.6-arm64-dts-allwinner-a64-olinuxino-Add-bank-supply-re.patch +++ b/target/linux/sunxi/patches-5.4/410-v5.6-arm64-dts-allwinner-a64-olinuxino-Add-bank-supply-re.patch @@ -20,8 +20,6 @@ Signed-off-by: Maxime Ripard .../boot/dts/allwinner/sun50i-a64-olinuxino.dts | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts -index 96ab0227e82d..a1629688e694 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino-emmc.dts @@ -21,3 +21,7 @@ @@ -32,8 +30,6 @@ index 96ab0227e82d..a1629688e694 100644 +&pio { + vcc-pc-supply = <®_eldo1>; +}; -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts -index 01a9a52edae4..3e026a95a58a 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts @@ -163,6 +163,23 @@ diff --git a/target/linux/sunxi/patches-5.4/420-v5.7-arm64-dts-allwinner-a64-olinuxino-add-user-red-LED.patch b/target/linux/sunxi/patches-5.4/420-v5.7-arm64-dts-allwinner-a64-olinuxino-add-user-red-LED.patch index 40b59c4c50..f369cb4f7c 100644 --- a/target/linux/sunxi/patches-5.4/420-v5.7-arm64-dts-allwinner-a64-olinuxino-add-user-red-LED.patch +++ b/target/linux/sunxi/patches-5.4/420-v5.7-arm64-dts-allwinner-a64-olinuxino-add-user-red-LED.patch @@ -12,11 +12,9 @@ description. Signed-off-by: Petr Štetiar -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts -index 6dfafa1c879b..b9f90e19c035 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts -@@ -32,6 +32,15 @@ +@@ -70,6 +70,15 @@ }; }; diff --git a/target/linux/sunxi/patches-5.4/430-arm64-dts-allwinner-a64-olinuxino-add-status-LED-ali.patch b/target/linux/sunxi/patches-5.4/430-arm64-dts-allwinner-a64-olinuxino-add-status-LED-ali.patch index 69fe5d43ea..fa02f48132 100644 --- a/target/linux/sunxi/patches-5.4/430-arm64-dts-allwinner-a64-olinuxino-add-status-LED-ali.patch +++ b/target/linux/sunxi/patches-5.4/430-arm64-dts-allwinner-a64-olinuxino-add-status-LED-ali.patch @@ -8,11 +8,9 @@ Content-Transfer-Encoding: 8bit Signed-off-by: Petr Štetiar -diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts -index b9f90e19c035..5b42bb251fbf 100644 --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-olinuxino.dts -@@ -15,6 +15,10 @@ +@@ -53,6 +53,10 @@ aliases { ethernet0 = &emac; serial0 = &uart0; @@ -23,7 +21,7 @@ index b9f90e19c035..5b42bb251fbf 100644 }; chosen { -@@ -35,7 +39,7 @@ +@@ -73,7 +77,7 @@ leds { compatible = "gpio-leds"; From 247043c968d22c193055a97a9cdf5baef4aaf96d Mon Sep 17 00:00:00 2001 From: Baptiste Jonglez Date: Thu, 26 Mar 2020 19:03:42 +0100 Subject: [PATCH 20/29] ar71xx: Fix gigabit switch support for Mikrotik RB951G-2HnD Without this patch, when using rev 3 of the Atheros AR9344 SoC, the gigabit switch (AR8327) does not work or works very erratically. This is a re-spin of http://patchwork.ozlabs.org/patch/419857/ with a different PLL value, according to the feedback from several users (including myself) as shown here: https://openwrt.org/toh/mikrotik/rb2011uias#tracking_reported_experience_with_suggested_patch_for_the_5_gige_ports Performance is acceptable: testing L3 forwarding without NAT yields a performance of 370 Mbit/s (iperf3 TCP) and 41 Kpps (iperf3 UDP with 64 bytes payload). Both tests show that 100% of CPU time is spent on softirq. A similar fix for a different device (RB2011) was added in e457d22261 ("Make GBit switch work on RB2011"). Signed-off-by: Baptiste Jonglez --- target/linux/ar71xx/files/arch/mips/ath79/mach-rb95x.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb95x.c b/target/linux/ar71xx/files/arch/mips/ath79/mach-rb95x.c index 33c4f53133..c4cf5f12a8 100644 --- a/target/linux/ar71xx/files/arch/mips/ath79/mach-rb95x.c +++ b/target/linux/ar71xx/files/arch/mips/ath79/mach-rb95x.c @@ -266,6 +266,7 @@ static void __init rb951g_setup(void) return; ath79_setup_ar934x_eth_cfg(AR934X_ETH_CFG_RGMII_GMAC0 | + AR934X_ETH_CFG_RXD_DELAY | AR934X_ETH_CFG_SW_ONLY_MODE); ath79_register_mdio(0, 0x0); @@ -276,6 +277,7 @@ static void __init rb951g_setup(void) ath79_init_mac(ath79_eth0_data.mac_addr, ath79_mac_base, 0); ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII; ath79_eth0_data.phy_mask = BIT(0); + ath79_eth0_pll_data.pll_1000 = 0x6f000000; ath79_register_eth(0); From 2e8a4db9b6b942e3180afda0dc0fd8ac506527f1 Mon Sep 17 00:00:00 2001 From: Eneas U de Queiroz Date: Thu, 26 Mar 2020 23:20:08 -0300 Subject: [PATCH 21/29] openssl: revert EOF detection change in 1.1.1 This adds patches to avoid possible application breakage caused by a change in behavior introduced in 1.1.1e. It affects at least nginx, which logs error messages such as: nginx[16652]: [crit] 16675#0: *358 SSL_read() failed (SSL: error: 4095126:SSL routines:ssl3_read_n:unexpected eof while reading) while keepalive, client: xxxx, server: [::]:443 Openssl commits db943f4 (Detect EOF while reading in libssl), and 22623e0 (Teach more BIOs how to handle BIO_CTRL_EOF) changed the behavior when encountering an EOF in SSL_read(). Previous behavior was to return SSL_ERROR_SYSCALL, but errno would still be 0. The commits being reverted changed it to SSL_ERRO_SSL, and add an error to the stack, which is correct. Unfortunately this affects a number of applications that counted on the old behavior, including nginx. The reversion was discussed in openssl/openssl#11378, and implemented as PR openssl/openssl#11400. Signed-off-by: Eneas U de Queiroz --- package/libs/openssl/Makefile | 2 +- ...t-Detect-EOF-while-reading-in-libssl.patch | 80 +++++++++++++++++++ 2 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 package/libs/openssl/patches/200-Partially-revert-Detect-EOF-while-reading-in-libssl.patch diff --git a/package/libs/openssl/Makefile b/package/libs/openssl/Makefile index 353ae453f5..ca45549800 100644 --- a/package/libs/openssl/Makefile +++ b/package/libs/openssl/Makefile @@ -11,7 +11,7 @@ PKG_NAME:=openssl PKG_BASE:=1.1.1 PKG_BUGFIX:=e PKG_VERSION:=$(PKG_BASE)$(PKG_BUGFIX) -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_USE_MIPS16:=0 ENGINES_DIR=engines-1.1 diff --git a/package/libs/openssl/patches/200-Partially-revert-Detect-EOF-while-reading-in-libssl.patch b/package/libs/openssl/patches/200-Partially-revert-Detect-EOF-while-reading-in-libssl.patch new file mode 100644 index 0000000000..c269dff07c --- /dev/null +++ b/package/libs/openssl/patches/200-Partially-revert-Detect-EOF-while-reading-in-libssl.patch @@ -0,0 +1,80 @@ +From 30d190caf311d534867df97e26b552e628cb7d85 Mon Sep 17 00:00:00 2001 +From: Tomas Mraz +Date: Wed, 25 Mar 2020 14:15:31 +0100 +Subject: [PATCH] Partially revert "Detect EOF while reading in libssl" + +This partially reverts commit db943f43a60d1b5b1277e4b5317e8f288e7a0a3a. + +Reviewed-by: Matt Caswell +(Merged from https://github.com/openssl/openssl/pull/11400) + +diff --git a/crypto/err/openssl.txt b/crypto/err/openssl.txt +index f5324c6819..35512f9caf 100644 +--- a/crypto/err/openssl.txt ++++ b/crypto/err/openssl.txt +@@ -2852,7 +2852,6 @@ SSL_R_UNABLE_TO_LOAD_SSL3_MD5_ROUTINES:242:unable to load ssl3 md5 routines + SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES:243:unable to load ssl3 sha1 routines + SSL_R_UNEXPECTED_CCS_MESSAGE:262:unexpected ccs message + SSL_R_UNEXPECTED_END_OF_EARLY_DATA:178:unexpected end of early data +-SSL_R_UNEXPECTED_EOF_WHILE_READING:294:unexpected eof while reading + SSL_R_UNEXPECTED_MESSAGE:244:unexpected message + SSL_R_UNEXPECTED_RECORD:245:unexpected record + SSL_R_UNINITIALIZED:276:uninitialized +diff --git a/include/openssl/sslerr.h b/include/openssl/sslerr.h +index 0ef684f3c1..ba4c4ae5fb 100644 +--- a/include/openssl/sslerr.h ++++ b/include/openssl/sslerr.h +@@ -1,6 +1,6 @@ + /* + * Generated by util/mkerr.pl DO NOT EDIT +- * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. ++ * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy +@@ -734,7 +734,6 @@ int ERR_load_SSL_strings(void); + # define SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES 243 + # define SSL_R_UNEXPECTED_CCS_MESSAGE 262 + # define SSL_R_UNEXPECTED_END_OF_EARLY_DATA 178 +-# define SSL_R_UNEXPECTED_EOF_WHILE_READING 294 + # define SSL_R_UNEXPECTED_MESSAGE 244 + # define SSL_R_UNEXPECTED_RECORD 245 + # define SSL_R_UNINITIALIZED 276 +diff --git a/ssl/record/rec_layer_s3.c b/ssl/record/rec_layer_s3.c +index 1c885a664f..b2a7a47eb0 100644 +--- a/ssl/record/rec_layer_s3.c ++++ b/ssl/record/rec_layer_s3.c +@@ -296,12 +296,6 @@ int ssl3_read_n(SSL *s, size_t n, size_t max, int extend, int clearold, + ret = BIO_read(s->rbio, pkt + len + left, max - left); + if (ret >= 0) + bioread = ret; +- if (ret <= 0 +- && !BIO_should_retry(s->rbio) +- && BIO_eof(s->rbio)) { +- SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_F_SSL3_READ_N, +- SSL_R_UNEXPECTED_EOF_WHILE_READING); +- } + } else { + SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_F_SSL3_READ_N, + SSL_R_READ_BIO_NOT_SET); +diff --git a/ssl/ssl_err.c b/ssl/ssl_err.c +index a0c7b79659..4b12ed1485 100644 +--- a/ssl/ssl_err.c ++++ b/ssl/ssl_err.c +@@ -1,6 +1,6 @@ + /* + * Generated by util/mkerr.pl DO NOT EDIT +- * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved. ++ * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy +@@ -1205,8 +1205,6 @@ static const ERR_STRING_DATA SSL_str_reasons[] = { + "unexpected ccs message"}, + {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNEXPECTED_END_OF_EARLY_DATA), + "unexpected end of early data"}, +- {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNEXPECTED_EOF_WHILE_READING), +- "unexpected eof while reading"}, + {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNEXPECTED_MESSAGE), "unexpected message"}, + {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNEXPECTED_RECORD), "unexpected record"}, + {ERR_PACK(ERR_LIB_SSL, 0, SSL_R_UNINITIALIZED), "uninitialized"}, From 922dfe0fa0d999f2861f7b5fd1cf34d4a3f59454 Mon Sep 17 00:00:00 2001 From: Nick Bowler Date: Tue, 24 Mar 2020 22:00:28 -0400 Subject: [PATCH 22/29] kernel: package f71882fg hwmon driver This driver enables hardware monitoring support using the sensors found in many Fintek Super-IO chips. Signed-off-by: Nick Bowler --- package/kernel/linux/modules/hwmon.mk | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/package/kernel/linux/modules/hwmon.mk b/package/kernel/linux/modules/hwmon.mk index 1f4e4558a9..2552a32a56 100644 --- a/package/kernel/linux/modules/hwmon.mk +++ b/package/kernel/linux/modules/hwmon.mk @@ -107,6 +107,21 @@ endef $(eval $(call KernelPackage,hwmon-gpiofan)) +define KernelPackage/hwmon-f71882fg + TITLE:=F71882FG compatible monitoring support + KCONFIG:=CONFIG_SENSORS_F71882FG + FILES:=$(LINUX_DIR)/drivers/hwmon/f71882fg.ko + AUTOLOAD:=$(call AutoProbe,f71882fg) + $(call AddDepends/hwmon,@TARGET_x86) +endef + +define KernelPackage/hwmon-f71882fg/description + Kernel module for hardware monitoring via many Fintek Super-IO chips. +endef + +$(eval $(call KernelPackage,hwmon-f71882fg)) + + define KernelPackage/hwmon-ina209 TITLE:=INA209 monitoring support KCONFIG:=CONFIG_SENSORS_INA209 From 3ad0cf7d9303bd941b04ec9329604a1408767816 Mon Sep 17 00:00:00 2001 From: Nick Bowler Date: Tue, 24 Mar 2020 22:00:29 -0400 Subject: [PATCH 23/29] kernel: package f71808e-wdt driver This driver enables support for the watchdog timers found in many Fintek Super-IO chips. Signed-off-by: Nick Bowler --- package/kernel/linux/modules/other.mk | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/package/kernel/linux/modules/other.mk b/package/kernel/linux/modules/other.mk index f1a70bf069..1f13cb7aa7 100644 --- a/package/kernel/linux/modules/other.mk +++ b/package/kernel/linux/modules/other.mk @@ -1228,3 +1228,19 @@ define KernelPackage/it87-wdt/description endef $(eval $(call KernelPackage,it87-wdt)) + + +define KernelPackage/f71808e-wdt + SUBMENU:=$(OTHER_MENU) + TITLE:=Fintek F718xx/F818xx Watchdog Timer + DEPENDS:=@TARGET_x86 + KCONFIG:=CONFIG_F71808E_WDT + FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/f71808e_wdt.ko + AUTOLOAD:=$(call AutoProbe,f71808e-wdt,1) +endef + +define KernelPackage/f71808e-wdt/description + Kernel module for the watchdog timer found on many Fintek Super-IO chips. +endef + +$(eval $(call KernelPackage,f71808e-wdt)) From 2785d003d3bce8d1039a3169564a231e06ddef9c Mon Sep 17 00:00:00 2001 From: Nick Bowler Date: Tue, 24 Mar 2020 22:00:30 -0400 Subject: [PATCH 24/29] kernel: package gpio-f7188x driver This driver enables support for the GPIO capabilities found in many Fintek Super-IO chips. Signed-off-by: Nick Bowler --- package/kernel/linux/modules/other.mk | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/package/kernel/linux/modules/other.mk b/package/kernel/linux/modules/other.mk index 1f13cb7aa7..43709228f9 100644 --- a/package/kernel/linux/modules/other.mk +++ b/package/kernel/linux/modules/other.mk @@ -214,6 +214,22 @@ endef $(eval $(call KernelPackage,gpio-dev)) +define KernelPackage/gpio-f7188x + SUBMENU:=$(OTHER_MENU) + TITLE:=Fintek F718xx/F818xx GPIO Support + DEPENDS:=@GPIO_SUPPORT @TARGET_x86 + KCONFIG:=CONFIG_GPIO_F7188X + FILES:=$(LINUX_DIR)/drivers/gpio/gpio-f7188x.ko + AUTOLOAD:=$(call AutoProbe,gpio-f7188x) +endef + +define KernelPackage/gpio-f7188x/description + Kernel module for the GPIOs found on many Fintek Super-IO chips. +endef + +$(eval $(call KernelPackage,gpio-f7188x)) + + define KernelPackage/gpio-mcp23s08 SUBMENU:=$(OTHER_MENU) TITLE:=Microchip MCP23xxx I/O expander From 6fcca31fc3c3ddaa5e085fdf643892d31f29ab93 Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Tue, 24 Mar 2020 21:06:57 -1000 Subject: [PATCH 25/29] x86: fix padding in images MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous rework of x86 image creation done in commit cb007a7bf619 ("x86: switch image generation to new code") broke the padding in images. sda: p2 size 212992 extends beyond EOD, enabling native capacity sda: p2 size 212992 extends beyond EOD, truncated sd 0:0:0:0: [sda] Attached SCSI disk SQUASHFS error: squashfs_read_data failed to read block 0x2cc556 unable to read id index table VFS: Cannot open root device "PARTUUID=ac5c9cd8-02" or unknown-block(8,2): error -5 Please append a correct "root=" boot option; here are the available partitions: 0800 19761 sda driver: sd 0801 16384 sda1 ac5c9cd8-01 0802 2865 sda2 ac5c9cd8-02 Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,2) Tested with x86/64 with Docker (squashfs), qemustart (ext4/squashfs) and virtualbox (ext4/squashfs). Ref: FS#2935 Fixes: cb007a7bf619 ("x86: switch image generation to new code") Suggested-by: Russell Senior Signed-off-by: Paul Spooren [commit subject and description tweaks] Signed-off-by: Petr Štetiar --- target/linux/x86/image/Makefile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile index c2961e5b9c..c29eef9c7a 100644 --- a/target/linux/x86/image/Makefile +++ b/target/linux/x86/image/Makefile @@ -47,7 +47,7 @@ BOOTOPTS:=$(call qstrip,$(CONFIG_GRUB_BOOTOPTS)) define Build/combined $(CP) $(KDIR)/$(KERNEL_NAME) $@.boot/boot/vmlinuz -$(CP) $(STAGING_DIR_ROOT)/boot/. $@.boot/boot/ - PADDING="$(CONFIG_TARGET_IMAGES_PAD)" SIGNATURE="$(IMG_PART_SIGNATURE)" $(SCRIPT_DIR)/gen_image_generic.sh \ + PADDING="1" SIGNATURE="$(IMG_PART_SIGNATURE)" $(SCRIPT_DIR)/gen_image_generic.sh \ $@ \ $(CONFIG_TARGET_KERNEL_PARTSIZE) $@.boot \ $(CONFIG_TARGET_ROOTFS_PARTSIZE) $(IMAGE_ROOTFS) \ @@ -95,10 +95,10 @@ endef DEVICE_VARS += GRUB2_VARIANT define Device/Default ARTIFACT/image.iso := grub-config iso | iso - IMAGE/combined.img := append-rootfs | pad-extra 128k | grub-config pc | combined | grub-install - IMAGE/combined.img.gz := append-rootfs | pad-extra 128k | grub-config pc | combined | grub-install | gzip - IMAGE/combined.vdi := append-rootfs | pad-extra 128k | grub-config pc | combined | grub-install | qemu-image vdi - IMAGE/combined.vmdk := append-rootfs | pad-extra 128k | grub-config pc | combined | grub-install | qemu-image vmdk + IMAGE/combined.img := grub-config pc | combined | grub-install + IMAGE/combined.img.gz := grub-config pc | combined | grub-install | gzip + IMAGE/combined.vdi := grub-config pc | combined | grub-install | qemu-image vdi + IMAGE/combined.vmdk := grub-config pc | combined | grub-install | qemu-image vmdk ifeq ($(CONFIG_TARGET_IMAGES_GZIP),y) IMAGES := combined.img.gz else From 258f070d1a4fe1808b654f58f50779fd0afafa1a Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Wed, 25 Mar 2020 09:25:10 -1000 Subject: [PATCH 26/29] x86: fix missing squashfs and ext4 rootfs images MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous rework of x86 image creation done in commit cb007a7bf619 ("x86: switch image generation to new code") removed images of separate squashfs and ext4 filesystems which are handy for example in testing under QEMU. So this patch adds back creation of those missing rootfs images for ext4 and squashfs based filesystems. Fixes: cb007a7bf619 ("x86: switch image generation to new code") Signed-off-by: Paul Spooren [commit subject and description tweaks] Signed-off-by: Petr Štetiar --- target/linux/x86/image/Makefile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile index c29eef9c7a..c0c5c8323a 100644 --- a/target/linux/x86/image/Makefile +++ b/target/linux/x86/image/Makefile @@ -99,10 +99,12 @@ define Device/Default IMAGE/combined.img.gz := grub-config pc | combined | grub-install | gzip IMAGE/combined.vdi := grub-config pc | combined | grub-install | qemu-image vdi IMAGE/combined.vmdk := grub-config pc | combined | grub-install | qemu-image vmdk + IMAGE/rootfs.img := append-rootfs + IMAGE/rootfs.img.gz := append-rootfs | gzip ifeq ($(CONFIG_TARGET_IMAGES_GZIP),y) - IMAGES := combined.img.gz + IMAGES := combined.img.gz rootfs.img.gz else - IMAGES := combined.img + IMAGES := combined.img rootfs.img endif KERNEL := kernel-bin KERNEL_INSTALL := 1 From 43d1d88510621801d66a0a7f46f4c4f44d89633a Mon Sep 17 00:00:00 2001 From: Tomasz Maciej Nowak Date: Wed, 18 Mar 2020 19:04:13 +0100 Subject: [PATCH 27/29] tegra: correct cpu subtype Tegra 2 processors have only 16 double-precision registers. The change introduced by 8dcc1087602e ("toolchain: ARM: Fix toolchain compilation for gcc 8.x") switched accidentally the toolchain for tegra target to cpu type with 32 double-precision registers. This stems from gcc defaults which assume "vfpv3-d32" if only "vfpv3" as mfpu is specified. That change resulted in unusable image, in which kernel will kill userspace as soon as it causing "Illegal instruction". Ref: https://forum.openwrt.org/t/gcc-was-broken-on-mvebu-armada-370-device-after-commit-on-2019-03-25/43272 Fixes: 8dcc1087602e ("toolchain: ARM: Fix toolchain compilation for gcc 8.x") Signed-off-by: Tomasz Maciej Nowak --- target/linux/tegra/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/tegra/Makefile b/target/linux/tegra/Makefile index 0b48fc16ba..5dd4d43984 100644 --- a/target/linux/tegra/Makefile +++ b/target/linux/tegra/Makefile @@ -11,7 +11,7 @@ BOARD := tegra BOARDNAME := NVIDIA Tegra FEATURES := audio boot-part display ext4 fpu gpio pci pcie rootfs-part rtc squashfs usb CPU_TYPE := cortex-a9 -CPU_SUBTYPE := vfpv3 +CPU_SUBTYPE := vfpv3-d16 KERNEL_PATCHVER := 5.4 KERNEL_TESTING_PATCHVER := 5.4 From 2d61f8821c7cf99354e904139226c132554ba180 Mon Sep 17 00:00:00 2001 From: Tomasz Maciej Nowak Date: Wed, 18 Mar 2020 19:04:12 +0100 Subject: [PATCH 28/29] mvebu: cortexa9: correct cpu subtype Armada 370 processors have only 16 double-precision registers. The change introduced by 8dcc1087602e ("toolchain: ARM: Fix toolchain compilation for gcc 8.x") switched accidentally the toolchain for mvebu cortexa9 subtarget to cpu type with 32 double-precision registers. This stems from gcc defaults which assume "vfpv3-d32" if only "vfpv3" as mfpu is specified. That change resulted in unusable image, in which kernel will kill userspace as soon as it causing "Illegal instruction". Ref: https://forum.openwrt.org/t/gcc-was-broken-on-mvebu-armada-370-device-after-commit-on-2019-03-25/43272 Fixes: 8dcc1087602e ("toolchain: ARM: Fix toolchain compilation for gcc 8.x") Signed-off-by: Tomasz Maciej Nowak --- target/linux/mvebu/cortexa9/target.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/mvebu/cortexa9/target.mk b/target/linux/mvebu/cortexa9/target.mk index 2a75599bc9..cdd4d86e49 100644 --- a/target/linux/mvebu/cortexa9/target.mk +++ b/target/linux/mvebu/cortexa9/target.mk @@ -10,5 +10,5 @@ include $(TOPDIR)/rules.mk ARCH:=arm BOARDNAME:=Marvell Armada 37x/38x/XP CPU_TYPE:=cortex-a9 -CPU_SUBTYPE:=vfpv3 +CPU_SUBTYPE:=vfpv3-d16 KERNELNAME:=zImage dtbs From 19760563f73d0c3b9ec5300684d4a97bdefd70b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20=C5=A0tetiar?= Date: Sat, 28 Mar 2020 15:01:47 +0100 Subject: [PATCH 29/29] mac80211: rtl8723bs: fix missing MMC dependency MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Building of ath79-tiny has uncovered following: Package kmod-rtl8723bs is missing dependencies for the following libraries: mmc_core.ko So add this missing dependency. Fixes: 8c26d67a67d0 ("mac80211: realtek: add staging driver for RTL8723BS SDIO module") Signed-off-by: Petr Štetiar --- package/kernel/mac80211/realtek.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/kernel/mac80211/realtek.mk b/package/kernel/mac80211/realtek.mk index cc96df7d8b..19b54e07d7 100644 --- a/package/kernel/mac80211/realtek.mk +++ b/package/kernel/mac80211/realtek.mk @@ -187,7 +187,7 @@ endef define KernelPackage/rtl8723bs $(call KernelPackage/mac80211/Default) TITLE:=Realtek RTL8723BS SDIO Wireless LAN NIC driver (staging) - DEPENDS+= +kmod-mac80211 + DEPENDS+=+kmod-mmc +kmod-mac80211 FILES:=$(PKG_BUILD_DIR)/drivers/staging/rtl8723bs/r8723bs.ko AUTOLOAD:=$(call AutoProbe,r8723bs) endef