From ba6a48366f4ae4b7b47a11f95141554c52a2a5db Mon Sep 17 00:00:00 2001 From: Florian Eckert Date: Fri, 25 Feb 2022 12:30:08 +0100 Subject: [PATCH 01/36] ipset: update to 7.15 Update to the latest upstream version. In this version there is a new tool with which you can convert ipsets into nftables sets. Since we are now using nftables as default firewall, this could be a useful tool for porting ipsets to nftables sets. Signed-off-by: Florian Eckert --- package/network/utils/ipset/Makefile | 5 +++-- .../patches/0001-lib-ipset-fix-printf-warning.patch | 11 +++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 package/network/utils/ipset/patches/0001-lib-ipset-fix-printf-warning.patch diff --git a/package/network/utils/ipset/Makefile b/package/network/utils/ipset/Makefile index bc4945e0f6..7b8d035198 100644 --- a/package/network/utils/ipset/Makefile +++ b/package/network/utils/ipset/Makefile @@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=ipset -PKG_VERSION:=7.6 +PKG_VERSION:=7.15 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=http://ipset.netfilter.org -PKG_HASH:=0e7d44caa9c153d96a9b5f12644fbe35a632537a5a7f653792b72e53d9d5c2db +PKG_HASH:=0a5545aaadb640142c1f888d366a78ddf8724799967fa20686a70053bd621751 PKG_MAINTAINER:=Jo-Philipp Wich PKG_LICENSE:=GPL-2.0 @@ -62,6 +62,7 @@ endef define Package/ipset/install $(INSTALL_DIR) $(1)/usr/sbin $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ipset $(1)/usr/sbin/ + $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ipset-translate $(1)/usr/sbin/ endef define Package/libipset/install diff --git a/package/network/utils/ipset/patches/0001-lib-ipset-fix-printf-warning.patch b/package/network/utils/ipset/patches/0001-lib-ipset-fix-printf-warning.patch new file mode 100644 index 0000000000..90dfacab8f --- /dev/null +++ b/package/network/utils/ipset/patches/0001-lib-ipset-fix-printf-warning.patch @@ -0,0 +1,11 @@ +--- a/lib/ipset.c ++++ b/lib/ipset.c +@@ -1847,7 +1847,7 @@ static int ipset_xlate(struct ipset *ips + return -1; + case IPSET_CMD_LIST: + if (!set) { +- printf("list sets %s\n", ++ printf("list sets %s %s\n", + ipset_xlate_family(family), table); + } else { + printf("list set %s %s %s\n", From 02e42f0650a64f29e8e21f7ba0a8ceb366463585 Mon Sep 17 00:00:00 2001 From: Catalin Toda Date: Mon, 28 Feb 2022 19:57:28 +0000 Subject: [PATCH 02/36] kernel: kmod-tcp-scalable: add scalable tcp congestion algorithm Signed-off-by: Catalin Toda --- package/kernel/linux/modules/netsupport.mk | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/package/kernel/linux/modules/netsupport.mk b/package/kernel/linux/modules/netsupport.mk index e37ab59575..92ff194a62 100644 --- a/package/kernel/linux/modules/netsupport.mk +++ b/package/kernel/linux/modules/netsupport.mk @@ -986,6 +986,24 @@ endef $(eval $(call KernelPackage,tcp-hybla)) +define KernelPackage/tcp-scalable + SUBMENU:=$(NETWORK_SUPPORT_MENU) + TITLE:=TCP-Scalable congestion control algorithm + KCONFIG:=CONFIG_TCP_CONG_SCALABLE + FILES:=$(LINUX_DIR)/net/ipv4/tcp_scalable.ko + AUTOLOAD:=$(call AutoProbe,tcp-scalable) +endef + +define KernelPackage/tcp-scalable/description + Scalable TCP is a sender-side only change to TCP which uses a + MIMD congestion control algorithm which has some nice scaling + properties, though is known to have fairness issues. + See http://www.deneholme.net/tom/scalable/ +endef + +$(eval $(call KernelPackage,tcp-scalable)) + + define KernelPackage/ax25 SUBMENU:=$(NETWORK_SUPPORT_MENU) TITLE:=AX25 support From a2d4b5711aa73d14ffbc4f90a7944473b80baecb Mon Sep 17 00:00:00 2001 From: John Audia Date: Wed, 16 Feb 2022 09:46:00 -0500 Subject: [PATCH 03/36] kernel: bump 5.10 to 5.10.101 Removed upstreamed: pending-5.10/841-USB-serial-option-add-ZTE-MF286D-modem.patch[1] bcm27xx/950-0592-drm-vc4-Allow-DBLCLK-modes-even-if-horz-timing-is-od.patch[2] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.101&id=7113440a36c741efd7c76e3d70b3634100120cdb 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.101&id=21c890ca8eaecea06cabb92be2a53a6f26f56383 Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia --- include/kernel-5.10 | 4 +- ...cec_available-flag-as-always-support.patch | 4 +- .../950-0313-vc4_hdmi-Set-HDMI_MAI_FMT.patch | 6 +- ...-vc4-add-iec958-controls-to-vc4_hdmi.patch | 6 +- ...move-setup-from-hw_params-to-prepare.patch | 6 +- ...enable-HBR-MAI-format-on-HBR-streams.patch | 2 +- ...firmware-logic-for-MAI-threshold-set.patch | 2 +- ...t-VC4_HDMI_MAI_CONFIG_FORMAT_REVERSE.patch | 2 +- ...tft-Add-support-for-display-variants.patch | 2 +- ...resent-but-empty-dmas-disables-audio.patch | 2 +- ...the-HDMI-registers-into-the-debugfs-.patch | 4 +- ...re-pixel-frequency-in-the-connector-.patch | 2 +- ...drm-vc4-hdmi-Enable-10-12-bpc-output.patch | 2 +- ...7-drm-vc4-hdmi-Introduce-a-CEC-clock.patch | 4 +- ...c4-hdmi-Split-the-interrupt-handlers.patch | 6 +- ...-Support-BCM2711-CEC-interrupt-setup.patch | 10 ++-- ...-t-register-the-CEC-adapter-if-there.patch | 2 +- ...metadata-property-to-the-VC5-HDMI-co.patch | 6 +- ...rm-Avoid-full-hdmi-audio-fifo-writes.patch | 2 +- ...c4-hdmi-Raise-the-maximum-clock-rate.patch | 2 +- ...LCLK-modes-even-if-horz-timing-is-od.patch | 42 -------------- ...-interface-in-mode6-for-18-bit-color.patch | 4 +- ...efiles-dt-Always-set-on-ARCH_BCM2835.patch | 2 +- ...-support-BCM4908-s-integrated-switch.patch | 8 +-- ..._sf2-setup-BCM4908-internal-crossbar.patch | 10 ++-- ...-bcm_sf2-Fill-in-BCM4908-CFP-entries.patch | 2 +- ...-add-function-finding-RGMII-register.patch | 14 ++--- ...-dsa-bcm_sf2-fix-BCM4908-RGMII-reg-s.patch | 2 +- ...Fix-bcm_sf2_reg_rgmii_cntrl-call-for.patch | 4 +- ...dsa-bcm_sf2-refactor-LED-regs-access.patch | 2 +- ...m_sf2-enable-GPHY-for-switch-probing.patch | 2 +- ...sf2-keep-GPHY-enabled-on-the-BCM4908.patch | 2 +- ...phy-marvell-refactor-HWMON-OOP-style.patch | 28 ++++----- ...-marvell-add-SFP-support-for-88E1510.patch | 4 +- ...equest-assisted-learning-on-CPU-port.patch | 2 +- ...B-serial-option-add-ZTE-MF286D-modem.patch | 57 ------------------- .../901-arm-boot-add-dts-files.patch | 2 +- .../0069-arm-boot-add-dts-files.patch | 2 +- ...-lantiq-enable-jumbo-frames-on-GSWIP.patch | 8 +-- .../062-add-sun8i-h3-zeropi-support.patch | 2 +- ...0-sunxi-h3-add-support-for-nanopi-r1.patch | 2 +- 41 files changed, 89 insertions(+), 188 deletions(-) delete mode 100644 target/linux/bcm27xx/patches-5.10/950-0592-drm-vc4-Allow-DBLCLK-modes-even-if-horz-timing-is-od.patch delete mode 100644 target/linux/generic/pending-5.10/841-USB-serial-option-add-ZTE-MF286D-modem.patch diff --git a/include/kernel-5.10 b/include/kernel-5.10 index c71d0deac2..47c2fd41f5 100644 --- a/include/kernel-5.10 +++ b/include/kernel-5.10 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.10 = .100 -LINUX_KERNEL_HASH-5.10.100 = d56965afc9b6a3d26d53db40ccd37fd9d15f2ca6bfd54ef6f0f8b6e92c170999 +LINUX_VERSION-5.10 = .101 +LINUX_KERNEL_HASH-5.10.101 = 0749258cb7ee47c478dfc34857e8930d41bfe0b074e80e9f57cbfa56d0ba1c8e diff --git a/target/linux/bcm27xx/patches-5.10/950-0310-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch b/target/linux/bcm27xx/patches-5.10/950-0310-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch index d7610cabb0..4c9e0d71f4 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0310-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0310-vc4_hdmi-Remove-cec_available-flag-as-always-support.patch @@ -12,7 +12,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1491,9 +1491,6 @@ static int vc4_hdmi_cec_init(struct vc4_ +@@ -1493,9 +1493,6 @@ static int vc4_hdmi_cec_init(struct vc4_ u32 value; int ret; @@ -22,7 +22,7 @@ Signed-off-by: Dom Cobley vc4_hdmi->cec_adap = cec_allocate_adapter(&vc4_hdmi_cec_adap_ops, vc4_hdmi, "vc4", CEC_CAP_DEFAULTS | -@@ -1926,7 +1923,6 @@ static const struct vc4_hdmi_variant bcm +@@ -1928,7 +1925,6 @@ static const struct vc4_hdmi_variant bcm .debugfs_name = "hdmi_regs", .card_name = "vc4-hdmi", .max_pixel_clock = 162000000, diff --git a/target/linux/bcm27xx/patches-5.10/950-0313-vc4_hdmi-Set-HDMI_MAI_FMT.patch b/target/linux/bcm27xx/patches-5.10/950-0313-vc4_hdmi-Set-HDMI_MAI_FMT.patch index 3cebccc100..e4f6f8795c 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0313-vc4_hdmi-Set-HDMI_MAI_FMT.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0313-vc4_hdmi-Set-HDMI_MAI_FMT.patch @@ -14,7 +14,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -989,6 +989,44 @@ static void vc4_hdmi_audio_shutdown(stru +@@ -991,6 +991,44 @@ static void vc4_hdmi_audio_shutdown(stru vc4_hdmi->audio.substream = NULL; } @@ -59,7 +59,7 @@ Signed-off-by: Dom Cobley /* HDMI audio codec callbacks */ static int vc4_hdmi_audio_hw_params(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params, -@@ -999,6 +1037,8 @@ static int vc4_hdmi_audio_hw_params(stru +@@ -1001,6 +1039,8 @@ static int vc4_hdmi_audio_hw_params(stru struct device *dev = &vc4_hdmi->pdev->dev; u32 audio_packet_config, channel_mask; u32 channel_map; @@ -68,7 +68,7 @@ Signed-off-by: Dom Cobley if (substream != vc4_hdmi->audio.substream) return -EINVAL; -@@ -1019,6 +1059,14 @@ static int vc4_hdmi_audio_hw_params(stru +@@ -1021,6 +1061,14 @@ static int vc4_hdmi_audio_hw_params(stru vc4_hdmi_audio_set_mai_clock(vc4_hdmi); diff --git a/target/linux/bcm27xx/patches-5.10/950-0314-drm-vc4-add-iec958-controls-to-vc4_hdmi.patch b/target/linux/bcm27xx/patches-5.10/950-0314-drm-vc4-add-iec958-controls-to-vc4_hdmi.patch index c5caa739b2..9582c86871 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0314-drm-vc4-add-iec958-controls-to-vc4_hdmi.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0314-drm-vc4-add-iec958-controls-to-vc4_hdmi.patch @@ -26,7 +26,7 @@ Signed-off-by: Matthias Reichl #include #include #include -@@ -1180,6 +1181,47 @@ static int vc4_hdmi_audio_eld_ctl_get(st +@@ -1182,6 +1183,47 @@ static int vc4_hdmi_audio_eld_ctl_get(st return 0; } @@ -74,7 +74,7 @@ Signed-off-by: Matthias Reichl static const struct snd_kcontrol_new vc4_hdmi_audio_controls[] = { { .access = SNDRV_CTL_ELEM_ACCESS_READ | -@@ -1189,6 +1231,19 @@ static const struct snd_kcontrol_new vc4 +@@ -1191,6 +1233,19 @@ static const struct snd_kcontrol_new vc4 .info = vc4_hdmi_audio_eld_ctl_info, .get = vc4_hdmi_audio_eld_ctl_get, }, @@ -94,7 +94,7 @@ Signed-off-by: Matthias Reichl }; static const struct snd_soc_dapm_widget vc4_hdmi_audio_widgets[] = { -@@ -1309,6 +1364,11 @@ static int vc4_hdmi_audio_init(struct vc +@@ -1311,6 +1366,11 @@ static int vc4_hdmi_audio_init(struct vc vc4_hdmi->audio.dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; vc4_hdmi->audio.dma_data.maxburst = 2; diff --git a/target/linux/bcm27xx/patches-5.10/950-0315-drm-vc4-move-setup-from-hw_params-to-prepare.patch b/target/linux/bcm27xx/patches-5.10/950-0315-drm-vc4-move-setup-from-hw_params-to-prepare.patch index 1097180176..9b90426393 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0315-drm-vc4-move-setup-from-hw_params-to-prepare.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0315-drm-vc4-move-setup-from-hw_params-to-prepare.patch @@ -14,7 +14,7 @@ Signed-off-by: Matthias Reichl --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1029,9 +1029,8 @@ static int sample_rate_to_mai_fmt(int sa +@@ -1031,9 +1031,8 @@ static int sample_rate_to_mai_fmt(int sa } /* HDMI audio codec callbacks */ @@ -26,7 +26,7 @@ Signed-off-by: Matthias Reichl { struct vc4_hdmi *vc4_hdmi = dai_to_hdmi(dai); struct drm_encoder *encoder = &vc4_hdmi->encoder.base.base; -@@ -1044,12 +1043,15 @@ static int vc4_hdmi_audio_hw_params(stru +@@ -1046,12 +1045,15 @@ static int vc4_hdmi_audio_hw_params(stru if (substream != vc4_hdmi->audio.substream) return -EINVAL; @@ -47,7 +47,7 @@ Signed-off-by: Matthias Reichl HDMI_WRITE(HDMI_MAI_CTL, VC4_HD_MAI_CTL_RESET | -@@ -1271,7 +1273,7 @@ static const struct snd_soc_component_dr +@@ -1273,7 +1275,7 @@ static const struct snd_soc_component_dr static const struct snd_soc_dai_ops vc4_hdmi_audio_dai_ops = { .startup = vc4_hdmi_audio_startup, .shutdown = vc4_hdmi_audio_shutdown, diff --git a/target/linux/bcm27xx/patches-5.10/950-0316-drm-vc4-enable-HBR-MAI-format-on-HBR-streams.patch b/target/linux/bcm27xx/patches-5.10/950-0316-drm-vc4-enable-HBR-MAI-format-on-HBR-streams.patch index b700930c81..1fbda20137 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0316-drm-vc4-enable-HBR-MAI-format-on-HBR-streams.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0316-drm-vc4-enable-HBR-MAI-format-on-HBR-streams.patch @@ -10,7 +10,7 @@ Signed-off-by: Matthias Reichl --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1063,7 +1063,11 @@ static int vc4_hdmi_audio_prepare(struct +@@ -1065,7 +1065,11 @@ static int vc4_hdmi_audio_prepare(struct vc4_hdmi_audio_set_mai_clock(vc4_hdmi); mai_sample_rate = sample_rate_to_mai_fmt(vc4_hdmi->audio.samplerate); diff --git a/target/linux/bcm27xx/patches-5.10/950-0317-vc4_hdmi-Remove-firmware-logic-for-MAI-threshold-set.patch b/target/linux/bcm27xx/patches-5.10/950-0317-vc4_hdmi-Remove-firmware-logic-for-MAI-threshold-set.patch index 8f16329b04..ef776face1 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0317-vc4_hdmi-Remove-firmware-logic-for-MAI-threshold-set.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0317-vc4_hdmi-Remove-firmware-logic-for-MAI-threshold-set.patch @@ -16,7 +16,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1084,22 +1084,12 @@ static int vc4_hdmi_audio_prepare(struct +@@ -1086,22 +1086,12 @@ static int vc4_hdmi_audio_prepare(struct audio_packet_config |= VC4_SET_FIELD(channel_mask, VC4_HDMI_AUDIO_PACKET_CEA_MASK); diff --git a/target/linux/bcm27xx/patches-5.10/950-0318-vc_hdmi-Set-VC4_HDMI_MAI_CONFIG_FORMAT_REVERSE.patch b/target/linux/bcm27xx/patches-5.10/950-0318-vc_hdmi-Set-VC4_HDMI_MAI_CONFIG_FORMAT_REVERSE.patch index 6f09dac588..1767ccf4a5 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0318-vc_hdmi-Set-VC4_HDMI_MAI_CONFIG_FORMAT_REVERSE.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0318-vc_hdmi-Set-VC4_HDMI_MAI_CONFIG_FORMAT_REVERSE.patch @@ -14,7 +14,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1093,6 +1093,7 @@ static int vc4_hdmi_audio_prepare(struct +@@ -1095,6 +1095,7 @@ static int vc4_hdmi_audio_prepare(struct HDMI_WRITE(HDMI_MAI_CONFIG, VC4_HDMI_MAI_CONFIG_BIT_REVERSE | diff --git a/target/linux/bcm27xx/patches-5.10/950-0332-staging-fbtft-Add-support-for-display-variants.patch b/target/linux/bcm27xx/patches-5.10/950-0332-staging-fbtft-Add-support-for-display-variants.patch index 7bdc80b46c..9bb513628c 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0332-staging-fbtft-Add-support-for-display-variants.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0332-staging-fbtft-Add-support-for-display-variants.patch @@ -191,7 +191,7 @@ Signed-off-by: Phil Elwell {}, \ }; \ \ -@@ -344,6 +355,11 @@ static void __exit fbtft_driver_module_e +@@ -347,6 +358,11 @@ static void __exit fbtft_driver_module_e module_init(fbtft_driver_module_init); \ module_exit(fbtft_driver_module_exit); diff --git a/target/linux/bcm27xx/patches-5.10/950-0346-drm-vc4-A-present-but-empty-dmas-disables-audio.patch b/target/linux/bcm27xx/patches-5.10/950-0346-drm-vc4-A-present-but-empty-dmas-disables-audio.patch index 0c104b1788..373f98cbd9 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0346-drm-vc4-A-present-but-empty-dmas-disables-audio.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0346-drm-vc4-A-present-but-empty-dmas-disables-audio.patch @@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1331,10 +1331,12 @@ static int vc4_hdmi_audio_init(struct vc +@@ -1333,10 +1333,12 @@ static int vc4_hdmi_audio_init(struct vc const __be32 *addr; int index; int ret; diff --git a/target/linux/bcm27xx/patches-5.10/950-0349-drm-vc4-Add-all-the-HDMI-registers-into-the-debugfs-.patch b/target/linux/bcm27xx/patches-5.10/950-0349-drm-vc4-Add-all-the-HDMI-registers-into-the-debugfs-.patch index edc5be80ab..4a4c535706 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0349-drm-vc4-Add-all-the-HDMI-registers-into-the-debugfs-.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0349-drm-vc4-Add-all-the-HDMI-registers-into-the-debugfs-.patch @@ -29,7 +29,7 @@ Signed-off-by: Dave Stevenson return 0; } -@@ -1732,6 +1738,7 @@ static int vc5_hdmi_init_resources(struc +@@ -1734,6 +1740,7 @@ static int vc5_hdmi_init_resources(struc struct platform_device *pdev = vc4_hdmi->pdev; struct device *dev = &pdev->dev; struct resource *res; @@ -37,7 +37,7 @@ Signed-off-by: Dave Stevenson res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "hdmi"); if (!res) -@@ -1822,6 +1829,38 @@ static int vc5_hdmi_init_resources(struc +@@ -1824,6 +1831,38 @@ static int vc5_hdmi_init_resources(struc return PTR_ERR(vc4_hdmi->reset); } diff --git a/target/linux/bcm27xx/patches-5.10/950-0415-drm-vc4-hdmi-Store-pixel-frequency-in-the-connector-.patch b/target/linux/bcm27xx/patches-5.10/950-0415-drm-vc4-hdmi-Store-pixel-frequency-in-the-connector-.patch index 5e51b008f3..719f9235e5 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0415-drm-vc4-hdmi-Store-pixel-frequency-in-the-connector-.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0415-drm-vc4-hdmi-Store-pixel-frequency-in-the-connector-.patch @@ -76,7 +76,7 @@ Signed-off-by: Maxime Ripard struct drm_display_mode *mode = &crtc_state->adjusted_mode; struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); unsigned long long pixel_rate = mode->clock * 1000; -@@ -875,6 +897,8 @@ static int vc4_hdmi_encoder_atomic_check +@@ -876,6 +898,8 @@ static int vc4_hdmi_encoder_atomic_check if (pixel_rate > vc4_hdmi->variant->max_pixel_clock) return -EINVAL; diff --git a/target/linux/bcm27xx/patches-5.10/950-0417-drm-vc4-hdmi-Enable-10-12-bpc-output.patch b/target/linux/bcm27xx/patches-5.10/950-0417-drm-vc4-hdmi-Enable-10-12-bpc-output.patch index 69f255627f..646475fa80 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0417-drm-vc4-hdmi-Enable-10-12-bpc-output.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0417-drm-vc4-hdmi-Enable-10-12-bpc-output.patch @@ -141,7 +141,7 @@ Reviewed-by: Dave Stevenson } static void vc4_hdmi_encoder_pre_crtc_enable(struct drm_encoder *encoder, -@@ -891,6 +951,14 @@ static int vc4_hdmi_encoder_atomic_check +@@ -892,6 +952,14 @@ static int vc4_hdmi_encoder_atomic_check pixel_rate = mode->clock * 1000; } diff --git a/target/linux/bcm27xx/patches-5.10/950-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch b/target/linux/bcm27xx/patches-5.10/950-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch index 36f46a71ba..f20685c455 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0457-drm-vc4-hdmi-Introduce-a-CEC-clock.patch @@ -27,7 +27,7 @@ Signed-off-by: Maxime Ripard value |= clk_cnt << VC4_HDMI_CEC_DIV_CLK_CNT_SHIFT; HDMI_WRITE(HDMI_CEC_CNTRL_1, value); } -@@ -1867,6 +1867,7 @@ static int vc4_hdmi_init_resources(struc +@@ -1869,6 +1869,7 @@ static int vc4_hdmi_init_resources(struc return PTR_ERR(vc4_hdmi->hsm_clock); } vc4_hdmi->audio_clock = vc4_hdmi->hsm_clock; @@ -35,7 +35,7 @@ Signed-off-by: Maxime Ripard return 0; } -@@ -1961,6 +1962,12 @@ static int vc5_hdmi_init_resources(struc +@@ -1963,6 +1964,12 @@ static int vc5_hdmi_init_resources(struc return PTR_ERR(vc4_hdmi->audio_clock); } diff --git a/target/linux/bcm27xx/patches-5.10/950-0458-drm-vc4-hdmi-Split-the-interrupt-handlers.patch b/target/linux/bcm27xx/patches-5.10/950-0458-drm-vc4-hdmi-Split-the-interrupt-handlers.patch index 7e16acfacc..5447b33259 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0458-drm-vc4-hdmi-Split-the-interrupt-handlers.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0458-drm-vc4-hdmi-Split-the-interrupt-handlers.patch @@ -19,7 +19,7 @@ Reviewed-by: Dave Stevenson --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1572,15 +1572,22 @@ static int vc4_hdmi_audio_init(struct vc +@@ -1574,15 +1574,22 @@ static int vc4_hdmi_audio_init(struct vc } #ifdef CONFIG_DRM_VC4_HDMI_CEC @@ -48,7 +48,7 @@ Reviewed-by: Dave Stevenson cec_transmit_done(vc4_hdmi->cec_adap, CEC_TX_STATUS_OK, 0, 0, 0, 0); } else { -@@ -1594,6 +1601,19 @@ static irqreturn_t vc4_cec_irq_handler_t +@@ -1596,6 +1603,19 @@ static irqreturn_t vc4_cec_irq_handler_t return IRQ_HANDLED; } @@ -68,7 +68,7 @@ Reviewed-by: Dave Stevenson static void vc4_cec_read_msg(struct vc4_hdmi *vc4_hdmi, u32 cntrl1) { struct drm_device *dev = vc4_hdmi->connector.dev; -@@ -1618,31 +1638,55 @@ static void vc4_cec_read_msg(struct vc4_ +@@ -1620,31 +1640,55 @@ static void vc4_cec_read_msg(struct vc4_ } } diff --git a/target/linux/bcm27xx/patches-5.10/950-0459-drm-vc4-hdmi-Support-BCM2711-CEC-interrupt-setup.patch b/target/linux/bcm27xx/patches-5.10/950-0459-drm-vc4-hdmi-Support-BCM2711-CEC-interrupt-setup.patch index 39b80a2a2c..8c399b6c79 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0459-drm-vc4-hdmi-Support-BCM2711-CEC-interrupt-setup.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0459-drm-vc4-hdmi-Support-BCM2711-CEC-interrupt-setup.patch @@ -20,7 +20,7 @@ Reviewed-by: Dave Stevenson --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1723,9 +1723,11 @@ static int vc4_hdmi_cec_adap_enable(stru +@@ -1725,9 +1725,11 @@ static int vc4_hdmi_cec_adap_enable(stru ((3600 / usecs) << VC4_HDMI_CEC_CNT_TO_3600_US_SHIFT) | ((3500 / usecs) << VC4_HDMI_CEC_CNT_TO_3500_US_SHIFT)); @@ -34,7 +34,7 @@ Reviewed-by: Dave Stevenson HDMI_WRITE(HDMI_CEC_CNTRL_5, val | VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET); } -@@ -1797,8 +1799,6 @@ static int vc4_hdmi_cec_init(struct vc4_ +@@ -1799,8 +1801,6 @@ static int vc4_hdmi_cec_init(struct vc4_ cec_fill_conn_info_from_drm(&conn_info, &vc4_hdmi->connector); cec_s_conn_info(vc4_hdmi->cec_adap, &conn_info); @@ -43,7 +43,7 @@ Reviewed-by: Dave Stevenson value = HDMI_READ(HDMI_CEC_CNTRL_1); /* Set the logical address to Unregistered */ value |= VC4_HDMI_CEC_ADDR_MASK; -@@ -1806,12 +1806,32 @@ static int vc4_hdmi_cec_init(struct vc4_ +@@ -1808,12 +1808,32 @@ static int vc4_hdmi_cec_init(struct vc4_ vc4_hdmi_cec_update_clk_div(vc4_hdmi); @@ -82,7 +82,7 @@ Reviewed-by: Dave Stevenson ret = cec_register_adapter(vc4_hdmi->cec_adap, &pdev->dev); if (ret < 0) -@@ -2286,6 +2306,7 @@ static const struct vc4_hdmi_variant bcm +@@ -2288,6 +2308,7 @@ static const struct vc4_hdmi_variant bcm PHY_LANE_CK, }, .unsupported_odd_h_timings = true, @@ -90,7 +90,7 @@ Reviewed-by: Dave Stevenson .init_resources = vc5_hdmi_init_resources, .csc_setup = vc5_hdmi_csc_setup, -@@ -2312,6 +2333,7 @@ static const struct vc4_hdmi_variant bcm +@@ -2314,6 +2335,7 @@ static const struct vc4_hdmi_variant bcm PHY_LANE_2, }, .unsupported_odd_h_timings = true, diff --git a/target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch b/target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch index 2ead4e3667..cbace63037 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0460-drm-vc4-hdmi-Don-t-register-the-CEC-adapter-if-there.patch @@ -19,7 +19,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1785,9 +1785,15 @@ static int vc4_hdmi_cec_init(struct vc4_ +@@ -1787,9 +1787,15 @@ static int vc4_hdmi_cec_init(struct vc4_ { struct cec_connector_info conn_info; struct platform_device *pdev = vc4_hdmi->pdev; diff --git a/target/linux/bcm27xx/patches-5.10/950-0475-drm-vc4-Add-HDR-metadata-property-to-the-VC5-HDMI-co.patch b/target/linux/bcm27xx/patches-5.10/950-0475-drm-vc4-Add-HDR-metadata-property-to-the-VC5-HDMI-co.patch index 01bf5901aa..554fffc09e 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0475-drm-vc4-Add-HDR-metadata-property-to-the-VC5-HDMI-co.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0475-drm-vc4-Add-HDR-metadata-property-to-the-VC5-HDMI-co.patch @@ -61,7 +61,7 @@ Signed-off-by: Dave Stevenson } static void vc4_hdmi_encoder_post_crtc_disable(struct drm_encoder *encoder, -@@ -2296,6 +2321,7 @@ static const struct vc4_hdmi_variant bcm +@@ -2298,6 +2323,7 @@ static const struct vc4_hdmi_variant bcm .phy_rng_enable = vc4_hdmi_phy_rng_enable, .phy_rng_disable = vc4_hdmi_phy_rng_disable, .channel_map = vc4_hdmi_channel_map, @@ -69,7 +69,7 @@ Signed-off-by: Dave Stevenson }; static const struct vc4_hdmi_variant bcm2711_hdmi0_variant = { -@@ -2323,6 +2349,7 @@ static const struct vc4_hdmi_variant bcm +@@ -2325,6 +2351,7 @@ static const struct vc4_hdmi_variant bcm .phy_rng_enable = vc5_hdmi_phy_rng_enable, .phy_rng_disable = vc5_hdmi_phy_rng_disable, .channel_map = vc5_hdmi_channel_map, @@ -77,7 +77,7 @@ Signed-off-by: Dave Stevenson }; static const struct vc4_hdmi_variant bcm2711_hdmi1_variant = { -@@ -2350,6 +2377,7 @@ static const struct vc4_hdmi_variant bcm +@@ -2352,6 +2379,7 @@ static const struct vc4_hdmi_variant bcm .phy_rng_enable = vc5_hdmi_phy_rng_enable, .phy_rng_disable = vc5_hdmi_phy_rng_disable, .channel_map = vc5_hdmi_channel_map, diff --git a/target/linux/bcm27xx/patches-5.10/950-0505-vc4-drm-Avoid-full-hdmi-audio-fifo-writes.patch b/target/linux/bcm27xx/patches-5.10/950-0505-vc4-drm-Avoid-full-hdmi-audio-fifo-writes.patch index 98e477aecc..4f89ad56e5 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0505-vc4-drm-Avoid-full-hdmi-audio-fifo-writes.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0505-vc4-drm-Avoid-full-hdmi-audio-fifo-writes.patch @@ -15,7 +15,7 @@ Signed-off-by: Dom Cobley --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1295,10 +1295,10 @@ static int vc4_hdmi_audio_prepare(struct +@@ -1297,10 +1297,10 @@ static int vc4_hdmi_audio_prepare(struct /* Set the MAI threshold */ HDMI_WRITE(HDMI_MAI_THR, diff --git a/target/linux/bcm27xx/patches-5.10/950-0576-drm-vc4-hdmi-Raise-the-maximum-clock-rate.patch b/target/linux/bcm27xx/patches-5.10/950-0576-drm-vc4-hdmi-Raise-the-maximum-clock-rate.patch index d1deaa8841..99fd4f4853 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0576-drm-vc4-hdmi-Raise-the-maximum-clock-rate.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0576-drm-vc4-hdmi-Raise-the-maximum-clock-rate.patch @@ -19,7 +19,7 @@ Signed-off-by: Maxime Ripard --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -2432,7 +2432,7 @@ static const struct vc4_hdmi_variant bcm +@@ -2434,7 +2434,7 @@ static const struct vc4_hdmi_variant bcm .encoder_type = VC4_ENCODER_TYPE_HDMI0, .debugfs_name = "hdmi0_regs", .card_name = "vc4-hdmi-0", diff --git a/target/linux/bcm27xx/patches-5.10/950-0592-drm-vc4-Allow-DBLCLK-modes-even-if-horz-timing-is-od.patch b/target/linux/bcm27xx/patches-5.10/950-0592-drm-vc4-Allow-DBLCLK-modes-even-if-horz-timing-is-od.patch deleted file mode 100644 index 459f228c15..0000000000 --- a/target/linux/bcm27xx/patches-5.10/950-0592-drm-vc4-Allow-DBLCLK-modes-even-if-horz-timing-is-od.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 9f7c0728efb0036f6f197126aa62da40cdf4713a Mon Sep 17 00:00:00 2001 -From: Dave Stevenson -Date: Wed, 28 Apr 2021 16:14:21 +0100 -Subject: [PATCH] drm/vc4: Allow DBLCLK modes even if horz timing is - odd. - -The 2711 pixel valve can't produce odd horizontal timings, and -checks were added to vc4_hdmi_encoder_atomic_check and -vc4_hdmi_encoder_mode_valid to filter out/block selection of -such modes. - -Modes with DRM_MODE_FLAG_DBLCLK double all the horizontal timing -values before programming them into the PV. The PV values, -therefore, can not be odd, and so the modes can be supported. - -Amend the filtering appropriately. - -See https://github.com/raspberrypi/linux/issues/4307 - -Signed-off-by: Dave Stevenson ---- - drivers/gpu/drm/vc4/vc4_hdmi.c | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/drivers/gpu/drm/vc4/vc4_hdmi.c -+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c -@@ -1067,6 +1067,7 @@ static int vc4_hdmi_encoder_atomic_check - unsigned long long tmds_rate; - - if (vc4_hdmi->variant->unsupported_odd_h_timings && -+ !(mode->flags & DRM_MODE_FLAG_DBLCLK) && - ((mode->hdisplay % 2) || (mode->hsync_start % 2) || - (mode->hsync_end % 2) || (mode->htotal % 2))) - return -EINVAL; -@@ -1111,6 +1112,7 @@ vc4_hdmi_encoder_mode_valid(struct drm_e - struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); - - if (vc4_hdmi->variant->unsupported_odd_h_timings && -+ !(mode->flags & DRM_MODE_FLAG_DBLCLK) && - ((mode->hdisplay % 2) || (mode->hsync_start % 2) || - (mode->hsync_end % 2) || (mode->htotal % 2))) - return MODE_H_ILLEGAL; diff --git a/target/linux/bcm27xx/patches-5.10/950-0650-Support-RPi-DPI-interface-in-mode6-for-18-bit-color.patch b/target/linux/bcm27xx/patches-5.10/950-0650-Support-RPi-DPI-interface-in-mode6-for-18-bit-color.patch index 56a1e6862b..a5fe888565 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0650-Support-RPi-DPI-interface-in-mode6-for-18-bit-color.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0650-Support-RPi-DPI-interface-in-mode6-for-18-bit-color.patch @@ -118,7 +118,7 @@ Signed-off-by: Joerg Quinten - MEDIA_BUS_FMT_RGB666_1X24_CPADHI --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c -@@ -2093,6 +2093,38 @@ static const struct panel_desc innolux_a +@@ -2094,6 +2094,38 @@ static const struct panel_desc innolux_a .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, }; @@ -157,7 +157,7 @@ Signed-off-by: Joerg Quinten static const struct drm_display_mode innolux_at070tn92_mode = { .clock = 33333, .hdisplay = 800, -@@ -4076,6 +4108,9 @@ static const struct of_device_id platfor +@@ -4077,6 +4109,9 @@ static const struct of_device_id platfor .compatible = "innolux,at043tn24", .data = &innolux_at043tn24, }, { diff --git a/target/linux/bcm27xx/patches-5.10/950-0738-Makefiles-dt-Always-set-on-ARCH_BCM2835.patch b/target/linux/bcm27xx/patches-5.10/950-0738-Makefiles-dt-Always-set-on-ARCH_BCM2835.patch index 0cb30474b5..db966ef86f 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0738-Makefiles-dt-Always-set-on-ARCH_BCM2835.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0738-Makefiles-dt-Always-set-on-ARCH_BCM2835.patch @@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -1432,5 +1432,5 @@ subdir-y := overlays +@@ -1433,5 +1433,5 @@ subdir-y := overlays # Enable fixups to support overlays on BCM2835 platforms ifeq ($(CONFIG_ARCH_BCM2835),y) diff --git a/target/linux/bcm4908/patches-5.10/071-v5.12-0001-net-dsa-bcm_sf2-support-BCM4908-s-integrated-switch.patch b/target/linux/bcm4908/patches-5.10/071-v5.12-0001-net-dsa-bcm_sf2-support-BCM4908-s-integrated-switch.patch index e2f63e7fa0..35017bf1e4 100644 --- a/target/linux/bcm4908/patches-5.10/071-v5.12-0001-net-dsa-bcm_sf2-support-BCM4908-s-integrated-switch.patch +++ b/target/linux/bcm4908/patches-5.10/071-v5.12-0001-net-dsa-bcm_sf2-support-BCM4908-s-integrated-switch.patch @@ -68,7 +68,7 @@ Signed-off-by: Jakub Kicinski offset = CORE_STS_OVERRIDE_IMP; else offset = CORE_STS_OVERRIDE_IMP2; -@@ -708,7 +709,8 @@ static void bcm_sf2_sw_mac_link_down(str +@@ -711,7 +712,8 @@ static void bcm_sf2_sw_mac_link_down(str u32 reg, offset; if (port != core_readl(priv, CORE_IMP0_PRT_ID)) { @@ -78,7 +78,7 @@ Signed-off-by: Jakub Kicinski offset = CORE_STS_OVERRIDE_GMIIP_PORT(port); else offset = CORE_STS_OVERRIDE_GMIIP2_PORT(port); -@@ -735,7 +737,8 @@ static void bcm_sf2_sw_mac_link_up(struc +@@ -738,7 +740,8 @@ static void bcm_sf2_sw_mac_link_up(struc bcm_sf2_sw_mac_link_set(ds, port, interface, true); if (port != core_readl(priv, CORE_IMP0_PRT_ID)) { @@ -88,7 +88,7 @@ Signed-off-by: Jakub Kicinski offset = CORE_STS_OVERRIDE_GMIIP_PORT(port); else offset = CORE_STS_OVERRIDE_GMIIP2_PORT(port); -@@ -1128,6 +1131,30 @@ struct bcm_sf2_of_data { +@@ -1131,6 +1134,30 @@ struct bcm_sf2_of_data { unsigned int num_cfp_rules; }; @@ -119,7 +119,7 @@ Signed-off-by: Jakub Kicinski /* Register offsets for the SWITCH_REG_* block */ static const u16 bcm_sf2_7445_reg_offsets[] = { [REG_SWITCH_CNTRL] = 0x00, -@@ -1176,6 +1203,9 @@ static const struct bcm_sf2_of_data bcm_ +@@ -1179,6 +1206,9 @@ static const struct bcm_sf2_of_data bcm_ }; static const struct of_device_id bcm_sf2_of_match[] = { diff --git a/target/linux/bcm4908/patches-5.10/075-v5.13-0002-net-dsa-bcm_sf2-setup-BCM4908-internal-crossbar.patch b/target/linux/bcm4908/patches-5.10/075-v5.13-0002-net-dsa-bcm_sf2-setup-BCM4908-internal-crossbar.patch index c6c0c23570..b9ec7af1ae 100644 --- a/target/linux/bcm4908/patches-5.10/075-v5.13-0002-net-dsa-bcm_sf2-setup-BCM4908-internal-crossbar.patch +++ b/target/linux/bcm4908/patches-5.10/075-v5.13-0002-net-dsa-bcm_sf2-setup-BCM4908-internal-crossbar.patch @@ -82,7 +82,7 @@ Signed-off-by: David S. Miller static void bcm_sf2_intr_disable(struct bcm_sf2_priv *priv) { intrl2_0_mask_set(priv, 0xffffffff); -@@ -869,6 +907,8 @@ static int bcm_sf2_sw_resume(struct dsa_ +@@ -872,6 +910,8 @@ static int bcm_sf2_sw_resume(struct dsa_ return ret; } @@ -91,7 +91,7 @@ Signed-off-by: David S. Miller ret = bcm_sf2_cfp_resume(ds); if (ret) return ret; -@@ -1140,6 +1180,7 @@ struct bcm_sf2_of_data { +@@ -1143,6 +1183,7 @@ struct bcm_sf2_of_data { const u16 *reg_offsets; unsigned int core_reg_align; unsigned int num_cfp_rules; @@ -99,7 +99,7 @@ Signed-off-by: David S. Miller }; static const u16 bcm_sf2_4908_reg_offsets[] = { -@@ -1164,6 +1205,7 @@ static const struct bcm_sf2_of_data bcm_ +@@ -1167,6 +1208,7 @@ static const struct bcm_sf2_of_data bcm_ .core_reg_align = 0, .reg_offsets = bcm_sf2_4908_reg_offsets, .num_cfp_rules = 0, /* FIXME */ @@ -107,7 +107,7 @@ Signed-off-by: David S. Miller }; /* Register offsets for the SWITCH_REG_* block */ -@@ -1274,6 +1316,7 @@ static int bcm_sf2_sw_probe(struct platf +@@ -1277,6 +1319,7 @@ static int bcm_sf2_sw_probe(struct platf priv->reg_offsets = data->reg_offsets; priv->core_reg_align = data->core_reg_align; priv->num_cfp_rules = data->num_cfp_rules; @@ -115,7 +115,7 @@ Signed-off-by: David S. Miller priv->rcdev = devm_reset_control_get_optional_exclusive(&pdev->dev, "switch"); -@@ -1347,6 +1390,8 @@ static int bcm_sf2_sw_probe(struct platf +@@ -1350,6 +1393,8 @@ static int bcm_sf2_sw_probe(struct platf goto out_clk_mdiv; } diff --git a/target/linux/bcm4908/patches-5.10/075-v5.13-0003-net-dsa-bcm_sf2-Fill-in-BCM4908-CFP-entries.patch b/target/linux/bcm4908/patches-5.10/075-v5.13-0003-net-dsa-bcm_sf2-Fill-in-BCM4908-CFP-entries.patch index 58fcec27ea..b99bf010bd 100644 --- a/target/linux/bcm4908/patches-5.10/075-v5.13-0003-net-dsa-bcm_sf2-Fill-in-BCM4908-CFP-entries.patch +++ b/target/linux/bcm4908/patches-5.10/075-v5.13-0003-net-dsa-bcm_sf2-Fill-in-BCM4908-CFP-entries.patch @@ -14,7 +14,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/dsa/bcm_sf2.c +++ b/drivers/net/dsa/bcm_sf2.c -@@ -1204,7 +1204,7 @@ static const struct bcm_sf2_of_data bcm_ +@@ -1207,7 +1207,7 @@ static const struct bcm_sf2_of_data bcm_ .type = BCM4908_DEVICE_ID, .core_reg_align = 0, .reg_offsets = bcm_sf2_4908_reg_offsets, diff --git a/target/linux/bcm4908/patches-5.10/075-v5.13-0004-net-dsa-bcm_sf2-add-function-finding-RGMII-register.patch b/target/linux/bcm4908/patches-5.10/075-v5.13-0004-net-dsa-bcm_sf2-add-function-finding-RGMII-register.patch index 52387776b5..132a734ac4 100644 --- a/target/linux/bcm4908/patches-5.10/075-v5.13-0004-net-dsa-bcm_sf2-add-function-finding-RGMII-register.patch +++ b/target/linux/bcm4908/patches-5.10/075-v5.13-0004-net-dsa-bcm_sf2-add-function-finding-RGMII-register.patch @@ -57,7 +57,7 @@ Signed-off-by: David S. Miller static void bcm_sf2_imp_setup(struct dsa_switch *ds, int port) { struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds); -@@ -693,6 +718,7 @@ static void bcm_sf2_sw_mac_config(struct +@@ -696,6 +721,7 @@ static void bcm_sf2_sw_mac_config(struct { struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds); u32 id_mode_dis = 0, port_mode; @@ -65,7 +65,7 @@ Signed-off-by: David S. Miller u32 reg; if (port == core_readl(priv, CORE_IMP0_PRT_ID)) -@@ -716,10 +742,12 @@ static void bcm_sf2_sw_mac_config(struct +@@ -719,10 +745,12 @@ static void bcm_sf2_sw_mac_config(struct return; } @@ -79,7 +79,7 @@ Signed-off-by: David S. Miller reg &= ~ID_MODE_DIS; reg &= ~(PORT_MODE_MASK << PORT_MODE_SHIFT); -@@ -727,13 +755,14 @@ static void bcm_sf2_sw_mac_config(struct +@@ -730,13 +758,14 @@ static void bcm_sf2_sw_mac_config(struct if (id_mode_dis) reg |= ID_MODE_DIS; @@ -95,7 +95,7 @@ Signed-off-by: David S. Miller u32 reg; if (!phy_interface_mode_is_rgmii(interface) && -@@ -741,13 +770,15 @@ static void bcm_sf2_sw_mac_link_set(stru +@@ -744,13 +773,15 @@ static void bcm_sf2_sw_mac_link_set(stru interface != PHY_INTERFACE_MODE_REVMII) return; @@ -113,7 +113,7 @@ Signed-off-by: David S. Miller } static void bcm_sf2_sw_mac_link_down(struct dsa_switch *ds, int port, -@@ -781,11 +812,15 @@ static void bcm_sf2_sw_mac_link_up(struc +@@ -784,11 +815,15 @@ static void bcm_sf2_sw_mac_link_up(struc { struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds); struct ethtool_eee *p = &priv->dev->ports[port].eee; @@ -130,7 +130,7 @@ Signed-off-by: David S. Miller if (priv->type == BCM4908_DEVICE_ID || priv->type == BCM7445_DEVICE_ID) offset = CORE_STS_OVERRIDE_GMIIP_PORT(port); -@@ -796,7 +831,7 @@ static void bcm_sf2_sw_mac_link_up(struc +@@ -799,7 +834,7 @@ static void bcm_sf2_sw_mac_link_up(struc interface == PHY_INTERFACE_MODE_RGMII_TXID || interface == PHY_INTERFACE_MODE_MII || interface == PHY_INTERFACE_MODE_REVMII) { @@ -139,7 +139,7 @@ Signed-off-by: David S. Miller reg &= ~(RX_PAUSE_EN | TX_PAUSE_EN); if (tx_pause) -@@ -804,7 +839,7 @@ static void bcm_sf2_sw_mac_link_up(struc +@@ -807,7 +842,7 @@ static void bcm_sf2_sw_mac_link_up(struc if (rx_pause) reg |= RX_PAUSE_EN; diff --git a/target/linux/bcm4908/patches-5.10/075-v5.13-0005-net-dsa-bcm_sf2-fix-BCM4908-RGMII-reg-s.patch b/target/linux/bcm4908/patches-5.10/075-v5.13-0005-net-dsa-bcm_sf2-fix-BCM4908-RGMII-reg-s.patch index 1766f5f432..67c633a930 100644 --- a/target/linux/bcm4908/patches-5.10/075-v5.13-0005-net-dsa-bcm_sf2-fix-BCM4908-RGMII-reg-s.patch +++ b/target/linux/bcm4908/patches-5.10/075-v5.13-0005-net-dsa-bcm_sf2-fix-BCM4908-RGMII-reg-s.patch @@ -33,7 +33,7 @@ Signed-off-by: David S. Miller break; default: switch (port) { -@@ -1227,9 +1232,7 @@ static const u16 bcm_sf2_4908_reg_offset +@@ -1230,9 +1235,7 @@ static const u16 bcm_sf2_4908_reg_offset [REG_PHY_REVISION] = 0x14, [REG_SPHY_CNTRL] = 0x24, [REG_CROSSBAR] = 0xc8, diff --git a/target/linux/bcm4908/patches-5.10/075-v5.13-0006-net-dsa-bcm_sf2-Fix-bcm_sf2_reg_rgmii_cntrl-call-for.patch b/target/linux/bcm4908/patches-5.10/075-v5.13-0006-net-dsa-bcm_sf2-Fix-bcm_sf2_reg_rgmii_cntrl-call-for.patch index 7a670d7011..5e5d6d939d 100644 --- a/target/linux/bcm4908/patches-5.10/075-v5.13-0006-net-dsa-bcm_sf2-Fix-bcm_sf2_reg_rgmii_cntrl-call-for.patch +++ b/target/linux/bcm4908/patches-5.10/075-v5.13-0006-net-dsa-bcm_sf2-Fix-bcm_sf2_reg_rgmii_cntrl-call-for.patch @@ -23,7 +23,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/dsa/bcm_sf2.c +++ b/drivers/net/dsa/bcm_sf2.c -@@ -821,11 +821,9 @@ static void bcm_sf2_sw_mac_link_up(struc +@@ -824,11 +824,9 @@ static void bcm_sf2_sw_mac_link_up(struc bcm_sf2_sw_mac_link_set(ds, port, interface, true); if (port != core_readl(priv, CORE_IMP0_PRT_ID)) { @@ -36,7 +36,7 @@ Signed-off-by: David S. Miller if (priv->type == BCM4908_DEVICE_ID || priv->type == BCM7445_DEVICE_ID) offset = CORE_STS_OVERRIDE_GMIIP_PORT(port); -@@ -836,6 +834,7 @@ static void bcm_sf2_sw_mac_link_up(struc +@@ -839,6 +837,7 @@ static void bcm_sf2_sw_mac_link_up(struc interface == PHY_INTERFACE_MODE_RGMII_TXID || interface == PHY_INTERFACE_MODE_MII || interface == PHY_INTERFACE_MODE_REVMII) { diff --git a/target/linux/bcm4908/patches-5.10/076-v5.17-net-dsa-bcm_sf2-refactor-LED-regs-access.patch b/target/linux/bcm4908/patches-5.10/076-v5.17-net-dsa-bcm_sf2-refactor-LED-regs-access.patch index dc5aa578cd..bf45cdcf24 100644 --- a/target/linux/bcm4908/patches-5.10/076-v5.17-net-dsa-bcm_sf2-refactor-LED-regs-access.patch +++ b/target/linux/bcm4908/patches-5.10/076-v5.17-net-dsa-bcm_sf2-refactor-LED-regs-access.patch @@ -82,7 +82,7 @@ Signed-off-by: Jakub Kicinski } } -@@ -1232,9 +1269,14 @@ static const u16 bcm_sf2_4908_reg_offset +@@ -1235,9 +1272,14 @@ static const u16 bcm_sf2_4908_reg_offset [REG_SPHY_CNTRL] = 0x24, [REG_CROSSBAR] = 0xc8, [REG_RGMII_11_CNTRL] = 0x014c, diff --git a/target/linux/bcm4908/patches-5.10/700-net-dsa-bcm_sf2-enable-GPHY-for-switch-probing.patch b/target/linux/bcm4908/patches-5.10/700-net-dsa-bcm_sf2-enable-GPHY-for-switch-probing.patch index 5150b074a9..a53fca0e90 100644 --- a/target/linux/bcm4908/patches-5.10/700-net-dsa-bcm_sf2-enable-GPHY-for-switch-probing.patch +++ b/target/linux/bcm4908/patches-5.10/700-net-dsa-bcm_sf2-enable-GPHY-for-switch-probing.patch @@ -29,7 +29,7 @@ Signed-off-by: Rafał Miłecki --- a/drivers/net/dsa/bcm_sf2.c +++ b/drivers/net/dsa/bcm_sf2.c -@@ -1529,10 +1529,14 @@ static int bcm_sf2_sw_probe(struct platf +@@ -1532,10 +1532,14 @@ static int bcm_sf2_sw_probe(struct platf rev = reg_readl(priv, REG_PHY_REVISION); priv->hw_params.gphy_rev = rev & PHY_REVISION_MASK; diff --git a/target/linux/bcm4908/patches-5.10/701-net-dsa-bcm_sf2-keep-GPHY-enabled-on-the-BCM4908.patch b/target/linux/bcm4908/patches-5.10/701-net-dsa-bcm_sf2-keep-GPHY-enabled-on-the-BCM4908.patch index 0358a31f43..00ffb19f6f 100644 --- a/target/linux/bcm4908/patches-5.10/701-net-dsa-bcm_sf2-keep-GPHY-enabled-on-the-BCM4908.patch +++ b/target/linux/bcm4908/patches-5.10/701-net-dsa-bcm_sf2-keep-GPHY-enabled-on-the-BCM4908.patch @@ -15,7 +15,7 @@ Signed-off-by: Rafał Miłecki --- a/drivers/net/dsa/bcm_sf2.c +++ b/drivers/net/dsa/bcm_sf2.c -@@ -1543,6 +1543,12 @@ static int bcm_sf2_sw_probe(struct platf +@@ -1546,6 +1546,12 @@ static int bcm_sf2_sw_probe(struct platf priv->hw_params.core_rev >> 8, priv->hw_params.core_rev & 0xff, priv->irq0, priv->irq1); diff --git a/target/linux/generic/backport-5.10/712-v5.13-net-phy-marvell-refactor-HWMON-OOP-style.patch b/target/linux/generic/backport-5.10/712-v5.13-net-phy-marvell-refactor-HWMON-OOP-style.patch index 13e241a400..278df46313 100644 --- a/target/linux/generic/backport-5.10/712-v5.13-net-phy-marvell-refactor-HWMON-OOP-style.patch +++ b/target/linux/generic/backport-5.10/712-v5.13-net-phy-marvell-refactor-HWMON-OOP-style.patch @@ -18,7 +18,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c -@@ -2140,6 +2140,19 @@ static int marvell_vct7_cable_test_get_s +@@ -2141,6 +2141,19 @@ static int marvell_vct7_cable_test_get_s } #ifdef CONFIG_HWMON @@ -38,7 +38,7 @@ Signed-off-by: David S. Miller static int m88e1121_get_temp(struct phy_device *phydev, long *temp) { int oldpage; -@@ -2183,75 +2196,6 @@ error: +@@ -2184,75 +2197,6 @@ error: return phy_restore_page(phydev, oldpage, ret); } @@ -114,7 +114,7 @@ Signed-off-by: David S. Miller static int m88e1510_get_temp(struct phy_device *phydev, long *temp) { int ret; -@@ -2314,92 +2258,6 @@ static int m88e1510_get_temp_alarm(struc +@@ -2315,92 +2259,6 @@ static int m88e1510_get_temp_alarm(struc return 0; } @@ -207,7 +207,7 @@ Signed-off-by: David S. Miller static int m88e6390_get_temp(struct phy_device *phydev, long *temp) { int sum = 0; -@@ -2458,63 +2316,112 @@ error: +@@ -2459,63 +2317,112 @@ error: return ret; } @@ -343,7 +343,7 @@ Signed-off-by: David S. Miller }; static int marvell_hwmon_name(struct phy_device *phydev) -@@ -2537,49 +2444,48 @@ static int marvell_hwmon_name(struct phy +@@ -2538,49 +2445,48 @@ static int marvell_hwmon_name(struct phy return 0; } @@ -416,7 +416,7 @@ Signed-off-by: David S. Miller { return 0; } -@@ -2595,40 +2501,7 @@ static int marvell_probe(struct phy_devi +@@ -2596,40 +2502,7 @@ static int marvell_probe(struct phy_devi phydev->priv = priv; @@ -458,7 +458,7 @@ Signed-off-by: David S. Miller } static struct phy_driver marvell_drivers[] = { -@@ -2713,8 +2586,9 @@ static struct phy_driver marvell_drivers +@@ -2714,8 +2587,9 @@ static struct phy_driver marvell_drivers .phy_id = MARVELL_PHY_ID_88E1121R, .phy_id_mask = MARVELL_PHY_ID_MASK, .name = "Marvell 88E1121R", @@ -469,7 +469,7 @@ Signed-off-by: David S. Miller .config_init = marvell_config_init, .config_aneg = m88e1121_config_aneg, .read_status = marvell_read_status, -@@ -2833,9 +2707,10 @@ static struct phy_driver marvell_drivers +@@ -2834,9 +2708,10 @@ static struct phy_driver marvell_drivers .phy_id = MARVELL_PHY_ID_88E1510, .phy_id_mask = MARVELL_PHY_ID_MASK, .name = "Marvell 88E1510", @@ -481,7 +481,7 @@ Signed-off-by: David S. Miller .config_init = m88e1510_config_init, .config_aneg = m88e1510_config_aneg, .read_status = marvell_read_status, -@@ -2862,9 +2737,10 @@ static struct phy_driver marvell_drivers +@@ -2863,9 +2738,10 @@ static struct phy_driver marvell_drivers .phy_id = MARVELL_PHY_ID_88E1540, .phy_id_mask = MARVELL_PHY_ID_MASK, .name = "Marvell 88E1540", @@ -493,7 +493,7 @@ Signed-off-by: David S. Miller .config_init = marvell_config_init, .config_aneg = m88e1510_config_aneg, .read_status = marvell_read_status, -@@ -2888,7 +2764,8 @@ static struct phy_driver marvell_drivers +@@ -2889,7 +2765,8 @@ static struct phy_driver marvell_drivers .phy_id = MARVELL_PHY_ID_88E1545, .phy_id_mask = MARVELL_PHY_ID_MASK, .name = "Marvell 88E1545", @@ -503,7 +503,7 @@ Signed-off-by: David S. Miller /* PHY_GBIT_FEATURES */ .flags = PHY_POLL_CABLE_TEST, .config_init = marvell_config_init, -@@ -2934,9 +2811,10 @@ static struct phy_driver marvell_drivers +@@ -2935,9 +2812,10 @@ static struct phy_driver marvell_drivers .phy_id = MARVELL_PHY_ID_88E6341_FAMILY, .phy_id_mask = MARVELL_PHY_ID_MASK, .name = "Marvell 88E6341 Family", @@ -515,7 +515,7 @@ Signed-off-by: David S. Miller .config_init = marvell_config_init, .config_aneg = m88e6390_config_aneg, .read_status = marvell_read_status, -@@ -2960,9 +2838,10 @@ static struct phy_driver marvell_drivers +@@ -2961,9 +2839,10 @@ static struct phy_driver marvell_drivers .phy_id = MARVELL_PHY_ID_88E6390_FAMILY, .phy_id_mask = MARVELL_PHY_ID_MASK, .name = "Marvell 88E6390 Family", @@ -527,7 +527,7 @@ Signed-off-by: David S. Miller .config_init = marvell_config_init, .config_aneg = m88e6390_config_aneg, .read_status = marvell_read_status, -@@ -2986,7 +2865,8 @@ static struct phy_driver marvell_drivers +@@ -2987,7 +2866,8 @@ static struct phy_driver marvell_drivers .phy_id = MARVELL_PHY_ID_88E1340S, .phy_id_mask = MARVELL_PHY_ID_MASK, .name = "Marvell 88E1340S", @@ -537,7 +537,7 @@ Signed-off-by: David S. Miller /* PHY_GBIT_FEATURES */ .config_init = marvell_config_init, .config_aneg = m88e1510_config_aneg, -@@ -3008,7 +2888,8 @@ static struct phy_driver marvell_drivers +@@ -3009,7 +2889,8 @@ static struct phy_driver marvell_drivers .phy_id = MARVELL_PHY_ID_88E1548P, .phy_id_mask = MARVELL_PHY_ID_MASK, .name = "Marvell 88E1548P", diff --git a/target/linux/generic/backport-5.10/713-v5.15-net-phy-marvell-add-SFP-support-for-88E1510.patch b/target/linux/generic/backport-5.10/713-v5.15-net-phy-marvell-add-SFP-support-for-88E1510.patch index 3e01e727e1..b86e9bf640 100644 --- a/target/linux/generic/backport-5.10/713-v5.15-net-phy-marvell-add-SFP-support-for-88E1510.patch +++ b/target/linux/generic/backport-5.10/713-v5.15-net-phy-marvell-add-SFP-support-for-88E1510.patch @@ -49,7 +49,7 @@ Signed-off-by: Jakub Kicinski #define MII_88E1510_GEN_CTRL_REG_1_RESET 0x8000 /* Soft reset */ #define MII_VCT5_TX_RX_MDI0_COUPLING 0x10 -@@ -2504,6 +2513,100 @@ static int marvell_probe(struct phy_devi +@@ -2505,6 +2514,100 @@ static int marvell_probe(struct phy_devi return marvell_hwmon_probe(phydev); } @@ -150,7 +150,7 @@ Signed-off-by: Jakub Kicinski static struct phy_driver marvell_drivers[] = { { .phy_id = MARVELL_PHY_ID_88E1101, -@@ -2710,7 +2813,7 @@ static struct phy_driver marvell_drivers +@@ -2711,7 +2814,7 @@ static struct phy_driver marvell_drivers .driver_data = DEF_MARVELL_HWMON_OPS(m88e1510_hwmon_ops), .features = PHY_GBIT_FIBRE_FEATURES, .flags = PHY_POLL_CABLE_TEST, diff --git a/target/linux/generic/pending-5.10/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch b/target/linux/generic/pending-5.10/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch index 99f42ff212..9247401140 100644 --- a/target/linux/generic/pending-5.10/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch +++ b/target/linux/generic/pending-5.10/768-net-dsa-mv88e6xxx-Request-assisted-learning-on-CPU-port.patch @@ -17,7 +17,7 @@ Signed-off-by: Tobias Waldekranz --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -5431,6 +5431,7 @@ static int mv88e6xxx_register_switch(str +@@ -5436,6 +5436,7 @@ static int mv88e6xxx_register_switch(str ds->ops = &mv88e6xxx_switch_ops; ds->ageing_time_min = chip->info->age_time_coeff; ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX; diff --git a/target/linux/generic/pending-5.10/841-USB-serial-option-add-ZTE-MF286D-modem.patch b/target/linux/generic/pending-5.10/841-USB-serial-option-add-ZTE-MF286D-modem.patch deleted file mode 100644 index bdd2c31b41..0000000000 --- a/target/linux/generic/pending-5.10/841-USB-serial-option-add-ZTE-MF286D-modem.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 67ae6887854e4b6e736c34d4fd7087540ed31d4e Mon Sep 17 00:00:00 2001 -From: Pawel Dembicki -Date: Tue, 11 Jan 2022 21:59:50 +0100 -Subject: [PATCH] USB: serial: option: add ZTE MF286D modem - -Modem from ZTE MF286D is an Qualcomm MDM9250 based 3G/4G modem. - -T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=5000 MxCh= 0 -D: Ver= 3.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs= 1 -P: Vendor=19d2 ProdID=1485 Rev=52.87 -S: Manufacturer=ZTE,Incorporated -S: Product=ZTE Technologies MSM -S: SerialNumber=MF286DZTED000000 -C:* #Ifs= 7 Cfg#= 1 Atr=80 MxPwr=896mA -A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=06 Prot=00 -I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=ff Driver=rndis_host -E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=32ms -I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=rndis_host -E: Ad=81(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms -I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option -E: Ad=83(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=02(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms -I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option -E: Ad=85(I) Atr=03(Int.) MxPS= 10 Ivl=32ms -E: Ad=84(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=03(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms -I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option -E: Ad=87(I) Atr=03(Int.) MxPS= 10 Ivl=32ms -E: Ad=86(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=04(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms -I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan -E: Ad=88(I) Atr=03(Int.) MxPS= 8 Ivl=32ms -E: Ad=8e(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=0f(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms -I:* If#= 6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=usbfs -E: Ad=05(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms -E: Ad=89(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms - -Signed-off-by: Pawel Dembicki - -https://lore.kernel.org/linux-usb/20220111221205.14662-1-paweldembicki@gmail.com/ ---- - drivers/usb/serial/option.c | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/drivers/usb/serial/option.c -+++ b/drivers/usb/serial/option.c -@@ -1649,6 +1649,8 @@ static const struct usb_device_id option - .driver_info = RSVD(2) }, - { USB_DEVICE_INTERFACE_CLASS(ZTE_VENDOR_ID, 0x1476, 0xff) }, /* GosunCn ZTE WeLink ME3630 (ECM/NCM mode) */ - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1481, 0xff, 0x00, 0x00) }, /* ZTE MF871A */ -+ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1485, 0xff, 0xff, 0xff), /* ZTE MF286D */ -+ .driver_info = RSVD(5) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1533, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1534, 0xff, 0xff, 0xff) }, - { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1535, 0xff, 0xff, 0xff) }, diff --git a/target/linux/ipq40xx/patches-5.10/901-arm-boot-add-dts-files.patch b/target/linux/ipq40xx/patches-5.10/901-arm-boot-add-dts-files.patch index c8229f28d7..2d24d59444 100644 --- a/target/linux/ipq40xx/patches-5.10/901-arm-boot-add-dts-files.patch +++ b/target/linux/ipq40xx/patches-5.10/901-arm-boot-add-dts-files.patch @@ -10,7 +10,7 @@ Signed-off-by: John Crispin --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -902,11 +902,74 @@ dtb-$(CONFIG_ARCH_QCOM) += \ +@@ -903,11 +903,74 @@ dtb-$(CONFIG_ARCH_QCOM) += \ qcom-apq8074-dragonboard.dtb \ qcom-apq8084-ifc6540.dtb \ qcom-apq8084-mtp.dtb \ diff --git a/target/linux/ipq806x/patches-5.10/0069-arm-boot-add-dts-files.patch b/target/linux/ipq806x/patches-5.10/0069-arm-boot-add-dts-files.patch index 49ff218040..275b960c18 100644 --- a/target/linux/ipq806x/patches-5.10/0069-arm-boot-add-dts-files.patch +++ b/target/linux/ipq806x/patches-5.10/0069-arm-boot-add-dts-files.patch @@ -10,7 +10,7 @@ Signed-off-by: John Crispin --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -907,8 +907,29 @@ dtb-$(CONFIG_ARCH_QCOM) += \ +@@ -908,8 +908,29 @@ dtb-$(CONFIG_ARCH_QCOM) += \ qcom-ipq4019-ap.dk04.1-c3.dtb \ qcom-ipq4019-ap.dk07.1-c1.dtb \ qcom-ipq4019-ap.dk07.1-c2.dtb \ diff --git a/target/linux/lantiq/patches-5.10/0703-net-lantiq-enable-jumbo-frames-on-GSWIP.patch b/target/linux/lantiq/patches-5.10/0703-net-lantiq-enable-jumbo-frames-on-GSWIP.patch index 9ff0baed43..6593e43db7 100644 --- a/target/linux/lantiq/patches-5.10/0703-net-lantiq-enable-jumbo-frames-on-GSWIP.patch +++ b/target/linux/lantiq/patches-5.10/0703-net-lantiq-enable-jumbo-frames-on-GSWIP.patch @@ -30,7 +30,7 @@ Signed-off-by: Thomas Nixon struct gswip_hw_info { int max_ports; int cpu_port; -@@ -851,10 +856,6 @@ static int gswip_setup(struct dsa_switch +@@ -856,10 +861,6 @@ static int gswip_setup(struct dsa_switch gswip_switch_mask(priv, 0, GSWIP_PCE_PCTRL_0_INGRESS, GSWIP_PCE_PCTRL_0p(cpu_port)); @@ -41,7 +41,7 @@ Signed-off-by: Thomas Nixon gswip_switch_mask(priv, 0, GSWIP_BM_QUEUE_GCTRL_GL_MOD, GSWIP_BM_QUEUE_GCTRL); -@@ -871,6 +872,8 @@ static int gswip_setup(struct dsa_switch +@@ -876,6 +877,8 @@ static int gswip_setup(struct dsa_switch return err; } @@ -50,7 +50,7 @@ Signed-off-by: Thomas Nixon gswip_port_enable(ds, cpu_port, NULL); return 0; } -@@ -1433,6 +1436,39 @@ static int gswip_port_fdb_dump(struct ds +@@ -1438,6 +1441,39 @@ static int gswip_port_fdb_dump(struct ds return 0; } @@ -90,7 +90,7 @@ Signed-off-by: Thomas Nixon static void gswip_phylink_validate(struct dsa_switch *ds, int port, unsigned long *supported, struct phylink_link_state *state) -@@ -1776,6 +1812,8 @@ static const struct dsa_switch_ops gswip +@@ -1781,6 +1817,8 @@ static const struct dsa_switch_ops gswip .port_fdb_add = gswip_port_fdb_add, .port_fdb_del = gswip_port_fdb_del, .port_fdb_dump = gswip_port_fdb_dump, diff --git a/target/linux/sunxi/patches-5.10/062-add-sun8i-h3-zeropi-support.patch b/target/linux/sunxi/patches-5.10/062-add-sun8i-h3-zeropi-support.patch index 893662b8e5..35e14aa4ef 100644 --- a/target/linux/sunxi/patches-5.10/062-add-sun8i-h3-zeropi-support.patch +++ b/target/linux/sunxi/patches-5.10/062-add-sun8i-h3-zeropi-support.patch @@ -1,6 +1,6 @@ --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -1202,6 +1202,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \ +@@ -1203,6 +1203,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \ sun8i-h3-orangepi-zero-plus2.dtb \ sun8i-h3-rervision-dvk.dtb \ sun8i-h3-emlid-neutis-n5h3-devboard.dtb \ diff --git a/target/linux/sunxi/patches-5.10/100-sunxi-h3-add-support-for-nanopi-r1.patch b/target/linux/sunxi/patches-5.10/100-sunxi-h3-add-support-for-nanopi-r1.patch index 5a80fb5f00..9a969d5e00 100644 --- a/target/linux/sunxi/patches-5.10/100-sunxi-h3-add-support-for-nanopi-r1.patch +++ b/target/linux/sunxi/patches-5.10/100-sunxi-h3-add-support-for-nanopi-r1.patch @@ -27,7 +27,7 @@ Signed-off-by: Jayantajit Gogoi - const: gemei,g9 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -1192,6 +1192,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \ +@@ -1193,6 +1193,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \ sun8i-h3-nanopi-m1-plus.dtb \ sun8i-h3-nanopi-neo.dtb \ sun8i-h3-nanopi-neo-air.dtb \ From 0989b7ad3a38345bc09a535782884d78ec195c9d Mon Sep 17 00:00:00 2001 From: John Audia Date: Wed, 23 Feb 2022 06:58:46 -0500 Subject: [PATCH 04/36] kernel: bump 5.10 to 5.10.102 Removed upstreamed: bcm4908/patches-5.10/180-i2c-brcmstb-fix-support-for-DSL-and-CM-variants.patch[1] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.102&id=f333c1916fd6b55900029bf8f918cc00009e2111 Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia --- include/kernel-5.10 | 4 +- .../910-unaligned_access_hacks.patch | 10 ++--- .../patches-5.10/920-mikrotik-rb4xx.patch | 2 +- .../patches-5.10/939-mikrotik-rb91x.patch | 4 +- ...ce-quirks-for-Freeway-Airmouse-T3-an.patch | 2 +- .../950-0348-gpio-Add-gpio-fsm-driver.patch | 2 +- ...usb-improve-getting-OF-matching-data.patch | 4 +- ...-specify-init-function-format-at-str.patch | 6 +-- ...-brcm-usb-support-PHY-on-the-BCM4908.patch | 2 +- ...-fix-support-for-DSL-and-CM-variants.patch | 30 --------------- ...ng-with-source-address-failed-policy.patch | 2 +- ...d-knob-for-filtering-rx-tx-BPDU-pack.patch | 2 +- ...pio-cascade-add-generic-GPIO-cascade.patch | 18 ++------- .../pending-5.10/834-ledtrig-libata.patch | 8 ++-- ...m_nandc-add-boot_layout_mode-support.patch | 38 +++++++++---------- .../oxnas/patches-5.10/999-libata-hacks.patch | 4 +- ...alink-add-gpio-driver-for-ralink-SoC.patch | 2 +- ...3-gpio-add-realtek-otto-gpio-support.patch | 2 +- .../301-gpio-add-rtl8231-driver.patch | 2 +- 19 files changed, 52 insertions(+), 92 deletions(-) delete mode 100644 target/linux/bcm4908/patches-5.10/180-i2c-brcmstb-fix-support-for-DSL-and-CM-variants.patch diff --git a/include/kernel-5.10 b/include/kernel-5.10 index 47c2fd41f5..0522a1432f 100644 --- a/include/kernel-5.10 +++ b/include/kernel-5.10 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.10 = .101 -LINUX_KERNEL_HASH-5.10.101 = 0749258cb7ee47c478dfc34857e8930d41bfe0b074e80e9f57cbfa56d0ba1c8e +LINUX_VERSION-5.10 = .102 +LINUX_KERNEL_HASH-5.10.102 = e6414895b1c2e406a41a8744160e2b4ef2095e6cebe5363be460d1b198f0e379 diff --git a/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch index e0bd900479..cee1db1545 100644 --- a/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch @@ -579,7 +579,7 @@ #define IP6_MF 0x0001 #define IP6_OFFSET 0xFFF8 -@@ -557,8 +557,8 @@ static inline void __ipv6_addr_set_half( +@@ -560,8 +560,8 @@ static inline void __ipv6_addr_set_half( } #endif #endif @@ -590,7 +590,7 @@ } static inline void ipv6_addr_set(struct in6_addr *addr, -@@ -617,6 +617,8 @@ static inline bool ipv6_prefix_equal(con +@@ -620,6 +620,8 @@ static inline bool ipv6_prefix_equal(con const __be32 *a1 = addr1->s6_addr32; const __be32 *a2 = addr2->s6_addr32; unsigned int pdw, pbi; @@ -599,7 +599,7 @@ /* check complete u32 in prefix */ pdw = prefixlen >> 5; -@@ -625,7 +627,9 @@ static inline bool ipv6_prefix_equal(con +@@ -628,7 +630,9 @@ static inline bool ipv6_prefix_equal(con /* check incomplete u32 in prefix */ pbi = prefixlen & 0x1f; @@ -610,7 +610,7 @@ return false; return true; -@@ -746,13 +750,13 @@ static inline void ipv6_addr_set_v4mappe +@@ -749,13 +753,13 @@ static inline void ipv6_addr_set_v4mappe */ static inline int __ipv6_addr_diff32(const void *token1, const void *token2, int addrlen) { @@ -626,7 +626,7 @@ if (xb) return i * 32 + 31 - __fls(ntohl(xb)); } -@@ -938,17 +942,18 @@ static inline int ip6_multipath_hash_pol +@@ -941,17 +945,18 @@ static inline int ip6_multipath_hash_pol static inline void ip6_flow_hdr(struct ipv6hdr *hdr, unsigned int tclass, __be32 flowlabel) { diff --git a/target/linux/ath79/patches-5.10/920-mikrotik-rb4xx.patch b/target/linux/ath79/patches-5.10/920-mikrotik-rb4xx.patch index 3129fac3ab..4ed13deb5c 100644 --- a/target/linux/ath79/patches-5.10/920-mikrotik-rb4xx.patch +++ b/target/linux/ath79/patches-5.10/920-mikrotik-rb4xx.patch @@ -42,7 +42,7 @@ menu "SPI GPIO expanders" --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile -@@ -120,6 +120,7 @@ obj-$(CONFIG_GPIO_PL061) += gpio-pl061. +@@ -121,6 +121,7 @@ obj-$(CONFIG_GPIO_PL061) += gpio-pl061. obj-$(CONFIG_GPIO_PMIC_EIC_SPRD) += gpio-pmic-eic-sprd.o obj-$(CONFIG_GPIO_PXA) += gpio-pxa.o obj-$(CONFIG_GPIO_RASPBERRYPI_EXP) += gpio-raspberrypi-exp.o diff --git a/target/linux/ath79/patches-5.10/939-mikrotik-rb91x.patch b/target/linux/ath79/patches-5.10/939-mikrotik-rb91x.patch index 4f4344b40f..4cf6bb08df 100644 --- a/target/linux/ath79/patches-5.10/939-mikrotik-rb91x.patch +++ b/target/linux/ath79/patches-5.10/939-mikrotik-rb91x.patch @@ -27,7 +27,7 @@ depends on MFD_SYSCON --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile -@@ -72,6 +72,7 @@ obj-$(CONFIG_GPIO_IT87) += gpio-it87.o +@@ -73,6 +73,7 @@ obj-$(CONFIG_GPIO_IT87) += gpio-it87.o obj-$(CONFIG_GPIO_IXP4XX) += gpio-ixp4xx.o obj-$(CONFIG_GPIO_JANZ_TTL) += gpio-janz-ttl.o obj-$(CONFIG_GPIO_KEMPLD) += gpio-kempld.o @@ -35,7 +35,7 @@ obj-$(CONFIG_GPIO_LOGICVC) += gpio-logicvc.o obj-$(CONFIG_GPIO_LOONGSON1) += gpio-loongson1.o obj-$(CONFIG_GPIO_LOONGSON) += gpio-loongson.o -@@ -121,6 +122,7 @@ obj-$(CONFIG_GPIO_PMIC_EIC_SPRD) += gpio +@@ -122,6 +123,7 @@ obj-$(CONFIG_GPIO_PMIC_EIC_SPRD) += gpio obj-$(CONFIG_GPIO_PXA) += gpio-pxa.o obj-$(CONFIG_GPIO_RASPBERRYPI_EXP) += gpio-raspberrypi-exp.o obj-$(CONFIG_GPIO_RB4XX) += gpio-rb4xx.o diff --git a/target/linux/bcm27xx/patches-5.10/950-0151-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch b/target/linux/bcm27xx/patches-5.10/950-0151-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch index fa76e0a822..26ced7adfe 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0151-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0151-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch @@ -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 }, -@@ -194,6 +195,7 @@ static const struct hid_device_id hid_qu +@@ -195,6 +196,7 @@ static const struct hid_device_id hid_qu { 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 }, { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_GROUP_AUDIO), HID_QUIRK_NOGET }, diff --git a/target/linux/bcm27xx/patches-5.10/950-0348-gpio-Add-gpio-fsm-driver.patch b/target/linux/bcm27xx/patches-5.10/950-0348-gpio-Add-gpio-fsm-driver.patch index 9d2e2f87c6..2fdef53ea7 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0348-gpio-Add-gpio-fsm-driver.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0348-gpio-Add-gpio-fsm-driver.patch @@ -42,7 +42,7 @@ Signed-off-by: Phil Elwell depends on MFD_JANZ_CMODIO --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile -@@ -60,6 +60,7 @@ obj-$(CONFIG_GPIO_EP93XX) += gpio-ep93x +@@ -61,6 +61,7 @@ obj-$(CONFIG_GPIO_EP93XX) += gpio-ep93x obj-$(CONFIG_GPIO_EXAR) += gpio-exar.o obj-$(CONFIG_GPIO_F7188X) += gpio-f7188x.o obj-$(CONFIG_GPIO_FTGPIO010) += gpio-ftgpio010.o diff --git a/target/linux/bcm4908/patches-5.10/086-v5.12-0001-phy-phy-brcm-usb-improve-getting-OF-matching-data.patch b/target/linux/bcm4908/patches-5.10/086-v5.12-0001-phy-phy-brcm-usb-improve-getting-OF-matching-data.patch index cc71373165..ec9b1fea3d 100644 --- a/target/linux/bcm4908/patches-5.10/086-v5.12-0001-phy-phy-brcm-usb-improve-getting-OF-matching-data.patch +++ b/target/linux/bcm4908/patches-5.10/086-v5.12-0001-phy-phy-brcm-usb-improve-getting-OF-matching-data.patch @@ -27,7 +27,7 @@ Signed-off-by: Vinod Koul #include #include #include -@@ -427,7 +428,6 @@ static int brcm_usb_phy_probe(struct pla +@@ -457,7 +458,6 @@ static int brcm_usb_phy_probe(struct pla struct device_node *dn = pdev->dev.of_node; int err; const char *mode; @@ -35,7 +35,7 @@ Signed-off-by: Vinod Koul void (*dvr_init)(struct brcm_usb_init_params *params); const struct match_chip_info *info; struct regmap *rmap; -@@ -441,8 +441,9 @@ static int brcm_usb_phy_probe(struct pla +@@ -471,8 +471,9 @@ static int brcm_usb_phy_probe(struct pla priv->ini.family_id = brcmstb_get_family_id(); priv->ini.product_id = brcmstb_get_product_id(); diff --git a/target/linux/bcm4908/patches-5.10/086-v5.12-0002-phy-phy-brcm-usb-specify-init-function-format-at-str.patch b/target/linux/bcm4908/patches-5.10/086-v5.12-0002-phy-phy-brcm-usb-specify-init-function-format-at-str.patch index bdc932732c..ffb064f95f 100644 --- a/target/linux/bcm4908/patches-5.10/086-v5.12-0002-phy-phy-brcm-usb-specify-init-function-format-at-str.patch +++ b/target/linux/bcm4908/patches-5.10/086-v5.12-0002-phy-phy-brcm-usb-specify-init-function-format-at-str.patch @@ -20,7 +20,7 @@ Signed-off-by: Vinod Koul --- a/drivers/phy/broadcom/phy-brcm-usb.c +++ b/drivers/phy/broadcom/phy-brcm-usb.c -@@ -35,7 +35,7 @@ struct value_to_name_map { +@@ -36,7 +36,7 @@ struct value_to_name_map { }; struct match_chip_info { @@ -29,7 +29,7 @@ Signed-off-by: Vinod Koul u8 required_regs[BRCM_REGS_MAX + 1]; u8 optional_reg; }; -@@ -428,7 +428,6 @@ static int brcm_usb_phy_probe(struct pla +@@ -458,7 +458,6 @@ static int brcm_usb_phy_probe(struct pla struct device_node *dn = pdev->dev.of_node; int err; const char *mode; @@ -37,7 +37,7 @@ Signed-off-by: Vinod Koul const struct match_chip_info *info; struct regmap *rmap; int x; -@@ -444,8 +443,8 @@ static int brcm_usb_phy_probe(struct pla +@@ -474,8 +473,8 @@ static int brcm_usb_phy_probe(struct pla info = of_device_get_match_data(&pdev->dev); if (!info) return -ENOENT; diff --git a/target/linux/bcm4908/patches-5.10/086-v5.12-0005-phy-phy-brcm-usb-support-PHY-on-the-BCM4908.patch b/target/linux/bcm4908/patches-5.10/086-v5.12-0005-phy-phy-brcm-usb-support-PHY-on-the-BCM4908.patch index a2cea0f138..362738c802 100644 --- a/target/linux/bcm4908/patches-5.10/086-v5.12-0005-phy-phy-brcm-usb-support-PHY-on-the-BCM4908.patch +++ b/target/linux/bcm4908/patches-5.10/086-v5.12-0005-phy-phy-brcm-usb-support-PHY-on-the-BCM4908.patch @@ -35,7 +35,7 @@ Signed-off-by: Vinod Koul Enable this to support the Broadcom STB USB PHY. --- a/drivers/phy/broadcom/phy-brcm-usb.c +++ b/drivers/phy/broadcom/phy-brcm-usb.c -@@ -287,6 +287,10 @@ static const struct match_chip_info chip +@@ -317,6 +317,10 @@ static const struct match_chip_info chip static const struct of_device_id brcm_usb_dt_ids[] = { { diff --git a/target/linux/bcm4908/patches-5.10/180-i2c-brcmstb-fix-support-for-DSL-and-CM-variants.patch b/target/linux/bcm4908/patches-5.10/180-i2c-brcmstb-fix-support-for-DSL-and-CM-variants.patch deleted file mode 100644 index 4efe4fa1cf..0000000000 --- a/target/linux/bcm4908/patches-5.10/180-i2c-brcmstb-fix-support-for-DSL-and-CM-variants.patch +++ /dev/null @@ -1,30 +0,0 @@ -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= -Date: Tue, 15 Feb 2022 08:27:35 +0100 -Subject: [PATCH] i2c: brcmstb: fix support for DSL and CM variants -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -DSL and CM (Cable Modem) support 8 B max transfer size and have a custom -DT binding for that reason. This driver was checking for a wrong -"compatible" however which resulted in an incorrect setup. - -Fixes: e2e5a2c61837 ("i2c: brcmstb: Adding support for CM and DSL SoCs") -Cc: Kamal Dasu -Signed-off-by: Rafał Miłecki -Acked-by: Florian Fainelli ---- - drivers/i2c/busses/i2c-brcmstb.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/i2c/busses/i2c-brcmstb.c -+++ b/drivers/i2c/busses/i2c-brcmstb.c -@@ -674,7 +674,7 @@ static int brcmstb_i2c_probe(struct plat - - /* set the data in/out register size for compatible SoCs */ - if (of_device_is_compatible(dev->device->of_node, -- "brcmstb,brcmper-i2c")) -+ "brcm,brcmper-i2c")) - dev->data_regsz = sizeof(u8); - else - dev->data_regsz = sizeof(u32); diff --git a/target/linux/generic/pending-5.10/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-5.10/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index 68edf37bf7..d85735531b 100644 --- a/target/linux/generic/pending-5.10/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/pending-5.10/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -20,7 +20,7 @@ Signed-off-by: Jonas Gorski --- a/include/net/netns/ipv6.h +++ b/include/net/netns/ipv6.h -@@ -87,6 +87,7 @@ struct netns_ipv6 { +@@ -88,6 +88,7 @@ struct netns_ipv6 { unsigned int fib6_routes_require_src; #endif struct rt6_info *ip6_prohibit_entry; diff --git a/target/linux/generic/pending-5.10/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch b/target/linux/generic/pending-5.10/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch index 0f1df84b30..ecd6e9e7a2 100644 --- a/target/linux/generic/pending-5.10/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch +++ b/target/linux/generic/pending-5.10/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch @@ -164,7 +164,7 @@ Signed-off-by: Felix Fietkau struct rtnl_link { rtnl_doit_func doit; -@@ -4682,7 +4682,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu +@@ -4684,7 +4684,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu brport_nla_put_flag(skb, flags, mask, IFLA_BRPORT_MCAST_FLOOD, BR_MCAST_FLOOD) || brport_nla_put_flag(skb, flags, mask, diff --git a/target/linux/generic/pending-5.10/801-gpio-gpio-cascade-add-generic-GPIO-cascade.patch b/target/linux/generic/pending-5.10/801-gpio-gpio-cascade-add-generic-GPIO-cascade.patch index 8d3b3cf962..af44ff24ac 100644 --- a/target/linux/generic/pending-5.10/801-gpio-gpio-cascade-add-generic-GPIO-cascade.patch +++ b/target/linux/generic/pending-5.10/801-gpio-gpio-cascade-add-generic-GPIO-cascade.patch @@ -68,13 +68,11 @@ v1 -> v2: 3 files changed, 133 insertions(+) create mode 100644 drivers/gpio/gpio-cascade.c -diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig -index 37a6f77c86fe..e69457144459 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig -@@ -1694,4 +1694,19 @@ config GPIO_VIRTIO - - endmenu +@@ -1617,4 +1617,19 @@ config GPIO_MOCKUP + tools/testing/selftests/gpio/gpio-mockup.sh. Reference the usage in + it. +comment "Other GPIO expanders" + @@ -92,11 +90,9 @@ index 37a6f77c86fe..e69457144459 100644 + will be called 'gpio-cascade'. + endif -diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile -index 71ee9fc2ff83..e8945456e7ea 100644 --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile -@@ -45,6 +45,7 @@ obj-$(CONFIG_GPIO_BD9571MWV) += gpio-bd9571mwv.o +@@ -44,6 +44,7 @@ obj-$(CONFIG_GPIO_BD9571MWV) += gpio-bd obj-$(CONFIG_GPIO_BRCMSTB) += gpio-brcmstb.o obj-$(CONFIG_GPIO_BT8XX) += gpio-bt8xx.o obj-$(CONFIG_GPIO_CADENCE) += gpio-cadence.o @@ -104,9 +100,6 @@ index 71ee9fc2ff83..e8945456e7ea 100644 obj-$(CONFIG_GPIO_CLPS711X) += gpio-clps711x.o obj-$(CONFIG_GPIO_SNPS_CREG) += gpio-creg-snps.o obj-$(CONFIG_GPIO_CRYSTAL_COVE) += gpio-crystalcove.o -diff --git a/drivers/gpio/gpio-cascade.c b/drivers/gpio/gpio-cascade.c -new file mode 100644 -index 000000000000..5cbda882d79a --- /dev/null +++ b/drivers/gpio/gpio-cascade.c @@ -0,0 +1,117 @@ @@ -227,6 +220,3 @@ index 000000000000..5cbda882d79a +MODULE_AUTHOR("Mauri Sandberg "); +MODULE_DESCRIPTION("Generic GPIO cascade"); +MODULE_LICENSE("GPL"); --- -2.25.1 - diff --git a/target/linux/generic/pending-5.10/834-ledtrig-libata.patch b/target/linux/generic/pending-5.10/834-ledtrig-libata.patch index e43a97bfe8..25cffb1444 100644 --- a/target/linux/generic/pending-5.10/834-ledtrig-libata.patch +++ b/target/linux/generic/pending-5.10/834-ledtrig-libata.patch @@ -65,7 +65,7 @@ Signed-off-by: Daniel Golle /** * ata_build_rw_tf - Build ATA taskfile for given read/write request * @tf: Target ATA taskfile -@@ -4547,6 +4560,9 @@ struct ata_queued_cmd *ata_qc_new_init(s +@@ -4548,6 +4561,9 @@ struct ata_queued_cmd *ata_qc_new_init(s if (tag < 0) return NULL; } @@ -75,7 +75,7 @@ Signed-off-by: Daniel Golle qc = __ata_qc_from_tag(ap, tag); qc->tag = qc->hw_tag = tag; -@@ -5325,6 +5341,9 @@ struct ata_port *ata_port_alloc(struct a +@@ -5326,6 +5342,9 @@ struct ata_port *ata_port_alloc(struct a ap->stats.unhandled_irq = 1; ap->stats.idle_irq = 1; #endif @@ -85,7 +85,7 @@ Signed-off-by: Daniel Golle ata_sff_port_init(ap); return ap; -@@ -5360,6 +5379,12 @@ static void ata_host_release(struct kref +@@ -5361,6 +5380,12 @@ static void ata_host_release(struct kref kfree(ap->pmp_link); kfree(ap->slave_link); @@ -98,7 +98,7 @@ Signed-off-by: Daniel Golle kfree(ap); host->ports[i] = NULL; } -@@ -5766,7 +5791,23 @@ int ata_host_register(struct ata_host *h +@@ -5767,7 +5792,23 @@ int ata_host_register(struct ata_host *h host->ports[i]->print_id = atomic_inc_return(&ata_print_id); host->ports[i]->local_port_no = i + 1; } diff --git a/target/linux/ipq806x/patches-5.10/099-1-mtd-nand-raw-qcom_nandc-add-boot_layout_mode-support.patch b/target/linux/ipq806x/patches-5.10/099-1-mtd-nand-raw-qcom_nandc-add-boot_layout_mode-support.patch index 6106dfb8dc..37501bc64b 100644 --- a/target/linux/ipq806x/patches-5.10/099-1-mtd-nand-raw-qcom_nandc-add-boot_layout_mode-support.patch +++ b/target/linux/ipq806x/patches-5.10/099-1-mtd-nand-raw-qcom_nandc-add-boot_layout_mode-support.patch @@ -16,7 +16,7 @@ Signed-off-by: Ansuel Smith --- a/drivers/mtd/nand/raw/qcom_nandc.c +++ b/drivers/mtd/nand/raw/qcom_nandc.c -@@ -159,6 +159,11 @@ +@@ -158,6 +158,11 @@ /* NAND_CTRL bits */ #define BAM_MODE_EN BIT(0) @@ -28,7 +28,7 @@ Signed-off-by: Ansuel Smith /* * the NAND controller performs reads/writes with ECC in 516 byte chunks. * the driver calls the chunks 'step' or 'codeword' interchangeably -@@ -430,6 +435,13 @@ struct qcom_nand_controller { +@@ -429,6 +434,13 @@ struct qcom_nand_controller { * @cfg0, cfg1, cfg0_raw..: NANDc register configurations needed for * ecc/non-ecc mode for the current nand flash * device @@ -42,7 +42,7 @@ Signed-off-by: Ansuel Smith */ struct qcom_nand_host { struct nand_chip chip; -@@ -452,6 +464,9 @@ struct qcom_nand_host { +@@ -451,6 +463,9 @@ struct qcom_nand_host { u32 ecc_bch_cfg; u32 clrflashstatus; u32 clrreadstatus; @@ -52,7 +52,7 @@ Signed-off-by: Ansuel Smith }; /* -@@ -460,12 +475,14 @@ struct qcom_nand_host { +@@ -459,12 +474,14 @@ struct qcom_nand_host { * @ecc_modes - ecc mode for NAND * @is_bam - whether NAND controller is using BAM * @is_qpic - whether NAND CTRL is part of qpic IP @@ -67,7 +67,7 @@ Signed-off-by: Ansuel Smith u32 dev_cmd_reg_start; }; -@@ -1604,7 +1621,7 @@ qcom_nandc_read_cw_raw(struct mtd_info * +@@ -1603,7 +1620,7 @@ qcom_nandc_read_cw_raw(struct mtd_info * data_size1 = mtd->writesize - host->cw_size * (ecc->steps - 1); oob_size1 = host->bbm_size; @@ -76,7 +76,7 @@ Signed-off-by: Ansuel Smith data_size2 = ecc->size - data_size1 - ((ecc->steps - 1) * 4); oob_size2 = (ecc->steps * 4) + host->ecc_bytes_hw + -@@ -1685,7 +1702,7 @@ check_for_erased_page(struct qcom_nand_h +@@ -1684,7 +1701,7 @@ check_for_erased_page(struct qcom_nand_h } for_each_set_bit(cw, &uncorrectable_cws, ecc->steps) { @@ -85,7 +85,7 @@ Signed-off-by: Ansuel Smith data_size = ecc->size - ((ecc->steps - 1) * 4); oob_size = (ecc->steps * 4) + host->ecc_bytes_hw; } else { -@@ -1844,7 +1861,7 @@ static int read_page_ecc(struct qcom_nan +@@ -1843,7 +1860,7 @@ static int read_page_ecc(struct qcom_nan for (i = 0; i < ecc->steps; i++) { int data_size, oob_size; @@ -94,7 +94,7 @@ Signed-off-by: Ansuel Smith data_size = ecc->size - ((ecc->steps - 1) << 2); oob_size = (ecc->steps << 2) + host->ecc_bytes_hw + host->spare_bytes; -@@ -1941,6 +1958,30 @@ static int copy_last_cw(struct qcom_nand +@@ -1940,6 +1957,30 @@ static int copy_last_cw(struct qcom_nand return ret; } @@ -125,7 +125,7 @@ Signed-off-by: Ansuel Smith /* implements ecc->read_page() */ static int qcom_nandc_read_page(struct nand_chip *chip, uint8_t *buf, int oob_required, int page) -@@ -1949,6 +1990,9 @@ static int qcom_nandc_read_page(struct n +@@ -1948,6 +1989,9 @@ static int qcom_nandc_read_page(struct n struct qcom_nand_controller *nandc = get_qcom_nand_controller(chip); u8 *data_buf, *oob_buf = NULL; @@ -135,7 +135,7 @@ Signed-off-by: Ansuel Smith nand_read_page_op(chip, page, 0, NULL, 0); data_buf = buf; oob_buf = oob_required ? chip->oob_poi : NULL; -@@ -1968,6 +2012,9 @@ static int qcom_nandc_read_page_raw(stru +@@ -1967,6 +2011,9 @@ static int qcom_nandc_read_page_raw(stru int cw, ret; u8 *data_buf = buf, *oob_buf = chip->oob_poi; @@ -145,7 +145,7 @@ Signed-off-by: Ansuel Smith for (cw = 0; cw < ecc->steps; cw++) { ret = qcom_nandc_read_cw_raw(mtd, chip, data_buf, oob_buf, page, cw); -@@ -1988,6 +2035,9 @@ static int qcom_nandc_read_oob(struct na +@@ -1987,6 +2034,9 @@ static int qcom_nandc_read_oob(struct na struct qcom_nand_controller *nandc = get_qcom_nand_controller(chip); struct nand_ecc_ctrl *ecc = &chip->ecc; @@ -155,7 +155,7 @@ Signed-off-by: Ansuel Smith clear_read_regs(nandc); clear_bam_transaction(nandc); -@@ -2008,6 +2058,9 @@ static int qcom_nandc_write_page(struct +@@ -2007,6 +2057,9 @@ static int qcom_nandc_write_page(struct u8 *data_buf, *oob_buf; int i, ret; @@ -165,7 +165,7 @@ Signed-off-by: Ansuel Smith nand_prog_page_begin_op(chip, page, 0, NULL, 0); clear_read_regs(nandc); -@@ -2023,7 +2076,7 @@ static int qcom_nandc_write_page(struct +@@ -2022,7 +2075,7 @@ static int qcom_nandc_write_page(struct for (i = 0; i < ecc->steps; i++) { int data_size, oob_size; @@ -174,7 +174,7 @@ Signed-off-by: Ansuel Smith data_size = ecc->size - ((ecc->steps - 1) << 2); oob_size = (ecc->steps << 2) + host->ecc_bytes_hw + host->spare_bytes; -@@ -2080,6 +2133,9 @@ static int qcom_nandc_write_page_raw(str +@@ -2079,6 +2132,9 @@ static int qcom_nandc_write_page_raw(str u8 *data_buf, *oob_buf; int i, ret; @@ -184,7 +184,7 @@ Signed-off-by: Ansuel Smith nand_prog_page_begin_op(chip, page, 0, NULL, 0); clear_read_regs(nandc); clear_bam_transaction(nandc); -@@ -2098,7 +2154,7 @@ static int qcom_nandc_write_page_raw(str +@@ -2097,7 +2153,7 @@ static int qcom_nandc_write_page_raw(str data_size1 = mtd->writesize - host->cw_size * (ecc->steps - 1); oob_size1 = host->bbm_size; @@ -193,7 +193,7 @@ Signed-off-by: Ansuel Smith data_size2 = ecc->size - data_size1 - ((ecc->steps - 1) << 2); oob_size2 = (ecc->steps << 2) + host->ecc_bytes_hw + -@@ -2158,6 +2214,9 @@ static int qcom_nandc_write_oob(struct n +@@ -2157,6 +2213,9 @@ static int qcom_nandc_write_oob(struct n int data_size, oob_size; int ret; @@ -203,7 +203,7 @@ Signed-off-by: Ansuel Smith host->use_ecc = true; clear_bam_transaction(nandc); -@@ -2806,6 +2865,7 @@ static int qcom_nand_host_init_and_regis +@@ -2805,6 +2864,7 @@ static int qcom_nand_host_init_and_regis struct nand_chip *chip = &host->chip; struct mtd_info *mtd = nand_to_mtd(chip); struct device *dev = nandc->dev; @@ -211,7 +211,7 @@ Signed-off-by: Ansuel Smith int ret; ret = of_property_read_u32(dn, "reg", &host->cs); -@@ -2866,6 +2926,17 @@ static int qcom_nand_host_init_and_regis +@@ -2865,6 +2925,17 @@ static int qcom_nand_host_init_and_regis if (ret) nand_cleanup(chip); @@ -229,7 +229,7 @@ Signed-off-by: Ansuel Smith return ret; } -@@ -3032,6 +3103,7 @@ static int qcom_nandc_remove(struct plat +@@ -3030,6 +3101,7 @@ static int qcom_nandc_remove(struct plat static const struct qcom_nandc_props ipq806x_nandc_props = { .ecc_modes = (ECC_RS_4BIT | ECC_BCH_8BIT), .is_bam = false, diff --git a/target/linux/oxnas/patches-5.10/999-libata-hacks.patch b/target/linux/oxnas/patches-5.10/999-libata-hacks.patch index 61c0c045a6..84d418887c 100644 --- a/target/linux/oxnas/patches-5.10/999-libata-hacks.patch +++ b/target/linux/oxnas/patches-5.10/999-libata-hacks.patch @@ -15,7 +15,7 @@ /* initialize internal qc */ qc = __ata_qc_from_tag(ap, ATA_TAG_INTERNAL); -@@ -4554,6 +4562,9 @@ struct ata_queued_cmd *ata_qc_new_init(s +@@ -4555,6 +4563,9 @@ struct ata_queued_cmd *ata_qc_new_init(s if (unlikely(ap->pflags & ATA_PFLAG_FROZEN)) return NULL; @@ -25,7 +25,7 @@ /* libsas case */ if (ap->flags & ATA_FLAG_SAS_HOST) { tag = ata_sas_allocate_tag(ap); -@@ -4599,6 +4610,8 @@ void ata_qc_free(struct ata_queued_cmd * +@@ -4600,6 +4611,8 @@ void ata_qc_free(struct ata_queued_cmd * qc->tag = ATA_TAG_POISON; if (ap->flags & ATA_FLAG_SAS_HOST) ata_sas_free_tag(tag, ap); diff --git a/target/linux/ramips/patches-5.10/802-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch b/target/linux/ramips/patches-5.10/802-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch index c173336924..52d40215f2 100644 --- a/target/linux/ramips/patches-5.10/802-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch +++ b/target/linux/ramips/patches-5.10/802-GPIO-MIPS-ralink-add-gpio-driver-for-ralink-SoC.patch @@ -62,7 +62,7 @@ Cc: linux-gpio@vger.kernel.org depends on PLAT_SPEAR --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile -@@ -119,6 +119,7 @@ obj-$(CONFIG_GPIO_PISOSR) += gpio-pisos +@@ -120,6 +120,7 @@ obj-$(CONFIG_GPIO_PISOSR) += gpio-pisos obj-$(CONFIG_GPIO_PL061) += gpio-pl061.o obj-$(CONFIG_GPIO_PMIC_EIC_SPRD) += gpio-pmic-eic-sprd.o obj-$(CONFIG_GPIO_PXA) += gpio-pxa.o diff --git a/target/linux/realtek/patches-5.10/002-5.13-gpio-add-realtek-otto-gpio-support.patch b/target/linux/realtek/patches-5.10/002-5.13-gpio-add-realtek-otto-gpio-support.patch index fc13824282..62e4338cbb 100644 --- a/target/linux/realtek/patches-5.10/002-5.13-gpio-add-realtek-otto-gpio-support.patch +++ b/target/linux/realtek/patches-5.10/002-5.13-gpio-add-realtek-otto-gpio-support.patch @@ -56,7 +56,7 @@ Signed-off-by: Bartosz Golaszewski help --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile -@@ -124,6 +124,7 @@ obj-$(CONFIG_GPIO_RC5T583) += gpio-rc5t +@@ -125,6 +125,7 @@ obj-$(CONFIG_GPIO_RC5T583) += gpio-rc5t obj-$(CONFIG_GPIO_RCAR) += gpio-rcar.o obj-$(CONFIG_GPIO_RDA) += gpio-rda.o obj-$(CONFIG_GPIO_RDC321X) += gpio-rdc321x.o diff --git a/target/linux/realtek/patches-5.10/301-gpio-add-rtl8231-driver.patch b/target/linux/realtek/patches-5.10/301-gpio-add-rtl8231-driver.patch index cdecb2a112..9175b55e8e 100644 --- a/target/linux/realtek/patches-5.10/301-gpio-add-rtl8231-driver.patch +++ b/target/linux/realtek/patches-5.10/301-gpio-add-rtl8231-driver.patch @@ -15,7 +15,7 @@ depends on MFD_SYSCON --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile -@@ -126,6 +126,7 @@ obj-$(CONFIG_GPIO_RDA) += gpio-rda.o +@@ -127,6 +127,7 @@ obj-$(CONFIG_GPIO_RDA) += gpio-rda.o obj-$(CONFIG_GPIO_RDC321X) += gpio-rdc321x.o obj-$(CONFIG_GPIO_REALTEK_OTTO) += gpio-realtek-otto.o obj-$(CONFIG_GPIO_REG) += gpio-reg.o From 72d2c54ccbfec20503b2ae9ff3ea66cfcf3c8703 Mon Sep 17 00:00:00 2001 From: Rui Salvaterra Date: Mon, 3 Jan 2022 13:36:36 +0000 Subject: [PATCH 05/36] kernel: 5.10: allocate last level PTEs in high memory Enable support for allocating user space page table entries in high memory [1], for the targets which support this feature. This saves precious low memory (permanently mapped, the only type of memory directly accessible by the kernel). [1] https://www.kernel.org/doc/html/latest/vm/highmem.html Signed-off-by: Rui Salvaterra --- target/linux/bcm53xx/config-5.10 | 2 +- target/linux/ipq40xx/config-5.10 | 2 +- target/linux/ipq806x/config-5.10 | 2 +- target/linux/mediatek/mt7623/config-5.10 | 2 +- target/linux/mvebu/config-5.10 | 2 +- target/linux/x86/config-5.10 | 2 +- target/linux/zynq/config-5.10 | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/target/linux/bcm53xx/config-5.10 b/target/linux/bcm53xx/config-5.10 index 3dd0359113..6049641898 100644 --- a/target/linux/bcm53xx/config-5.10 +++ b/target/linux/bcm53xx/config-5.10 @@ -159,7 +159,7 @@ CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HAVE_SMP=y CONFIG_HIGHMEM=y -# CONFIG_HIGHPTE is not set +CONFIG_HIGHPTE=y CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_BCM2835=y CONFIG_HZ_FIXED=0 diff --git a/target/linux/ipq40xx/config-5.10 b/target/linux/ipq40xx/config-5.10 index 3ebc7b3e1e..403ed6e6e4 100644 --- a/target/linux/ipq40xx/config-5.10 +++ b/target/linux/ipq40xx/config-5.10 @@ -189,7 +189,7 @@ CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HAVE_SMP=y CONFIG_HIGHMEM=y -# CONFIG_HIGHPTE is not set +CONFIG_HIGHPTE=y CONFIG_HWSPINLOCK=y CONFIG_HWSPINLOCK_QCOM=y CONFIG_HW_RANDOM=y diff --git a/target/linux/ipq806x/config-5.10 b/target/linux/ipq806x/config-5.10 index 827447d8eb..d22ac6cd04 100644 --- a/target/linux/ipq806x/config-5.10 +++ b/target/linux/ipq806x/config-5.10 @@ -176,7 +176,7 @@ CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HAVE_SMP=y CONFIG_HIGHMEM=y -# CONFIG_HIGHPTE is not set +CONFIG_HIGHPTE=y CONFIG_HWMON=y CONFIG_HWSPINLOCK=y CONFIG_HWSPINLOCK_QCOM=y diff --git a/target/linux/mediatek/mt7623/config-5.10 b/target/linux/mediatek/mt7623/config-5.10 index 142ffd7998..3d017400a0 100644 --- a/target/linux/mediatek/mt7623/config-5.10 +++ b/target/linux/mediatek/mt7623/config-5.10 @@ -265,7 +265,7 @@ CONFIG_HAVE_SMP=y CONFIG_HDMI=y CONFIG_HID=y CONFIG_HIGHMEM=y -# CONFIG_HIGHPTE is not set +CONFIG_HIGHPTE=y CONFIG_HOTPLUG_CPU=y CONFIG_HW_CONSOLE=y CONFIG_HWMON=y diff --git a/target/linux/mvebu/config-5.10 b/target/linux/mvebu/config-5.10 index ee9331252c..0bce22daee 100644 --- a/target/linux/mvebu/config-5.10 +++ b/target/linux/mvebu/config-5.10 @@ -198,7 +198,7 @@ CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y CONFIG_HAVE_SMP=y CONFIG_HIGHMEM=y -# CONFIG_HIGHPTE is not set +CONFIG_HIGHPTE=y CONFIG_HOTPLUG_CPU=y CONFIG_HWBM=y CONFIG_HWMON=y diff --git a/target/linux/x86/config-5.10 b/target/linux/x86/config-5.10 index 2d07f5a905..ec27bb7945 100644 --- a/target/linux/x86/config-5.10 +++ b/target/linux/x86/config-5.10 @@ -146,7 +146,7 @@ CONFIG_HID=y CONFIG_HIGHMEM=y CONFIG_HIGHMEM4G=y # CONFIG_HIGHMEM64G is not set -# CONFIG_HIGHPTE is not set +CONFIG_HIGHPTE=y CONFIG_HPET_EMULATE_RTC=y CONFIG_HPET_TIMER=y # CONFIG_HP_WATCHDOG is not set diff --git a/target/linux/zynq/config-5.10 b/target/linux/zynq/config-5.10 index 35b7f03a9b..7e960d4ad0 100644 --- a/target/linux/zynq/config-5.10 +++ b/target/linux/zynq/config-5.10 @@ -225,7 +225,7 @@ CONFIG_HID=y CONFIG_HID_GENERIC=y CONFIG_HID_MICROSOFT=y CONFIG_HIGHMEM=y -# CONFIG_HIGHPTE is not set +CONFIG_HIGHPTE=y CONFIG_HOTPLUG_CPU=y CONFIG_HWMON=y CONFIG_HW_CONSOLE=y From 8235723c78b535635ef47951ec8fa61d6a4f3593 Mon Sep 17 00:00:00 2001 From: Rui Salvaterra Date: Wed, 5 Jan 2022 10:25:40 +0000 Subject: [PATCH 06/36] kernel: 5.10: remove CONFIG_DEVTMPFS{,_MOUNT} from kconfigs They are required for container support, but are handled in Config-kernel.in. Signed-off-by: Rui Salvaterra --- target/linux/archs38/config-5.10 | 1 - target/linux/layerscape/armv7/config-5.10 | 2 -- target/linux/layerscape/armv8_64b/config-5.10 | 2 -- target/linux/mediatek/mt7622/config-5.10 | 2 -- target/linux/oxnas/config-5.10 | 2 -- target/linux/rockchip/armv8/config-5.10 | 2 -- 6 files changed, 11 deletions(-) diff --git a/target/linux/archs38/config-5.10 b/target/linux/archs38/config-5.10 index 5ba3877a64..b082a47331 100644 --- a/target/linux/archs38/config-5.10 +++ b/target/linux/archs38/config-5.10 @@ -84,7 +84,6 @@ CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_RNG2=y CONFIG_CRYPTO_RNG_DEFAULT=y CONFIG_CRYPTO_SHA256=y -CONFIG_DEVTMPFS=y CONFIG_DMADEVICES=y CONFIG_DMA_DIRECT_REMAP=y CONFIG_DMA_ENGINE=y diff --git a/target/linux/layerscape/armv7/config-5.10 b/target/linux/layerscape/armv7/config-5.10 index 0ec201030f..dd97d67cba 100644 --- a/target/linux/layerscape/armv7/config-5.10 +++ b/target/linux/layerscape/armv7/config-5.10 @@ -170,8 +170,6 @@ CONFIG_DETECT_HUNG_TASK=y # CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND is not set # CONFIG_DEVFREQ_GOV_USERSPACE is not set # CONFIG_DEVFREQ_THERMAL is not set -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y CONFIG_DMADEVICES=y CONFIG_DMA_CMA=y CONFIG_DMA_ENGINE=y diff --git a/target/linux/layerscape/armv8_64b/config-5.10 b/target/linux/layerscape/armv8_64b/config-5.10 index aa4be18f05..03c85a5aef 100644 --- a/target/linux/layerscape/armv8_64b/config-5.10 +++ b/target/linux/layerscape/armv8_64b/config-5.10 @@ -204,8 +204,6 @@ CONFIG_DECOMPRESS_LZMA=y CONFIG_DECOMPRESS_LZO=y CONFIG_DECOMPRESS_XZ=y CONFIG_DETECT_HUNG_TASK=y -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y CONFIG_DIMLIB=y CONFIG_DMADEVICES=y CONFIG_DMATEST=y diff --git a/target/linux/mediatek/mt7622/config-5.10 b/target/linux/mediatek/mt7622/config-5.10 index 85db8d142f..ebb42ebc5d 100644 --- a/target/linux/mediatek/mt7622/config-5.10 +++ b/target/linux/mediatek/mt7622/config-5.10 @@ -134,8 +134,6 @@ CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_ZSTD=y CONFIG_DCACHE_WORD_ACCESS=y CONFIG_DEBUG_MISC=y -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y CONFIG_DIMLIB=y CONFIG_DMADEVICES=y CONFIG_DMATEST=y diff --git a/target/linux/oxnas/config-5.10 b/target/linux/oxnas/config-5.10 index b0e4789d1e..93fbf5386d 100644 --- a/target/linux/oxnas/config-5.10 +++ b/target/linux/oxnas/config-5.10 @@ -117,8 +117,6 @@ CONFIG_DECOMPRESS_LZ4=y CONFIG_DECOMPRESS_LZMA=y CONFIG_DECOMPRESS_LZO=y CONFIG_DECOMPRESS_XZ=y -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y CONFIG_DMA_CMA=y CONFIG_DMA_REMAP=y CONFIG_DNOTIFY=y diff --git a/target/linux/rockchip/armv8/config-5.10 b/target/linux/rockchip/armv8/config-5.10 index 9769bab72d..1063489dc6 100644 --- a/target/linux/rockchip/armv8/config-5.10 +++ b/target/linux/rockchip/armv8/config-5.10 @@ -167,8 +167,6 @@ CONFIG_DEVFREQ_GOV_USERSPACE=y # CONFIG_DEVFREQ_THERMAL is not set CONFIG_DEVMEM=y # CONFIG_DEVPORT is not set -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y CONFIG_DMADEVICES=y CONFIG_DMA_CMA=y CONFIG_DMA_DIRECT_REMAP=y From 247eaa44161b0a07e2dd40ffaa181d47ca10a96b Mon Sep 17 00:00:00 2001 From: Rui Salvaterra Date: Mon, 13 Jul 2020 14:03:47 +0100 Subject: [PATCH 07/36] procd: remove support for mounting /tmp in zram The /tmp directory is mounted as tmpfs. The tmpfs filesystem is backed by anonymous memory, which means it can be swapped out at any time, if there is memory pressure [1]. For this reason, a zram swap device is a much better choice than mounting /tmp on zram, since it's able to compress all anonymous memory, and not just the memory assigned to /tmp. We already have the zram-swap package for this specific purpose, which means procd's tmp-on-zram is both redundant and more limited. A follow-up patch will remove support for mounting /tmp in zram from procd itself. [1] https://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt Signed-off-by: Rui Salvaterra --- package/system/procd/Makefile | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/package/system/procd/Makefile b/package/system/procd/Makefile index 8f814982bf..958a4808cb 100644 --- a/package/system/procd/Makefile +++ b/package/system/procd/Makefile @@ -24,8 +24,7 @@ PKG_MAINTAINER:=John Crispin PKG_ASLR_PIE_REGULAR:=1 PKG_CONFIG_DEPENDS:= \ - CONFIG_TARGET_INIT_PATH CONFIG_KERNEL_SECCOMP \ - CONFIG_PROCD_SHOW_BOOT CONFIG_PROCD_ZRAM_TMPFS \ + CONFIG_TARGET_INIT_PATH CONFIG_KERNEL_SECCOMP CONFIG_PROCD_SHOW_BOOT \ CONFIG_KERNEL_NAMESPACES CONFIG_PACKAGE_procd-ujail CONFIG_PACKAGE_procd-seccomp include $(INCLUDE_DIR)/package.mk @@ -96,10 +95,6 @@ config PROCD_SHOW_BOOT default n prompt "Print the shutdown to the console as well as logging it to syslog" -config PROCD_ZRAM_TMPFS - bool - default n - prompt "Mount /tmp using zram." endmenu endef @@ -111,10 +106,6 @@ ifeq ($(CONFIG_PROCD_SHOW_BOOT),y) CMAKE_OPTIONS += -DSHOW_BOOT_ON_CONSOLE=1 endif -ifeq ($(CONFIG_PROCD_ZRAM_TMPFS),y) - CMAKE_OPTIONS += -DZRAM_TMPFS=1 -endif - ifdef CONFIG_PACKAGE_procd-ujail CMAKE_OPTIONS += -DJAIL_SUPPORT=1 endif From 93259e8ca261c7965618fe11c2d385638da5cfa6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Fri, 4 Mar 2022 16:03:26 +0100 Subject: [PATCH 08/36] bcm4908: support "rootfs_data" on U-Boot devices MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Create "rootfs_data" dynamicaly U-Boot firmware images can contain only 2 UBI volumes: bootfs (container with U-Boot + kernel + DTBs) and rootfs (e.g. squashfs). There is no way to include "rootfs_data" UBI volume or make firmware file tell U-Boot to create one. For that reason "rootfs_data" needs to be created dynamically. Use preinit script to handle that. Fire it right before "mount_root" one. 2. Relate "rootfs_data" to flashed firmware As already explained flashing new firmware with U-Boot will do nothing to the "rootfs_data". It could result in new firmware reusing old "rootfs_data" overlay UBI volume and its file. Users expect a clean state after flashing firmware (even if flashing the same one). Solve that by reading flash counter of running firmware and storing it in "rootfs_data" UBI volume. Every mismatch will result in wiping old data. Signed-off-by: Rafał Miłecki --- .../base-files/lib/functions/bcm4908.sh | 73 +++++++++++++++++++ .../base-files/lib/preinit/75_rootfs_prepare | 35 +++++++++ .../base-files/lib/upgrade/platform.sh | 27 +++---- 3 files changed, 122 insertions(+), 13 deletions(-) create mode 100644 target/linux/bcm4908/base-files/lib/functions/bcm4908.sh create mode 100644 target/linux/bcm4908/base-files/lib/preinit/75_rootfs_prepare diff --git a/target/linux/bcm4908/base-files/lib/functions/bcm4908.sh b/target/linux/bcm4908/base-files/lib/functions/bcm4908.sh new file mode 100644 index 0000000000..aea31e794b --- /dev/null +++ b/target/linux/bcm4908/base-files/lib/functions/bcm4908.sh @@ -0,0 +1,73 @@ +# SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause + +FS_STATE_READY=2 + +# $(1): file to read from +# $(2): offset in bytes +get_hex_u32_le() { + dd if="$1" skip=$2 bs=1 count=4 2>/dev/null | hexdump -v -e '1/4 "%02x"' +} + +# Setup /tmp/env.config to provide "metadata" UBI volume access +# +# It can be used with "fw_printenv -c /tmp/env.config" +bcm4908_pkgtb_setup_env_config() { + local size=$((0x$(get_hex_u32_le /dev/ubi0_1 4))) + + dd if=/dev/ubi0_1 of=/tmp/env.head count=8 iflag=count_bytes + dd if=/dev/ubi0_1 of=/tmp/env.body skip=8 iflag=skip_bytes + printf "%s\t0x%x\t0x%x\t0x%x" "/tmp/env.body" 0x0 $size $size > /tmp/env.config +} + +bcm4908_committed_image_seq() { + bcm4908_pkgtb_setup_env_config + + commited="$(fw_printenv -n -c /tmp/env.config COMMITTED)" + [ -n "$commited" ] && { + seq=$(fw_printenv -n -c /tmp/env.config SEQ | cut -d ',' -f $commited) + [ -n "$seq" ] && { + echo $seq + return + } + } + + echo "Failed to read COMMITED and SEQ from metadata1" >&2 +} + +# Make sure "rootfs_data" UBI volume matches currently flashed image +# +# On mismatch "rootfs_data" will be wiped and assigned +# +# $1: UBI volume of "rootfs_data" (e.g. ubi0_123) +bcm4908_verify_rootfs_data() { + local ubivol="$1" + local dir=/tmp/rootfs_data + local seq="$(bcm4908_committed_image_seq)" + + [ -z "$seq" ] && return + + mkdir $dir + if ! mount -t ubifs /dev/$ubivol $dir; then + echo "Failed to mount $ubivol UBI volume" >&2 + rmdir $dir + return + fi + + # Wipe rootfs_data if it doesn't belong to us + [ "$(readlink $dir/.openwrt-image-seq)" != "$seq" ] && { + echo "Removing \"rootfs_data\" content" + rm -rf $dir/..?* $dir/.[!.]* $dir/* + } + + # If rootfs_data is clean (or was just wiped) claim it + [ -z "$(ls -A $dir)" ] && { + echo "Assigning \"rootfs_data\" to the current firmware" + # Claim this "rootfs_data" + ln -s $seq $dir/.openwrt-image-seq + # Mark it ready to avoid "mount_root" wiping it again + ln -s $FS_STATE_READY $dir/.fs_state + } + + umount $dir + rmdir $dir +} diff --git a/target/linux/bcm4908/base-files/lib/preinit/75_rootfs_prepare b/target/linux/bcm4908/base-files/lib/preinit/75_rootfs_prepare new file mode 100644 index 0000000000..07fa21814e --- /dev/null +++ b/target/linux/bcm4908/base-files/lib/preinit/75_rootfs_prepare @@ -0,0 +1,35 @@ +# SPDX-License-Identifier: GPL-2.0-or-later OR BSD-2-Clause + +. /lib/functions/bcm4908.sh + +rootfs_create() { + local blocks + + blocks=$(cat /sys/class/ubi/ubi0/avail_eraseblocks) + [ -z "$blocks" ] && { + echo "Failed to read amount of available erase blocks" >&2 + return + } + + # Use 80% of remaining flash size for "rootfs_data" + ubimkvol /dev/ubi0 -n 20 -N rootfs_data --lebs $((blocks / 100 * 80)) + mknod -m 0600 /dev/ubi0_20 c 252 21 + + bcm4908_verify_rootfs_data ubi0_20 +} + +rootfs_prepare() { + # Do nothing on CFE devices + ubinfo /dev/ubi0 -N metadata1 > /dev/null 2>&1 || exit 0 + + # Find UBI volume device (e.g. ubi0_123) + local ubivol="$(grep rootfs_data /sys/devices/virtual/ubi/ubi*/ubi*/name | sed -n 's/.*\(ubi\d*_\d*\).*/\1/p')" + if [ -n "$ubivol" ]; then + bcm4908_verify_rootfs_data $ubivol + else + echo "Creating \"rootfs_data\" UBI volume" + rootfs_create + fi +} + +boot_hook_add preinit_main rootfs_prepare diff --git a/target/linux/bcm4908/base-files/lib/upgrade/platform.sh b/target/linux/bcm4908/base-files/lib/upgrade/platform.sh index 1b94801fb0..0974331801 100644 --- a/target/linux/bcm4908/base-files/lib/upgrade/platform.sh +++ b/target/linux/bcm4908/base-files/lib/upgrade/platform.sh @@ -1,6 +1,8 @@ # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause -RAMFS_COPY_BIN="bcm4908img expr grep fdtget fw_printenv fw_setenv tr" +. /lib/functions/bcm4908.sh + +RAMFS_COPY_BIN="bcm4908img expr grep ln fdtget fw_printenv fw_setenv readlink tr" PART_NAME=firmware @@ -134,17 +136,7 @@ platform_pkgtb_get_image() { } } -platform_pkgtb_setup_env_config() { - local size=$((0x$(get_hex_u32_le /dev/ubi0_1 4))) - - dd if=/dev/ubi0_1 of=/tmp/env.head count=8 iflag=count_bytes - dd if=/dev/ubi0_1 of=/tmp/env.body skip=8 iflag=skip_bytes - printf "%s\t0x%x\t0x%x\t0x%x" "/tmp/env.body" 0x0 $size $size > /tmp/env.config -} - platform_pkgtb_get_upgrade_index() { - platform_pkgtb_setup_env_config - case "$(fw_printenv -l /tmp -n -c /tmp/env.config COMMITTED)" in 1) echo 2;; 2) echo 1;; @@ -160,8 +152,6 @@ platform_pkgtb_commit() { local seq2 local tmp - platform_pkgtb_setup_env_config - # Read current values for valid in $(fw_printenv -l /tmp -n -c /tmp/env.config VALID | tr ',' ' '); do case "$valid" in @@ -272,11 +262,20 @@ platform_check_image() { # upgrade # +platform_pkgtb_clean_rootfs_data() { + local ubidev=$(nand_find_ubi $CI_UBIPART) + local ubivol="$(nand_find_volume $ubidev rootfs_data)" + + bcm4908_verify_rootfs_data "$ubivol" +} + platform_do_upgrade_pkgtb() { local cmd="${2:-cat}" local size local idx bootfs_id rootfs_id + bcm4908_pkgtb_setup_env_config + idx=$(platform_pkgtb_get_upgrade_index) case "$idx" in 1) bootfs_id=3; rootfs_id=4;; @@ -295,6 +294,8 @@ platform_do_upgrade_pkgtb() { platform_pkgtb_commit $idx + CI_UBIPART="image" + platform_pkgtb_clean_rootfs_data nand_do_upgrade_success } From 1848b25cddae2744772a8e40bc734f0e6f64554d Mon Sep 17 00:00:00 2001 From: Stijn Tintel Date: Fri, 4 Mar 2022 17:25:59 +0200 Subject: [PATCH 09/36] qosify: add PKG_RELEASE Without PKG_RELEASE, it's impossible to trigger package updates when changing files included in the package that are not in the qosify git repository. Signed-off-by: Stijn Tintel Acked-by: Felix Fietkau --- package/network/config/qosify/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/package/network/config/qosify/Makefile b/package/network/config/qosify/Makefile index 10bd878e86..eb267d3552 100644 --- a/package/network/config/qosify/Makefile +++ b/package/network/config/qosify/Makefile @@ -14,6 +14,7 @@ PKG_SOURCE_PROTO:=git PKG_SOURCE_DATE:=2022-02-20 PKG_SOURCE_VERSION:=65b42032063f75d8efc37cdb7215a04818be2fa7 PKG_MIRROR_HASH:=0458a9fd7e90fc64239712435f24e7d74b2a3aefcfb0c5f64a9fd70bfd0fe7ae +PKG_RELEASE:=$(AUTORELEASE) PKG_LICENSE:=GPL-2.0 PKG_MAINTAINER:=Felix Fietkau From c2d7896a650edd6ff4f37dbb33d45027001c23f4 Mon Sep 17 00:00:00 2001 From: Stijn Tintel Date: Fri, 4 Mar 2022 20:33:05 +0200 Subject: [PATCH 10/36] qosify: bump to git HEAD interface: disable autorate-ingress by default Also change the example config to reflect this. Signed-off-by: Stijn Tintel --- package/network/config/qosify/Makefile | 6 +++--- package/network/config/qosify/files/qosify.conf | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package/network/config/qosify/Makefile b/package/network/config/qosify/Makefile index eb267d3552..2bc806513a 100644 --- a/package/network/config/qosify/Makefile +++ b/package/network/config/qosify/Makefile @@ -11,9 +11,9 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=qosify PKG_SOURCE_URL=$(PROJECT_GIT)/project/qosify.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2022-02-20 -PKG_SOURCE_VERSION:=65b42032063f75d8efc37cdb7215a04818be2fa7 -PKG_MIRROR_HASH:=0458a9fd7e90fc64239712435f24e7d74b2a3aefcfb0c5f64a9fd70bfd0fe7ae +PKG_SOURCE_DATE:=2022-03-04 +PKG_SOURCE_VERSION:=74cfd71531446440b70639f2290f510a529deaa6 +PKG_MIRROR_HASH:=113ca3c91c11d7be4ca153f3295e2f00275fbb45396feedb46120c6b3009c23a PKG_RELEASE:=$(AUTORELEASE) PKG_LICENSE:=GPL-2.0 diff --git a/package/network/config/qosify/files/qosify.conf b/package/network/config/qosify/files/qosify.conf index 69c1d5949a..7a3d0d068a 100644 --- a/package/network/config/qosify/files/qosify.conf +++ b/package/network/config/qosify/files/qosify.conf @@ -36,7 +36,7 @@ config interface wan option mode diffserv4 option nat 1 option host_isolate 1 - option autorate_ingress 1 + option autorate_ingress 0 option ingress_options "" option egress_options "" option options "" From 545cabee9ed0fc2c75dd5f4503bbb8b1333a009a Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sat, 5 Mar 2022 15:58:55 +0100 Subject: [PATCH 11/36] tools/fakeroot: restore macos bugfix that was dropped during the last update Signed-off-by: Felix Fietkau --- tools/fakeroot/patches/600-macOS.patch | 43 ++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/tools/fakeroot/patches/600-macOS.patch b/tools/fakeroot/patches/600-macOS.patch index 59e668eb9a..f9d6d189b2 100644 --- a/tools/fakeroot/patches/600-macOS.patch +++ b/tools/fakeroot/patches/600-macOS.patch @@ -11,3 +11,46 @@ static struct sockaddr *get_addr(void) { static struct sockaddr_in addr = { 0, 0, { 0 } }; +--- a/libfakeroot_inode64.c ++++ b/libfakeroot_inode64.c +@@ -25,7 +25,7 @@ + #include "config.h" + #include "communicate.h" + +-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 ++#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 && !__DARWIN_ONLY_64_BIT_INO_T + + #include + #include +--- a/wrapfunc.inp ++++ b/wrapfunc.inp +@@ -48,9 +48,11 @@ getattrlist$UNIX2003;int;(const char *pa + #endif + #endif + #if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 ++#if !__DARWIN_ONLY_64_BIT_INO_T + lstat$INODE64;int;(const char *file_name, struct stat *buf);(file_name, buf) + stat$INODE64;int;(const char *file_name, struct stat *buf);(file_name, buf) + fstat$INODE64;int;(int fd, struct stat *buf);(fd, buf) ++#endif + posix_spawn;int;(pid_t * __restrict pid, const char * __restrict path, const posix_spawn_file_actions_t *file_actions, const posix_spawnattr_t * __restrict attrp, char *const argv[ __restrict], char *const envp[ __restrict]);(pid, path, file_actions, attrp, argv, envp) + posix_spawnp;int;(pid_t * __restrict pid, const char * __restrict path, const posix_spawn_file_actions_t *file_actions, const posix_spawnattr_t * __restrict attrp, char *const argv[ __restrict], char *const envp[ __restrict]);(pid, path, file_actions, attrp, argv, envp) + #endif +@@ -232,7 +234,7 @@ facl;int;(int fd, int cmd, int cnt, void + #ifdef HAVE_FTS_READ + fts_read;FTSENT *;(FTS *ftsp);(ftsp) + #ifdef __APPLE__ +-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 ++#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 && !__DARWIN_ONLY_64_BIT_INO_T + fts_read$INODE64;FTSENT *;(FTS *ftsp);(ftsp) + #endif + #endif /* ifdef __APPLE__ */ +@@ -240,7 +242,7 @@ fts_read$INODE64;FTSENT *;(FTS *ftsp);(f + #ifdef HAVE_FTS_CHILDREN + fts_children;FTSENT *;(FTS *ftsp, int options);(ftsp, options) + #ifdef __APPLE__ +-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 ++#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 && !__DARWIN_ONLY_64_BIT_INO_T + fts_children$INODE64;FTSENT *;(FTS *ftsp, int options);(ftsp, options) + #endif + #endif /* ifdef __APPLE__ */ From 1324403eb6c65baa77dd83d1aa9fbd385b877826 Mon Sep 17 00:00:00 2001 From: Georgi Valkov Date: Thu, 3 Mar 2022 17:04:38 +0200 Subject: [PATCH 12/36] mkhash: fix build errors on FreeBSD 13.0 be64enc, be16dec, and be32dec are declared on FreeBSD 13.0, in /usr/include/sys/endian.h so we should not declare them. Fixes the following error during feeds update: staging_dir/host/bin/mkhash: No such file or directory gcc scripts/mkhash.c scripts/mkhash.c:111:1: error: redefinition of 'be64enc' 111 | be64enc(void *buf, uint64_t u) Signed-off-by: Georgi Valkov --- scripts/mkhash.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/mkhash.c b/scripts/mkhash.c index ed3d42d4c3..a28d5fd537 100644 --- a/scripts/mkhash.c +++ b/scripts/mkhash.c @@ -105,7 +105,6 @@ be32enc(void *buf, uint32_t u) p[2] = ((uint8_t) ((u >> 8) & 0xff)); p[3] = ((uint8_t) (u & 0xff)); } -#endif static void be64enc(void *buf, uint64_t u) @@ -132,6 +131,7 @@ be32dec(const void *buf) return (((uint32_t) be16dec(p)) << 16) | be16dec(p + 2); } +#endif #define MD5_DIGEST_LENGTH 16 From 0f432fa3a926bf07f2c6c70ee9a64cbaa95e5d16 Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Thu, 3 Mar 2022 13:01:24 +0100 Subject: [PATCH 13/36] uboot-mvebu: backport patch to fix nvme detail crash Steps to reproduce: 1. Insert NVMe disk with a reduction to Turris Omnia 2. Go to U-boot 3. Run these two commands: a) ``nvme scan`` b) ``nvme detail`` 4. Wait for crash This is backported from U-boot upstream repository. It should be included in the upcoming release - 2022.04 [1]. It was tested on Turris Omnia, mvebu, cortex-a9, OpenWrt master. [1] https://patchwork.ozlabs.org/project/uboot/patch/20211209100639.21530-1-pali@kernel.org/ Signed-off-by: Josef Schlehofer [Export the patch from U-Boot git] Signed-off-by: Hauke Mehrtens --- ...-Do-not-allocate-8kB-buffer-on-stack.patch | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 package/boot/uboot-mvebu/patches/012-nvme-Do-not-allocate-8kB-buffer-on-stack.patch diff --git a/package/boot/uboot-mvebu/patches/012-nvme-Do-not-allocate-8kB-buffer-on-stack.patch b/package/boot/uboot-mvebu/patches/012-nvme-Do-not-allocate-8kB-buffer-on-stack.patch new file mode 100644 index 0000000000..20046c67b6 --- /dev/null +++ b/package/boot/uboot-mvebu/patches/012-nvme-Do-not-allocate-8kB-buffer-on-stack.patch @@ -0,0 +1,92 @@ +From d17ab6e1289b1d705c75de8a2351218962fb7352 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Pali=20Roh=C3=A1r?= +Date: Thu, 9 Dec 2021 11:06:39 +0100 +Subject: [PATCH] nvme: Do not allocate 8kB buffer on stack +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Calling 'nvme scan' followed by 'nvme detail' crashes U-Boot on Turris +Omnia with the following error: + + undefined instruction + pc : [<0a000000>] lr : [<7ff80bfc>] + reloc pc : [<8a8c0000>] lr : [<00840bfc>] + sp : 7fb2b908 ip : 0000002a fp : 02000000 + r10: 04000000 r9 : 7fb2fed0 r8 : e1000000 + r7 : 0c000000 r6 : 03000000 r5 : 06000000 r4 : 01000000 + r3 : 7fb30928 r2 : 7fb30928 r1 : 00000000 r0 : 00000000 + Flags: nZCv IRQs off FIQs off Mode SVC_32 + Code: 0f0fb4f0 0f0fb4f0 0f0fb4f0 0f0fb4f0 (f0f04b0f) + Resetting CPU ... + +This happens when nvme_print_info() tries to return to the caller. It +looks like this error is caused by trying to allocate 8 KiB of memory +on the stack by the two uses of ALLOC_CACHE_ALIGN_BUFFER(). + +Use malloc_cache_aligned() to allocate this memory dynamically instead. + +This fixes 'nvme detail' on Turris Omnia. + +Note that similar change was applied to file drivers/nvme/nvme.c in past by +commit 2f83481dff9c ("nvme: use page-aligned buffer for identify command"). + +Signed-off-by: Pali Rohár +Signed-off-by: Marek Behún +--- + drivers/nvme/nvme_show.c | 35 ++++++++++++++++++++++++++--------- + 1 file changed, 26 insertions(+), 9 deletions(-) + +--- a/drivers/nvme/nvme_show.c ++++ b/drivers/nvme/nvme_show.c +@@ -106,24 +106,41 @@ int nvme_print_info(struct udevice *udev + { + struct nvme_ns *ns = dev_get_priv(udev); + struct nvme_dev *dev = ns->dev; +- ALLOC_CACHE_ALIGN_BUFFER(char, buf_ns, sizeof(struct nvme_id_ns)); +- struct nvme_id_ns *id = (struct nvme_id_ns *)buf_ns; +- ALLOC_CACHE_ALIGN_BUFFER(char, buf_ctrl, sizeof(struct nvme_id_ctrl)); +- struct nvme_id_ctrl *ctrl = (struct nvme_id_ctrl *)buf_ctrl; ++ struct nvme_id_ctrl *ctrl; ++ struct nvme_id_ns *id; ++ int ret = 0; + +- if (nvme_identify(dev, 0, 1, (dma_addr_t)(long)ctrl)) +- return -EIO; ++ ctrl = memalign(dev->page_size, sizeof(struct nvme_id_ctrl)); ++ if (!ctrl) ++ return -ENOMEM; ++ ++ if (nvme_identify(dev, 0, 1, (dma_addr_t)(long)ctrl)) { ++ ret = -EIO; ++ goto free_ctrl; ++ } + + print_optional_admin_cmd(le16_to_cpu(ctrl->oacs), ns->devnum); + print_optional_nvm_cmd(le16_to_cpu(ctrl->oncs), ns->devnum); + print_format_nvme_attributes(ctrl->fna, ns->devnum); + +- if (nvme_identify(dev, ns->ns_id, 0, (dma_addr_t)(long)id)) +- return -EIO; ++ id = memalign(dev->page_size, sizeof(struct nvme_id_ns)); ++ if (!id) { ++ ret = -ENOMEM; ++ goto free_ctrl; ++ } ++ ++ if (nvme_identify(dev, ns->ns_id, 0, (dma_addr_t)(long)id)) { ++ ret = -EIO; ++ goto free_id; ++ } + + print_formats(id, ns); + print_data_protect_cap(id->dpc, ns->devnum); + print_metadata_cap(id->mc, ns->devnum); + +- return 0; ++free_id: ++ free(id); ++free_ctrl: ++ free(ctrl); ++ return ret; + } From ef4bf8b403205062ddb38ebe7b8c4951be346368 Mon Sep 17 00:00:00 2001 From: Oskari Rauta Date: Thu, 3 Mar 2022 04:57:08 +0200 Subject: [PATCH 14/36] util-linux: add lsns lsns lists system namespaces Signed-off-by: Oskari Rauta --- package/utils/util-linux/Makefile | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/package/utils/util-linux/Makefile b/package/utils/util-linux/Makefile index ce3cd171e0..6d44e92f00 100644 --- a/package/utils/util-linux/Makefile +++ b/package/utils/util-linux/Makefile @@ -339,6 +339,16 @@ define Package/lslocks/description lslocks lists information about all the currently held file locks in a Linux system endef +define Package/lsns +$(call Package/util-linux/Default) + TITLE:=list system namespaces + DEPENDS:= +libblkid +libmount +libsmartcols +endef + +define Package/lsns/description + lsns lists information about all namespaces and their processes +endef + define Package/more $(call Package/util-linux/Default) TITLE:=filter for paging through text one screenful at a time @@ -737,6 +747,11 @@ define Package/lslocks/install $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lslocks $(1)/usr/bin/ endef +define Package/lsns/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lsns $(1)/usr/bin/ +endef + define Package/more/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/more $(1)/usr/bin/ @@ -866,6 +881,7 @@ $(eval $(call BuildPackage,losetup)) $(eval $(call BuildPackage,lsblk)) $(eval $(call BuildPackage,lscpu)) $(eval $(call BuildPackage,lslocks)) +$(eval $(call BuildPackage,lsns)) $(eval $(call BuildPackage,more)) $(eval $(call BuildPackage,mcookie)) $(eval $(call BuildPackage,mount-utils)) From 05ed7dc50d7fd0be3ea8d6bdf06227bdeae2e7a5 Mon Sep 17 00:00:00 2001 From: Rui Salvaterra Date: Wed, 2 Mar 2022 13:11:44 +0000 Subject: [PATCH 15/36] kernel: bump 5.10 to 5.10.103 Patches automatically rebased. Signed-off-by: Rui Salvaterra --- include/kernel-5.10 | 4 +- ...s-clock-at91-add-sama7g5-pll-defines.patch | 9 +- ...-allow-SYS-and-CPU-PLLs-to-be-export.patch | 5 - ...aster-add-5th-divisor-for-mck-master.patch | 9 +- ...-add-5th-divisor-for-mck0-layout-and.patch | 7 +- ...9x60-pll-allow-runtime-changes-for-p.patch | 41 ++---- ...-remove-mck0-from-parent-list-of-oth.patch | 15 +- ...5-decrease-lower-limit-for-MCK0-rate.patch | 7 +- ...-do-not-allow-cpu-pll-to-go-higher-t.patch | 11 +- ...91-clk-master-re-factor-master-clock.patch | 121 ++++++---------- ...-clk-at91-sama7g5-register-cpu-clock.patch | 11 +- ...91-Fix-the-declaration-of-the-clocks.patch | 39 ++---- ...ial-typo-fixes-in-the-file-sama7g5.c.patch | 5 - ...-remove-all-kernel-doc-kernel-doc-wa.patch | 7 +- ...serio-bits-as-platform-configuration.patch | 29 ++-- ...capability-to-not-set-the-clock-rate.patch | 15 +- ...-function-to-disable-all-macb-clocks.patch | 13 +- ...-unprepare-clocks-in-case-of-failure.patch | 9 +- ...dd-support-for-sama7g5-gem-interface.patch | 11 +- ...d-support-for-sama7g5-emac-interface.patch | 9 +- ...-ASoC-pcm5102a-Make-codec-selectable.patch | 5 - ...i2s-do-not-warn-if-muxclk-is-missing.patch | 7 +- ...egulator-mcp16502-add-linear_min_sel.patch | 7 +- ...02-adapt-for-get-set-on-other-regist.patch | 13 +- ...-mcp16502-add-support-for-ramp-delay.patch | 11 +- ...02-remove-void-documentation-of-stru.patch | 5 - ...alidate-selector-against-linear_min_.patch | 15 +- ...re-do-not-continue-if-selector-match.patch | 7 +- ...eturn-zero-for-selectors-lower-than-.patch | 13 +- ...02-lpm-pin-can-be-optional-on-some-p.patch | 7 +- ...4-add-support-for-fewer-lines-on-las.patch | 9 +- ...ac-adapt-perid-for-mem2mem-operation.patch | 11 +- ...ac-add-support-for-sama7g5-based-at_.patch | 31 ++--- ...ac-add-AXI-priority-support-and-reco.patch | 13 +- ...t-usage-of-MACB_CAPS_CLK_HW_CHG-flag.patch | 7 +- ...0-SiP-types-added-to-soc-description.patch | 11 +- .../137-drivers-soc-atmel-use-GENMASK.patch | 5 - ...l-fix-__initconst-should-be-placed-a.patch | 5 - ...l-add-per-soc-id-and-version-match-m.patch | 15 +- ...rs-soc-atmel-add-support-for-sama7g5.patch | 23 ++- ...oc-atmel-add-spdx-license-identifier.patch | 7 - ...drivers-soc-atmel-fix-type-for-same7.patch | 7 +- ...ers-timer-microchip-pit64b-Add-clock.patch | 17 +-- ...dc-Use-managed-DMA-buffer-allocation.patch | 9 +- ...-sama5d2_shdwc-add-support-for-sama7.patch | 15 +- ...-at91-pio4-add-support-for-slew-rate.patch | 17 +-- ...4-fix-Prefer-unsigned-int-to-bare-us.patch | 43 +++--- ...ault-usrio-config-to-default-gem-con.patch | 11 +- ...-prototypes-to-mutually-included-hea.patch | 12 +- ...p-i2s-mcc-Add-compatible-for-SAMA7G5.patch | 9 +- ...c-Add-multi-channel-support-for-I2S-.patch | 15 +- ...s-mcc-Add-support-to-select-TDM-pins.patch | 11 +- ...-ASoC-mchp-i2s-mcc-Add-FIFOs-support.patch | 25 ++-- ...-at91-pio4-Fix-slew-rate-disablement.patch | 9 +- ...-media-atmel-properly-get-pm_runtime.patch | 27 ++-- ...l-isc-Remove-redundant-assignment-to.patch | 7 +- ...l-isc-specialize-gamma-table-into-pr.patch | 15 +- ...l-isc-specialize-driver-name-constan.patch | 17 +-- ...l-isc-add-checks-for-limiting-frame-.patch | 9 +- ...l-isc-specialize-max-width-and-max-h.patch | 19 +-- ...a-atmel-atmel-isc-specialize-dma-cfg.patch | 13 +- ...l-isc-extract-CSC-submodule-config-i.patch | 13 +- ...l-isc-base-add-id-to-clock-debug-mes.patch | 7 +- ...l-isc-create-register-offsets-struct.patch | 25 +--- ...l-isc-extract-CBC-submodule-config-i.patch | 15 +- ...l-isc-add-CBC-to-the-reg-offsets-str.patch | 17 +-- ...l-isc-add-SUB422-and-SUB420-to-regis.patch | 15 +- ...tmel-isc-add-RLP-to-register-offsets.patch | 15 +- ...tmel-isc-add-HIS-to-register-offsets.patch | 19 +-- ...tmel-isc-add-DMA-to-register-offsets.patch | 19 +-- ...l-isc-add-support-for-version-regist.patch | 15 +- ...l-isc-add-his_entry-to-register-offs.patch | 15 +- ...l-isc-add-register-description-for-a.patch | 5 - ...l-isc-extend-pipeline-with-extra-mod.patch | 13 +- ...l-isc-add-CC-initialization-function.patch | 15 +- ...l-isc-create-product-specific-v4l2-c.patch | 15 +- ...l-isc-create-callback-for-DPC-submod.patch | 15 +- ...l-isc-create-callback-for-GAM-submod.patch | 15 +- ...l-isc-create-callback-for-RLP-submod.patch | 17 +-- ...l-isc-move-the-formats-list-into-pro.patch | 27 ++-- ...l-isc-create-an-adapt-pipeline-callb.patch | 15 +- ...l-isc-regs-add-additional-fields-for.patch | 5 - ...l-isc-base-add-support-for-more-form.patch | 21 ++- ...l-isc-sama5d2-remove-duplicate-defin.patch | 5 - ...-atmel-isc-add-microchip-xisc-driver.patch | 20 +-- ...186-ASoC-atmel-fix-shadowed-variable.patch | 9 +- ...el-i2s-remove-useless-initialization.patch | 7 +- ...-atmel-i2s-Set-symmetric-sample-bits.patch | 7 +- ...a5d4_wdt-add-support-for-sama7g5-wdt.patch | 9 +- ...tmel-fix-build-when-ISC-m-and-XISC-y.patch | 21 +-- ...191-i2c-at91-remove-define-CONFIG_PM.patch | 17 +-- ...3x-add-support-for-96kHz-and-192kHz-.patch | 17 +-- ...el-atmel-sama5d2-isc-fix-YUYV-format.patch | 7 +- ...ister-definition-for-sama7g5-s-maste.patch | 5 - .../195-ARM-at91-add-new-SoC-sama7g5.patch | 5 - ...bug-add-sama7g5-low-level-debug-uart.patch | 5 - ...-move-pm_bu-to-soc_pm-data-structure.patch | 11 +- ...ove-the-setup-of-soc_pm.bu-suspended.patch | 11 +- ...91-pm-document-at91_soc_pm-structure.patch | 5 - ...k-for-different-controllers-in-at91_.patch | 47 +++---- ...1-ARM-at91-pm-do-not-initialize-pdev.patch | 7 +- ...2-ARM-at91-pm-use-r7-instead-of-tmp1.patch | 5 - ...d-push-and-pop-on-stack-while-memory.patch | 5 - ...NFIG_SOC_SAM9X60-CONFIG_HAVE_AT91_SA.patch | 5 - ...91-pm-add-support-for-waiting-MCK1.4.patch | 5 - ...dd-sfrbu-registers-definitions-for-s.patch | 6 - ...-registers-definitions-for-sama7g5-s.patch | 6 - ...add-self-refresh-support-for-sama7g5.patch | 9 -- ...support-for-MCK1.4-save-restore-for-.patch | 5 - ...support-for-2.5V-LDO-regulator-contr.patch | 7 - ...-at91-pm-wait-for-ddr-power-mode-off.patch | 5 - ...M-at91-pm-add-sama7g5-ddr-controller.patch | 7 +- ...91-pm-add-sama7g5-ddr-phy-controller.patch | 7 +- ...-ddr-phy-calibration-data-to-securam.patch | 9 +- ...-add-backup-mode-support-for-SAMA7G5.patch | 9 +- .../216-ARM-at91-pm-add-sama7g5-s-pmc.patch | 9 +- ...t91-sama7-introduce-sama7-SoC-family.patch | 10 +- ...M-at91-pm-add-pm-support-for-SAMA7G5.patch | 13 +- .../219-ARM-at91-pm-add-sama7g5-shdwc.patch | 7 +- ...-add-defconfig-for-sama7-family-of-S.patch | 6 - ...M-multi_v7_defconfig-add-sama7g5-SoC.patch | 5 - ...91-add-sama7g5-SoC-DT-and-sama7g5-ek.patch | 16 +-- ...ot-panic-if-ram-controllers-are-not-.patch | 9 +- ...dts-at91-sama7g5-add-ram-controllers.patch | 7 +- ...RM-dts-at91-sama7g5-add-securam-node.patch | 7 +- ...-ARM-dts-at91-sama7g5-add-shdwc-node.patch | 11 +- .../227-ARM-dts-at91-sama7g5-add-chipid.patch | 7 +- ...ch-backup-area-to-vbat-in-backup-mod.patch | 7 +- ...a7g5ek-add-suspend-voltage-for-ddr3l.patch | 7 +- ...roup-constants-and-addresses-loading.patch | 5 - ...oad-base-address-of-controllers-in-t.patch | 5 - ...a7g5ek-use-proper-slew-rate-settings.patch | 13 +- ...a7g5ek-to-not-touch-slew-rate-for-SD.patch | 15 +- ...at91-re-factor-clocks-suspend-resume.patch | 131 +++++++----------- ...cute-suspend-resume-only-for-backup-.patch | 7 +- ...ma7g5-add-securam-s-peripheral-clock.patch | 5 - ...ter-add-register-definition-for-sama.patch | 13 +- ...ter-improve-readability-by-using-loc.patch | 9 +- ...-sama7g5-to-the-list-of-available-pm.patch | 7 +- ...-master-check-if-div-or-pres-is-zero.patch | 9 +- ...master-mask-mckr-against-layout-mask.patch | 11 +- ...-at91-clk-master-fix-prescaler-logic.patch | 7 +- ...9x60-pll-add-notifier-for-div-part-o.patch | 35 ++--- ...-clk-master-add-notifier-for-divider.patch | 67 +++------ ...-remove-prescaler-part-of-master-clo.patch | 7 +- ...a7g5-set-low-limit-for-mck0-at-32KHz.patch | 5 - ...core_get_rate_recalc-in-clk_rate_get.patch | 7 +- .../99-scripts-fix-compilation-error.patch | 7 +- .../910-unaligned_access_hacks.patch | 4 +- ...hci_fixup_endpoint-for-interval-adju.patch | 4 +- ...6is7xx-Fix-for-hardware-flow-control.patch | 4 +- ...y-phy-brcm-usb-fixup-BCM4908-support.patch | 4 +- ...es-update-table-flags-from-the-commi.patch | 4 +- ...the-dst-buffer-to-of_get_mac_address.patch | 2 +- 154 files changed, 525 insertions(+), 1537 deletions(-) diff --git a/include/kernel-5.10 b/include/kernel-5.10 index 0522a1432f..5eededd53f 100644 --- a/include/kernel-5.10 +++ b/include/kernel-5.10 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.10 = .102 -LINUX_KERNEL_HASH-5.10.102 = e6414895b1c2e406a41a8744160e2b4ef2095e6cebe5363be460d1b198f0e379 +LINUX_VERSION-5.10 = .103 +LINUX_KERNEL_HASH-5.10.103 = 4fb8ad55e6430342e4fbc94d54e594e9be8eb6a8bea1d71eccf835948d08580a diff --git a/target/linux/at91/patches-5.10/102-dt-bindings-clock-at91-add-sama7g5-pll-defines.patch b/target/linux/at91/patches-5.10/102-dt-bindings-clock-at91-add-sama7g5-pll-defines.patch index 2f2e6641a4..e684e5d4db 100644 --- a/target/linux/at91/patches-5.10/102-dt-bindings-clock-at91-add-sama7g5-pll-defines.patch +++ b/target/linux/at91/patches-5.10/102-dt-bindings-clock-at91-add-sama7g5-pll-defines.patch @@ -17,8 +17,6 @@ Signed-off-by: Stephen Boyd include/dt-bindings/clock/at91.h | 10 ++++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) -diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c -index a092a940baa4..7ef7963126b6 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c @@ -182,13 +182,13 @@ static const struct { @@ -37,7 +35,7 @@ index a092a940baa4..7ef7963126b6 100644 }, [PLL_ID_ETH] = { -@@ -835,7 +835,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np) +@@ -835,7 +835,7 @@ static void __init sama7g5_pmc_setup(str if (IS_ERR(regmap)) return; @@ -46,8 +44,6 @@ index a092a940baa4..7ef7963126b6 100644 nck(sama7g5_systemck), nck(sama7g5_periphck), nck(sama7g5_gck), 8); -diff --git a/include/dt-bindings/clock/at91.h b/include/dt-bindings/clock/at91.h -index eba17106608b..fab313f62e8f 100644 --- a/include/dt-bindings/clock/at91.h +++ b/include/dt-bindings/clock/at91.h @@ -25,6 +25,16 @@ @@ -67,6 +63,3 @@ index eba17106608b..fab313f62e8f 100644 #ifndef AT91_PMC_MOSCS #define AT91_PMC_MOSCS 0 /* MOSCS Flag */ #define AT91_PMC_LOCKA 1 /* PLLA Lock */ --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/103-clk-at91-sama7g5-allow-SYS-and-CPU-PLLs-to-be-export.patch b/target/linux/at91/patches-5.10/103-clk-at91-sama7g5-allow-SYS-and-CPU-PLLs-to-be-export.patch index 312e6466cc..cd50dee6e1 100644 --- a/target/linux/at91/patches-5.10/103-clk-at91-sama7g5-allow-SYS-and-CPU-PLLs-to-be-export.patch +++ b/target/linux/at91/patches-5.10/103-clk-at91-sama7g5-allow-SYS-and-CPU-PLLs-to-be-export.patch @@ -17,8 +17,6 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/sama7g5.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) -diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c -index 7ef7963126b6..d3c3469d47d9 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c @@ -117,7 +117,8 @@ static const struct { @@ -41,6 +39,3 @@ index 7ef7963126b6..d3c3469d47d9 100644 }, [PLL_ID_DDR] = { --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/104-clk-at91-clk-master-add-5th-divisor-for-mck-master.patch b/target/linux/at91/patches-5.10/104-clk-at91-clk-master-add-5th-divisor-for-mck-master.patch index f01d6f4b3a..9feea82490 100644 --- a/target/linux/at91/patches-5.10/104-clk-at91-clk-master-add-5th-divisor-for-mck-master.patch +++ b/target/linux/at91/patches-5.10/104-clk-at91-clk-master-add-5th-divisor-for-mck-master.patch @@ -18,8 +18,6 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/pmc.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -diff --git a/drivers/clk/at91/clk-master.c b/drivers/clk/at91/clk-master.c -index bd0d8a69a2cf..aafd003b30cf 100644 --- a/drivers/clk/at91/clk-master.c +++ b/drivers/clk/at91/clk-master.c @@ -15,7 +15,7 @@ @@ -31,11 +29,9 @@ index bd0d8a69a2cf..aafd003b30cf 100644 #define PMC_MCR 0x30 #define PMC_MCR_ID_MSK GENMASK(3, 0) -diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h -index 7b86affc6d7c..0a9364bde339 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h -@@ -48,7 +48,7 @@ extern const struct clk_master_layout at91sam9x5_master_layout; +@@ -48,7 +48,7 @@ extern const struct clk_master_layout at struct clk_master_characteristics { struct clk_range output; @@ -44,6 +40,3 @@ index 7b86affc6d7c..0a9364bde339 100644 u8 have_div3_pres; }; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/105-clk-at91-sama7g5-add-5th-divisor-for-mck0-layout-and.patch b/target/linux/at91/patches-5.10/105-clk-at91-sama7g5-add-5th-divisor-for-mck0-layout-and.patch index 713bc737a1..55e7f913c2 100644 --- a/target/linux/at91/patches-5.10/105-clk-at91-sama7g5-add-5th-divisor-for-mck0-layout-and.patch +++ b/target/linux/at91/patches-5.10/105-clk-at91-sama7g5-add-5th-divisor-for-mck0-layout-and.patch @@ -16,11 +16,9 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/sama7g5.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c -index d3c3469d47d9..d685e22b2014 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c -@@ -775,13 +775,13 @@ static const struct clk_pll_characteristics pll_characteristics = { +@@ -775,13 +775,13 @@ static const struct clk_pll_characterist /* MCK0 characteristics. */ static const struct clk_master_characteristics mck0_characteristics = { .output = { .min = 140000000, .max = 200000000 }, @@ -36,6 +34,3 @@ index d3c3469d47d9..d685e22b2014 100644 .pres_shift = 4, .offset = 0x28, }; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/106-clk-at91-clk-sam9x60-pll-allow-runtime-changes-for-p.patch b/target/linux/at91/patches-5.10/106-clk-at91-clk-sam9x60-pll-allow-runtime-changes-for-p.patch index f27634ae8b..fa76cbb5a3 100644 --- a/target/linux/at91/patches-5.10/106-clk-at91-clk-sam9x60-pll-allow-runtime-changes-for-p.patch +++ b/target/linux/at91/patches-5.10/106-clk-at91-clk-sam9x60-pll-allow-runtime-changes-for-p.patch @@ -17,11 +17,9 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/sama7g5.c | 67 +++++++++---- 4 files changed, 197 insertions(+), 41 deletions(-) -diff --git a/drivers/clk/at91/clk-sam9x60-pll.c b/drivers/clk/at91/clk-sam9x60-pll.c -index 5a9daa3643a7..1f52409475e9 100644 --- a/drivers/clk/at91/clk-sam9x60-pll.c +++ b/drivers/clk/at91/clk-sam9x60-pll.c -@@ -229,6 +229,57 @@ static int sam9x60_frac_pll_set_rate(struct clk_hw *hw, unsigned long rate, +@@ -229,6 +229,57 @@ static int sam9x60_frac_pll_set_rate(str return sam9x60_frac_pll_compute_mul_frac(core, rate, parent_rate, true); } @@ -79,7 +77,7 @@ index 5a9daa3643a7..1f52409475e9 100644 static const struct clk_ops sam9x60_frac_pll_ops = { .prepare = sam9x60_frac_pll_prepare, .unprepare = sam9x60_frac_pll_unprepare, -@@ -238,6 +289,15 @@ static const struct clk_ops sam9x60_frac_pll_ops = { +@@ -238,6 +289,15 @@ static const struct clk_ops sam9x60_frac .set_rate = sam9x60_frac_pll_set_rate, }; @@ -95,7 +93,7 @@ index 5a9daa3643a7..1f52409475e9 100644 static int sam9x60_div_pll_prepare(struct clk_hw *hw) { struct sam9x60_pll_core *core = to_sam9x60_pll_core(hw); -@@ -384,6 +444,44 @@ static int sam9x60_div_pll_set_rate(struct clk_hw *hw, unsigned long rate, +@@ -384,6 +444,44 @@ static int sam9x60_div_pll_set_rate(stru return 0; } @@ -140,7 +138,7 @@ index 5a9daa3643a7..1f52409475e9 100644 static const struct clk_ops sam9x60_div_pll_ops = { .prepare = sam9x60_div_pll_prepare, .unprepare = sam9x60_div_pll_unprepare, -@@ -393,17 +491,26 @@ static const struct clk_ops sam9x60_div_pll_ops = { +@@ -393,17 +491,26 @@ static const struct clk_ops sam9x60_div_ .set_rate = sam9x60_div_pll_set_rate, }; @@ -169,7 +167,7 @@ index 5a9daa3643a7..1f52409475e9 100644 unsigned int val; int ret; -@@ -417,10 +524,12 @@ sam9x60_clk_register_frac_pll(struct regmap *regmap, spinlock_t *lock, +@@ -417,10 +524,12 @@ sam9x60_clk_register_frac_pll(struct reg init.name = name; init.parent_names = &parent_name; init.num_parents = 1; @@ -186,7 +184,7 @@ index 5a9daa3643a7..1f52409475e9 100644 frac->core.id = id; frac->core.hw.init = &init; -@@ -429,7 +538,7 @@ sam9x60_clk_register_frac_pll(struct regmap *regmap, spinlock_t *lock, +@@ -429,7 +538,7 @@ sam9x60_clk_register_frac_pll(struct reg frac->core.regmap = regmap; frac->core.lock = lock; @@ -195,7 +193,7 @@ index 5a9daa3643a7..1f52409475e9 100644 if (sam9x60_pll_ready(regmap, id)) { regmap_update_bits(regmap, AT91_PMC_PLL_UPDT, AT91_PMC_PLL_UPDT_ID_MSK, id); -@@ -457,7 +566,7 @@ sam9x60_clk_register_frac_pll(struct regmap *regmap, spinlock_t *lock, +@@ -457,7 +566,7 @@ sam9x60_clk_register_frac_pll(struct reg goto free; } } @@ -204,7 +202,7 @@ index 5a9daa3643a7..1f52409475e9 100644 hw = &frac->core.hw; ret = clk_hw_register(NULL, hw); -@@ -469,7 +578,7 @@ sam9x60_clk_register_frac_pll(struct regmap *regmap, spinlock_t *lock, +@@ -469,7 +578,7 @@ sam9x60_clk_register_frac_pll(struct reg return hw; free: @@ -228,7 +226,7 @@ index 5a9daa3643a7..1f52409475e9 100644 unsigned int val; int ret; -@@ -497,11 +606,11 @@ sam9x60_clk_register_div_pll(struct regmap *regmap, spinlock_t *lock, +@@ -497,11 +606,11 @@ sam9x60_clk_register_div_pll(struct regm init.name = name; init.parent_names = &parent_name; init.num_parents = 1; @@ -245,7 +243,7 @@ index 5a9daa3643a7..1f52409475e9 100644 div->core.id = id; div->core.hw.init = &init; -@@ -510,14 +619,14 @@ sam9x60_clk_register_div_pll(struct regmap *regmap, spinlock_t *lock, +@@ -510,14 +619,14 @@ sam9x60_clk_register_div_pll(struct regm div->core.regmap = regmap; div->core.lock = lock; @@ -262,8 +260,6 @@ index 5a9daa3643a7..1f52409475e9 100644 hw = &div->core.hw; ret = clk_hw_register(NULL, hw); -diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h -index 0a9364bde339..bedcd85ad750 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -190,14 +190,14 @@ struct clk_hw * __init @@ -283,11 +279,9 @@ index 0a9364bde339..bedcd85ad750 100644 struct clk_hw * __init at91_clk_register_programmable(struct regmap *regmap, const char *name, -diff --git a/drivers/clk/at91/sam9x60.c b/drivers/clk/at91/sam9x60.c -index c8cbec5308f0..4cb0d31babf7 100644 --- a/drivers/clk/at91/sam9x60.c +++ b/drivers/clk/at91/sam9x60.c -@@ -224,13 +224,24 @@ static void __init sam9x60_pmc_setup(struct device_node *np) +@@ -224,13 +224,24 @@ static void __init sam9x60_pmc_setup(str hw = sam9x60_clk_register_frac_pll(regmap, &pmc_pll_lock, "pllack_fracck", "mainck", sam9x60_pmc->chws[PMC_MAIN], 0, &plla_characteristics, @@ -314,7 +308,7 @@ index c8cbec5308f0..4cb0d31babf7 100644 if (IS_ERR(hw)) goto err_free; -@@ -239,13 +250,16 @@ static void __init sam9x60_pmc_setup(struct device_node *np) +@@ -239,13 +250,16 @@ static void __init sam9x60_pmc_setup(str hw = sam9x60_clk_register_frac_pll(regmap, &pmc_pll_lock, "upllck_fracck", "main_osc", main_osc_hw, 1, &upll_characteristics, @@ -333,11 +327,9 @@ index c8cbec5308f0..4cb0d31babf7 100644 if (IS_ERR(hw)) goto err_free; -diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c -index d685e22b2014..d7c2b731ad20 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c -@@ -95,15 +95,15 @@ static const struct clk_pll_layout pll_layout_divio = { +@@ -95,15 +95,15 @@ static const struct clk_pll_layout pll_l * @p: clock parent * @l: clock layout * @t: clock type @@ -498,7 +490,7 @@ index d685e22b2014..d7c2b731ad20 100644 }, }; -@@ -890,7 +923,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np) +@@ -890,7 +923,7 @@ static void __init sama7g5_pmc_setup(str sama7g5_plls[i][j].p, parent_hw, i, &pll_characteristics, sama7g5_plls[i][j].l, @@ -507,7 +499,7 @@ index d685e22b2014..d7c2b731ad20 100644 break; case PLL_TYPE_DIV: -@@ -899,7 +932,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np) +@@ -899,7 +932,7 @@ static void __init sama7g5_pmc_setup(str sama7g5_plls[i][j].p, i, &pll_characteristics, sama7g5_plls[i][j].l, @@ -516,6 +508,3 @@ index d685e22b2014..d7c2b731ad20 100644 break; default: --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/107-clk-at91-sama7g5-remove-mck0-from-parent-list-of-oth.patch b/target/linux/at91/patches-5.10/107-clk-at91-sama7g5-remove-mck0-from-parent-list-of-oth.patch index 20d6776a92..209c40cf2f 100644 --- a/target/linux/at91/patches-5.10/107-clk-at91-sama7g5-remove-mck0-from-parent-list-of-oth.patch +++ b/target/linux/at91/patches-5.10/107-clk-at91-sama7g5-remove-mck0-from-parent-list-of-oth.patch @@ -15,8 +15,6 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/sama7g5.c | 55 ++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 29 deletions(-) -diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c -index d7c2b731ad20..335e9c943c65 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c @@ -280,7 +280,7 @@ static const struct { @@ -118,7 +116,7 @@ index d7c2b731ad20..335e9c943c65 100644 { .n = "tcb0_ch0_gclk", .id = 88, -@@ -961,9 +961,8 @@ static void __init sama7g5_pmc_setup(struct device_node *np) +@@ -961,9 +961,8 @@ static void __init sama7g5_pmc_setup(str parent_names[0] = md_slck_name; parent_names[1] = td_slck_name; parent_names[2] = "mainck"; @@ -129,7 +127,7 @@ index d7c2b731ad20..335e9c943c65 100644 u32 *mux_table; mux_table = kmalloc_array(num_parents, sizeof(*mux_table), -@@ -971,10 +970,10 @@ static void __init sama7g5_pmc_setup(struct device_node *np) +@@ -971,10 +970,10 @@ static void __init sama7g5_pmc_setup(str if (!mux_table) goto err_free; @@ -143,7 +141,7 @@ index d7c2b731ad20..335e9c943c65 100644 sama7g5_mckx[i].ep_count); hw = at91_clk_sama7g5_register_master(regmap, sama7g5_mckx[i].n, -@@ -997,20 +996,19 @@ static void __init sama7g5_pmc_setup(struct device_node *np) +@@ -997,20 +996,19 @@ static void __init sama7g5_pmc_setup(str parent_names[0] = md_slck_name; parent_names[1] = td_slck_name; parent_names[2] = "mainck"; @@ -171,7 +169,7 @@ index d7c2b731ad20..335e9c943c65 100644 &programmable_layout, sama7g5_prog_mux_table); if (IS_ERR(hw)) -@@ -1047,9 +1045,8 @@ static void __init sama7g5_pmc_setup(struct device_node *np) +@@ -1047,9 +1045,8 @@ static void __init sama7g5_pmc_setup(str parent_names[0] = md_slck_name; parent_names[1] = td_slck_name; parent_names[2] = "mainck"; @@ -182,7 +180,7 @@ index d7c2b731ad20..335e9c943c65 100644 u32 *mux_table; mux_table = kmalloc_array(num_parents, sizeof(*mux_table), -@@ -1057,10 +1054,10 @@ static void __init sama7g5_pmc_setup(struct device_node *np) +@@ -1057,10 +1054,10 @@ static void __init sama7g5_pmc_setup(str if (!mux_table) goto err_free; @@ -196,6 +194,3 @@ index d7c2b731ad20..335e9c943c65 100644 sama7g5_gck[i].pp_count); hw = at91_clk_register_generated(regmap, &pmc_pcr_lock, --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/108-clk-at91-sama7g5-decrease-lower-limit-for-MCK0-rate.patch b/target/linux/at91/patches-5.10/108-clk-at91-sama7g5-decrease-lower-limit-for-MCK0-rate.patch index d812538c3e..2bc1907cfb 100644 --- a/target/linux/at91/patches-5.10/108-clk-at91-sama7g5-decrease-lower-limit-for-MCK0-rate.patch +++ b/target/linux/at91/patches-5.10/108-clk-at91-sama7g5-decrease-lower-limit-for-MCK0-rate.patch @@ -17,11 +17,9 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/sama7g5.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c -index 335e9c943c65..29d9781e6712 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c -@@ -807,7 +807,7 @@ static const struct clk_pll_characteristics pll_characteristics = { +@@ -807,7 +807,7 @@ static const struct clk_pll_characterist /* MCK0 characteristics. */ static const struct clk_master_characteristics mck0_characteristics = { @@ -30,6 +28,3 @@ index 335e9c943c65..29d9781e6712 100644 .divisors = { 1, 2, 4, 3, 5 }, .have_div3_pres = 1, }; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/109-clk-at91-sama7g5-do-not-allow-cpu-pll-to-go-higher-t.patch b/target/linux/at91/patches-5.10/109-clk-at91-sama7g5-do-not-allow-cpu-pll-to-go-higher-t.patch index a30a489a8a..b11efc9d4e 100644 --- a/target/linux/at91/patches-5.10/109-clk-at91-sama7g5-do-not-allow-cpu-pll-to-go-higher-t.patch +++ b/target/linux/at91/patches-5.10/109-clk-at91-sama7g5-do-not-allow-cpu-pll-to-go-higher-t.patch @@ -15,11 +15,9 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/sama7g5.c | 61 +++++++++++++++++++++++++++++--------- 1 file changed, 47 insertions(+), 14 deletions(-) -diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c -index 29d9781e6712..e0c4d2eb9f59 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c -@@ -89,11 +89,40 @@ static const struct clk_pll_layout pll_layout_divio = { +@@ -89,11 +89,40 @@ static const struct clk_pll_layout pll_l .endiv_shift = 30, }; @@ -203,7 +201,7 @@ index 29d9781e6712..e0c4d2eb9f59 100644 /* MCK0 characteristics. */ static const struct clk_master_characteristics mck0_characteristics = { .output = { .min = 50000000, .max = 200000000 }, -@@ -921,7 +954,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np) +@@ -921,7 +954,7 @@ static void __init sama7g5_pmc_setup(str hw = sam9x60_clk_register_frac_pll(regmap, &pmc_pll_lock, sama7g5_plls[i][j].n, sama7g5_plls[i][j].p, parent_hw, i, @@ -212,7 +210,7 @@ index 29d9781e6712..e0c4d2eb9f59 100644 sama7g5_plls[i][j].l, sama7g5_plls[i][j].f); break; -@@ -930,7 +963,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np) +@@ -930,7 +963,7 @@ static void __init sama7g5_pmc_setup(str hw = sam9x60_clk_register_div_pll(regmap, &pmc_pll_lock, sama7g5_plls[i][j].n, sama7g5_plls[i][j].p, i, @@ -221,6 +219,3 @@ index 29d9781e6712..e0c4d2eb9f59 100644 sama7g5_plls[i][j].l, sama7g5_plls[i][j].f); break; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/110-clk-at91-clk-master-re-factor-master-clock.patch b/target/linux/at91/patches-5.10/110-clk-at91-clk-master-re-factor-master-clock.patch index dc247654d2..a0eadd8886 100644 --- a/target/linux/at91/patches-5.10/110-clk-at91-clk-master-re-factor-master-clock.patch +++ b/target/linux/at91/patches-5.10/110-clk-at91-clk-master-re-factor-master-clock.patch @@ -28,8 +28,6 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/sama7g5.c | 13 +- 14 files changed, 542 insertions(+), 146 deletions(-) -diff --git a/drivers/clk/at91/at91rm9200.c b/drivers/clk/at91/at91rm9200.c -index 2c3d8e6ca63c..0fad1009f315 100644 --- a/drivers/clk/at91/at91rm9200.c +++ b/drivers/clk/at91/at91rm9200.c @@ -7,6 +7,8 @@ @@ -41,7 +39,7 @@ index 2c3d8e6ca63c..0fad1009f315 100644 struct sck { char *n; char *p; -@@ -137,9 +139,20 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) +@@ -137,9 +139,20 @@ static void __init at91rm9200_pmc_setup( parent_names[1] = "mainck"; parent_names[2] = "pllack"; parent_names[3] = "pllbck"; @@ -65,7 +63,7 @@ index 2c3d8e6ca63c..0fad1009f315 100644 if (IS_ERR(hw)) goto err_free; -@@ -181,7 +194,7 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) +@@ -181,7 +194,7 @@ static void __init at91rm9200_pmc_setup( for (i = 0; i < ARRAY_SIZE(at91rm9200_periphck); i++) { hw = at91_clk_register_peripheral(regmap, at91rm9200_periphck[i].n, @@ -74,8 +72,6 @@ index 2c3d8e6ca63c..0fad1009f315 100644 at91rm9200_periphck[i].id); if (IS_ERR(hw)) goto err_free; -diff --git a/drivers/clk/at91/at91sam9260.c b/drivers/clk/at91/at91sam9260.c -index bb81ff731ad8..ceb5495f723a 100644 --- a/drivers/clk/at91/at91sam9260.c +++ b/drivers/clk/at91/at91sam9260.c @@ -32,6 +32,8 @@ struct at91sam926x_data { @@ -87,7 +83,7 @@ index bb81ff731ad8..ceb5495f723a 100644 static const struct clk_master_characteristics sam9260_mck_characteristics = { .output = { .min = 0, .max = 105000000 }, .divisors = { 1, 2, 4, 0 }, -@@ -218,8 +220,8 @@ static const struct sck at91sam9261_systemck[] = { +@@ -218,8 +220,8 @@ static const struct sck at91sam9261_syst { .n = "pck1", .p = "prog1", .id = 9 }, { .n = "pck2", .p = "prog2", .id = 10 }, { .n = "pck3", .p = "prog3", .id = 11 }, @@ -98,7 +94,7 @@ index bb81ff731ad8..ceb5495f723a 100644 }; static const struct pck at91sam9261_periphck[] = { -@@ -413,9 +415,21 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, +@@ -413,9 +415,21 @@ static void __init at91sam926x_pmc_setup parent_names[1] = "mainck"; parent_names[2] = "pllack"; parent_names[3] = "pllbck"; @@ -123,7 +119,7 @@ index bb81ff731ad8..ceb5495f723a 100644 if (IS_ERR(hw)) goto err_free; -@@ -457,7 +471,7 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, +@@ -457,7 +471,7 @@ static void __init at91sam926x_pmc_setup for (i = 0; i < data->num_pck; i++) { hw = at91_clk_register_peripheral(regmap, data->pck[i].n, @@ -132,8 +128,6 @@ index bb81ff731ad8..ceb5495f723a 100644 data->pck[i].id); if (IS_ERR(hw)) goto err_free; -diff --git a/drivers/clk/at91/at91sam9g45.c b/drivers/clk/at91/at91sam9g45.c -index cb4a406ed15d..0214333dedd3 100644 --- a/drivers/clk/at91/at91sam9g45.c +++ b/drivers/clk/at91/at91sam9g45.c @@ -7,6 +7,8 @@ @@ -160,7 +154,7 @@ index cb4a406ed15d..0214333dedd3 100644 }; struct pck { -@@ -148,9 +150,21 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) +@@ -148,9 +150,21 @@ static void __init at91sam9g45_pmc_setup parent_names[1] = "mainck"; parent_names[2] = "plladivck"; parent_names[3] = "utmick"; @@ -185,7 +179,7 @@ index cb4a406ed15d..0214333dedd3 100644 if (IS_ERR(hw)) goto err_free; -@@ -166,7 +180,7 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) +@@ -166,7 +180,7 @@ static void __init at91sam9g45_pmc_setup parent_names[1] = "mainck"; parent_names[2] = "plladivck"; parent_names[3] = "utmick"; @@ -194,7 +188,7 @@ index cb4a406ed15d..0214333dedd3 100644 for (i = 0; i < 2; i++) { char name[6]; -@@ -195,7 +209,7 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) +@@ -195,7 +209,7 @@ static void __init at91sam9g45_pmc_setup for (i = 0; i < ARRAY_SIZE(at91sam9g45_periphck); i++) { hw = at91_clk_register_peripheral(regmap, at91sam9g45_periphck[i].n, @@ -203,8 +197,6 @@ index cb4a406ed15d..0214333dedd3 100644 at91sam9g45_periphck[i].id); if (IS_ERR(hw)) goto err_free; -diff --git a/drivers/clk/at91/at91sam9n12.c b/drivers/clk/at91/at91sam9n12.c -index 93f7eb216122..f9db5316a7f1 100644 --- a/drivers/clk/at91/at91sam9n12.c +++ b/drivers/clk/at91/at91sam9n12.c @@ -7,6 +7,8 @@ @@ -235,7 +227,7 @@ index 93f7eb216122..f9db5316a7f1 100644 }; static const struct clk_pcr_layout at91sam9n12_pcr_layout = { -@@ -175,9 +177,21 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) +@@ -175,9 +177,21 @@ static void __init at91sam9n12_pmc_setup parent_names[1] = "mainck"; parent_names[2] = "plladivck"; parent_names[3] = "pllbck"; @@ -260,7 +252,7 @@ index 93f7eb216122..f9db5316a7f1 100644 if (IS_ERR(hw)) goto err_free; -@@ -191,7 +205,7 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) +@@ -191,7 +205,7 @@ static void __init at91sam9n12_pmc_setup parent_names[1] = "mainck"; parent_names[2] = "plladivck"; parent_names[3] = "pllbck"; @@ -269,7 +261,7 @@ index 93f7eb216122..f9db5316a7f1 100644 for (i = 0; i < 2; i++) { char name[6]; -@@ -221,7 +235,7 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) +@@ -221,7 +235,7 @@ static void __init at91sam9n12_pmc_setup hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &at91sam9n12_pcr_layout, at91sam9n12_periphck[i].n, @@ -278,8 +270,6 @@ index 93f7eb216122..f9db5316a7f1 100644 at91sam9n12_periphck[i].id, &range, INT_MIN); if (IS_ERR(hw)) -diff --git a/drivers/clk/at91/at91sam9rl.c b/drivers/clk/at91/at91sam9rl.c -index a343eb69bb35..66736e03cfef 100644 --- a/drivers/clk/at91/at91sam9rl.c +++ b/drivers/clk/at91/at91sam9rl.c @@ -7,6 +7,8 @@ @@ -291,7 +281,7 @@ index a343eb69bb35..66736e03cfef 100644 static const struct clk_master_characteristics sam9rl_mck_characteristics = { .output = { .min = 0, .max = 94000000 }, .divisors = { 1, 2, 4, 0 }, -@@ -117,9 +119,20 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np) +@@ -117,9 +119,20 @@ static void __init at91sam9rl_pmc_setup( parent_names[1] = "mainck"; parent_names[2] = "pllack"; parent_names[3] = "utmick"; @@ -315,7 +305,7 @@ index a343eb69bb35..66736e03cfef 100644 if (IS_ERR(hw)) goto err_free; -@@ -129,7 +142,7 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np) +@@ -129,7 +142,7 @@ static void __init at91sam9rl_pmc_setup( parent_names[1] = "mainck"; parent_names[2] = "pllack"; parent_names[3] = "utmick"; @@ -324,7 +314,7 @@ index a343eb69bb35..66736e03cfef 100644 for (i = 0; i < 2; i++) { char name[6]; -@@ -158,7 +171,7 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np) +@@ -158,7 +171,7 @@ static void __init at91sam9rl_pmc_setup( for (i = 0; i < ARRAY_SIZE(at91sam9rl_periphck); i++) { hw = at91_clk_register_peripheral(regmap, at91sam9rl_periphck[i].n, @@ -333,8 +323,6 @@ index a343eb69bb35..66736e03cfef 100644 at91sam9rl_periphck[i].id); if (IS_ERR(hw)) goto err_free; -diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c -index 22b9aad9efb8..79b9d3667228 100644 --- a/drivers/clk/at91/at91sam9x5.c +++ b/drivers/clk/at91/at91sam9x5.c @@ -7,6 +7,8 @@ @@ -355,7 +343,7 @@ index 22b9aad9efb8..79b9d3667228 100644 { .n = "smdck", .p = "smdclk", .id = 4 }, { .n = "uhpck", .p = "usbck", .id = 6 }, { .n = "udpck", .p = "usbck", .id = 7 }, -@@ -196,9 +198,19 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, +@@ -196,9 +198,19 @@ static void __init at91sam9x5_pmc_setup( parent_names[1] = "mainck"; parent_names[2] = "plladivck"; parent_names[3] = "utmick"; @@ -378,7 +366,7 @@ index 22b9aad9efb8..79b9d3667228 100644 if (IS_ERR(hw)) goto err_free; -@@ -218,7 +230,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, +@@ -218,7 +230,7 @@ static void __init at91sam9x5_pmc_setup( parent_names[1] = "mainck"; parent_names[2] = "plladivck"; parent_names[3] = "utmick"; @@ -387,7 +375,7 @@ index 22b9aad9efb8..79b9d3667228 100644 for (i = 0; i < 2; i++) { char name[6]; -@@ -245,7 +257,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, +@@ -245,7 +257,7 @@ static void __init at91sam9x5_pmc_setup( } if (has_lcdck) { @@ -396,7 +384,7 @@ index 22b9aad9efb8..79b9d3667228 100644 if (IS_ERR(hw)) goto err_free; -@@ -256,7 +268,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, +@@ -256,7 +268,7 @@ static void __init at91sam9x5_pmc_setup( hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &at91sam9x5_pcr_layout, at91sam9x5_periphck[i].n, @@ -405,7 +393,7 @@ index 22b9aad9efb8..79b9d3667228 100644 at91sam9x5_periphck[i].id, &range, INT_MIN); if (IS_ERR(hw)) -@@ -269,7 +281,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, +@@ -269,7 +281,7 @@ static void __init at91sam9x5_pmc_setup( hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &at91sam9x5_pcr_layout, extra_pcks[i].n, @@ -414,11 +402,9 @@ index 22b9aad9efb8..79b9d3667228 100644 extra_pcks[i].id, &range, INT_MIN); if (IS_ERR(hw)) -diff --git a/drivers/clk/at91/clk-master.c b/drivers/clk/at91/clk-master.c -index aafd003b30cf..a80427980bf7 100644 --- a/drivers/clk/at91/clk-master.c +++ b/drivers/clk/at91/clk-master.c -@@ -58,83 +58,309 @@ static inline bool clk_master_ready(struct clk_master *master) +@@ -58,83 +58,309 @@ static inline bool clk_master_ready(stru static int clk_master_prepare(struct clk_hw *hw) { struct clk_master *master = to_clk_master(hw); @@ -439,12 +425,12 @@ index aafd003b30cf..a80427980bf7 100644 struct clk_master *master = to_clk_master(hw); + unsigned long flags; + bool status; - -- return clk_master_ready(master); ++ + spin_lock_irqsave(master->lock, flags); + status = clk_master_ready(master); + spin_unlock_irqrestore(master->lock, flags); -+ + +- return clk_master_ready(master); + return status; } @@ -609,8 +595,8 @@ index aafd003b30cf..a80427980bf7 100644 + +static int clk_master_pres_determine_rate(struct clk_hw *hw, + struct clk_rate_request *req) - { - struct clk_master *master = to_clk_master(hw); ++{ ++ struct clk_master *master = to_clk_master(hw); + struct clk_rate_request req_parent = *req; + const struct clk_master_characteristics *characteristics = + master->characteristics; @@ -696,8 +682,8 @@ index aafd003b30cf..a80427980bf7 100644 +} + +static u8 clk_master_pres_get_parent(struct clk_hw *hw) -+{ -+ struct clk_master *master = to_clk_master(hw); + { + struct clk_master *master = to_clk_master(hw); + unsigned long flags; unsigned int mckr; @@ -749,7 +735,7 @@ index aafd003b30cf..a80427980bf7 100644 return ERR_PTR(-EINVAL); master = kzalloc(sizeof(*master), GFP_KERNEL); -@@ -142,15 +368,17 @@ at91_clk_register_master(struct regmap *regmap, +@@ -142,15 +368,17 @@ at91_clk_register_master(struct regmap * return ERR_PTR(-ENOMEM); init.name = name; @@ -769,7 +755,7 @@ index aafd003b30cf..a80427980bf7 100644 hw = &master->hw; ret = clk_hw_register(NULL, &master->hw); -@@ -162,37 +390,54 @@ at91_clk_register_master(struct regmap *regmap, +@@ -162,37 +390,54 @@ at91_clk_register_master(struct regmap * return hw; } @@ -846,8 +832,6 @@ index aafd003b30cf..a80427980bf7 100644 } static int clk_sama7g5_master_determine_rate(struct clk_hw *hw, -diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c -index a50084de97d4..a97b99c2dc12 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c @@ -24,6 +24,8 @@ @@ -859,7 +843,7 @@ index a50084de97d4..a97b99c2dc12 100644 #ifdef CONFIG_HAVE_AT91_AUDIO_PLL static void __init of_sama5d2_clk_audio_pll_frac_setup(struct device_node *np) { -@@ -388,9 +390,16 @@ of_at91_clk_master_setup(struct device_node *np, +@@ -388,9 +390,16 @@ of_at91_clk_master_setup(struct device_n if (IS_ERR(regmap)) return; @@ -879,11 +863,9 @@ index a50084de97d4..a97b99c2dc12 100644 if (IS_ERR(hw)) goto out_free_characteristics; -diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h -index bedcd85ad750..a49076c804a9 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h -@@ -155,10 +155,18 @@ at91_clk_register_sam9x5_main(struct regmap *regmap, const char *name, +@@ -155,10 +155,18 @@ at91_clk_register_sam9x5_main(struct reg const char **parent_names, int num_parents); struct clk_hw * __init @@ -906,8 +888,6 @@ index bedcd85ad750..a49076c804a9 100644 struct clk_hw * __init at91_clk_sama7g5_register_master(struct regmap *regmap, -diff --git a/drivers/clk/at91/sam9x60.c b/drivers/clk/at91/sam9x60.c -index 4cb0d31babf7..5f6fa89571b7 100644 --- a/drivers/clk/at91/sam9x60.c +++ b/drivers/clk/at91/sam9x60.c @@ -8,6 +8,7 @@ @@ -932,7 +912,7 @@ index 4cb0d31babf7..5f6fa89571b7 100644 }; static const struct { -@@ -268,9 +269,17 @@ static void __init sam9x60_pmc_setup(struct device_node *np) +@@ -268,9 +269,17 @@ static void __init sam9x60_pmc_setup(str parent_names[0] = md_slck_name; parent_names[1] = "mainck"; parent_names[2] = "pllack_divck"; @@ -953,7 +933,7 @@ index 4cb0d31babf7..5f6fa89571b7 100644 if (IS_ERR(hw)) goto err_free; -@@ -286,7 +295,7 @@ static void __init sam9x60_pmc_setup(struct device_node *np) +@@ -286,7 +295,7 @@ static void __init sam9x60_pmc_setup(str parent_names[0] = md_slck_name; parent_names[1] = td_slck_name; parent_names[2] = "mainck"; @@ -962,7 +942,7 @@ index 4cb0d31babf7..5f6fa89571b7 100644 parent_names[4] = "pllack_divck"; parent_names[5] = "upllck_divck"; for (i = 0; i < 2; i++) { -@@ -318,7 +327,7 @@ static void __init sam9x60_pmc_setup(struct device_node *np) +@@ -318,7 +327,7 @@ static void __init sam9x60_pmc_setup(str hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &sam9x60_pcr_layout, sam9x60_periphck[i].n, @@ -971,8 +951,6 @@ index 4cb0d31babf7..5f6fa89571b7 100644 sam9x60_periphck[i].id, &range, INT_MIN); if (IS_ERR(hw)) -diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c -index 8b220762941a..9a5cbc7cd55a 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c @@ -7,6 +7,8 @@ @@ -1007,7 +985,7 @@ index 8b220762941a..9a5cbc7cd55a 100644 }; static const struct { -@@ -235,15 +237,25 @@ static void __init sama5d2_pmc_setup(struct device_node *np) +@@ -235,15 +237,25 @@ static void __init sama5d2_pmc_setup(str parent_names[1] = "mainck"; parent_names[2] = "plladivck"; parent_names[3] = "utmick"; @@ -1037,7 +1015,7 @@ index 8b220762941a..9a5cbc7cd55a 100644 if (IS_ERR(hw)) goto err_free; -@@ -259,7 +271,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) +@@ -259,7 +271,7 @@ static void __init sama5d2_pmc_setup(str parent_names[1] = "mainck"; parent_names[2] = "plladivck"; parent_names[3] = "utmick"; @@ -1046,7 +1024,7 @@ index 8b220762941a..9a5cbc7cd55a 100644 parent_names[5] = "audiopll_pmcck"; for (i = 0; i < 3; i++) { char name[6]; -@@ -290,7 +302,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) +@@ -290,7 +302,7 @@ static void __init sama5d2_pmc_setup(str hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &sama5d2_pcr_layout, sama5d2_periphck[i].n, @@ -1055,7 +1033,7 @@ index 8b220762941a..9a5cbc7cd55a 100644 sama5d2_periphck[i].id, &range, INT_MIN); if (IS_ERR(hw)) -@@ -317,7 +329,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) +@@ -317,7 +329,7 @@ static void __init sama5d2_pmc_setup(str parent_names[1] = "mainck"; parent_names[2] = "plladivck"; parent_names[3] = "utmick"; @@ -1064,8 +1042,6 @@ index 8b220762941a..9a5cbc7cd55a 100644 parent_names[5] = "audiopll_pmcck"; for (i = 0; i < ARRAY_SIZE(sama5d2_gck); i++) { hw = at91_clk_register_generated(regmap, &pmc_pcr_lock, -diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c -index 7c6e0a5b9dc8..87009ee8effc 100644 --- a/drivers/clk/at91/sama5d3.c +++ b/drivers/clk/at91/sama5d3.c @@ -7,6 +7,8 @@ @@ -1100,7 +1076,7 @@ index 7c6e0a5b9dc8..87009ee8effc 100644 }; static const struct { -@@ -170,9 +172,19 @@ static void __init sama5d3_pmc_setup(struct device_node *np) +@@ -170,9 +172,19 @@ static void __init sama5d3_pmc_setup(str parent_names[1] = "mainck"; parent_names[2] = "plladivck"; parent_names[3] = "utmick"; @@ -1123,7 +1099,7 @@ index 7c6e0a5b9dc8..87009ee8effc 100644 if (IS_ERR(hw)) goto err_free; -@@ -192,7 +204,7 @@ static void __init sama5d3_pmc_setup(struct device_node *np) +@@ -192,7 +204,7 @@ static void __init sama5d3_pmc_setup(str parent_names[1] = "mainck"; parent_names[2] = "plladivck"; parent_names[3] = "utmick"; @@ -1132,7 +1108,7 @@ index 7c6e0a5b9dc8..87009ee8effc 100644 for (i = 0; i < 3; i++) { char name[6]; -@@ -222,7 +234,7 @@ static void __init sama5d3_pmc_setup(struct device_node *np) +@@ -222,7 +234,7 @@ static void __init sama5d3_pmc_setup(str hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &sama5d3_pcr_layout, sama5d3_periphck[i].n, @@ -1141,8 +1117,6 @@ index 7c6e0a5b9dc8..87009ee8effc 100644 sama5d3_periphck[i].id, &sama5d3_periphck[i].r, INT_MIN); -diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c -index 92d8d4141b43..57fff790188b 100644 --- a/drivers/clk/at91/sama5d4.c +++ b/drivers/clk/at91/sama5d4.c @@ -7,6 +7,8 @@ @@ -1177,7 +1151,7 @@ index 92d8d4141b43..57fff790188b 100644 }; static const struct { -@@ -185,15 +187,25 @@ static void __init sama5d4_pmc_setup(struct device_node *np) +@@ -185,15 +187,25 @@ static void __init sama5d4_pmc_setup(str parent_names[1] = "mainck"; parent_names[2] = "plladivck"; parent_names[3] = "utmick"; @@ -1207,7 +1181,7 @@ index 92d8d4141b43..57fff790188b 100644 if (IS_ERR(hw)) goto err_free; -@@ -215,7 +227,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np) +@@ -215,7 +227,7 @@ static void __init sama5d4_pmc_setup(str parent_names[1] = "mainck"; parent_names[2] = "plladivck"; parent_names[3] = "utmick"; @@ -1216,7 +1190,7 @@ index 92d8d4141b43..57fff790188b 100644 for (i = 0; i < 3; i++) { char name[6]; -@@ -245,7 +257,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np) +@@ -245,7 +257,7 @@ static void __init sama5d4_pmc_setup(str hw = at91_clk_register_sam9x5_peripheral(regmap, &pmc_pcr_lock, &sama5d4_pcr_layout, sama5d4_periphck[i].n, @@ -1225,8 +1199,6 @@ index 92d8d4141b43..57fff790188b 100644 sama5d4_periphck[i].id, &range, INT_MIN); if (IS_ERR(hw)) -diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c -index e0c4d2eb9f59..927eb3b2b126 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c @@ -32,6 +32,7 @@ @@ -1237,7 +1209,7 @@ index e0c4d2eb9f59..927eb3b2b126 100644 static DEFINE_SPINLOCK(pmc_mckX_lock); /** -@@ -984,8 +985,16 @@ static void __init sama7g5_pmc_setup(struct device_node *np) +@@ -984,8 +985,16 @@ static void __init sama7g5_pmc_setup(str parent_names[1] = "mainck"; parent_names[2] = "cpupll_divpmcck"; parent_names[3] = "syspll_divpmcck"; @@ -1256,6 +1228,3 @@ index e0c4d2eb9f59..927eb3b2b126 100644 if (IS_ERR(hw)) goto err_free; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/111-clk-at91-sama7g5-register-cpu-clock.patch b/target/linux/at91/patches-5.10/111-clk-at91-sama7g5-register-cpu-clock.patch index 9fb36e005f..dc55e32027 100644 --- a/target/linux/at91/patches-5.10/111-clk-at91-sama7g5-register-cpu-clock.patch +++ b/target/linux/at91/patches-5.10/111-clk-at91-sama7g5-register-cpu-clock.patch @@ -18,11 +18,9 @@ Signed-off-by: Stephen Boyd include/dt-bindings/clock/at91.h | 1 + 2 files changed, 7 insertions(+), 7 deletions(-) -diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c -index 927eb3b2b126..a6e20b35960e 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c -@@ -904,7 +904,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np) +@@ -904,7 +904,7 @@ static void __init sama7g5_pmc_setup(str if (IS_ERR(regmap)) return; @@ -31,7 +29,7 @@ index 927eb3b2b126..a6e20b35960e 100644 nck(sama7g5_systemck), nck(sama7g5_periphck), nck(sama7g5_gck), 8); -@@ -981,18 +981,17 @@ static void __init sama7g5_pmc_setup(struct device_node *np) +@@ -981,18 +981,17 @@ static void __init sama7g5_pmc_setup(str } } @@ -55,8 +53,6 @@ index 927eb3b2b126..a6e20b35960e 100644 &mck0_layout, &mck0_characteristics, &pmc_mck0_lock, 0); if (IS_ERR(hw)) -diff --git a/include/dt-bindings/clock/at91.h b/include/dt-bindings/clock/at91.h -index fab313f62e8f..98e1b2ab6403 100644 --- a/include/dt-bindings/clock/at91.h +++ b/include/dt-bindings/clock/at91.h @@ -34,6 +34,7 @@ @@ -67,6 +63,3 @@ index fab313f62e8f..98e1b2ab6403 100644 #ifndef AT91_PMC_MOSCS #define AT91_PMC_MOSCS 0 /* MOSCS Flag */ --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/112-clk-at91-Fix-the-declaration-of-the-clocks.patch b/target/linux/at91/patches-5.10/112-clk-at91-Fix-the-declaration-of-the-clocks.patch index 42d4769354..e989ed207e 100644 --- a/target/linux/at91/patches-5.10/112-clk-at91-Fix-the-declaration-of-the-clocks.patch +++ b/target/linux/at91/patches-5.10/112-clk-at91-Fix-the-declaration-of-the-clocks.patch @@ -34,22 +34,18 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/sama5d4.c | 3 ++- 9 files changed, 28 insertions(+), 28 deletions(-) -diff --git a/drivers/clk/at91/at91rm9200.c b/drivers/clk/at91/at91rm9200.c -index 0fad1009f315..428a6f4b9ebc 100644 --- a/drivers/clk/at91/at91rm9200.c +++ b/drivers/clk/at91/at91rm9200.c -@@ -215,5 +215,4 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) +@@ -215,5 +215,4 @@ err_free: * deferring properly. Once this is fixed, this can be switched to a platform * driver. */ -CLK_OF_DECLARE_DRIVER(at91rm9200_pmc, "atmel,at91rm9200-pmc", - at91rm9200_pmc_setup); +CLK_OF_DECLARE(at91rm9200_pmc, "atmel,at91rm9200-pmc", at91rm9200_pmc_setup); -diff --git a/drivers/clk/at91/at91sam9260.c b/drivers/clk/at91/at91sam9260.c -index ceb5495f723a..b29843bea278 100644 --- a/drivers/clk/at91/at91sam9260.c +++ b/drivers/clk/at91/at91sam9260.c -@@ -491,26 +491,26 @@ static void __init at91sam9260_pmc_setup(struct device_node *np) +@@ -491,26 +491,26 @@ static void __init at91sam9260_pmc_setup { at91sam926x_pmc_setup(np, &at91sam9260_data); } @@ -84,44 +80,36 @@ index ceb5495f723a..b29843bea278 100644 - at91sam9g20_pmc_setup); + +CLK_OF_DECLARE(at91sam9g20_pmc, "atmel,at91sam9g20-pmc", at91sam9g20_pmc_setup); -diff --git a/drivers/clk/at91/at91sam9g45.c b/drivers/clk/at91/at91sam9g45.c -index 0214333dedd3..15da0dfe3ef2 100644 --- a/drivers/clk/at91/at91sam9g45.c +++ b/drivers/clk/at91/at91sam9g45.c -@@ -228,5 +228,4 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) +@@ -228,5 +228,4 @@ err_free: * The TCB is used as the clocksource so its clock is needed early. This means * this can't be a platform driver. */ -CLK_OF_DECLARE_DRIVER(at91sam9g45_pmc, "atmel,at91sam9g45-pmc", - at91sam9g45_pmc_setup); +CLK_OF_DECLARE(at91sam9g45_pmc, "atmel,at91sam9g45-pmc", at91sam9g45_pmc_setup); -diff --git a/drivers/clk/at91/at91sam9n12.c b/drivers/clk/at91/at91sam9n12.c -index f9db5316a7f1..7fe435f4b46b 100644 --- a/drivers/clk/at91/at91sam9n12.c +++ b/drivers/clk/at91/at91sam9n12.c -@@ -255,5 +255,4 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) +@@ -255,5 +255,4 @@ err_free: * The TCB is used as the clocksource so its clock is needed early. This means * this can't be a platform driver. */ -CLK_OF_DECLARE_DRIVER(at91sam9n12_pmc, "atmel,at91sam9n12-pmc", - at91sam9n12_pmc_setup); +CLK_OF_DECLARE(at91sam9n12_pmc, "atmel,at91sam9n12-pmc", at91sam9n12_pmc_setup); -diff --git a/drivers/clk/at91/at91sam9rl.c b/drivers/clk/at91/at91sam9rl.c -index 66736e03cfef..ecbabf5162bd 100644 --- a/drivers/clk/at91/at91sam9rl.c +++ b/drivers/clk/at91/at91sam9rl.c -@@ -186,4 +186,5 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np) +@@ -186,4 +186,5 @@ static void __init at91sam9rl_pmc_setup( err_free: kfree(at91sam9rl_pmc); } -CLK_OF_DECLARE_DRIVER(at91sam9rl_pmc, "atmel,at91sam9rl-pmc", at91sam9rl_pmc_setup); + +CLK_OF_DECLARE(at91sam9rl_pmc, "atmel,at91sam9rl-pmc", at91sam9rl_pmc_setup); -diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c -index 79b9d3667228..5cce48c64ea2 100644 --- a/drivers/clk/at91/at91sam9x5.c +++ b/drivers/clk/at91/at91sam9x5.c -@@ -302,33 +302,33 @@ static void __init at91sam9g15_pmc_setup(struct device_node *np) +@@ -302,33 +302,33 @@ static void __init at91sam9g15_pmc_setup { at91sam9x5_pmc_setup(np, at91sam9g15_periphck, true); } @@ -165,38 +153,29 @@ index 79b9d3667228..5cce48c64ea2 100644 - at91sam9x35_pmc_setup); + +CLK_OF_DECLARE(at91sam9x35_pmc, "atmel,at91sam9x35-pmc", at91sam9x35_pmc_setup); -diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c -index 9a5cbc7cd55a..3d1f78176c3e 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c -@@ -372,4 +372,5 @@ static void __init sama5d2_pmc_setup(struct device_node *np) +@@ -372,4 +372,5 @@ static void __init sama5d2_pmc_setup(str err_free: kfree(sama5d2_pmc); } -CLK_OF_DECLARE_DRIVER(sama5d2_pmc, "atmel,sama5d2-pmc", sama5d2_pmc_setup); + +CLK_OF_DECLARE(sama5d2_pmc, "atmel,sama5d2-pmc", sama5d2_pmc_setup); -diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c -index 87009ee8effc..d376257807d2 100644 --- a/drivers/clk/at91/sama5d3.c +++ b/drivers/clk/at91/sama5d3.c -@@ -255,4 +255,4 @@ static void __init sama5d3_pmc_setup(struct device_node *np) +@@ -255,4 +255,4 @@ err_free: * The TCB is used as the clocksource so its clock is needed early. This means * this can't be a platform driver. */ -CLK_OF_DECLARE_DRIVER(sama5d3_pmc, "atmel,sama5d3-pmc", sama5d3_pmc_setup); +CLK_OF_DECLARE(sama5d3_pmc, "atmel,sama5d3-pmc", sama5d3_pmc_setup); -diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c -index 57fff790188b..5cbaac68da44 100644 --- a/drivers/clk/at91/sama5d4.c +++ b/drivers/clk/at91/sama5d4.c -@@ -286,4 +286,5 @@ static void __init sama5d4_pmc_setup(struct device_node *np) +@@ -286,4 +286,5 @@ static void __init sama5d4_pmc_setup(str err_free: kfree(sama5d4_pmc); } -CLK_OF_DECLARE_DRIVER(sama5d4_pmc, "atmel,sama5d4-pmc", sama5d4_pmc_setup); + +CLK_OF_DECLARE(sama5d4_pmc, "atmel,sama5d4-pmc", sama5d4_pmc_setup); --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/113-clk-at91-Trivial-typo-fixes-in-the-file-sama7g5.c.patch b/target/linux/at91/patches-5.10/113-clk-at91-Trivial-typo-fixes-in-the-file-sama7g5.c.patch index 9f8c67942e..f3ebee10fe 100644 --- a/target/linux/at91/patches-5.10/113-clk-at91-Trivial-typo-fixes-in-the-file-sama7g5.c.patch +++ b/target/linux/at91/patches-5.10/113-clk-at91-Trivial-typo-fixes-in-the-file-sama7g5.c.patch @@ -14,8 +14,6 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/sama7g5.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c -index a6e20b35960e..9e1ec48c4474 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c @@ -166,7 +166,7 @@ static const struct { @@ -45,6 +43,3 @@ index a6e20b35960e..9e1ec48c4474 100644 * @pp_count: PLL parents count * @id: clock id */ --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/114-clk-at91-sama7g5-remove-all-kernel-doc-kernel-doc-wa.patch b/target/linux/at91/patches-5.10/114-clk-at91-sama7g5-remove-all-kernel-doc-kernel-doc-wa.patch index f13be0bfd7..a9ceda533b 100644 --- a/target/linux/at91/patches-5.10/114-clk-at91-sama7g5-remove-all-kernel-doc-kernel-doc-wa.patch +++ b/target/linux/at91/patches-5.10/114-clk-at91-sama7g5-remove-all-kernel-doc-kernel-doc-wa.patch @@ -23,8 +23,6 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/sama7g5.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) -diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c -index 9e1ec48c4474..cf8c079aa086 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c @@ -35,7 +35,7 @@ static DEFINE_SPINLOCK(pmc_pll_lock); @@ -45,7 +43,7 @@ index 9e1ec48c4474..cf8c079aa086 100644 * PLL type identifiers * @PLL_TYPE_FRAC: fractional PLL identifier * @PLL_TYPE_DIV: divider PLL identifier -@@ -118,7 +118,7 @@ static const struct clk_pll_characteristics pll_characteristics = { +@@ -118,7 +118,7 @@ static const struct clk_pll_characterist .output = pll_outputs, }; @@ -90,6 +88,3 @@ index 9e1ec48c4474..cf8c079aa086 100644 * Generic clock description * @n: clock name * @pp: PLL parents --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/115-net-macb-add-userio-bits-as-platform-configuration.patch b/target/linux/at91/patches-5.10/115-net-macb-add-userio-bits-as-platform-configuration.patch index ce5a2ebc40..45b4382cf3 100644 --- a/target/linux/at91/patches-5.10/115-net-macb-add-userio-bits-as-platform-configuration.patch +++ b/target/linux/at91/patches-5.10/115-net-macb-add-userio-bits-as-platform-configuration.patch @@ -14,8 +14,6 @@ Signed-off-by: David S. Miller drivers/net/ethernet/cadence/macb_main.c | 28 ++++++++++++++++++++---- 2 files changed, 34 insertions(+), 4 deletions(-) -diff --git a/drivers/net/ethernet/cadence/macb.h b/drivers/net/ethernet/cadence/macb.h -index 5de47f6fde5a..e9385a1390a9 100644 --- a/drivers/net/ethernet/cadence/macb.h +++ b/drivers/net/ethernet/cadence/macb.h @@ -1104,6 +1104,14 @@ struct macb_pm_data { @@ -49,11 +47,9 @@ index 5de47f6fde5a..e9385a1390a9 100644 }; #ifdef CONFIG_MACB_USE_HWSTAMP -diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c -index 1e8bf6b9834b..a8326b75eca8 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c -@@ -3800,15 +3800,15 @@ static int macb_init(struct platform_device *pdev) +@@ -3800,15 +3800,15 @@ static int macb_init(struct platform_dev if (!(bp->caps & MACB_CAPS_USRIO_DISABLED)) { val = 0; if (phy_interface_mode_is_rgmii(bp->phy_interface)) @@ -73,7 +69,7 @@ index 1e8bf6b9834b..a8326b75eca8 100644 macb_or_gem_writel(bp, USRIO, val); } -@@ -4326,6 +4326,13 @@ static int fu540_c000_init(struct platform_device *pdev) +@@ -4326,6 +4326,13 @@ static int fu540_c000_init(struct platfo return macb_init(pdev); } @@ -87,7 +83,7 @@ index 1e8bf6b9834b..a8326b75eca8 100644 static const struct macb_config fu540_c000_config = { .caps = MACB_CAPS_GIGABIT_MODE_AVAILABLE | MACB_CAPS_JUMBO | MACB_CAPS_GEM_HAS_PTP, -@@ -4333,12 +4340,14 @@ static const struct macb_config fu540_c000_config = { +@@ -4333,12 +4340,14 @@ static const struct macb_config fu540_c0 .clk_init = fu540_c000_clk_init, .init = fu540_c000_init, .jumbo_max_len = 10240, @@ -102,7 +98,7 @@ index 1e8bf6b9834b..a8326b75eca8 100644 }; static const struct macb_config sama5d3macb_config = { -@@ -4346,6 +4355,7 @@ static const struct macb_config sama5d3macb_config = { +@@ -4346,6 +4355,7 @@ static const struct macb_config sama5d3m | MACB_CAPS_USRIO_HAS_CLKEN | MACB_CAPS_USRIO_DEFAULT_IS_MII_GMII, .clk_init = macb_clk_init, .init = macb_init, @@ -110,7 +106,7 @@ index 1e8bf6b9834b..a8326b75eca8 100644 }; static const struct macb_config pc302gem_config = { -@@ -4353,6 +4363,7 @@ static const struct macb_config pc302gem_config = { +@@ -4353,6 +4363,7 @@ static const struct macb_config pc302gem .dma_burst_length = 16, .clk_init = macb_clk_init, .init = macb_init, @@ -118,7 +114,7 @@ index 1e8bf6b9834b..a8326b75eca8 100644 }; static const struct macb_config sama5d2_config = { -@@ -4360,6 +4371,7 @@ static const struct macb_config sama5d2_config = { +@@ -4360,6 +4371,7 @@ static const struct macb_config sama5d2_ .dma_burst_length = 16, .clk_init = macb_clk_init, .init = macb_init, @@ -126,7 +122,7 @@ index 1e8bf6b9834b..a8326b75eca8 100644 }; static const struct macb_config sama5d3_config = { -@@ -4369,6 +4381,7 @@ static const struct macb_config sama5d3_config = { +@@ -4369,6 +4381,7 @@ static const struct macb_config sama5d3_ .clk_init = macb_clk_init, .init = macb_init, .jumbo_max_len = 10240, @@ -134,7 +130,7 @@ index 1e8bf6b9834b..a8326b75eca8 100644 }; static const struct macb_config sama5d4_config = { -@@ -4376,18 +4389,21 @@ static const struct macb_config sama5d4_config = { +@@ -4376,18 +4389,21 @@ static const struct macb_config sama5d4_ .dma_burst_length = 4, .clk_init = macb_clk_init, .init = macb_init, @@ -156,7 +152,7 @@ index 1e8bf6b9834b..a8326b75eca8 100644 }; static const struct macb_config zynqmp_config = { -@@ -4398,6 +4414,7 @@ static const struct macb_config zynqmp_config = { +@@ -4398,6 +4414,7 @@ static const struct macb_config zynqmp_c .clk_init = macb_clk_init, .init = macb_init, .jumbo_max_len = 10240, @@ -164,7 +160,7 @@ index 1e8bf6b9834b..a8326b75eca8 100644 }; static const struct macb_config zynq_config = { -@@ -4406,6 +4423,7 @@ static const struct macb_config zynq_config = { +@@ -4406,6 +4423,7 @@ static const struct macb_config zynq_con .dma_burst_length = 16, .clk_init = macb_clk_init, .init = macb_init, @@ -172,7 +168,7 @@ index 1e8bf6b9834b..a8326b75eca8 100644 }; static const struct of_device_id macb_dt_ids[] = { -@@ -4527,6 +4545,8 @@ static int macb_probe(struct platform_device *pdev) +@@ -4526,6 +4544,8 @@ static int macb_probe(struct platform_de bp->wol |= MACB_WOL_HAS_MAGIC_PACKET; device_set_wakeup_capable(&pdev->dev, bp->wol & MACB_WOL_HAS_MAGIC_PACKET); @@ -181,6 +177,3 @@ index 1e8bf6b9834b..a8326b75eca8 100644 spin_lock_init(&bp->lock); /* setup capabilities */ --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/116-net-macb-add-capability-to-not-set-the-clock-rate.patch b/target/linux/at91/patches-5.10/116-net-macb-add-capability-to-not-set-the-clock-rate.patch index 9b904785fc..87dde7ef60 100644 --- a/target/linux/at91/patches-5.10/116-net-macb-add-capability-to-not-set-the-clock-rate.patch +++ b/target/linux/at91/patches-5.10/116-net-macb-add-capability-to-not-set-the-clock-rate.patch @@ -18,8 +18,6 @@ Signed-off-by: David S. Miller drivers/net/ethernet/cadence/macb_main.c | 18 +++++++++--------- 2 files changed, 10 insertions(+), 9 deletions(-) -diff --git a/drivers/net/ethernet/cadence/macb.h b/drivers/net/ethernet/cadence/macb.h -index e9385a1390a9..23d294748779 100644 --- a/drivers/net/ethernet/cadence/macb.h +++ b/drivers/net/ethernet/cadence/macb.h @@ -658,6 +658,7 @@ @@ -30,11 +28,9 @@ index e9385a1390a9..23d294748779 100644 #define MACB_CAPS_MACB_IS_EMAC 0x08000000 #define MACB_CAPS_FIFO_MODE 0x10000000 #define MACB_CAPS_GIGABIT_MODE_AVAILABLE 0x20000000 -diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c -index a8326b75eca8..5d0d11eb6711 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c -@@ -457,15 +457,14 @@ static void macb_init_buffers(struct macb *bp) +@@ -457,15 +457,14 @@ static void macb_init_buffers(struct mac /** * macb_set_tx_clk() - Set a clock to a new frequency @@ -53,7 +49,7 @@ index a8326b75eca8..5d0d11eb6711 100644 return; switch (speed) { -@@ -482,7 +481,7 @@ static void macb_set_tx_clk(struct clk *clk, int speed, struct net_device *dev) +@@ -482,7 +481,7 @@ static void macb_set_tx_clk(struct clk * return; } @@ -62,7 +58,7 @@ index a8326b75eca8..5d0d11eb6711 100644 if (rate_rounded < 0) return; -@@ -492,11 +491,12 @@ static void macb_set_tx_clk(struct clk *clk, int speed, struct net_device *dev) +@@ -492,11 +491,12 @@ static void macb_set_tx_clk(struct clk * ferr = abs(rate_rounded - rate); ferr = DIV_ROUND_UP(ferr, rate / 100000); if (ferr > 5) @@ -78,7 +74,7 @@ index a8326b75eca8..5d0d11eb6711 100644 } static void macb_validate(struct phylink_config *config, -@@ -649,7 +649,7 @@ static void macb_mac_link_up(struct phylink_config *config, +@@ -649,7 +649,7 @@ static void macb_mac_link_up(struct phyl if (rx_pause) ctrl |= MACB_BIT(PAE); @@ -87,6 +83,3 @@ index a8326b75eca8..5d0d11eb6711 100644 /* Initialize rings & buffers as clearing MACB_BIT(TE) in link down * cleared the pipeline and control registers. --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/117-net-macb-add-function-to-disable-all-macb-clocks.patch b/target/linux/at91/patches-5.10/117-net-macb-add-function-to-disable-all-macb-clocks.patch index 9340c864b9..76b96fad5c 100644 --- a/target/linux/at91/patches-5.10/117-net-macb-add-function-to-disable-all-macb-clocks.patch +++ b/target/linux/at91/patches-5.10/117-net-macb-add-function-to-disable-all-macb-clocks.patch @@ -12,11 +12,9 @@ Signed-off-by: David S. Miller drivers/net/ethernet/cadence/macb_main.c | 38 +++++++++++++----------- 1 file changed, 21 insertions(+), 17 deletions(-) -diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c -index 5d0d11eb6711..eacf907a365d 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c -@@ -3575,6 +3575,20 @@ static void macb_probe_queues(void __iomem *mem, +@@ -3575,6 +3575,20 @@ static void macb_probe_queues(void __iom *num_queues = hweight32(*queue_mask); } @@ -37,7 +35,7 @@ index 5d0d11eb6711..eacf907a365d 100644 static int macb_clk_init(struct platform_device *pdev, struct clk **pclk, struct clk **hclk, struct clk **tx_clk, struct clk **rx_clk, struct clk **tsu_clk) -@@ -4642,11 +4656,7 @@ static int macb_probe(struct platform_device *pdev) +@@ -4637,11 +4651,7 @@ err_out_free_netdev: free_netdev(dev); err_disable_clocks: @@ -50,7 +48,7 @@ index 5d0d11eb6711..eacf907a365d 100644 pm_runtime_disable(&pdev->dev); pm_runtime_set_suspended(&pdev->dev); pm_runtime_dont_use_autosuspend(&pdev->dev); -@@ -4671,11 +4681,8 @@ static int macb_remove(struct platform_device *pdev) +@@ -4666,11 +4676,8 @@ static int macb_remove(struct platform_d pm_runtime_disable(&pdev->dev); pm_runtime_dont_use_autosuspend(&pdev->dev); if (!pm_runtime_suspended(&pdev->dev)) { @@ -64,7 +62,7 @@ index 5d0d11eb6711..eacf907a365d 100644 pm_runtime_set_suspended(&pdev->dev); } phylink_destroy(bp->phylink); -@@ -4854,13 +4861,10 @@ static int __maybe_unused macb_runtime_suspend(struct device *dev) +@@ -4849,13 +4856,10 @@ static int __maybe_unused macb_runtime_s struct net_device *netdev = dev_get_drvdata(dev); struct macb *bp = netdev_priv(netdev); @@ -82,6 +80,3 @@ index 5d0d11eb6711..eacf907a365d 100644 return 0; } --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/118-net-macb-unprepare-clocks-in-case-of-failure.patch b/target/linux/at91/patches-5.10/118-net-macb-unprepare-clocks-in-case-of-failure.patch index a1581086bc..0086ca1565 100644 --- a/target/linux/at91/patches-5.10/118-net-macb-unprepare-clocks-in-case-of-failure.patch +++ b/target/linux/at91/patches-5.10/118-net-macb-unprepare-clocks-in-case-of-failure.patch @@ -12,11 +12,9 @@ Signed-off-by: David S. Miller drivers/net/ethernet/cadence/macb_main.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) -diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c -index eacf907a365d..c8d66f966a8b 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c -@@ -4307,8 +4307,10 @@ static int fu540_c000_clk_init(struct platform_device *pdev, struct clk **pclk, +@@ -4307,8 +4307,10 @@ static int fu540_c000_clk_init(struct pl return err; mgmt = devm_kzalloc(&pdev->dev, sizeof(*mgmt), GFP_KERNEL); @@ -29,7 +27,7 @@ index eacf907a365d..c8d66f966a8b 100644 init.name = "sifive-gemgxl-mgmt"; init.ops = &fu540_c000_ops; -@@ -4319,16 +4321,26 @@ static int fu540_c000_clk_init(struct platform_device *pdev, struct clk **pclk, +@@ -4319,16 +4321,26 @@ static int fu540_c000_clk_init(struct pl mgmt->hw.init = &init; *tx_clk = devm_clk_register(&pdev->dev, &mgmt->hw); @@ -60,6 +58,3 @@ index eacf907a365d..c8d66f966a8b 100644 } static int fu540_c000_init(struct platform_device *pdev) --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/119-net-macb-add-support-for-sama7g5-gem-interface.patch b/target/linux/at91/patches-5.10/119-net-macb-add-support-for-sama7g5-gem-interface.patch index 773bbbba31..d924383717 100644 --- a/target/linux/at91/patches-5.10/119-net-macb-add-support-for-sama7g5-gem-interface.patch +++ b/target/linux/at91/patches-5.10/119-net-macb-add-support-for-sama7g5-gem-interface.patch @@ -12,11 +12,9 @@ Signed-off-by: David S. Miller drivers/net/ethernet/cadence/macb_main.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) -diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c -index c8d66f966a8b..ebcc46d8aa9d 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c -@@ -4359,6 +4359,14 @@ static const struct macb_usrio_config macb_default_usrio = { +@@ -4359,6 +4359,14 @@ static const struct macb_usrio_config ma .refclk = MACB_BIT(CLKEN), }; @@ -31,7 +29,7 @@ index c8d66f966a8b..ebcc46d8aa9d 100644 static const struct macb_config fu540_c000_config = { .caps = MACB_CAPS_GIGABIT_MODE_AVAILABLE | MACB_CAPS_JUMBO | MACB_CAPS_GEM_HAS_PTP, -@@ -4452,6 +4460,14 @@ static const struct macb_config zynq_config = { +@@ -4452,6 +4460,14 @@ static const struct macb_config zynq_con .usrio = &macb_default_usrio, }; @@ -46,7 +44,7 @@ index c8d66f966a8b..ebcc46d8aa9d 100644 static const struct of_device_id macb_dt_ids[] = { { .compatible = "cdns,at32ap7000-macb" }, { .compatible = "cdns,at91sam9260-macb", .data = &at91sam9260_config }, -@@ -4469,6 +4485,7 @@ static const struct of_device_id macb_dt_ids[] = { +@@ -4469,6 +4485,7 @@ static const struct of_device_id macb_dt { .compatible = "cdns,zynqmp-gem", .data = &zynqmp_config}, { .compatible = "cdns,zynq-gem", .data = &zynq_config }, { .compatible = "sifive,fu540-c000-gem", .data = &fu540_c000_config }, @@ -54,6 +52,3 @@ index c8d66f966a8b..ebcc46d8aa9d 100644 { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, macb_dt_ids); --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/120-net-macb-add-support-for-sama7g5-emac-interface.patch b/target/linux/at91/patches-5.10/120-net-macb-add-support-for-sama7g5-emac-interface.patch index ea29cb0af0..82fc50cce1 100644 --- a/target/linux/at91/patches-5.10/120-net-macb-add-support-for-sama7g5-emac-interface.patch +++ b/target/linux/at91/patches-5.10/120-net-macb-add-support-for-sama7g5-emac-interface.patch @@ -12,11 +12,9 @@ Signed-off-by: David S. Miller drivers/net/ethernet/cadence/macb_main.c | 9 +++++++++ 1 file changed, 9 insertions(+) -diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c -index ebcc46d8aa9d..4ce302e03735 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c -@@ -4468,6 +4468,14 @@ static const struct macb_config sama7g5_gem_config = { +@@ -4468,6 +4468,14 @@ static const struct macb_config sama7g5_ .usrio = &sama7g5_usrio, }; @@ -31,7 +29,7 @@ index ebcc46d8aa9d..4ce302e03735 100644 static const struct of_device_id macb_dt_ids[] = { { .compatible = "cdns,at32ap7000-macb" }, { .compatible = "cdns,at91sam9260-macb", .data = &at91sam9260_config }, -@@ -4486,6 +4494,7 @@ static const struct of_device_id macb_dt_ids[] = { +@@ -4486,6 +4494,7 @@ static const struct of_device_id macb_dt { .compatible = "cdns,zynq-gem", .data = &zynq_config }, { .compatible = "sifive,fu540-c000-gem", .data = &fu540_c000_config }, { .compatible = "microchip,sama7g5-gem", .data = &sama7g5_gem_config }, @@ -39,6 +37,3 @@ index ebcc46d8aa9d..4ce302e03735 100644 { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, macb_dt_ids); --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/121-ASoC-pcm5102a-Make-codec-selectable.patch b/target/linux/at91/patches-5.10/121-ASoC-pcm5102a-Make-codec-selectable.patch index cf0db825ac..e30e97dffb 100644 --- a/target/linux/at91/patches-5.10/121-ASoC-pcm5102a-Make-codec-selectable.patch +++ b/target/linux/at91/patches-5.10/121-ASoC-pcm5102a-Make-codec-selectable.patch @@ -15,8 +15,6 @@ Signed-off-by: Mark Brown sound/soc/codecs/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig -index 34c6dd04b85a..5791b7056af6 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -1003,7 +1003,7 @@ config SND_SOC_PCM3168A_SPI @@ -28,6 +26,3 @@ index 34c6dd04b85a..5791b7056af6 100644 config SND_SOC_PCM512x tristate --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/122-ASoC-atmel-i2s-do-not-warn-if-muxclk-is-missing.patch b/target/linux/at91/patches-5.10/122-ASoC-atmel-i2s-do-not-warn-if-muxclk-is-missing.patch index 5c168fbc0a..978b68184e 100644 --- a/target/linux/at91/patches-5.10/122-ASoC-atmel-i2s-do-not-warn-if-muxclk-is-missing.patch +++ b/target/linux/at91/patches-5.10/122-ASoC-atmel-i2s-do-not-warn-if-muxclk-is-missing.patch @@ -15,11 +15,9 @@ Signed-off-by: Mark Brown sound/soc/atmel/atmel-i2s.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/sound/soc/atmel/atmel-i2s.c b/sound/soc/atmel/atmel-i2s.c -index d870f56c44cf..7483c474ccd7 100644 --- a/sound/soc/atmel/atmel-i2s.c +++ b/sound/soc/atmel/atmel-i2s.c -@@ -581,8 +581,8 @@ static int atmel_i2s_sama5d2_mck_init(struct atmel_i2s_dev *dev, +@@ -581,8 +581,8 @@ static int atmel_i2s_sama5d2_mck_init(st err = PTR_ERR(muxclk); if (err == -EPROBE_DEFER) return -EPROBE_DEFER; @@ -30,6 +28,3 @@ index d870f56c44cf..7483c474ccd7 100644 return 0; } --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/123-regulator-mcp16502-add-linear_min_sel.patch b/target/linux/at91/patches-5.10/123-regulator-mcp16502-add-linear_min_sel.patch index 4e26bde627..ce97be4b77 100644 --- a/target/linux/at91/patches-5.10/123-regulator-mcp16502-add-linear_min_sel.patch +++ b/target/linux/at91/patches-5.10/123-regulator-mcp16502-add-linear_min_sel.patch @@ -13,11 +13,9 @@ Signed-off-by: Mark Brown drivers/regulator/mcp16502.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/drivers/regulator/mcp16502.c b/drivers/regulator/mcp16502.c -index 6d0ad74935b3..ab78f831f5bf 100644 --- a/drivers/regulator/mcp16502.c +++ b/drivers/regulator/mcp16502.c -@@ -93,6 +93,7 @@ static unsigned int mcp16502_of_map_mode(unsigned int mode) +@@ -93,6 +93,7 @@ static unsigned int mcp16502_of_map_mode .owner = THIS_MODULE, \ .n_voltages = MCP16502_VSEL + 1, \ .linear_ranges = _ranges, \ @@ -25,6 +23,3 @@ index 6d0ad74935b3..ab78f831f5bf 100644 .n_linear_ranges = ARRAY_SIZE(_ranges), \ .of_match = of_match_ptr(_name), \ .of_map_mode = mcp16502_of_map_mode, \ --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/124-regulator-mcp16502-adapt-for-get-set-on-other-regist.patch b/target/linux/at91/patches-5.10/124-regulator-mcp16502-adapt-for-get-set-on-other-regist.patch index 5cd433f31a..f371266c78 100644 --- a/target/linux/at91/patches-5.10/124-regulator-mcp16502-adapt-for-get-set-on-other-regist.patch +++ b/target/linux/at91/patches-5.10/124-regulator-mcp16502-adapt-for-get-set-on-other-regist.patch @@ -15,8 +15,6 @@ Signed-off-by: Mark Brown drivers/regulator/mcp16502.c | 43 ++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 16 deletions(-) -diff --git a/drivers/regulator/mcp16502.c b/drivers/regulator/mcp16502.c -index ab78f831f5bf..48eb64bc4018 100644 --- a/drivers/regulator/mcp16502.c +++ b/drivers/regulator/mcp16502.c @@ -54,13 +54,9 @@ @@ -58,7 +56,7 @@ index ab78f831f5bf..48eb64bc4018 100644 static unsigned int mcp16502_of_map_mode(unsigned int mode) { if (mode == REGULATOR_MODE_NORMAL || mode == REGULATOR_MODE_IDLE) -@@ -144,22 +157,20 @@ static void mcp16502_gpio_set_mode(struct mcp16502 *mcp, int mode) +@@ -144,22 +157,20 @@ static void mcp16502_gpio_set_mode(struc } /* @@ -86,7 +84,7 @@ index ab78f831f5bf..48eb64bc4018 100644 default: return -EINVAL; } -@@ -179,7 +190,7 @@ static unsigned int mcp16502_get_mode(struct regulator_dev *rdev) +@@ -179,7 +190,7 @@ static unsigned int mcp16502_get_mode(st unsigned int val; int ret, reg; @@ -95,7 +93,7 @@ index ab78f831f5bf..48eb64bc4018 100644 if (reg < 0) return reg; -@@ -210,7 +221,7 @@ static int _mcp16502_set_mode(struct regulator_dev *rdev, unsigned int mode, +@@ -210,7 +221,7 @@ static int _mcp16502_set_mode(struct reg int val; int reg; @@ -104,7 +102,7 @@ index ab78f831f5bf..48eb64bc4018 100644 if (reg < 0) return reg; -@@ -269,10 +280,10 @@ static int mcp16502_suspend_get_target_reg(struct regulator_dev *rdev) +@@ -269,10 +280,10 @@ static int mcp16502_suspend_get_target_r { switch (pm_suspend_target_state) { case PM_SUSPEND_STANDBY: @@ -117,6 +115,3 @@ index ab78f831f5bf..48eb64bc4018 100644 default: dev_err(&rdev->dev, "invalid suspend target: %d\n", pm_suspend_target_state); --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/125-regulator-mcp16502-add-support-for-ramp-delay.patch b/target/linux/at91/patches-5.10/125-regulator-mcp16502-add-support-for-ramp-delay.patch index ef06660803..c91dd4a18b 100644 --- a/target/linux/at91/patches-5.10/125-regulator-mcp16502-add-support-for-ramp-delay.patch +++ b/target/linux/at91/patches-5.10/125-regulator-mcp16502-add-support-for-ramp-delay.patch @@ -13,8 +13,6 @@ Signed-off-by: Mark Brown drivers/regulator/mcp16502.c | 89 +++++++++++++++++++++++++++++++++++- 1 file changed, 87 insertions(+), 2 deletions(-) -diff --git a/drivers/regulator/mcp16502.c b/drivers/regulator/mcp16502.c -index 48eb64bc4018..f81afeeddb19 100644 --- a/drivers/regulator/mcp16502.c +++ b/drivers/regulator/mcp16502.c @@ -22,8 +22,9 @@ @@ -42,7 +40,7 @@ index 48eb64bc4018..f81afeeddb19 100644 static unsigned int mcp16502_of_map_mode(unsigned int mode) { if (mode == REGULATOR_MODE_NORMAL || mode == REGULATOR_MODE_IDLE) -@@ -271,6 +278,80 @@ static int mcp16502_get_status(struct regulator_dev *rdev) +@@ -271,6 +278,80 @@ static int mcp16502_get_status(struct re return REGULATOR_STATUS_UNDEFINED; } @@ -123,7 +121,7 @@ index 48eb64bc4018..f81afeeddb19 100644 #ifdef CONFIG_SUSPEND /* * mcp16502_suspend_get_target_reg() - get the reg of the target suspend PMIC -@@ -365,6 +446,8 @@ static const struct regulator_ops mcp16502_buck_ops = { +@@ -365,6 +446,8 @@ static const struct regulator_ops mcp165 .disable = regulator_disable_regmap, .is_enabled = regulator_is_enabled_regmap, .get_status = mcp16502_get_status, @@ -132,7 +130,7 @@ index 48eb64bc4018..f81afeeddb19 100644 .set_mode = mcp16502_set_mode, .get_mode = mcp16502_get_mode, -@@ -389,6 +472,8 @@ static const struct regulator_ops mcp16502_ldo_ops = { +@@ -389,6 +472,8 @@ static const struct regulator_ops mcp165 .disable = regulator_disable_regmap, .is_enabled = regulator_is_enabled_regmap, .get_status = mcp16502_get_status, @@ -141,6 +139,3 @@ index 48eb64bc4018..f81afeeddb19 100644 #ifdef CONFIG_SUSPEND .set_suspend_voltage = mcp16502_set_suspend_voltage, --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/126-regulator-mcp16502-remove-void-documentation-of-stru.patch b/target/linux/at91/patches-5.10/126-regulator-mcp16502-remove-void-documentation-of-stru.patch index 2c1f5d9806..f570e2805f 100644 --- a/target/linux/at91/patches-5.10/126-regulator-mcp16502-remove-void-documentation-of-stru.patch +++ b/target/linux/at91/patches-5.10/126-regulator-mcp16502-remove-void-documentation-of-stru.patch @@ -14,8 +14,6 @@ Signed-off-by: Mark Brown drivers/regulator/mcp16502.c | 2 -- 1 file changed, 2 deletions(-) -diff --git a/drivers/regulator/mcp16502.c b/drivers/regulator/mcp16502.c -index f81afeeddb19..74ad92dc664a 100644 --- a/drivers/regulator/mcp16502.c +++ b/drivers/regulator/mcp16502.c @@ -135,8 +135,6 @@ enum { @@ -27,6 +25,3 @@ index f81afeeddb19..74ad92dc664a 100644 * @lpm: LPM GPIO descriptor */ struct mcp16502 { --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/127-regulator-core-validate-selector-against-linear_min_.patch b/target/linux/at91/patches-5.10/127-regulator-core-validate-selector-against-linear_min_.patch index 88302fda04..238cf2d298 100644 --- a/target/linux/at91/patches-5.10/127-regulator-core-validate-selector-against-linear_min_.patch +++ b/target/linux/at91/patches-5.10/127-regulator-core-validate-selector-against-linear_min_.patch @@ -18,11 +18,9 @@ Signed-off-by: Mark Brown drivers/regulator/helpers.c | 3 ++- 2 files changed, 9 insertions(+), 3 deletions(-) -diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c -index 043b5f63b94a..dfdd42b9d773 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c -@@ -2984,7 +2984,8 @@ static int _regulator_list_voltage(struct regulator_dev *rdev, +@@ -2984,7 +2984,8 @@ static int _regulator_list_voltage(struc return rdev->desc->fixed_uV; if (ops->list_voltage) { @@ -32,7 +30,7 @@ index 043b5f63b94a..dfdd42b9d773 100644 return -EINVAL; if (lock) regulator_lock(rdev); -@@ -3135,7 +3136,8 @@ int regulator_list_hardware_vsel(struct regulator *regulator, +@@ -3135,7 +3136,8 @@ int regulator_list_hardware_vsel(struct struct regulator_dev *rdev = regulator->rdev; const struct regulator_ops *ops = rdev->desc->ops; @@ -42,7 +40,7 @@ index 043b5f63b94a..dfdd42b9d773 100644 return -EINVAL; if (ops->set_voltage_sel != regulator_set_voltage_sel_regmap) return -EOPNOTSUPP; -@@ -4058,6 +4060,9 @@ int regulator_set_voltage_time(struct regulator *regulator, +@@ -4058,6 +4060,9 @@ int regulator_set_voltage_time(struct re for (i = 0; i < rdev->desc->n_voltages; i++) { /* We only look for exact voltage matches here */ @@ -52,11 +50,9 @@ index 043b5f63b94a..dfdd42b9d773 100644 voltage = regulator_list_voltage(regulator, i); if (voltage < 0) return -EINVAL; -diff --git a/drivers/regulator/helpers.c b/drivers/regulator/helpers.c -index e4bb09bbd3fa..974f1a63993d 100644 --- a/drivers/regulator/helpers.c +++ b/drivers/regulator/helpers.c -@@ -647,7 +647,8 @@ int regulator_list_voltage_table(struct regulator_dev *rdev, +@@ -647,7 +647,8 @@ int regulator_list_voltage_table(struct return -EINVAL; } @@ -66,6 +62,3 @@ index e4bb09bbd3fa..974f1a63993d 100644 return -EINVAL; return rdev->desc->volt_table[selector]; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/128-regulator-core-do-not-continue-if-selector-match.patch b/target/linux/at91/patches-5.10/128-regulator-core-do-not-continue-if-selector-match.patch index f3d53bc135..f692f679c3 100644 --- a/target/linux/at91/patches-5.10/128-regulator-core-do-not-continue-if-selector-match.patch +++ b/target/linux/at91/patches-5.10/128-regulator-core-do-not-continue-if-selector-match.patch @@ -12,11 +12,9 @@ Signed-off-by: Mark Brown drivers/regulator/core.c | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c -index dfdd42b9d773..0b7a23cdbcac 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c -@@ -4063,6 +4063,9 @@ int regulator_set_voltage_time(struct regulator *regulator, +@@ -4063,6 +4063,9 @@ int regulator_set_voltage_time(struct re if (i < rdev->desc->linear_min_sel) continue; @@ -26,6 +24,3 @@ index dfdd42b9d773..0b7a23cdbcac 100644 voltage = regulator_list_voltage(regulator, i); if (voltage < 0) return -EINVAL; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/129-regulator-core-return-zero-for-selectors-lower-than-.patch b/target/linux/at91/patches-5.10/129-regulator-core-return-zero-for-selectors-lower-than-.patch index b44fa547e1..84f25c0483 100644 --- a/target/linux/at91/patches-5.10/129-regulator-core-return-zero-for-selectors-lower-than-.patch +++ b/target/linux/at91/patches-5.10/129-regulator-core-return-zero-for-selectors-lower-than-.patch @@ -19,11 +19,9 @@ Signed-off-by: Mark Brown drivers/regulator/helpers.c | 5 +++-- 2 files changed, 9 insertions(+), 6 deletions(-) -diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c -index 0b7a23cdbcac..65ecf872b4e0 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c -@@ -2984,9 +2984,10 @@ static int _regulator_list_voltage(struct regulator_dev *rdev, +@@ -2984,9 +2984,10 @@ static int _regulator_list_voltage(struc return rdev->desc->fixed_uV; if (ops->list_voltage) { @@ -36,7 +34,7 @@ index 0b7a23cdbcac..65ecf872b4e0 100644 if (lock) regulator_lock(rdev); ret = ops->list_voltage(rdev, selector); -@@ -3136,9 +3137,10 @@ int regulator_list_hardware_vsel(struct regulator *regulator, +@@ -3136,9 +3137,10 @@ int regulator_list_hardware_vsel(struct struct regulator_dev *rdev = regulator->rdev; const struct regulator_ops *ops = rdev->desc->ops; @@ -49,11 +47,9 @@ index 0b7a23cdbcac..65ecf872b4e0 100644 if (ops->set_voltage_sel != regulator_set_voltage_sel_regmap) return -EOPNOTSUPP; -diff --git a/drivers/regulator/helpers.c b/drivers/regulator/helpers.c -index 974f1a63993d..f42b394a0c46 100644 --- a/drivers/regulator/helpers.c +++ b/drivers/regulator/helpers.c -@@ -647,9 +647,10 @@ int regulator_list_voltage_table(struct regulator_dev *rdev, +@@ -647,9 +647,10 @@ int regulator_list_voltage_table(struct return -EINVAL; } @@ -66,6 +62,3 @@ index 974f1a63993d..f42b394a0c46 100644 return rdev->desc->volt_table[selector]; } --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/130-regulator-mcp16502-lpm-pin-can-be-optional-on-some-p.patch b/target/linux/at91/patches-5.10/130-regulator-mcp16502-lpm-pin-can-be-optional-on-some-p.patch index 9323fedaf7..12679a20bd 100644 --- a/target/linux/at91/patches-5.10/130-regulator-mcp16502-lpm-pin-can-be-optional-on-some-p.patch +++ b/target/linux/at91/patches-5.10/130-regulator-mcp16502-lpm-pin-can-be-optional-on-some-p.patch @@ -17,11 +17,9 @@ Signed-off-by: Mark Brown drivers/regulator/mcp16502.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/regulator/mcp16502.c b/drivers/regulator/mcp16502.c -index 74ad92dc664a..88c6bd5b6c78 100644 --- a/drivers/regulator/mcp16502.c +++ b/drivers/regulator/mcp16502.c -@@ -550,7 +550,7 @@ static int mcp16502_probe(struct i2c_client *client, +@@ -550,7 +550,7 @@ static int mcp16502_probe(struct i2c_cli config.regmap = rmap; config.driver_data = mcp; @@ -30,6 +28,3 @@ index 74ad92dc664a..88c6bd5b6c78 100644 if (IS_ERR(mcp->lpm)) { dev_err(dev, "failed to get lpm pin: %ld\n", PTR_ERR(mcp->lpm)); return PTR_ERR(mcp->lpm); --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/131-pinctrl-at91-pio4-add-support-for-fewer-lines-on-las.patch b/target/linux/at91/patches-5.10/131-pinctrl-at91-pio4-add-support-for-fewer-lines-on-las.patch index 0ca118a24d..78db5a0d32 100644 --- a/target/linux/at91/patches-5.10/131-pinctrl-at91-pio4-add-support-for-fewer-lines-on-las.patch +++ b/target/linux/at91/patches-5.10/131-pinctrl-at91-pio4-add-support-for-fewer-lines-on-las.patch @@ -22,8 +22,6 @@ Signed-off-by: Linus Walleij drivers/pinctrl/pinctrl-at91-pio4.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) -diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c -index 578b387100d9..d267367d94b9 100644 --- a/drivers/pinctrl/pinctrl-at91-pio4.c +++ b/drivers/pinctrl/pinctrl-at91-pio4.c @@ -71,8 +71,15 @@ @@ -42,7 +40,7 @@ index 578b387100d9..d267367d94b9 100644 }; struct atmel_group { -@@ -980,11 +987,13 @@ static const struct dev_pm_ops atmel_pctrl_pm_ops = { +@@ -980,11 +987,13 @@ static const struct dev_pm_ops atmel_pct * We can have up to 16 banks. */ static const struct atmel_pioctrl_data atmel_sama5d2_pioctrl_data = { @@ -58,7 +56,7 @@ index 578b387100d9..d267367d94b9 100644 }; static const struct of_device_id atmel_pctrl_of_match[] = { -@@ -1025,6 +1034,11 @@ static int atmel_pinctrl_probe(struct platform_device *pdev) +@@ -1025,6 +1034,11 @@ static int atmel_pinctrl_probe(struct pl atmel_pioctrl_data = match->data; atmel_pioctrl->nbanks = atmel_pioctrl_data->nbanks; atmel_pioctrl->npins = atmel_pioctrl->nbanks * ATMEL_PIO_NPINS_PER_BANK; @@ -70,6 +68,3 @@ index 578b387100d9..d267367d94b9 100644 atmel_pioctrl->reg_base = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(atmel_pioctrl->reg_base)) --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/132-dmaengine-at_xdmac-adapt-perid-for-mem2mem-operation.patch b/target/linux/at91/patches-5.10/132-dmaengine-at_xdmac-adapt-perid-for-mem2mem-operation.patch index 27c95082e3..ca1fa8cee5 100644 --- a/target/linux/at91/patches-5.10/132-dmaengine-at_xdmac-adapt-perid-for-mem2mem-operation.patch +++ b/target/linux/at91/patches-5.10/132-dmaengine-at_xdmac-adapt-perid-for-mem2mem-operation.patch @@ -19,11 +19,9 @@ Signed-off-by: Vinod Koul drivers/dma/at_xdmac.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -diff --git a/drivers/dma/at_xdmac.c b/drivers/dma/at_xdmac.c -index 90afba0b36fe..85fe260ccd07 100644 --- a/drivers/dma/at_xdmac.c +++ b/drivers/dma/at_xdmac.c -@@ -865,7 +865,7 @@ at_xdmac_interleaved_queue_desc(struct dma_chan *chan, +@@ -865,7 +865,7 @@ at_xdmac_interleaved_queue_desc(struct d * match the one of another channel. If not, it could lead to spurious * flag status. */ @@ -32,7 +30,7 @@ index 90afba0b36fe..85fe260ccd07 100644 | AT_XDMAC_CC_DIF(0) | AT_XDMAC_CC_SIF(0) | AT_XDMAC_CC_MBSIZE_SIXTEEN -@@ -1047,7 +1047,7 @@ at_xdmac_prep_dma_memcpy(struct dma_chan *chan, dma_addr_t dest, dma_addr_t src, +@@ -1047,7 +1047,7 @@ at_xdmac_prep_dma_memcpy(struct dma_chan * match the one of another channel. If not, it could lead to spurious * flag status. */ @@ -41,7 +39,7 @@ index 90afba0b36fe..85fe260ccd07 100644 | AT_XDMAC_CC_DAM_INCREMENTED_AM | AT_XDMAC_CC_SAM_INCREMENTED_AM | AT_XDMAC_CC_DIF(0) -@@ -1153,7 +1153,7 @@ static struct at_xdmac_desc *at_xdmac_memset_create_desc(struct dma_chan *chan, +@@ -1153,7 +1153,7 @@ static struct at_xdmac_desc *at_xdmac_me * match the one of another channel. If not, it could lead to spurious * flag status. */ @@ -50,6 +48,3 @@ index 90afba0b36fe..85fe260ccd07 100644 | AT_XDMAC_CC_DAM_UBS_AM | AT_XDMAC_CC_SAM_INCREMENTED_AM | AT_XDMAC_CC_DIF(0) --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/133-dmaengine-at_xdmac-add-support-for-sama7g5-based-at_.patch b/target/linux/at91/patches-5.10/133-dmaengine-at_xdmac-add-support-for-sama7g5-based-at_.patch index 5ddc90c044..f91afdf0aa 100644 --- a/target/linux/at91/patches-5.10/133-dmaengine-at_xdmac-add-support-for-sama7g5-based-at_.patch +++ b/target/linux/at91/patches-5.10/133-dmaengine-at_xdmac-add-support-for-sama7g5-based-at_.patch @@ -20,8 +20,6 @@ Signed-off-by: Vinod Koul drivers/dma/at_xdmac.c | 110 +++++++++++++++++++++++++++++++---------- 1 file changed, 84 insertions(+), 26 deletions(-) -diff --git a/drivers/dma/at_xdmac.c b/drivers/dma/at_xdmac.c -index 85fe260ccd07..2b096ea04018 100644 --- a/drivers/dma/at_xdmac.c +++ b/drivers/dma/at_xdmac.c @@ -38,13 +38,6 @@ @@ -118,7 +116,7 @@ index 85fe260ccd07..2b096ea04018 100644 } #define at_xdmac_read(atxdmac, reg) readl_relaxed((atxdmac)->regs + (reg)) -@@ -343,8 +380,10 @@ static void at_xdmac_start_xfer(struct at_xdmac_chan *atchan, +@@ -343,8 +380,10 @@ static void at_xdmac_start_xfer(struct a first->active_xfer = true; /* Tell xdmac where to get the first descriptor. */ @@ -131,7 +129,7 @@ index 85fe260ccd07..2b096ea04018 100644 at_xdmac_chan_write(atchan, AT_XDMAC_CNDA, reg); /* -@@ -539,6 +578,7 @@ static int at_xdmac_compute_chan_conf(struct dma_chan *chan, +@@ -539,6 +578,7 @@ static int at_xdmac_compute_chan_conf(st enum dma_transfer_direction direction) { struct at_xdmac_chan *atchan = to_at_xdmac_chan(chan); @@ -139,7 +137,7 @@ index 85fe260ccd07..2b096ea04018 100644 int csize, dwidth; if (direction == DMA_DEV_TO_MEM) { -@@ -546,12 +586,14 @@ static int at_xdmac_compute_chan_conf(struct dma_chan *chan, +@@ -546,12 +586,14 @@ static int at_xdmac_compute_chan_conf(st AT91_XDMAC_DT_PERID(atchan->perid) | AT_XDMAC_CC_DAM_INCREMENTED_AM | AT_XDMAC_CC_SAM_FIXED_AM @@ -156,7 +154,7 @@ index 85fe260ccd07..2b096ea04018 100644 csize = ffs(atchan->sconfig.src_maxburst) - 1; if (csize < 0) { dev_err(chan2dev(chan), "invalid src maxburst value\n"); -@@ -569,12 +611,14 @@ static int at_xdmac_compute_chan_conf(struct dma_chan *chan, +@@ -569,12 +611,14 @@ static int at_xdmac_compute_chan_conf(st AT91_XDMAC_DT_PERID(atchan->perid) | AT_XDMAC_CC_DAM_FIXED_AM | AT_XDMAC_CC_SAM_INCREMENTED_AM @@ -173,7 +171,7 @@ index 85fe260ccd07..2b096ea04018 100644 csize = ffs(atchan->sconfig.dst_maxburst) - 1; if (csize < 0) { dev_err(chan2dev(chan), "invalid src maxburst value\n"); -@@ -864,10 +908,12 @@ at_xdmac_interleaved_queue_desc(struct dma_chan *chan, +@@ -864,10 +908,12 @@ at_xdmac_interleaved_queue_desc(struct d * ERRATA: Even if useless for memory transfers, the PERID has to not * match the one of another channel. If not, it could lead to spurious * flag status. @@ -188,7 +186,7 @@ index 85fe260ccd07..2b096ea04018 100644 | AT_XDMAC_CC_MBSIZE_SIXTEEN | AT_XDMAC_CC_TYPE_MEM_TRAN; -@@ -1046,12 +1092,14 @@ at_xdmac_prep_dma_memcpy(struct dma_chan *chan, dma_addr_t dest, dma_addr_t src, +@@ -1046,12 +1092,14 @@ at_xdmac_prep_dma_memcpy(struct dma_chan * ERRATA: Even if useless for memory transfers, the PERID has to not * match the one of another channel. If not, it could lead to spurious * flag status. @@ -205,7 +203,7 @@ index 85fe260ccd07..2b096ea04018 100644 | AT_XDMAC_CC_MBSIZE_SIXTEEN | AT_XDMAC_CC_TYPE_MEM_TRAN; unsigned long irqflags; -@@ -1152,12 +1200,14 @@ static struct at_xdmac_desc *at_xdmac_memset_create_desc(struct dma_chan *chan, +@@ -1152,12 +1200,14 @@ static struct at_xdmac_desc *at_xdmac_me * ERRATA: Even if useless for memory transfers, the PERID has to not * match the one of another channel. If not, it could lead to spurious * flag status. @@ -222,7 +220,7 @@ index 85fe260ccd07..2b096ea04018 100644 | AT_XDMAC_CC_MBSIZE_SIXTEEN | AT_XDMAC_CC_MEMSET_HW_MODE | AT_XDMAC_CC_TYPE_MEM_TRAN; -@@ -1436,7 +1486,7 @@ at_xdmac_tx_status(struct dma_chan *chan, dma_cookie_t cookie, +@@ -1436,7 +1486,7 @@ at_xdmac_tx_status(struct dma_chan *chan mask = AT_XDMAC_CC_TYPE | AT_XDMAC_CC_DSYNC; value = AT_XDMAC_CC_TYPE_PER_TRAN | AT_XDMAC_CC_DSYNC_PER2MEM; if ((desc->lld.mbr_cfg & mask) == value) { @@ -231,7 +229,7 @@ index 85fe260ccd07..2b096ea04018 100644 while (!(at_xdmac_chan_read(atchan, AT_XDMAC_CIS) & AT_XDMAC_CIS_FIS)) cpu_relax(); } -@@ -1494,7 +1544,7 @@ at_xdmac_tx_status(struct dma_chan *chan, dma_cookie_t cookie, +@@ -1494,7 +1544,7 @@ at_xdmac_tx_status(struct dma_chan *chan * FIFO flush ensures that data are really written. */ if ((desc->lld.mbr_cfg & mask) == value) { @@ -240,7 +238,7 @@ index 85fe260ccd07..2b096ea04018 100644 while (!(at_xdmac_chan_read(atchan, AT_XDMAC_CIS) & AT_XDMAC_CIS_FIS)) cpu_relax(); } -@@ -1760,7 +1810,7 @@ static int at_xdmac_device_pause(struct dma_chan *chan) +@@ -1760,7 +1810,7 @@ static int at_xdmac_device_pause(struct return 0; spin_lock_irqsave(&atchan->lock, flags); @@ -249,7 +247,7 @@ index 85fe260ccd07..2b096ea04018 100644 while (at_xdmac_chan_read(atchan, AT_XDMAC_CC) & (AT_XDMAC_CC_WRIP | AT_XDMAC_CC_RDIP)) cpu_relax(); -@@ -1783,7 +1833,7 @@ static int at_xdmac_device_resume(struct dma_chan *chan) +@@ -1783,7 +1833,7 @@ static int at_xdmac_device_resume(struct return 0; } @@ -258,7 +256,7 @@ index 85fe260ccd07..2b096ea04018 100644 clear_bit(AT_XDMAC_CHAN_IS_PAUSED, &atchan->status); spin_unlock_irqrestore(&atchan->lock, flags); -@@ -1985,6 +2035,10 @@ static int at_xdmac_probe(struct platform_device *pdev) +@@ -1985,6 +2035,10 @@ static int at_xdmac_probe(struct platfor atxdmac->regs = base; atxdmac->irq = irq; @@ -269,7 +267,7 @@ index 85fe260ccd07..2b096ea04018 100644 atxdmac->clk = devm_clk_get(&pdev->dev, "dma_clk"); if (IS_ERR(atxdmac->clk)) { dev_err(&pdev->dev, "can't get dma_clk\n"); -@@ -2127,6 +2181,10 @@ static const struct dev_pm_ops atmel_xdmac_dev_pm_ops = { +@@ -2127,6 +2181,10 @@ static const struct dev_pm_ops atmel_xdm static const struct of_device_id atmel_xdmac_dt_ids[] = { { .compatible = "atmel,sama5d4-dma", @@ -280,6 +278,3 @@ index 85fe260ccd07..2b096ea04018 100644 }, { /* sentinel */ } --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/134-dmaengine-at_xdmac-add-AXI-priority-support-and-reco.patch b/target/linux/at91/patches-5.10/134-dmaengine-at_xdmac-add-AXI-priority-support-and-reco.patch index d519853363..50a0cfc3b5 100644 --- a/target/linux/at91/patches-5.10/134-dmaengine-at_xdmac-add-AXI-priority-support-and-reco.patch +++ b/target/linux/at91/patches-5.10/134-dmaengine-at_xdmac-add-AXI-priority-support-and-reco.patch @@ -19,8 +19,6 @@ Signed-off-by: Vinod Koul drivers/dma/at_xdmac.c | 47 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) -diff --git a/drivers/dma/at_xdmac.c b/drivers/dma/at_xdmac.c -index 2b096ea04018..8ca86d09b255 100644 --- a/drivers/dma/at_xdmac.c +++ b/drivers/dma/at_xdmac.c @@ -30,7 +30,24 @@ @@ -57,7 +55,7 @@ index 2b096ea04018..8ca86d09b255 100644 }; /* ----- Channels ----- */ -@@ -268,6 +287,7 @@ static const struct at_xdmac_layout at_xdmac_sama5d4_layout = { +@@ -268,6 +287,7 @@ static const struct at_xdmac_layout at_x .gswf = 0x40, .chan_cc_reg_base = 0x50, .sdif = true, @@ -65,7 +63,7 @@ index 2b096ea04018..8ca86d09b255 100644 }; static const struct at_xdmac_layout at_xdmac_sama7g5_layout = { -@@ -280,6 +300,7 @@ static const struct at_xdmac_layout at_xdmac_sama7g5_layout = { +@@ -280,6 +300,7 @@ static const struct at_xdmac_layout at_x .gswf = 0x50, .chan_cc_reg_base = 0x60, .sdif = false, @@ -73,7 +71,7 @@ index 2b096ea04018..8ca86d09b255 100644 }; static inline void __iomem *at_xdmac_chan_reg_base(struct at_xdmac *atxdmac, unsigned int chan_nb) -@@ -1996,6 +2017,30 @@ static int atmel_xdmac_resume(struct device *dev) +@@ -1996,6 +2017,30 @@ static int atmel_xdmac_resume(struct dev } #endif /* CONFIG_PM_SLEEP */ @@ -104,7 +102,7 @@ index 2b096ea04018..8ca86d09b255 100644 static int at_xdmac_probe(struct platform_device *pdev) { struct at_xdmac *atxdmac; -@@ -2140,6 +2185,8 @@ static int at_xdmac_probe(struct platform_device *pdev) +@@ -2140,6 +2185,8 @@ static int at_xdmac_probe(struct platfor dev_info(&pdev->dev, "%d channels, mapped at 0x%p\n", nr_channels, atxdmac->regs); @@ -113,6 +111,3 @@ index 2b096ea04018..8ca86d09b255 100644 return 0; err_dma_unregister: --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/135-net-macb-Correct-usage-of-MACB_CAPS_CLK_HW_CHG-flag.patch b/target/linux/at91/patches-5.10/135-net-macb-Correct-usage-of-MACB_CAPS_CLK_HW_CHG-flag.patch index 2ed825de61..210d1bd2de 100644 --- a/target/linux/at91/patches-5.10/135-net-macb-Correct-usage-of-MACB_CAPS_CLK_HW_CHG-flag.patch +++ b/target/linux/at91/patches-5.10/135-net-macb-Correct-usage-of-MACB_CAPS_CLK_HW_CHG-flag.patch @@ -32,11 +32,9 @@ Signed-off-by: Jakub Kicinski drivers/net/ethernet/cadence/macb_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c -index 4ce302e03735..d5bd640d3fa4 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c -@@ -464,7 +464,7 @@ static void macb_set_tx_clk(struct macb *bp, int speed) +@@ -464,7 +464,7 @@ static void macb_set_tx_clk(struct macb { long ferr, rate, rate_rounded; @@ -45,6 +43,3 @@ index 4ce302e03735..d5bd640d3fa4 100644 return; switch (speed) { --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/136-ARM-at91-sam9x60-SiP-types-added-to-soc-description.patch b/target/linux/at91/patches-5.10/136-ARM-at91-sam9x60-SiP-types-added-to-soc-description.patch index 692a1d487b..7c36d0f93a 100644 --- a/target/linux/at91/patches-5.10/136-ARM-at91-sam9x60-SiP-types-added-to-soc-description.patch +++ b/target/linux/at91/patches-5.10/136-ARM-at91-sam9x60-SiP-types-added-to-soc-description.patch @@ -14,11 +14,9 @@ Link: https://lore.kernel.org/r/20201008125028.21071-1-nicolas.ferre@microchip.c drivers/soc/atmel/soc.h | 3 +++ 2 files changed, 9 insertions(+) -diff --git a/drivers/soc/atmel/soc.c b/drivers/soc/atmel/soc.c -index 5d06ee70a36b..698d21f50516 100644 --- a/drivers/soc/atmel/soc.c +++ b/drivers/soc/atmel/soc.c -@@ -69,6 +69,12 @@ static const struct at91_soc __initconst socs[] = { +@@ -69,6 +69,12 @@ static const struct at91_soc __initconst #endif #ifdef CONFIG_SOC_SAM9X60 AT91_SOC(SAM9X60_CIDR_MATCH, SAM9X60_EXID_MATCH, "sam9x60", "sam9x60"), @@ -31,11 +29,9 @@ index 5d06ee70a36b..698d21f50516 100644 #endif #ifdef CONFIG_SOC_SAMA5 AT91_SOC(SAMA5D2_CIDR_MATCH, SAMA5D21CU_EXID_MATCH, -diff --git a/drivers/soc/atmel/soc.h b/drivers/soc/atmel/soc.h -index ee652e4841a5..5849846a69d6 100644 --- a/drivers/soc/atmel/soc.h +++ b/drivers/soc/atmel/soc.h -@@ -60,6 +60,9 @@ at91_soc_init(const struct at91_soc *socs); +@@ -60,6 +60,9 @@ at91_soc_init(const struct at91_soc *soc #define AT91SAM9CN11_EXID_MATCH 0x00000009 #define SAM9X60_EXID_MATCH 0x00000000 @@ -45,6 +41,3 @@ index ee652e4841a5..5849846a69d6 100644 #define AT91SAM9XE128_CIDR_MATCH 0x329973a0 #define AT91SAM9XE256_CIDR_MATCH 0x329a93a0 --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/137-drivers-soc-atmel-use-GENMASK.patch b/target/linux/at91/patches-5.10/137-drivers-soc-atmel-use-GENMASK.patch index d78a7b95be..de99d562f4 100644 --- a/target/linux/at91/patches-5.10/137-drivers-soc-atmel-use-GENMASK.patch +++ b/target/linux/at91/patches-5.10/137-drivers-soc-atmel-use-GENMASK.patch @@ -12,8 +12,6 @@ Link: https://lore.kernel.org/r/1611318097-8970-3-git-send-email-claudiu.beznea@ drivers/soc/atmel/soc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/soc/atmel/soc.c b/drivers/soc/atmel/soc.c -index 698d21f50516..c3f920ee5c6f 100644 --- a/drivers/soc/atmel/soc.c +++ b/drivers/soc/atmel/soc.c @@ -27,7 +27,7 @@ @@ -25,6 +23,3 @@ index 698d21f50516..c3f920ee5c6f 100644 static const struct at91_soc __initconst socs[] = { #ifdef CONFIG_SOC_AT91RM9200 --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/138-drivers-soc-atmel-fix-__initconst-should-be-placed-a.patch b/target/linux/at91/patches-5.10/138-drivers-soc-atmel-fix-__initconst-should-be-placed-a.patch index c3bf9e7866..885528a28e 100644 --- a/target/linux/at91/patches-5.10/138-drivers-soc-atmel-fix-__initconst-should-be-placed-a.patch +++ b/target/linux/at91/patches-5.10/138-drivers-soc-atmel-fix-__initconst-should-be-placed-a.patch @@ -13,8 +13,6 @@ Link: https://lore.kernel.org/r/1611318097-8970-4-git-send-email-claudiu.beznea@ drivers/soc/atmel/soc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/soc/atmel/soc.c b/drivers/soc/atmel/soc.c -index c3f920ee5c6f..03f3c742716c 100644 --- a/drivers/soc/atmel/soc.c +++ b/drivers/soc/atmel/soc.c @@ -29,7 +29,7 @@ @@ -26,6 +24,3 @@ index c3f920ee5c6f..03f3c742716c 100644 #ifdef CONFIG_SOC_AT91RM9200 AT91_SOC(AT91RM9200_CIDR_MATCH, 0, "at91rm9200 BGA", "at91rm9200"), #endif --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/139-drivers-soc-atmel-add-per-soc-id-and-version-match-m.patch b/target/linux/at91/patches-5.10/139-drivers-soc-atmel-add-per-soc-id-and-version-match-m.patch index 8bd02f89ad..72cdb46f11 100644 --- a/target/linux/at91/patches-5.10/139-drivers-soc-atmel-add-per-soc-id-and-version-match-m.patch +++ b/target/linux/at91/patches-5.10/139-drivers-soc-atmel-add-per-soc-id-and-version-match-m.patch @@ -18,8 +18,6 @@ Link: https://lore.kernel.org/r/1611318097-8970-6-git-send-email-claudiu.beznea@ drivers/soc/atmel/soc.h | 7 +- 2 files changed, 140 insertions(+), 66 deletions(-) -diff --git a/drivers/soc/atmel/soc.c b/drivers/soc/atmel/soc.c -index 03f3c742716c..f9052f45cb3e 100644 --- a/drivers/soc/atmel/soc.c +++ b/drivers/soc/atmel/soc.c @@ -25,135 +25,200 @@ @@ -284,7 +282,7 @@ index 03f3c742716c..f9052f45cb3e 100644 "samv70q19", "samv7"), #endif { /* sentinel */ }, -@@ -191,8 +256,12 @@ static int __init at91_get_cidr_exid_from_chipid(u32 *cidr, u32 *exid) +@@ -191,8 +256,12 @@ static int __init at91_get_cidr_exid_fro { struct device_node *np; void __iomem *regs; @@ -298,7 +296,7 @@ index 03f3c742716c..f9052f45cb3e 100644 if (!np) return -ENODEV; -@@ -235,7 +304,7 @@ struct soc_device * __init at91_soc_init(const struct at91_soc *socs) +@@ -235,7 +304,7 @@ struct soc_device * __init at91_soc_init } for (soc = socs; soc->name; soc++) { @@ -307,7 +305,7 @@ index 03f3c742716c..f9052f45cb3e 100644 continue; if (!(cidr & AT91_CIDR_EXT) || soc->exid_match == exid) -@@ -254,7 +323,7 @@ struct soc_device * __init at91_soc_init(const struct at91_soc *socs) +@@ -254,7 +323,7 @@ struct soc_device * __init at91_soc_init soc_dev_attr->family = soc->family; soc_dev_attr->soc_id = soc->name; soc_dev_attr->revision = kasprintf(GFP_KERNEL, "%X", @@ -316,7 +314,7 @@ index 03f3c742716c..f9052f45cb3e 100644 soc_dev = soc_device_register(soc_dev_attr); if (IS_ERR(soc_dev)) { kfree(soc_dev_attr->revision); -@@ -266,7 +335,7 @@ struct soc_device * __init at91_soc_init(const struct at91_soc *socs) +@@ -266,7 +335,7 @@ struct soc_device * __init at91_soc_init if (soc->family) pr_info("Detected SoC family: %s\n", soc->family); pr_info("Detected SoC: %s, revision %X\n", soc->name, @@ -325,8 +323,6 @@ index 03f3c742716c..f9052f45cb3e 100644 return soc_dev; } -diff --git a/drivers/soc/atmel/soc.h b/drivers/soc/atmel/soc.h -index 5849846a69d6..02198a4de22b 100644 --- a/drivers/soc/atmel/soc.h +++ b/drivers/soc/atmel/soc.h @@ -16,14 +16,19 @@ @@ -350,6 +346,3 @@ index 5849846a69d6..02198a4de22b 100644 .exid_match = (__exid), \ .name = (__name), \ .family = (__family), \ --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/140-drivers-soc-atmel-add-support-for-sama7g5.patch b/target/linux/at91/patches-5.10/140-drivers-soc-atmel-add-support-for-sama7g5.patch index 82d12b9ffb..3b21017673 100644 --- a/target/linux/at91/patches-5.10/140-drivers-soc-atmel-add-support-for-sama7g5.patch +++ b/target/linux/at91/patches-5.10/140-drivers-soc-atmel-add-support-for-sama7g5.patch @@ -13,8 +13,6 @@ Link: https://lore.kernel.org/r/1611318097-8970-8-git-send-email-claudiu.beznea@ drivers/soc/atmel/soc.h | 6 ++++++ 2 files changed, 24 insertions(+) -diff --git a/drivers/soc/atmel/soc.c b/drivers/soc/atmel/soc.c -index f9052f45cb3e..bc8e72fd431a 100644 --- a/drivers/soc/atmel/soc.c +++ b/drivers/soc/atmel/soc.c @@ -27,8 +27,10 @@ @@ -28,11 +26,10 @@ index f9052f45cb3e..bc8e72fd431a 100644 static const struct at91_soc socs[] __initconst = { #ifdef CONFIG_SOC_AT91RM9200 -@@ -220,6 +222,20 @@ static const struct at91_soc socs[] __initconst = { - AT91_SOC(SAMV70Q19_CIDR_MATCH, AT91_CIDR_MATCH_MASK, +@@ -221,6 +223,20 @@ static const struct at91_soc socs[] __in AT91_CIDR_VERSION_MASK, SAMV70Q19_EXID_MATCH, "samv70q19", "samv7"), -+#endif + #endif +#ifdef CONFIG_SOC_SAMA7 + AT91_SOC(SAMA7G5_CIDR_MATCH, AT91_CIDR_MATCH_MASK, + AT91_CIDR_VERSION_MASK_SAMA7G5, SAMA7G51_EXID_MATCH, @@ -46,10 +43,11 @@ index f9052f45cb3e..bc8e72fd431a 100644 + AT91_SOC(SAMA7G5_CIDR_MATCH, AT91_CIDR_MATCH_MASK, + AT91_CIDR_VERSION_MASK_SAMA7G5, SAMA7G54_EXID_MATCH, + "sama7g54", "sama7g5"), - #endif ++#endif { /* sentinel */ }, }; -@@ -258,6 +274,7 @@ static int __init at91_get_cidr_exid_from_chipid(u32 *cidr, u32 *exid) + +@@ -258,6 +274,7 @@ static int __init at91_get_cidr_exid_fro void __iomem *regs; static const struct of_device_id chipids[] = { { .compatible = "atmel,sama5d2-chipid" }, @@ -57,7 +55,7 @@ index f9052f45cb3e..bc8e72fd431a 100644 { }, }; -@@ -345,6 +362,7 @@ static const struct of_device_id at91_soc_allowed_list[] __initconst = { +@@ -345,6 +362,7 @@ static const struct of_device_id at91_so { .compatible = "atmel,at91sam9", }, { .compatible = "atmel,sama5", }, { .compatible = "atmel,samv7", }, @@ -65,11 +63,9 @@ index f9052f45cb3e..bc8e72fd431a 100644 { } }; -diff --git a/drivers/soc/atmel/soc.h b/drivers/soc/atmel/soc.h -index 02198a4de22b..93c212533ff0 100644 --- a/drivers/soc/atmel/soc.h +++ b/drivers/soc/atmel/soc.h -@@ -48,6 +48,7 @@ at91_soc_init(const struct at91_soc *socs); +@@ -48,6 +48,7 @@ at91_soc_init(const struct at91_soc *soc #define AT91SAM9X5_CIDR_MATCH 0x019a05a0 #define AT91SAM9N12_CIDR_MATCH 0x019a07a0 #define SAM9X60_CIDR_MATCH 0x019b35a0 @@ -77,7 +73,7 @@ index 02198a4de22b..93c212533ff0 100644 #define AT91SAM9M11_EXID_MATCH 0x00000001 #define AT91SAM9M10_EXID_MATCH 0x00000002 -@@ -69,6 +70,11 @@ at91_soc_init(const struct at91_soc *socs); +@@ -69,6 +70,11 @@ at91_soc_init(const struct at91_soc *soc #define SAM9X60_D1G_EXID_MATCH 0x00000010 #define SAM9X60_D6K_EXID_MATCH 0x00000011 @@ -89,6 +85,3 @@ index 02198a4de22b..93c212533ff0 100644 #define AT91SAM9XE128_CIDR_MATCH 0x329973a0 #define AT91SAM9XE256_CIDR_MATCH 0x329a93a0 #define AT91SAM9XE512_CIDR_MATCH 0x329aa3a0 --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/141-drivers-soc-atmel-add-spdx-license-identifier.patch b/target/linux/at91/patches-5.10/141-drivers-soc-atmel-add-spdx-license-identifier.patch index 6d55372504..be238147d6 100644 --- a/target/linux/at91/patches-5.10/141-drivers-soc-atmel-add-spdx-license-identifier.patch +++ b/target/linux/at91/patches-5.10/141-drivers-soc-atmel-add-spdx-license-identifier.patch @@ -14,8 +14,6 @@ Link: https://lore.kernel.org/r/1611653376-24168-2-git-send-email-claudiu.beznea drivers/soc/atmel/soc.h | 6 +----- 2 files changed, 2 insertions(+), 10 deletions(-) -diff --git a/drivers/soc/atmel/soc.c b/drivers/soc/atmel/soc.c -index bc8e72fd431a..a2967846809f 100644 --- a/drivers/soc/atmel/soc.c +++ b/drivers/soc/atmel/soc.c @@ -1,13 +1,9 @@ @@ -33,8 +31,6 @@ index bc8e72fd431a..a2967846809f 100644 */ #define pr_fmt(fmt) "AT91: " fmt -diff --git a/drivers/soc/atmel/soc.h b/drivers/soc/atmel/soc.h -index 93c212533ff0..c3eb3c8f0834 100644 --- a/drivers/soc/atmel/soc.h +++ b/drivers/soc/atmel/soc.h @@ -1,12 +1,8 @@ @@ -51,6 +47,3 @@ index 93c212533ff0..c3eb3c8f0834 100644 */ #ifndef __AT91_SOC_H --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/142-drivers-soc-atmel-fix-type-for-same7.patch b/target/linux/at91/patches-5.10/142-drivers-soc-atmel-fix-type-for-same7.patch index f25b25cc7f..c28101300b 100644 --- a/target/linux/at91/patches-5.10/142-drivers-soc-atmel-fix-type-for-same7.patch +++ b/target/linux/at91/patches-5.10/142-drivers-soc-atmel-fix-type-for-same7.patch @@ -15,11 +15,9 @@ Signed-off-by: Arnd Bergmann drivers/soc/atmel/soc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/soc/atmel/soc.c b/drivers/soc/atmel/soc.c -index a2967846809f..a490ad7e090f 100644 --- a/drivers/soc/atmel/soc.c +++ b/drivers/soc/atmel/soc.c -@@ -191,7 +191,7 @@ static const struct at91_soc socs[] __initconst = { +@@ -191,7 +191,7 @@ static const struct at91_soc socs[] __in AT91_SOC(SAME70Q20_CIDR_MATCH, AT91_CIDR_MATCH_MASK, AT91_CIDR_VERSION_MASK, SAME70Q20_EXID_MATCH, "same70q20", "same7"), @@ -28,6 +26,3 @@ index a2967846809f..a490ad7e090f 100644 AT91_CIDR_VERSION_MASK, SAME70Q19_EXID_MATCH, "same70q19", "same7"), AT91_SOC(SAMS70Q21_CIDR_MATCH, AT91_CIDR_MATCH_MASK, --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/143-clocksource-drivers-timer-microchip-pit64b-Add-clock.patch b/target/linux/at91/patches-5.10/143-clocksource-drivers-timer-microchip-pit64b-Add-clock.patch index 045e920526..69e608177c 100644 --- a/target/linux/at91/patches-5.10/143-clocksource-drivers-timer-microchip-pit64b-Add-clock.patch +++ b/target/linux/at91/patches-5.10/143-clocksource-drivers-timer-microchip-pit64b-Add-clock.patch @@ -13,8 +13,6 @@ Link: https://lore.kernel.org/r/1611061165-30180-1-git-send-email-claudiu.beznea drivers/clocksource/timer-microchip-pit64b.c | 86 ++++++++++++++++---- 1 file changed, 71 insertions(+), 15 deletions(-) -diff --git a/drivers/clocksource/timer-microchip-pit64b.c b/drivers/clocksource/timer-microchip-pit64b.c -index 59e11ca8ee73..ab623b25a47b 100644 --- a/drivers/clocksource/timer-microchip-pit64b.c +++ b/drivers/clocksource/timer-microchip-pit64b.c @@ -71,10 +71,24 @@ struct mchp_pit64b_clkevt { @@ -43,7 +41,7 @@ index 59e11ca8ee73..ab623b25a47b 100644 /* Base address for clocksource timer. */ static void __iomem *mchp_pit64b_cs_base; /* Default cycles for clockevent timer. */ -@@ -116,6 +130,36 @@ static inline void mchp_pit64b_reset(struct mchp_pit64b_timer *timer, +@@ -116,6 +130,36 @@ static inline void mchp_pit64b_reset(str writel_relaxed(MCHP_PIT64B_CR_START, timer->base + MCHP_PIT64B_CR); } @@ -80,7 +78,7 @@ index 59e11ca8ee73..ab623b25a47b 100644 static u64 mchp_pit64b_clksrc_read(struct clocksource *cs) { return mchp_pit64b_cnt_read(mchp_pit64b_cs_base); -@@ -128,7 +172,7 @@ static u64 mchp_pit64b_sched_read_clk(void) +@@ -128,7 +172,7 @@ static u64 mchp_pit64b_sched_read_clk(vo static int mchp_pit64b_clkevt_shutdown(struct clock_event_device *cedev) { @@ -89,7 +87,7 @@ index 59e11ca8ee73..ab623b25a47b 100644 writel_relaxed(MCHP_PIT64B_CR_SWRST, timer->base + MCHP_PIT64B_CR); -@@ -137,7 +181,7 @@ static int mchp_pit64b_clkevt_shutdown(struct clock_event_device *cedev) +@@ -137,7 +181,7 @@ static int mchp_pit64b_clkevt_shutdown(s static int mchp_pit64b_clkevt_set_periodic(struct clock_event_device *cedev) { @@ -98,7 +96,7 @@ index 59e11ca8ee73..ab623b25a47b 100644 mchp_pit64b_reset(timer, mchp_pit64b_ce_cycles, MCHP_PIT64B_MR_CONT, MCHP_PIT64B_IER_PERIOD); -@@ -148,7 +192,7 @@ static int mchp_pit64b_clkevt_set_periodic(struct clock_event_device *cedev) +@@ -148,7 +192,7 @@ static int mchp_pit64b_clkevt_set_period static int mchp_pit64b_clkevt_set_next_event(unsigned long evt, struct clock_event_device *cedev) { @@ -107,7 +105,7 @@ index 59e11ca8ee73..ab623b25a47b 100644 mchp_pit64b_reset(timer, evt, MCHP_PIT64B_MR_ONE_SHOT, MCHP_PIT64B_IER_PERIOD); -@@ -158,21 +202,16 @@ static int mchp_pit64b_clkevt_set_next_event(unsigned long evt, +@@ -158,21 +202,16 @@ static int mchp_pit64b_clkevt_set_next_e static void mchp_pit64b_clkevt_suspend(struct clock_event_device *cedev) { @@ -133,7 +131,7 @@ index 59e11ca8ee73..ab623b25a47b 100644 } static irqreturn_t mchp_pit64b_interrupt(int irq, void *dev_id) -@@ -296,20 +335,37 @@ static int __init mchp_pit64b_init_mode(struct mchp_pit64b_timer *timer, +@@ -296,20 +335,37 @@ done: static int __init mchp_pit64b_init_clksrc(struct mchp_pit64b_timer *timer, u32 clk_rate) { @@ -173,6 +171,3 @@ index 59e11ca8ee73..ab623b25a47b 100644 return ret; } --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/144-ASoC-atmel-pdc-Use-managed-DMA-buffer-allocation.patch b/target/linux/at91/patches-5.10/144-ASoC-atmel-pdc-Use-managed-DMA-buffer-allocation.patch index 1cb43ca20c..072e13bcc6 100644 --- a/target/linux/at91/patches-5.10/144-ASoC-atmel-pdc-Use-managed-DMA-buffer-allocation.patch +++ b/target/linux/at91/patches-5.10/144-ASoC-atmel-pdc-Use-managed-DMA-buffer-allocation.patch @@ -20,8 +20,6 @@ Signed-off-by: Mark Brown sound/soc/atmel/atmel-pcm-pdc.c | 78 ++------------------------------- 1 file changed, 4 insertions(+), 74 deletions(-) -diff --git a/sound/soc/atmel/atmel-pcm-pdc.c b/sound/soc/atmel/atmel-pcm-pdc.c -index 704f700013d3..3e7ea2021b46 100644 --- a/sound/soc/atmel/atmel-pcm-pdc.c +++ b/sound/soc/atmel/atmel-pcm-pdc.c @@ -34,86 +34,21 @@ @@ -115,7 +113,7 @@ index 704f700013d3..3e7ea2021b46 100644 } /*--------------------------------------------------------------------------*\ -@@ -210,9 +145,6 @@ static int atmel_pcm_hw_params(struct snd_soc_component *component, +@@ -210,9 +145,6 @@ static int atmel_pcm_hw_params(struct sn /* this may get called several times by oss emulation * with different params */ @@ -125,7 +123,7 @@ index 704f700013d3..3e7ea2021b46 100644 prtd->params = snd_soc_dai_get_dma_data(asoc_rtd_to_cpu(rtd, 0), substream); prtd->params->dma_intr_handler = atmel_pcm_dma_irq; -@@ -384,9 +316,7 @@ static const struct snd_soc_component_driver atmel_soc_platform = { +@@ -384,9 +316,7 @@ static const struct snd_soc_component_dr .prepare = atmel_pcm_prepare, .trigger = atmel_pcm_trigger, .pointer = atmel_pcm_pointer, @@ -135,6 +133,3 @@ index 704f700013d3..3e7ea2021b46 100644 }; int atmel_pcm_pdc_platform_register(struct device *dev) --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/145-power-reset-at91-sama5d2_shdwc-add-support-for-sama7.patch b/target/linux/at91/patches-5.10/145-power-reset-at91-sama5d2_shdwc-add-support-for-sama7.patch index ed8ffac935..af1c01bf90 100644 --- a/target/linux/at91/patches-5.10/145-power-reset-at91-sama5d2_shdwc-add-support-for-sama7.patch +++ b/target/linux/at91/patches-5.10/145-power-reset-at91-sama5d2_shdwc-add-support-for-sama7.patch @@ -14,8 +14,6 @@ Signed-off-by: Sebastian Reichel drivers/power/reset/at91-sama5d2_shdwc.c | 72 ++++++++++++++++++------ 1 file changed, 54 insertions(+), 18 deletions(-) -diff --git a/drivers/power/reset/at91-sama5d2_shdwc.c b/drivers/power/reset/at91-sama5d2_shdwc.c -index d9cf91e5b06d..125e592af445 100644 --- a/drivers/power/reset/at91-sama5d2_shdwc.c +++ b/drivers/power/reset/at91-sama5d2_shdwc.c @@ -78,9 +78,15 @@ struct pmc_reg_config { @@ -34,7 +32,7 @@ index d9cf91e5b06d..125e592af445 100644 }; struct shdwc { -@@ -262,6 +268,10 @@ static const struct reg_config sama5d2_reg_config = { +@@ -262,6 +268,10 @@ static const struct reg_config sama5d2_r .pmc = { .mckr = 0x30, }, @@ -45,7 +43,7 @@ index d9cf91e5b06d..125e592af445 100644 }; static const struct reg_config sam9x60_reg_config = { -@@ -275,6 +285,23 @@ static const struct reg_config sam9x60_reg_config = { +@@ -275,6 +285,23 @@ static const struct reg_config sam9x60_r .pmc = { .mckr = 0x28, }, @@ -69,7 +67,7 @@ index d9cf91e5b06d..125e592af445 100644 }; static const struct of_device_id at91_shdwc_of_match[] = { -@@ -285,6 +312,10 @@ static const struct of_device_id at91_shdwc_of_match[] = { +@@ -285,6 +312,10 @@ static const struct of_device_id at91_sh { .compatible = "microchip,sam9x60-shdwc", .data = &sam9x60_reg_config, @@ -80,7 +78,7 @@ index d9cf91e5b06d..125e592af445 100644 }, { /*sentinel*/ } -@@ -294,6 +325,7 @@ MODULE_DEVICE_TABLE(of, at91_shdwc_of_match); +@@ -294,6 +325,7 @@ MODULE_DEVICE_TABLE(of, at91_shdwc_of_ma static const struct of_device_id at91_pmc_ids[] = { { .compatible = "atmel,sama5d2-pmc" }, { .compatible = "microchip,sam9x60-pmc" }, @@ -88,7 +86,7 @@ index d9cf91e5b06d..125e592af445 100644 { /* Sentinel. */ } }; -@@ -355,30 +387,34 @@ static int __init at91_shdwc_probe(struct platform_device *pdev) +@@ -355,30 +387,34 @@ static int __init at91_shdwc_probe(struc goto clk_disable; } @@ -141,6 +139,3 @@ index d9cf91e5b06d..125e592af445 100644 return 0; unmap: --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/146-pinctrl-at91-pio4-add-support-for-slew-rate.patch b/target/linux/at91/patches-5.10/146-pinctrl-at91-pio4-add-support-for-slew-rate.patch index 3568760d3c..84dea5a48a 100644 --- a/target/linux/at91/patches-5.10/146-pinctrl-at91-pio4-add-support-for-slew-rate.patch +++ b/target/linux/at91/patches-5.10/146-pinctrl-at91-pio4-add-support-for-slew-rate.patch @@ -16,8 +16,6 @@ Signed-off-by: Linus Walleij drivers/pinctrl/pinctrl-at91-pio4.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) -diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c -index d267367d94b9..f202cdb6dc3c 100644 --- a/drivers/pinctrl/pinctrl-at91-pio4.c +++ b/drivers/pinctrl/pinctrl-at91-pio4.c @@ -36,6 +36,7 @@ @@ -57,7 +55,7 @@ index d267367d94b9..f202cdb6dc3c 100644 }; static const char * const atmel_functions[] = { -@@ -760,6 +765,13 @@ static int atmel_conf_pin_config_group_get(struct pinctrl_dev *pctldev, +@@ -760,6 +765,13 @@ static int atmel_conf_pin_config_group_g return -EINVAL; arg = 1; break; @@ -71,7 +69,7 @@ index d267367d94b9..f202cdb6dc3c 100644 case ATMEL_PIN_CONFIG_DRIVE_STRENGTH: if (!(res & ATMEL_PIO_DRVSTR_MASK)) return -EINVAL; -@@ -793,6 +805,10 @@ static int atmel_conf_pin_config_group_set(struct pinctrl_dev *pctldev, +@@ -793,6 +805,10 @@ static int atmel_conf_pin_config_group_s dev_dbg(pctldev->dev, "%s: pin=%u, config=0x%lx\n", __func__, pin_id, configs[i]); @@ -82,7 +80,7 @@ index d267367d94b9..f202cdb6dc3c 100644 switch (param) { case PIN_CONFIG_BIAS_DISABLE: conf &= (~ATMEL_PIO_PUEN_MASK); -@@ -850,6 +866,13 @@ static int atmel_conf_pin_config_group_set(struct pinctrl_dev *pctldev, +@@ -850,6 +866,13 @@ static int atmel_conf_pin_config_group_s ATMEL_PIO_SODR); } break; @@ -96,7 +94,7 @@ index d267367d94b9..f202cdb6dc3c 100644 case ATMEL_PIN_CONFIG_DRIVE_STRENGTH: switch (arg) { case ATMEL_PIO_DRVSTR_LO: -@@ -901,6 +924,8 @@ static void atmel_conf_pin_config_dbg_show(struct pinctrl_dev *pctldev, +@@ -901,6 +924,8 @@ static void atmel_conf_pin_config_dbg_sh seq_printf(s, "%s ", "open-drain"); if (conf & ATMEL_PIO_SCHMITT_MASK) seq_printf(s, "%s ", "schmitt"); @@ -105,7 +103,7 @@ index d267367d94b9..f202cdb6dc3c 100644 if (conf & ATMEL_PIO_DRVSTR_MASK) { switch ((conf & ATMEL_PIO_DRVSTR_MASK) >> ATMEL_PIO_DRVSTR_OFFSET) { case ATMEL_PIO_DRVSTR_ME: -@@ -994,6 +1019,7 @@ static const struct atmel_pioctrl_data atmel_sama5d2_pioctrl_data = { +@@ -994,6 +1019,7 @@ static const struct atmel_pioctrl_data a static const struct atmel_pioctrl_data microchip_sama7g5_pioctrl_data = { .nbanks = 5, .last_bank_count = 8, /* sama7g5 has only PE0 to PE7 */ @@ -113,7 +111,7 @@ index d267367d94b9..f202cdb6dc3c 100644 }; static const struct of_device_id atmel_pctrl_of_match[] = { -@@ -1039,6 +1065,7 @@ static int atmel_pinctrl_probe(struct platform_device *pdev) +@@ -1039,6 +1065,7 @@ static int atmel_pinctrl_probe(struct pl atmel_pioctrl->npins -= ATMEL_PIO_NPINS_PER_BANK; atmel_pioctrl->npins += atmel_pioctrl_data->last_bank_count; } @@ -121,6 +119,3 @@ index d267367d94b9..f202cdb6dc3c 100644 atmel_pioctrl->reg_base = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(atmel_pioctrl->reg_base)) --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/147-pinctrl-at91-pio4-fix-Prefer-unsigned-int-to-bare-us.patch b/target/linux/at91/patches-5.10/147-pinctrl-at91-pio4-fix-Prefer-unsigned-int-to-bare-us.patch index e3931bce64..0be811cc97 100644 --- a/target/linux/at91/patches-5.10/147-pinctrl-at91-pio4-fix-Prefer-unsigned-int-to-bare-us.patch +++ b/target/linux/at91/patches-5.10/147-pinctrl-at91-pio4-fix-Prefer-unsigned-int-to-bare-us.patch @@ -15,8 +15,6 @@ Signed-off-by: Linus Walleij drivers/pinctrl/pinctrl-at91-pio4.c | 110 ++++++++++++++-------------- 1 file changed, 57 insertions(+), 53 deletions(-) -diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c -index f202cdb6dc3c..a5d328808e4c 100644 --- a/drivers/pinctrl/pinctrl-at91-pio4.c +++ b/drivers/pinctrl/pinctrl-at91-pio4.c @@ -80,8 +80,8 @@ @@ -67,7 +65,7 @@ index f202cdb6dc3c..a5d328808e4c 100644 struct { u32 imr; u32 odsr; -@@ -177,11 +177,11 @@ static void atmel_gpio_irq_ack(struct irq_data *d) +@@ -177,11 +177,11 @@ static void atmel_gpio_irq_ack(struct ir */ } @@ -81,7 +79,7 @@ index f202cdb6dc3c..a5d328808e4c 100644 atmel_gpio_write(atmel_pioctrl, pin->bank, ATMEL_PIO_MSKR, BIT(pin->line)); -@@ -268,7 +268,7 @@ static struct irq_chip atmel_gpio_irq_chip = { +@@ -268,7 +268,7 @@ static struct irq_chip atmel_gpio_irq_ch .irq_set_wake = atmel_gpio_irq_set_wake, }; @@ -90,7 +88,7 @@ index f202cdb6dc3c..a5d328808e4c 100644 { struct atmel_pioctrl *atmel_pioctrl = gpiochip_get_data(chip); -@@ -316,11 +316,12 @@ static void atmel_gpio_irq_handler(struct irq_desc *desc) +@@ -316,11 +316,12 @@ static void atmel_gpio_irq_handler(struc chained_irq_exit(chip, desc); } @@ -105,7 +103,7 @@ index f202cdb6dc3c..a5d328808e4c 100644 atmel_gpio_write(atmel_pioctrl, pin->bank, ATMEL_PIO_MSKR, BIT(pin->line)); -@@ -331,11 +332,11 @@ static int atmel_gpio_direction_input(struct gpio_chip *chip, unsigned offset) +@@ -331,11 +332,11 @@ static int atmel_gpio_direction_input(st return 0; } @@ -119,7 +117,7 @@ index f202cdb6dc3c..a5d328808e4c 100644 reg = atmel_gpio_read(atmel_pioctrl, pin->bank, ATMEL_PIO_PDSR); -@@ -369,12 +370,13 @@ static int atmel_gpio_get_multiple(struct gpio_chip *chip, unsigned long *mask, +@@ -369,12 +370,13 @@ static int atmel_gpio_get_multiple(struc return 0; } @@ -135,7 +133,7 @@ index f202cdb6dc3c..a5d328808e4c 100644 atmel_gpio_write(atmel_pioctrl, pin->bank, value ? ATMEL_PIO_SODR : ATMEL_PIO_CODR, -@@ -389,7 +391,7 @@ static int atmel_gpio_direction_output(struct gpio_chip *chip, unsigned offset, +@@ -389,7 +391,7 @@ static int atmel_gpio_direction_output(s return 0; } @@ -144,7 +142,7 @@ index f202cdb6dc3c..a5d328808e4c 100644 { struct atmel_pioctrl *atmel_pioctrl = gpiochip_get_data(chip); struct atmel_pin *pin = atmel_pioctrl->pins[offset]; -@@ -445,11 +447,11 @@ static struct gpio_chip atmel_gpio_chip = { +@@ -445,11 +447,11 @@ static struct gpio_chip atmel_gpio_chip /* --- PINCTRL --- */ static unsigned int atmel_pin_config_read(struct pinctrl_dev *pctldev, @@ -159,7 +157,7 @@ index f202cdb6dc3c..a5d328808e4c 100644 void __iomem *addr = atmel_pioctrl->reg_base + bank * ATMEL_PIO_BANK_OFFSET; -@@ -461,11 +463,11 @@ static unsigned int atmel_pin_config_read(struct pinctrl_dev *pctldev, +@@ -461,11 +463,11 @@ static unsigned int atmel_pin_config_rea } static void atmel_pin_config_write(struct pinctrl_dev *pctldev, @@ -174,7 +172,7 @@ index f202cdb6dc3c..a5d328808e4c 100644 void __iomem *addr = atmel_pioctrl->reg_base + bank * ATMEL_PIO_BANK_OFFSET; -@@ -483,7 +485,7 @@ static int atmel_pctl_get_groups_count(struct pinctrl_dev *pctldev) +@@ -483,7 +485,7 @@ static int atmel_pctl_get_groups_count(s } static const char *atmel_pctl_get_group_name(struct pinctrl_dev *pctldev, @@ -183,7 +181,7 @@ index f202cdb6dc3c..a5d328808e4c 100644 { struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev); -@@ -491,19 +493,20 @@ static const char *atmel_pctl_get_group_name(struct pinctrl_dev *pctldev, +@@ -491,19 +493,20 @@ static const char *atmel_pctl_get_group_ } static int atmel_pctl_get_group_pins(struct pinctrl_dev *pctldev, @@ -208,7 +206,7 @@ index f202cdb6dc3c..a5d328808e4c 100644 { struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev); int i; -@@ -524,7 +527,7 @@ static int atmel_pctl_xlate_pinfunc(struct pinctrl_dev *pctldev, +@@ -524,7 +527,7 @@ static int atmel_pctl_xlate_pinfunc(stru const char **func_name) { struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev); @@ -217,7 +215,7 @@ index f202cdb6dc3c..a5d328808e4c 100644 struct atmel_group *grp; pin_id = ATMEL_GET_PIN_NO(pinfunc); -@@ -554,10 +557,10 @@ static int atmel_pctl_xlate_pinfunc(struct pinctrl_dev *pctldev, +@@ -554,10 +557,10 @@ static int atmel_pctl_xlate_pinfunc(stru static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev, struct device_node *np, struct pinctrl_map **map, @@ -231,7 +229,7 @@ index f202cdb6dc3c..a5d328808e4c 100644 unsigned long *configs; struct property *pins; u32 pinfunc; -@@ -628,10 +631,10 @@ static int atmel_pctl_dt_subnode_to_map(struct pinctrl_dev *pctldev, +@@ -628,10 +631,10 @@ exit: static int atmel_pctl_dt_node_to_map(struct pinctrl_dev *pctldev, struct device_node *np_config, struct pinctrl_map **map, @@ -244,7 +242,7 @@ index f202cdb6dc3c..a5d328808e4c 100644 int ret; *map = NULL; -@@ -679,13 +682,13 @@ static int atmel_pmx_get_functions_count(struct pinctrl_dev *pctldev) +@@ -679,13 +682,13 @@ static int atmel_pmx_get_functions_count } static const char *atmel_pmx_get_function_name(struct pinctrl_dev *pctldev, @@ -260,7 +258,7 @@ index f202cdb6dc3c..a5d328808e4c 100644 const char * const **groups, unsigned * const num_groups) { -@@ -698,11 +701,11 @@ static int atmel_pmx_get_function_groups(struct pinctrl_dev *pctldev, +@@ -698,11 +701,11 @@ static int atmel_pmx_get_function_groups } static int atmel_pmx_set_mux(struct pinctrl_dev *pctldev, @@ -275,7 +273,7 @@ index f202cdb6dc3c..a5d328808e4c 100644 u32 conf; dev_dbg(pctldev->dev, "enable function %s group %s\n", -@@ -726,13 +729,13 @@ static const struct pinmux_ops atmel_pmxops = { +@@ -726,13 +729,13 @@ static const struct pinmux_ops atmel_pmx }; static int atmel_conf_pin_config_group_get(struct pinctrl_dev *pctldev, @@ -292,7 +290,7 @@ index f202cdb6dc3c..a5d328808e4c 100644 u32 res; res = atmel_pin_config_read(pctldev, pin_id); -@@ -786,21 +789,21 @@ static int atmel_conf_pin_config_group_get(struct pinctrl_dev *pctldev, +@@ -786,21 +789,21 @@ static int atmel_conf_pin_config_group_g } static int atmel_conf_pin_config_group_set(struct pinctrl_dev *pctldev, @@ -319,7 +317,7 @@ index f202cdb6dc3c..a5d328808e4c 100644 dev_dbg(pctldev->dev, "%s: pin=%u, config=0x%lx\n", __func__, pin_id, configs[i]); -@@ -900,7 +903,8 @@ static int atmel_conf_pin_config_group_set(struct pinctrl_dev *pctldev, +@@ -900,7 +903,8 @@ static int atmel_conf_pin_config_group_s } static void atmel_conf_pin_config_dbg_show(struct pinctrl_dev *pctldev, @@ -329,7 +327,7 @@ index f202cdb6dc3c..a5d328808e4c 100644 { struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev); u32 conf; -@@ -1108,8 +1112,8 @@ static int atmel_pinctrl_probe(struct platform_device *pdev) +@@ -1108,8 +1112,8 @@ static int atmel_pinctrl_probe(struct pl return -ENOMEM; for (i = 0 ; i < atmel_pioctrl->npins; i++) { struct atmel_group *group = atmel_pioctrl->groups + i; @@ -340,6 +338,3 @@ index f202cdb6dc3c..a5d328808e4c 100644 atmel_pioctrl->pins[i] = devm_kzalloc(dev, sizeof(**atmel_pioctrl->pins), GFP_KERNEL); --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/148-net-macb-Add-default-usrio-config-to-default-gem-con.patch b/target/linux/at91/patches-5.10/148-net-macb-Add-default-usrio-config-to-default-gem-con.patch index 2e149cefc5..57792a593f 100644 --- a/target/linux/at91/patches-5.10/148-net-macb-Add-default-usrio-config-to-default-gem-con.patch +++ b/target/linux/at91/patches-5.10/148-net-macb-Add-default-usrio-config-to-default-gem-con.patch @@ -18,11 +18,9 @@ Signed-off-by: David S. Miller drivers/net/ethernet/cadence/macb_main.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) -diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c -index d5bd640d3fa4..a8d266d72779 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c -@@ -3837,6 +3837,13 @@ static int macb_init(struct platform_device *pdev) +@@ -3837,6 +3837,13 @@ static int macb_init(struct platform_dev return 0; } @@ -36,7 +34,7 @@ index d5bd640d3fa4..a8d266d72779 100644 #if defined(CONFIG_OF) /* 1518 rounded up */ #define AT91ETHER_MAX_RBUFF_SZ 0x600 -@@ -4352,13 +4359,6 @@ static int fu540_c000_init(struct platform_device *pdev) +@@ -4352,13 +4359,6 @@ static int fu540_c000_init(struct platfo return macb_init(pdev); } @@ -50,7 +48,7 @@ index d5bd640d3fa4..a8d266d72779 100644 static const struct macb_usrio_config sama7g5_usrio = { .mii = 0, .rmii = 1, -@@ -4507,6 +4507,7 @@ static const struct macb_config default_gem_config = { +@@ -4507,6 +4507,7 @@ static const struct macb_config default_ .dma_burst_length = 16, .clk_init = macb_clk_init, .init = macb_init, @@ -58,6 +56,3 @@ index d5bd640d3fa4..a8d266d72779 100644 .jumbo_max_len = 10240, }; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/149-ARM-at91-pm-Move-prototypes-to-mutually-included-hea.patch b/target/linux/at91/patches-5.10/149-ARM-at91-pm-Move-prototypes-to-mutually-included-hea.patch index 892e8be295..cc7f6583aa 100644 --- a/target/linux/at91/patches-5.10/149-ARM-at91-pm-Move-prototypes-to-mutually-included-hea.patch +++ b/target/linux/at91/patches-5.10/149-ARM-at91-pm-Move-prototypes-to-mutually-included-hea.patch @@ -34,8 +34,6 @@ Link: https://lore.kernel.org/r/20210303124149.3149511-1-lee.jones@linaro.org 3 files changed, 26 insertions(+), 11 deletions(-) create mode 100644 include/soc/at91/pm.h -diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c -index 3f015cb6ec2b..2dee383f9050 100644 --- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.c @@ -17,6 +17,8 @@ @@ -65,7 +63,7 @@ index 3f015cb6ec2b..2dee383f9050 100644 struct at91_soc_pm { int (*config_shdwc_ws)(void __iomem *shdwc, u32 *mode, u32 *polarity); int (*config_pmc_ws)(void __iomem *pmc, u32 mode, u32 polarity); -@@ -326,6 +317,12 @@ static void at91_pm_suspend(suspend_state_t state) +@@ -326,6 +317,12 @@ static void at91_pm_suspend(suspend_stat static int at91_pm_enter(suspend_state_t state) { #ifdef CONFIG_PINCTRL_AT91 @@ -78,8 +76,6 @@ index 3f015cb6ec2b..2dee383f9050 100644 at91_pinctrl_gpio_suspend(); #endif -diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c -index 9015486e38c1..dcbb71fa1b2b 100644 --- a/drivers/pinctrl/pinctrl-at91.c +++ b/drivers/pinctrl/pinctrl-at91.c @@ -23,6 +23,8 @@ @@ -91,9 +87,6 @@ index 9015486e38c1..dcbb71fa1b2b 100644 #include "pinctrl-at91.h" #include "core.h" -diff --git a/include/soc/at91/pm.h b/include/soc/at91/pm.h -new file mode 100644 -index 000000000000..7a41e53a3ffa --- /dev/null +++ b/include/soc/at91/pm.h @@ -0,0 +1,16 @@ @@ -113,6 +106,3 @@ index 000000000000..7a41e53a3ffa +void at91_pinctrl_gpio_resume(void); + +#endif /* __SOC_ATMEL_PM_H */ --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/150-ASoC-mchp-i2s-mcc-Add-compatible-for-SAMA7G5.patch b/target/linux/at91/patches-5.10/150-ASoC-mchp-i2s-mcc-Add-compatible-for-SAMA7G5.patch index 6749c3748b..174d0b3ced 100644 --- a/target/linux/at91/patches-5.10/150-ASoC-mchp-i2s-mcc-Add-compatible-for-SAMA7G5.patch +++ b/target/linux/at91/patches-5.10/150-ASoC-mchp-i2s-mcc-Add-compatible-for-SAMA7G5.patch @@ -16,8 +16,6 @@ Signed-off-by: Mark Brown sound/soc/atmel/mchp-i2s-mcc.c | 3 +++ 2 files changed, 6 insertions(+) -diff --git a/sound/soc/atmel/Kconfig b/sound/soc/atmel/Kconfig -index 89210048e6c2..802962935df0 100644 --- a/sound/soc/atmel/Kconfig +++ b/sound/soc/atmel/Kconfig @@ -126,10 +126,13 @@ config SND_MCHP_SOC_I2S_MCC @@ -34,11 +32,9 @@ index 89210048e6c2..802962935df0 100644 config SND_MCHP_SOC_SPDIFTX tristate "Microchip ASoC driver for boards using S/PDIF TX" -diff --git a/sound/soc/atmel/mchp-i2s-mcc.c b/sound/soc/atmel/mchp-i2s-mcc.c -index 04acc18f2d72..6a754cef9607 100644 --- a/sound/soc/atmel/mchp-i2s-mcc.c +++ b/sound/soc/atmel/mchp-i2s-mcc.c -@@ -873,6 +873,9 @@ static const struct of_device_id mchp_i2s_mcc_dt_ids[] = { +@@ -873,6 +873,9 @@ static const struct of_device_id mchp_i2 { .compatible = "microchip,sam9x60-i2smcc", }, @@ -48,6 +44,3 @@ index 04acc18f2d72..6a754cef9607 100644 { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, mchp_i2s_mcc_dt_ids); --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/151-ASoC-mchp-i2s-mcc-Add-multi-channel-support-for-I2S-.patch b/target/linux/at91/patches-5.10/151-ASoC-mchp-i2s-mcc-Add-multi-channel-support-for-I2S-.patch index a1260511f4..5047e04d5b 100644 --- a/target/linux/at91/patches-5.10/151-ASoC-mchp-i2s-mcc-Add-multi-channel-support-for-I2S-.patch +++ b/target/linux/at91/patches-5.10/151-ASoC-mchp-i2s-mcc-Add-multi-channel-support-for-I2S-.patch @@ -16,8 +16,6 @@ Signed-off-by: Mark Brown sound/soc/atmel/mchp-i2s-mcc.c | 38 ++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) -diff --git a/sound/soc/atmel/mchp-i2s-mcc.c b/sound/soc/atmel/mchp-i2s-mcc.c -index 6a754cef9607..dca4fd1e2dfd 100644 --- a/sound/soc/atmel/mchp-i2s-mcc.c +++ b/sound/soc/atmel/mchp-i2s-mcc.c @@ -16,6 +16,7 @@ @@ -28,7 +26,7 @@ index 6a754cef9607..dca4fd1e2dfd 100644 #include #include -@@ -225,6 +226,10 @@ static const struct regmap_config mchp_i2s_mcc_regmap_config = { +@@ -225,6 +226,10 @@ static const struct regmap_config mchp_i .max_register = MCHP_I2SMCC_VERSION, }; @@ -47,7 +45,7 @@ index 6a754cef9607..dca4fd1e2dfd 100644 struct snd_dmaengine_dai_dma_data playback; struct snd_dmaengine_dai_dma_data capture; unsigned int fmt; -@@ -549,6 +555,17 @@ static int mchp_i2s_mcc_hw_params(struct snd_pcm_substream *substream, +@@ -549,6 +555,17 @@ static int mchp_i2s_mcc_hw_params(struct } if (dev->fmt & (SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_LEFT_J)) { @@ -65,7 +63,7 @@ index 6a754cef9607..dca4fd1e2dfd 100644 switch (channels) { case 1: if (is_playback) -@@ -558,6 +575,12 @@ static int mchp_i2s_mcc_hw_params(struct snd_pcm_substream *substream, +@@ -558,6 +575,12 @@ static int mchp_i2s_mcc_hw_params(struct break; case 2: break; @@ -78,7 +76,7 @@ index 6a754cef9607..dca4fd1e2dfd 100644 default: dev_err(dev->dev, "unsupported number of audio channels\n"); return -EINVAL; -@@ -869,12 +892,22 @@ static const struct snd_soc_component_driver mchp_i2s_mcc_component = { +@@ -869,12 +892,22 @@ static const struct snd_soc_component_dr }; #ifdef CONFIG_OF @@ -101,7 +99,7 @@ index 6a754cef9607..dca4fd1e2dfd 100644 }, { /* sentinel */ } }; -@@ -932,6 +965,11 @@ static int mchp_i2s_mcc_probe(struct platform_device *pdev) +@@ -932,6 +965,11 @@ static int mchp_i2s_mcc_probe(struct pla dev->gclk = NULL; } @@ -113,6 +111,3 @@ index 6a754cef9607..dca4fd1e2dfd 100644 dev->dev = &pdev->dev; dev->regmap = regmap; platform_set_drvdata(pdev, dev); --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/152-ASoC-mchp-i2s-mcc-Add-support-to-select-TDM-pins.patch b/target/linux/at91/patches-5.10/152-ASoC-mchp-i2s-mcc-Add-support-to-select-TDM-pins.patch index b4f1635e68..6d5a15d36b 100644 --- a/target/linux/at91/patches-5.10/152-ASoC-mchp-i2s-mcc-Add-support-to-select-TDM-pins.patch +++ b/target/linux/at91/patches-5.10/152-ASoC-mchp-i2s-mcc-Add-support-to-select-TDM-pins.patch @@ -17,8 +17,6 @@ Signed-off-by: Mark Brown sound/soc/atmel/mchp-i2s-mcc.c | 52 +++++++++++++++++++++++++++++++--- 1 file changed, 48 insertions(+), 4 deletions(-) -diff --git a/sound/soc/atmel/mchp-i2s-mcc.c b/sound/soc/atmel/mchp-i2s-mcc.c -index dca4fd1e2dfd..0818fa864f0e 100644 --- a/sound/soc/atmel/mchp-i2s-mcc.c +++ b/sound/soc/atmel/mchp-i2s-mcc.c @@ -100,6 +100,8 @@ @@ -38,7 +36,7 @@ index dca4fd1e2dfd..0818fa864f0e 100644 unsigned int gclk_use:1; unsigned int gclk_running:1; unsigned int tx_rdy:1; -@@ -589,6 +592,8 @@ static int mchp_i2s_mcc_hw_params(struct snd_pcm_substream *substream, +@@ -589,6 +592,8 @@ static int mchp_i2s_mcc_hw_params(struct if (!frame_length) frame_length = 2 * params_physical_width(params); } else if (dev->fmt & SND_SOC_DAIFMT_DSP_A) { @@ -47,7 +45,7 @@ index dca4fd1e2dfd..0818fa864f0e 100644 if (dev->tdm_slots) { if (channels % 2 && channels * 2 <= dev->tdm_slots) { /* -@@ -914,6 +919,45 @@ static const struct of_device_id mchp_i2s_mcc_dt_ids[] = { +@@ -914,6 +919,45 @@ static const struct of_device_id mchp_i2 MODULE_DEVICE_TABLE(of, mchp_i2s_mcc_dt_ids); #endif @@ -93,7 +91,7 @@ index dca4fd1e2dfd..0818fa864f0e 100644 static int mchp_i2s_mcc_probe(struct platform_device *pdev) { struct mchp_i2s_mcc_dev *dev; -@@ -966,10 +1010,10 @@ static int mchp_i2s_mcc_probe(struct platform_device *pdev) +@@ -966,10 +1010,10 @@ static int mchp_i2s_mcc_probe(struct pla } dev->soc = of_device_get_match_data(&pdev->dev); @@ -108,6 +106,3 @@ index dca4fd1e2dfd..0818fa864f0e 100644 dev->dev = &pdev->dev; dev->regmap = regmap; platform_set_drvdata(pdev, dev); --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/153-ASoC-mchp-i2s-mcc-Add-FIFOs-support.patch b/target/linux/at91/patches-5.10/153-ASoC-mchp-i2s-mcc-Add-FIFOs-support.patch index cf2063b884..24e0e4de4c 100644 --- a/target/linux/at91/patches-5.10/153-ASoC-mchp-i2s-mcc-Add-FIFOs-support.patch +++ b/target/linux/at91/patches-5.10/153-ASoC-mchp-i2s-mcc-Add-FIFOs-support.patch @@ -15,8 +15,6 @@ Signed-off-by: Mark Brown sound/soc/atmel/mchp-i2s-mcc.c | 76 +++++++++++++++++++++++++--------- 1 file changed, 56 insertions(+), 20 deletions(-) -diff --git a/sound/soc/atmel/mchp-i2s-mcc.c b/sound/soc/atmel/mchp-i2s-mcc.c -index 0818fa864f0e..188484e84f94 100644 --- a/sound/soc/atmel/mchp-i2s-mcc.c +++ b/sound/soc/atmel/mchp-i2s-mcc.c @@ -176,7 +176,7 @@ @@ -28,7 +26,7 @@ index 0818fa864f0e..188484e84f94 100644 #define MCHP_I2SMCC_MRB_DMACHUNK_MASK GENMASK(9, 8) #define MCHP_I2SMCC_MRB_DMACHUNK(no_words) \ -@@ -230,6 +230,7 @@ static const struct regmap_config mchp_i2s_mcc_regmap_config = { +@@ -230,6 +230,7 @@ static const struct regmap_config mchp_i struct mchp_i2s_mcc_soc_data { unsigned int data_pin_pair_num; @@ -45,7 +43,7 @@ index 0818fa864f0e..188484e84f94 100644 irqreturn_t ret = IRQ_NONE; regmap_read(dev->regmap, MCHP_I2SMCC_IMRA, &imra); -@@ -275,24 +276,36 @@ static irqreturn_t mchp_i2s_mcc_interrupt(int irq, void *dev_id) +@@ -275,24 +276,36 @@ static irqreturn_t mchp_i2s_mcc_interrup * Tx/Rx ready interrupts are enabled when stopping only, to assure * availability and to disable clocks if necessary */ @@ -92,7 +90,7 @@ index 0818fa864f0e..188484e84f94 100644 return ret; } -@@ -664,6 +677,10 @@ static int mchp_i2s_mcc_hw_params(struct snd_pcm_substream *substream, +@@ -664,6 +677,10 @@ static int mchp_i2s_mcc_hw_params(struct } } @@ -103,7 +101,7 @@ index 0818fa864f0e..188484e84f94 100644 /* * If we are already running, the wanted setup must be * the same with the one that's currently ongoing -@@ -726,8 +743,13 @@ static int mchp_i2s_mcc_hw_free(struct snd_pcm_substream *substream, +@@ -726,8 +743,13 @@ static int mchp_i2s_mcc_hw_free(struct s if (err == 0) { dev_warn_once(dev->dev, "Timeout waiting for Tx ready\n"); @@ -119,7 +117,7 @@ index 0818fa864f0e..188484e84f94 100644 dev->tx_rdy = 1; } } else { -@@ -737,8 +759,12 @@ static int mchp_i2s_mcc_hw_free(struct snd_pcm_substream *substream, +@@ -737,8 +759,12 @@ static int mchp_i2s_mcc_hw_free(struct s if (err == 0) { dev_warn_once(dev->dev, "Timeout waiting for Rx ready\n"); @@ -134,7 +132,7 @@ index 0818fa864f0e..188484e84f94 100644 dev->rx_rdy = 1; } } -@@ -765,7 +791,7 @@ static int mchp_i2s_mcc_trigger(struct snd_pcm_substream *substream, int cmd, +@@ -765,7 +791,7 @@ static int mchp_i2s_mcc_trigger(struct s struct mchp_i2s_mcc_dev *dev = snd_soc_dai_get_drvdata(dai); bool is_playback = (substream->stream == SNDRV_PCM_STREAM_PLAYBACK); u32 cr = 0; @@ -143,7 +141,7 @@ index 0818fa864f0e..188484e84f94 100644 u32 sr; int err; -@@ -789,7 +815,10 @@ static int mchp_i2s_mcc_trigger(struct snd_pcm_substream *substream, int cmd, +@@ -789,7 +815,10 @@ static int mchp_i2s_mcc_trigger(struct s * Enable Tx Ready interrupts on all channels * to assure all data is sent */ @@ -155,7 +153,7 @@ index 0818fa864f0e..188484e84f94 100644 } else if (!is_playback && (sr & MCHP_I2SMCC_SR_RXEN)) { cr = MCHP_I2SMCC_CR_RXDIS; dev->rx_rdy = 0; -@@ -797,7 +826,10 @@ static int mchp_i2s_mcc_trigger(struct snd_pcm_substream *substream, int cmd, +@@ -797,7 +826,10 @@ static int mchp_i2s_mcc_trigger(struct s * Enable Rx Ready interrupts on all channels * to assure all data is received */ @@ -167,7 +165,7 @@ index 0818fa864f0e..188484e84f94 100644 } break; default: -@@ -815,7 +847,10 @@ static int mchp_i2s_mcc_trigger(struct snd_pcm_substream *substream, int cmd, +@@ -815,7 +847,10 @@ static int mchp_i2s_mcc_trigger(struct s } } @@ -179,7 +177,7 @@ index 0818fa864f0e..188484e84f94 100644 regmap_write(dev->regmap, MCHP_I2SMCC_CR, cr); return 0; -@@ -903,6 +938,7 @@ static struct mchp_i2s_mcc_soc_data mchp_i2s_mcc_sam9x60 = { +@@ -903,6 +938,7 @@ static struct mchp_i2s_mcc_soc_data mchp static struct mchp_i2s_mcc_soc_data mchp_i2s_mcc_sama7g5 = { .data_pin_pair_num = 4, @@ -187,6 +185,3 @@ index 0818fa864f0e..188484e84f94 100644 }; static const struct of_device_id mchp_i2s_mcc_dt_ids[] = { --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/154-pinctrl-at91-pio4-Fix-slew-rate-disablement.patch b/target/linux/at91/patches-5.10/154-pinctrl-at91-pio4-Fix-slew-rate-disablement.patch index 6235f91b9c..c61e6b1c90 100644 --- a/target/linux/at91/patches-5.10/154-pinctrl-at91-pio4-Fix-slew-rate-disablement.patch +++ b/target/linux/at91/patches-5.10/154-pinctrl-at91-pio4-Fix-slew-rate-disablement.patch @@ -23,11 +23,9 @@ Signed-off-by: Linus Walleij drivers/pinctrl/pinctrl-at91-pio4.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) -diff --git a/drivers/pinctrl/pinctrl-at91-pio4.c b/drivers/pinctrl/pinctrl-at91-pio4.c -index a5d328808e4c..4c01d8471ffa 100644 --- a/drivers/pinctrl/pinctrl-at91-pio4.c +++ b/drivers/pinctrl/pinctrl-at91-pio4.c -@@ -801,6 +801,10 @@ static int atmel_conf_pin_config_group_set(struct pinctrl_dev *pctldev, +@@ -801,6 +801,10 @@ static int atmel_conf_pin_config_group_s conf = atmel_pin_config_read(pctldev, pin_id); @@ -38,7 +36,7 @@ index a5d328808e4c..4c01d8471ffa 100644 for (i = 0; i < num_configs; i++) { unsigned int param = pinconf_to_config_param(configs[i]); unsigned int arg = pinconf_to_config_argument(configs[i]); -@@ -808,10 +812,6 @@ static int atmel_conf_pin_config_group_set(struct pinctrl_dev *pctldev, +@@ -808,10 +812,6 @@ static int atmel_conf_pin_config_group_s dev_dbg(pctldev->dev, "%s: pin=%u, config=0x%lx\n", __func__, pin_id, configs[i]); @@ -49,6 +47,3 @@ index a5d328808e4c..4c01d8471ffa 100644 switch (param) { case PIN_CONFIG_BIAS_DISABLE: conf &= (~ATMEL_PIO_PUEN_MASK); --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/155-media-atmel-properly-get-pm_runtime.patch b/target/linux/at91/patches-5.10/155-media-atmel-properly-get-pm_runtime.patch index f8e7a24ce6..58f90db46d 100644 --- a/target/linux/at91/patches-5.10/155-media-atmel-properly-get-pm_runtime.patch +++ b/target/linux/at91/patches-5.10/155-media-atmel-properly-get-pm_runtime.patch @@ -25,11 +25,9 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-isi.c | 19 +++++++++--- 2 files changed, 38 insertions(+), 11 deletions(-) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index fe3ec8d0eaee..ce8e1351fa53 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -294,9 +294,13 @@ static int isc_wait_clk_stable(struct clk_hw *hw) +@@ -294,9 +294,13 @@ static int isc_wait_clk_stable(struct cl static int isc_clk_prepare(struct clk_hw *hw) { struct isc_clk *isc_clk = to_isc_clk(hw); @@ -45,7 +43,7 @@ index fe3ec8d0eaee..ce8e1351fa53 100644 return isc_wait_clk_stable(hw); } -@@ -353,9 +357,13 @@ static int isc_clk_is_enabled(struct clk_hw *hw) +@@ -353,9 +357,13 @@ static int isc_clk_is_enabled(struct clk { struct isc_clk *isc_clk = to_isc_clk(hw); u32 status; @@ -61,7 +59,7 @@ index fe3ec8d0eaee..ce8e1351fa53 100644 regmap_read(isc_clk->regmap, ISC_CLKSR, &status); -@@ -807,7 +815,12 @@ static int isc_start_streaming(struct vb2_queue *vq, unsigned int count) +@@ -807,7 +815,12 @@ static int isc_start_streaming(struct vb goto err_start_stream; } @@ -75,7 +73,7 @@ index fe3ec8d0eaee..ce8e1351fa53 100644 ret = isc_configure(isc); if (unlikely(ret)) -@@ -838,7 +851,7 @@ static int isc_start_streaming(struct vb2_queue *vq, unsigned int count) +@@ -838,7 +851,7 @@ static int isc_start_streaming(struct vb err_configure: pm_runtime_put_sync(isc->dev); @@ -84,7 +82,7 @@ index fe3ec8d0eaee..ce8e1351fa53 100644 v4l2_subdev_call(isc->current_subdev->sd, video, s_stream, 0); err_start_stream: -@@ -1809,6 +1822,7 @@ static void isc_awb_work(struct work_struct *w) +@@ -1809,6 +1822,7 @@ static void isc_awb_work(struct work_str u32 baysel; unsigned long flags; u32 min, max; @@ -92,7 +90,7 @@ index fe3ec8d0eaee..ce8e1351fa53 100644 /* streaming is not active anymore */ if (isc->stop) -@@ -1831,7 +1845,9 @@ static void isc_awb_work(struct work_struct *w) +@@ -1831,7 +1845,9 @@ static void isc_awb_work(struct work_str ctrls->hist_id = hist_id; baysel = isc->config.sd_format->cfa_baycfg << ISC_HIS_CFG_BAYSEL_SHIFT; @@ -103,11 +101,9 @@ index fe3ec8d0eaee..ce8e1351fa53 100644 /* * only update if we have all the required histograms and controls -diff --git a/drivers/media/platform/atmel/atmel-isi.c b/drivers/media/platform/atmel/atmel-isi.c -index d74aa73f26be..4ac5b7c19d0c 100644 --- a/drivers/media/platform/atmel/atmel-isi.c +++ b/drivers/media/platform/atmel/atmel-isi.c -@@ -423,7 +423,9 @@ static int start_streaming(struct vb2_queue *vq, unsigned int count) +@@ -423,7 +423,9 @@ static int start_streaming(struct vb2_qu struct frame_buffer *buf, *node; int ret; @@ -118,7 +114,7 @@ index d74aa73f26be..4ac5b7c19d0c 100644 /* Enable stream on the sub device */ ret = v4l2_subdev_call(isi->entity.subdev, video, s_stream, 1); -@@ -783,9 +785,10 @@ static int isi_enum_frameintervals(struct file *file, void *fh, +@@ -783,9 +785,10 @@ static int isi_enum_frameintervals(struc return 0; } @@ -130,7 +126,7 @@ index d74aa73f26be..4ac5b7c19d0c 100644 /* set bus param for ISI */ if (isi->pdata.hsync_act_low) -@@ -802,12 +805,16 @@ static void isi_camera_set_bus_param(struct atmel_isi *isi) +@@ -802,12 +805,16 @@ static void isi_camera_set_bus_param(str cfg1 |= ISI_CFG1_THMASK_BEATS_16; /* Enable PM and peripheral clock before operate isi registers */ @@ -148,7 +144,7 @@ index d74aa73f26be..4ac5b7c19d0c 100644 } /* -----------------------------------------------------------------------*/ -@@ -1086,7 +1093,11 @@ static int isi_graph_notify_complete(struct v4l2_async_notifier *notifier) +@@ -1086,7 +1093,11 @@ static int isi_graph_notify_complete(str dev_err(isi->dev, "No supported mediabus format found\n"); return ret; } @@ -161,6 +157,3 @@ index d74aa73f26be..4ac5b7c19d0c 100644 ret = isi_set_default_fmt(isi); if (ret) { --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/156-media-atmel-atmel-isc-Remove-redundant-assignment-to.patch b/target/linux/at91/patches-5.10/156-media-atmel-atmel-isc-Remove-redundant-assignment-to.patch index 4efc841078..f8bdcbef23 100644 --- a/target/linux/at91/patches-5.10/156-media-atmel-atmel-isc-Remove-redundant-assignment-to.patch +++ b/target/linux/at91/patches-5.10/156-media-atmel-atmel-isc-Remove-redundant-assignment-to.patch @@ -20,11 +20,9 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-isc-base.c | 1 - 1 file changed, 1 deletion(-) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index ce8e1351fa53..a017572c870c 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -972,7 +972,6 @@ static int isc_enum_fmt_vid_cap(struct file *file, void *priv, +@@ -972,7 +972,6 @@ static int isc_enum_fmt_vid_cap(struct f index -= ARRAY_SIZE(controller_formats); @@ -32,6 +30,3 @@ index ce8e1351fa53..a017572c870c 100644 supported_index = 0; for (i = 0; i < ARRAY_SIZE(formats_list); i++) { --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/157-media-atmel-atmel-isc-specialize-gamma-table-into-pr.patch b/target/linux/at91/patches-5.10/157-media-atmel-atmel-isc-specialize-gamma-table-into-pr.patch index 838d6b2cf8..6f2d5879c7 100644 --- a/target/linux/at91/patches-5.10/157-media-atmel-atmel-isc-specialize-gamma-table-into-pr.patch +++ b/target/linux/at91/patches-5.10/157-media-atmel-atmel-isc-specialize-gamma-table-into-pr.patch @@ -20,8 +20,6 @@ Signed-off-by: Mauro Carvalho Chehab .../media/platform/atmel/atmel-sama5d2-isc.c | 45 ++++++++++++++++++ 3 files changed, 56 insertions(+), 47 deletions(-) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index a017572c870c..46d384332a58 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c @@ -176,48 +176,6 @@ struct isc_format formats_list[] = { @@ -73,7 +71,7 @@ index a017572c870c..46d384332a58 100644 #define ISC_IS_FORMAT_RAW(mbus_code) \ (((mbus_code) & 0xf000) == 0x3000) -@@ -691,7 +649,7 @@ static void isc_set_pipeline(struct isc_device *isc, u32 pipeline) +@@ -691,7 +649,7 @@ static void isc_set_pipeline(struct isc_ regmap_write(regmap, ISC_CFA_CFG, bay_cfg | ISC_CFA_CFG_EITPOL); @@ -82,7 +80,7 @@ index a017572c870c..46d384332a58 100644 regmap_bulk_write(regmap, ISC_GAM_BENTRY, gamma, GAMMA_ENTRIES); regmap_bulk_write(regmap, ISC_GAM_GENTRY, gamma, GAMMA_ENTRIES); regmap_bulk_write(regmap, ISC_GAM_RENTRY, gamma, GAMMA_ENTRIES); -@@ -2085,7 +2043,8 @@ static int isc_ctrl_init(struct isc_device *isc) +@@ -2085,7 +2043,8 @@ static int isc_ctrl_init(struct isc_devi v4l2_ctrl_new_std(hdl, ops, V4L2_CID_BRIGHTNESS, -1024, 1023, 1, 0); v4l2_ctrl_new_std(hdl, ops, V4L2_CID_CONTRAST, -2048, 2047, 1, 256); @@ -92,8 +90,6 @@ index a017572c870c..46d384332a58 100644 isc->awb_ctrl = v4l2_ctrl_new_std(hdl, &isc_awb_ops, V4L2_CID_AUTO_WHITE_BALANCE, 0, 1, 1, 1); -diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h -index 24b784b893d6..a85b99274e34 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h @@ -186,6 +186,10 @@ struct isc_ctrls { @@ -128,8 +124,6 @@ index 24b784b893d6..a85b99274e34 100644 extern const struct regmap_config isc_regmap_config; extern const struct v4l2_async_notifier_operations isc_async_ops; -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index a3304f49e499..1b537cd1e09e 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c @@ -54,6 +54,48 @@ @@ -181,7 +175,7 @@ index a3304f49e499..1b537cd1e09e 100644 static int isc_parse_dt(struct device *dev, struct isc_device *isc) { struct device_node *np = dev->of_node; -@@ -171,6 +213,9 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -171,6 +213,9 @@ static int atmel_isc_probe(struct platfo return ret; } @@ -191,6 +185,3 @@ index a3304f49e499..1b537cd1e09e 100644 ret = isc_pipeline_init(isc); if (ret) return ret; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/158-media-atmel-atmel-isc-specialize-driver-name-constan.patch b/target/linux/at91/patches-5.10/158-media-atmel-atmel-isc-specialize-driver-name-constan.patch index b27552caa5..5fd7be8098 100644 --- a/target/linux/at91/patches-5.10/158-media-atmel-atmel-isc-specialize-driver-name-constan.patch +++ b/target/linux/at91/patches-5.10/158-media-atmel-atmel-isc-specialize-driver-name-constan.patch @@ -17,11 +17,9 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-sama5d2-isc.c | 4 ++-- 3 files changed, 4 insertions(+), 6 deletions(-) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index 46d384332a58..d987a8891bd9 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -909,7 +909,7 @@ static int isc_querycap(struct file *file, void *priv, +@@ -909,7 +909,7 @@ static int isc_querycap(struct file *fil { struct isc_device *isc = video_drvdata(file); @@ -30,7 +28,7 @@ index 46d384332a58..d987a8891bd9 100644 strscpy(cap->card, "Atmel Image Sensor Controller", sizeof(cap->card)); snprintf(cap->bus_info, sizeof(cap->bus_info), "platform:%s", isc->v4l2_dev.name); -@@ -2261,7 +2261,7 @@ static int isc_async_complete(struct v4l2_async_notifier *notifier) +@@ -2261,7 +2261,7 @@ static int isc_async_complete(struct v4l } /* Register video device */ @@ -39,8 +37,6 @@ index 46d384332a58..d987a8891bd9 100644 vdev->release = video_device_release_empty; vdev->fops = &isc_fops; vdev->ioctl_ops = &isc_ioctl_ops; -diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h -index a85b99274e34..bb43d3a93052 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h @@ -255,8 +255,6 @@ struct isc_device { @@ -52,11 +48,9 @@ index a85b99274e34..bb43d3a93052 100644 extern struct isc_format formats_list[]; extern const struct isc_format controller_formats[]; extern const struct regmap_config isc_regmap_config; -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index 1b537cd1e09e..cba6e6c8810b 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -@@ -206,7 +206,7 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -206,7 +206,7 @@ static int atmel_isc_probe(struct platfo return irq; ret = devm_request_irq(dev, irq, isc_interrupt, 0, @@ -65,7 +59,7 @@ index 1b537cd1e09e..cba6e6c8810b 100644 if (ret < 0) { dev_err(dev, "can't register ISR for IRQ %u (ret=%i)\n", irq, ret); -@@ -378,7 +378,7 @@ static struct platform_driver atmel_isc_driver = { +@@ -378,7 +378,7 @@ static struct platform_driver atmel_isc_ .probe = atmel_isc_probe, .remove = atmel_isc_remove, .driver = { @@ -74,6 +68,3 @@ index 1b537cd1e09e..cba6e6c8810b 100644 .pm = &atmel_isc_dev_pm_ops, .of_match_table = of_match_ptr(atmel_isc_of_match), }, --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/159-media-atmel-atmel-isc-add-checks-for-limiting-frame-.patch b/target/linux/at91/patches-5.10/159-media-atmel-atmel-isc-add-checks-for-limiting-frame-.patch index 24b6598d3c..c6ca456a56 100644 --- a/target/linux/at91/patches-5.10/159-media-atmel-atmel-isc-add-checks-for-limiting-frame-.patch +++ b/target/linux/at91/patches-5.10/159-media-atmel-atmel-isc-add-checks-for-limiting-frame-.patch @@ -15,11 +15,9 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-isc-base.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index d987a8891bd9..02f1d1c6b06e 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -1338,6 +1338,12 @@ static int isc_try_fmt(struct isc_device *isc, struct v4l2_format *f, +@@ -1338,6 +1338,12 @@ static int isc_try_fmt(struct isc_device v4l2_fill_pix_format(pixfmt, &format.format); @@ -32,7 +30,7 @@ index d987a8891bd9..02f1d1c6b06e 100644 pixfmt->field = V4L2_FIELD_NONE; pixfmt->bytesperline = (pixfmt->width * isc->try_config.bpp) >> 3; pixfmt->sizeimage = pixfmt->bytesperline * pixfmt->height; -@@ -1373,6 +1379,12 @@ static int isc_set_fmt(struct isc_device *isc, struct v4l2_format *f) +@@ -1373,6 +1379,12 @@ static int isc_set_fmt(struct isc_device if (ret < 0) return ret; @@ -45,6 +43,3 @@ index d987a8891bd9..02f1d1c6b06e 100644 isc->fmt = *f; if (isc->try_config.sd_format && isc->config.sd_format && --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/160-media-atmel-atmel-isc-specialize-max-width-and-max-h.patch b/target/linux/at91/patches-5.10/160-media-atmel-atmel-isc-specialize-max-width-and-max-h.patch index 1508f8485f..afa89ed916 100644 --- a/target/linux/at91/patches-5.10/160-media-atmel-atmel-isc-specialize-max-width-and-max-h.patch +++ b/target/linux/at91/patches-5.10/160-media-atmel-atmel-isc-specialize-max-width-and-max-h.patch @@ -16,11 +16,9 @@ Signed-off-by: Mauro Carvalho Chehab .../media/platform/atmel/atmel-sama5d2-isc.c | 7 +++-- 3 files changed, 25 insertions(+), 19 deletions(-) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index 02f1d1c6b06e..ed0048e79f3b 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -1216,8 +1216,8 @@ static void isc_try_fse(struct isc_device *isc, +@@ -1216,8 +1216,8 @@ static void isc_try_fse(struct isc_devic * just use the maximum ISC can receive. */ if (ret) { @@ -31,7 +29,7 @@ index 02f1d1c6b06e..ed0048e79f3b 100644 } else { pad_cfg->try_crop.width = fse.max_width; pad_cfg->try_crop.height = fse.max_height; -@@ -1294,10 +1294,10 @@ static int isc_try_fmt(struct isc_device *isc, struct v4l2_format *f, +@@ -1294,10 +1294,10 @@ static int isc_try_fmt(struct isc_device isc->try_config.sd_format = sd_fmt; /* Limit to Atmel ISC hardware capabilities */ @@ -46,7 +44,7 @@ index 02f1d1c6b06e..ed0048e79f3b 100644 /* * The mbus format is the one the subdev outputs. -@@ -1339,10 +1339,10 @@ static int isc_try_fmt(struct isc_device *isc, struct v4l2_format *f, +@@ -1339,10 +1339,10 @@ static int isc_try_fmt(struct isc_device v4l2_fill_pix_format(pixfmt, &format.format); /* Limit to Atmel ISC hardware capabilities */ @@ -61,7 +59,7 @@ index 02f1d1c6b06e..ed0048e79f3b 100644 pixfmt->field = V4L2_FIELD_NONE; pixfmt->bytesperline = (pixfmt->width * isc->try_config.bpp) >> 3; -@@ -1380,10 +1380,10 @@ static int isc_set_fmt(struct isc_device *isc, struct v4l2_format *f) +@@ -1380,10 +1380,10 @@ static int isc_set_fmt(struct isc_device return ret; /* Limit to Atmel ISC hardware capabilities */ @@ -76,8 +74,6 @@ index 02f1d1c6b06e..ed0048e79f3b 100644 isc->fmt = *f; -diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h -index bb43d3a93052..f208fb691ac9 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h @@ -10,9 +10,6 @@ @@ -110,8 +106,6 @@ index bb43d3a93052..f208fb691ac9 100644 }; extern struct isc_format formats_list[]; -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index cba6e6c8810b..39fc8d4f9bdc 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c @@ -49,8 +49,8 @@ @@ -125,7 +119,7 @@ index cba6e6c8810b..39fc8d4f9bdc 100644 #define ISC_CLK_MAX_DIV 255 -@@ -216,6 +216,9 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -216,6 +216,9 @@ static int atmel_isc_probe(struct platfo isc->gamma_table = isc_sama5d2_gamma_table; isc->gamma_max = 2; @@ -135,6 +129,3 @@ index cba6e6c8810b..39fc8d4f9bdc 100644 ret = isc_pipeline_init(isc); if (ret) return ret; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/161-media-atmel-atmel-isc-specialize-dma-cfg.patch b/target/linux/at91/patches-5.10/161-media-atmel-atmel-isc-specialize-dma-cfg.patch index 4b7a974e4f..410831771e 100644 --- a/target/linux/at91/patches-5.10/161-media-atmel-atmel-isc-specialize-dma-cfg.patch +++ b/target/linux/at91/patches-5.10/161-media-atmel-atmel-isc-specialize-dma-cfg.patch @@ -16,11 +16,9 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-sama5d2-isc.c | 3 +++ 3 files changed, 6 insertions(+), 2 deletions(-) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index ed0048e79f3b..07ba439eb7e9 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -724,8 +724,7 @@ static int isc_configure(struct isc_device *isc) +@@ -724,8 +724,7 @@ static int isc_configure(struct isc_devi rlp_mode = isc->config.rlp_cfg_mode; pipeline = isc->config.bits_pipeline; @@ -30,8 +28,6 @@ index ed0048e79f3b..07ba439eb7e9 100644 pfe_cfg0 |= subdev->pfe_cfg0 | ISC_PFE_CFG0_MODE_PROGRESSIVE; mask = ISC_PFE_CFG0_BPS_MASK | ISC_PFE_CFG0_HPOL_LOW | -diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h -index f208fb691ac9..88ec4268de11 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h @@ -149,6 +149,7 @@ struct isc_ctrls { @@ -50,11 +46,9 @@ index f208fb691ac9..88ec4268de11 100644 struct device *dev; struct v4l2_device v4l2_dev; -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index 39fc8d4f9bdc..12edeb07b618 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -@@ -219,6 +219,9 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -219,6 +219,9 @@ static int atmel_isc_probe(struct platfo isc->max_width = ISC_SAMA5D2_MAX_SUPPORT_WIDTH; isc->max_height = ISC_SAMA5D2_MAX_SUPPORT_HEIGHT; @@ -64,6 +58,3 @@ index 39fc8d4f9bdc..12edeb07b618 100644 ret = isc_pipeline_init(isc); if (ret) return ret; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/162-media-atmel-atmel-isc-extract-CSC-submodule-config-i.patch b/target/linux/at91/patches-5.10/162-media-atmel-atmel-isc-extract-CSC-submodule-config-i.patch index da382d3587..7b8e8ed697 100644 --- a/target/linux/at91/patches-5.10/162-media-atmel-atmel-isc-extract-CSC-submodule-config-i.patch +++ b/target/linux/at91/patches-5.10/162-media-atmel-atmel-isc-extract-CSC-submodule-config-i.patch @@ -21,11 +21,9 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-sama5d2-isc.c | 15 +++++++++++++++ 3 files changed, 23 insertions(+), 7 deletions(-) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index 07ba439eb7e9..6c709f6a408c 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -654,13 +654,7 @@ static void isc_set_pipeline(struct isc_device *isc, u32 pipeline) +@@ -654,13 +654,7 @@ static void isc_set_pipeline(struct isc_ regmap_bulk_write(regmap, ISC_GAM_GENTRY, gamma, GAMMA_ENTRIES); regmap_bulk_write(regmap, ISC_GAM_RENTRY, gamma, GAMMA_ENTRIES); @@ -40,8 +38,6 @@ index 07ba439eb7e9..6c709f6a408c 100644 regmap_write(regmap, ISC_CBC_BRIGHT, ctrls->brightness); regmap_write(regmap, ISC_CBC_CONTRAST, ctrls->contrast); -diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h -index 88ec4268de11..ebdb9ed791a7 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h @@ -191,6 +191,9 @@ struct isc_ctrls { @@ -65,8 +61,6 @@ index 88ec4268de11..ebdb9ed791a7 100644 }; extern struct isc_format formats_list[]; -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index 12edeb07b618..19d0f750636c 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c @@ -54,6 +54,19 @@ @@ -89,7 +83,7 @@ index 12edeb07b618..19d0f750636c 100644 /* Gamma table with gamma 1/2.2 */ static const u32 isc_sama5d2_gamma_table[][GAMMA_ENTRIES] = { /* 0 --> gamma 1/1.8 */ -@@ -219,6 +232,8 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -219,6 +232,8 @@ static int atmel_isc_probe(struct platfo isc->max_width = ISC_SAMA5D2_MAX_SUPPORT_WIDTH; isc->max_height = ISC_SAMA5D2_MAX_SUPPORT_HEIGHT; @@ -98,6 +92,3 @@ index 12edeb07b618..19d0f750636c 100644 /* sama5d2-isc - 8 bits per beat */ isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/163-media-atmel-atmel-isc-base-add-id-to-clock-debug-mes.patch b/target/linux/at91/patches-5.10/163-media-atmel-atmel-isc-base-add-id-to-clock-debug-mes.patch index f4139debc1..832465363b 100644 --- a/target/linux/at91/patches-5.10/163-media-atmel-atmel-isc-base-add-id-to-clock-debug-mes.patch +++ b/target/linux/at91/patches-5.10/163-media-atmel-atmel-isc-base-add-id-to-clock-debug-mes.patch @@ -13,11 +13,9 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-isc-base.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index 6c709f6a408c..f9190fccb482 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -281,8 +281,8 @@ static int isc_clk_enable(struct clk_hw *hw) +@@ -281,8 +281,8 @@ static int isc_clk_enable(struct clk_hw unsigned long flags; unsigned int status; @@ -28,6 +26,3 @@ index 6c709f6a408c..f9190fccb482 100644 spin_lock_irqsave(&isc_clk->lock, flags); regmap_update_bits(regmap, ISC_CLKCFG, --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/164-media-atmel-atmel-isc-create-register-offsets-struct.patch b/target/linux/at91/patches-5.10/164-media-atmel-atmel-isc-create-register-offsets-struct.patch index 7834983d14..bb599618d1 100644 --- a/target/linux/at91/patches-5.10/164-media-atmel-atmel-isc-create-register-offsets-struct.patch +++ b/target/linux/at91/patches-5.10/164-media-atmel-atmel-isc-create-register-offsets-struct.patch @@ -19,11 +19,9 @@ Signed-off-by: Mauro Carvalho Chehab .../media/platform/atmel/atmel-sama5d2-isc.c | 20 +++++++++++++------ 4 files changed, 30 insertions(+), 7 deletions(-) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index f9190fccb482..18136e58a754 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -2326,7 +2326,7 @@ int isc_pipeline_init(struct isc_device *isc) +@@ -2326,7 +2326,7 @@ int isc_pipeline_init(struct isc_device REG_FIELD(ISC_GAM_CTRL, 1, 1), REG_FIELD(ISC_GAM_CTRL, 2, 2), REG_FIELD(ISC_GAM_CTRL, 3, 3), @@ -32,8 +30,6 @@ index f9190fccb482..18136e58a754 100644 REG_FIELD(ISC_CBC_CTRL, 0, 0), REG_FIELD(ISC_SUB422_CTRL, 0, 0), REG_FIELD(ISC_SUB420_CTRL, 0, 0), -diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h -index f1e160ed4351..5a65600c5f88 100644 --- a/drivers/media/platform/atmel/atmel-isc-regs.h +++ b/drivers/media/platform/atmel/atmel-isc-regs.h @@ -153,6 +153,9 @@ @@ -46,15 +42,12 @@ index f1e160ed4351..5a65600c5f88 100644 /* Color Space Conversion Control Register */ #define ISC_CSC_CTRL 0x00000398 -diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h -index ebdb9ed791a7..db6b4d469dff 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h -@@ -143,6 +143,14 @@ struct isc_ctrls { - +@@ -144,6 +144,14 @@ struct isc_ctrls { #define ISC_PIPE_LINE_NODE_NUM 11 -+/* + /* + * struct isc_reg_offsets - ISC device register offsets + * @csc: Offset for the CSC register + */ @@ -62,9 +55,10 @@ index ebdb9ed791a7..db6b4d469dff 100644 + u32 csc; +}; + - /* ++/* * struct isc_device - ISC device driver data/config struct * @regmap: Register map + * @hclock: Hclock clock input (refer datasheet) @@ -194,6 +202,8 @@ struct isc_ctrls { * * @config_csc: pointer to a function that initializes product @@ -83,11 +77,9 @@ index ebdb9ed791a7..db6b4d469dff 100644 }; extern struct isc_format formats_list[]; -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index 19d0f750636c..2ad6227aa2f5 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -@@ -59,12 +59,18 @@ static void isc_sama5d2_config_csc(struct isc_device *isc) +@@ -59,12 +59,18 @@ static void isc_sama5d2_config_csc(struc struct regmap *regmap = isc->regmap; /* Convert RGB to YUV */ @@ -112,7 +104,7 @@ index 19d0f750636c..2ad6227aa2f5 100644 } /* Gamma table with gamma 1/2.2 */ -@@ -234,6 +240,8 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -234,6 +240,8 @@ static int atmel_isc_probe(struct platfo isc->config_csc = isc_sama5d2_config_csc; @@ -121,6 +113,3 @@ index 19d0f750636c..2ad6227aa2f5 100644 /* sama5d2-isc - 8 bits per beat */ isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/165-media-atmel-atmel-isc-extract-CBC-submodule-config-i.patch b/target/linux/at91/patches-5.10/165-media-atmel-atmel-isc-extract-CBC-submodule-config-i.patch index f9d026394e..fd7ed1e94d 100644 --- a/target/linux/at91/patches-5.10/165-media-atmel-atmel-isc-extract-CBC-submodule-config-i.patch +++ b/target/linux/at91/patches-5.10/165-media-atmel-atmel-isc-extract-CBC-submodule-config-i.patch @@ -21,11 +21,9 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-sama5d2-isc.c | 9 +++++++++ 3 files changed, 13 insertions(+), 3 deletions(-) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index 18136e58a754..865410e10e70 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -655,9 +655,7 @@ static void isc_set_pipeline(struct isc_device *isc, u32 pipeline) +@@ -655,9 +655,7 @@ static void isc_set_pipeline(struct isc_ regmap_bulk_write(regmap, ISC_GAM_RENTRY, gamma, GAMMA_ENTRIES); isc->config_csc(isc); @@ -36,8 +34,6 @@ index 18136e58a754..865410e10e70 100644 } static int isc_update_profile(struct isc_device *isc) -diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h -index db6b4d469dff..65c3059afb8e 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h @@ -202,6 +202,8 @@ struct isc_reg_offsets { @@ -57,11 +53,9 @@ index db6b4d469dff..65c3059afb8e 100644 }; struct isc_reg_offsets offsets; -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index 2ad6227aa2f5..770d62b483d0 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -@@ -73,6 +73,14 @@ static void isc_sama5d2_config_csc(struct isc_device *isc) +@@ -73,6 +73,14 @@ static void isc_sama5d2_config_csc(struc 0xFEE | (0x80 << 16)); } @@ -76,7 +70,7 @@ index 2ad6227aa2f5..770d62b483d0 100644 /* Gamma table with gamma 1/2.2 */ static const u32 isc_sama5d2_gamma_table[][GAMMA_ENTRIES] = { /* 0 --> gamma 1/1.8 */ -@@ -239,6 +247,7 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -239,6 +247,7 @@ static int atmel_isc_probe(struct platfo isc->max_height = ISC_SAMA5D2_MAX_SUPPORT_HEIGHT; isc->config_csc = isc_sama5d2_config_csc; @@ -84,6 +78,3 @@ index 2ad6227aa2f5..770d62b483d0 100644 isc->offsets.csc = ISC_SAMA5D2_CSC_OFFSET; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/166-media-atmel-atmel-isc-add-CBC-to-the-reg-offsets-str.patch b/target/linux/at91/patches-5.10/166-media-atmel-atmel-isc-add-CBC-to-the-reg-offsets-str.patch index 46482f0397..51659f54a4 100644 --- a/target/linux/at91/patches-5.10/166-media-atmel-atmel-isc-add-CBC-to-the-reg-offsets-str.patch +++ b/target/linux/at91/patches-5.10/166-media-atmel-atmel-isc-add-CBC-to-the-reg-offsets-str.patch @@ -20,11 +20,9 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-sama5d2-isc.c | 7 +++++-- 4 files changed, 11 insertions(+), 3 deletions(-) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index 865410e10e70..b7728914fda8 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -2325,7 +2325,7 @@ int isc_pipeline_init(struct isc_device *isc) +@@ -2325,7 +2325,7 @@ int isc_pipeline_init(struct isc_device REG_FIELD(ISC_GAM_CTRL, 2, 2), REG_FIELD(ISC_GAM_CTRL, 3, 3), REG_FIELD(ISC_CSC_CTRL + isc->offsets.csc, 0, 0), @@ -33,8 +31,6 @@ index 865410e10e70..b7728914fda8 100644 REG_FIELD(ISC_SUB422_CTRL, 0, 0), REG_FIELD(ISC_SUB420_CTRL, 0, 0), }; -diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h -index 5a65600c5f88..a5e2fe01ba9f 100644 --- a/drivers/media/platform/atmel/atmel-isc-regs.h +++ b/drivers/media/platform/atmel/atmel-isc-regs.h @@ -177,6 +177,9 @@ @@ -47,8 +43,6 @@ index 5a65600c5f88..a5e2fe01ba9f 100644 /* Contrast And Brightness Control Register */ #define ISC_CBC_CTRL 0x000003b4 -diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h -index 65c3059afb8e..d8b4b1959b94 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h @@ -146,9 +146,11 @@ struct isc_ctrls { @@ -63,11 +57,9 @@ index 65c3059afb8e..d8b4b1959b94 100644 }; /* -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index 770d62b483d0..bb9362093efe 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -@@ -77,8 +77,10 @@ static void isc_sama5d2_config_cbc(struct isc_device *isc) +@@ -77,8 +77,10 @@ static void isc_sama5d2_config_cbc(struc { struct regmap *regmap = isc->regmap; @@ -80,7 +72,7 @@ index 770d62b483d0..bb9362093efe 100644 } /* Gamma table with gamma 1/2.2 */ -@@ -250,6 +252,7 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -250,6 +252,7 @@ static int atmel_isc_probe(struct platfo isc->config_cbc = isc_sama5d2_config_cbc; isc->offsets.csc = ISC_SAMA5D2_CSC_OFFSET; @@ -88,6 +80,3 @@ index 770d62b483d0..bb9362093efe 100644 /* sama5d2-isc - 8 bits per beat */ isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/167-media-atmel-atmel-isc-add-SUB422-and-SUB420-to-regis.patch b/target/linux/at91/patches-5.10/167-media-atmel-atmel-isc-add-SUB422-and-SUB420-to-regis.patch index d4d6f2ea45..6d937fdeb7 100644 --- a/target/linux/at91/patches-5.10/167-media-atmel-atmel-isc-add-SUB422-and-SUB420-to-regis.patch +++ b/target/linux/at91/patches-5.10/167-media-atmel-atmel-isc-add-SUB422-and-SUB420-to-regis.patch @@ -21,11 +21,9 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-sama5d2-isc.c | 2 ++ 4 files changed, 12 insertions(+), 2 deletions(-) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index b7728914fda8..b398cdfdc2c9 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -2326,8 +2326,8 @@ int isc_pipeline_init(struct isc_device *isc) +@@ -2326,8 +2326,8 @@ int isc_pipeline_init(struct isc_device REG_FIELD(ISC_GAM_CTRL, 3, 3), REG_FIELD(ISC_CSC_CTRL + isc->offsets.csc, 0, 0), REG_FIELD(ISC_CBC_CTRL + isc->offsets.cbc, 0, 0), @@ -36,8 +34,6 @@ index b7728914fda8..b398cdfdc2c9 100644 }; for (i = 0; i < ISC_PIPE_LINE_NODE_NUM; i++) { -diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h -index a5e2fe01ba9f..04839def6ef6 100644 --- a/drivers/media/platform/atmel/atmel-isc-regs.h +++ b/drivers/media/platform/atmel/atmel-isc-regs.h @@ -194,9 +194,13 @@ @@ -54,8 +50,6 @@ index a5e2fe01ba9f..04839def6ef6 100644 /* Subsampling 4:2:2 to 4:2:0 Control Register */ #define ISC_SUB420_CTRL 0x000003cc -diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h -index d8b4b1959b94..9eb85540d89d 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h @@ -147,10 +147,14 @@ struct isc_ctrls { @@ -73,11 +67,9 @@ index d8b4b1959b94..9eb85540d89d 100644 }; /* -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index bb9362093efe..57ea1ae50c44 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -@@ -253,6 +253,8 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -253,6 +253,8 @@ static int atmel_isc_probe(struct platfo isc->offsets.csc = ISC_SAMA5D2_CSC_OFFSET; isc->offsets.cbc = ISC_SAMA5D2_CBC_OFFSET; @@ -86,6 +78,3 @@ index bb9362093efe..57ea1ae50c44 100644 /* sama5d2-isc - 8 bits per beat */ isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/168-media-atmel-atmel-isc-add-RLP-to-register-offsets.patch b/target/linux/at91/patches-5.10/168-media-atmel-atmel-isc-add-RLP-to-register-offsets.patch index a27ef80567..050e2816c0 100644 --- a/target/linux/at91/patches-5.10/168-media-atmel-atmel-isc-add-RLP-to-register-offsets.patch +++ b/target/linux/at91/patches-5.10/168-media-atmel-atmel-isc-add-RLP-to-register-offsets.patch @@ -21,11 +21,9 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-sama5d2-isc.c | 1 + 4 files changed, 7 insertions(+), 2 deletions(-) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index b398cdfdc2c9..25c90b821067 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -726,8 +726,8 @@ static int isc_configure(struct isc_device *isc) +@@ -726,8 +726,8 @@ static int isc_configure(struct isc_devi regmap_update_bits(regmap, ISC_PFE_CFG0, mask, pfe_cfg0); @@ -36,8 +34,6 @@ index b398cdfdc2c9..25c90b821067 100644 regmap_write(regmap, ISC_DCFG, dcfg); -diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h -index 04839def6ef6..2205484e04fc 100644 --- a/drivers/media/platform/atmel/atmel-isc-regs.h +++ b/drivers/media/platform/atmel/atmel-isc-regs.h @@ -204,6 +204,8 @@ @@ -49,8 +45,6 @@ index 04839def6ef6..2205484e04fc 100644 /* Rounding, Limiting and Packing Configuration Register */ #define ISC_RLP_CFG 0x000003d0 -diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h -index 9eb85540d89d..4a5293c66f49 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h @@ -149,12 +149,14 @@ struct isc_ctrls { @@ -68,11 +62,9 @@ index 9eb85540d89d..4a5293c66f49 100644 }; /* -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index 57ea1ae50c44..b01b5b9f229b 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -@@ -255,6 +255,7 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -255,6 +255,7 @@ static int atmel_isc_probe(struct platfo isc->offsets.cbc = ISC_SAMA5D2_CBC_OFFSET; isc->offsets.sub422 = ISC_SAMA5D2_SUB422_OFFSET; isc->offsets.sub420 = ISC_SAMA5D2_SUB420_OFFSET; @@ -80,6 +72,3 @@ index 57ea1ae50c44..b01b5b9f229b 100644 /* sama5d2-isc - 8 bits per beat */ isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/169-media-atmel-atmel-isc-add-HIS-to-register-offsets.patch b/target/linux/at91/patches-5.10/169-media-atmel-atmel-isc-add-HIS-to-register-offsets.patch index d818ccdaa6..6ce49e67ff 100644 --- a/target/linux/at91/patches-5.10/169-media-atmel-atmel-isc-add-HIS-to-register-offsets.patch +++ b/target/linux/at91/patches-5.10/169-media-atmel-atmel-isc-add-HIS-to-register-offsets.patch @@ -20,11 +20,9 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-sama5d2-isc.c | 1 + 4 files changed, 12 insertions(+), 4 deletions(-) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index 25c90b821067..5c95aa45cf6c 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -686,12 +686,13 @@ static void isc_set_histogram(struct isc_device *isc, bool enable) +@@ -686,12 +686,13 @@ static void isc_set_histogram(struct isc struct isc_ctrls *ctrls = &isc->ctrls; if (enable) { @@ -40,7 +38,7 @@ index 25c90b821067..5c95aa45cf6c 100644 regmap_write(regmap, ISC_INTEN, ISC_INT_HISDONE); ctrls->hist_id = ISC_HIS_CFG_MODE_GR; isc_update_profile(isc); -@@ -700,7 +701,8 @@ static void isc_set_histogram(struct isc_device *isc, bool enable) +@@ -700,7 +701,8 @@ static void isc_set_histogram(struct isc ctrls->hist_stat = HIST_ENABLED; } else { regmap_write(regmap, ISC_INTDIS, ISC_INT_HISDONE); @@ -50,7 +48,7 @@ index 25c90b821067..5c95aa45cf6c 100644 ctrls->hist_stat = HIST_DISABLED; } -@@ -1836,7 +1838,8 @@ static void isc_awb_work(struct work_struct *w) +@@ -1836,7 +1838,8 @@ static void isc_awb_work(struct work_str ctrls->awb = ISC_WB_NONE; } } @@ -60,8 +58,6 @@ index 25c90b821067..5c95aa45cf6c 100644 isc_update_profile(isc); /* if awb has been disabled, we don't need to start another histogram */ if (ctrls->awb) -diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h -index 2205484e04fc..0ab280ab59ec 100644 --- a/drivers/media/platform/atmel/atmel-isc-regs.h +++ b/drivers/media/platform/atmel/atmel-isc-regs.h @@ -224,6 +224,8 @@ @@ -73,8 +69,6 @@ index 2205484e04fc..0ab280ab59ec 100644 /* Histogram Control Register */ #define ISC_HIS_CTRL 0x000003d4 -diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h -index 4a5293c66f49..97ec4c58297e 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h @@ -150,6 +150,7 @@ struct isc_ctrls { @@ -93,11 +87,9 @@ index 4a5293c66f49..97ec4c58297e 100644 }; /* -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index b01b5b9f229b..db93cb76c08b 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -@@ -256,6 +256,7 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -256,6 +256,7 @@ static int atmel_isc_probe(struct platfo isc->offsets.sub422 = ISC_SAMA5D2_SUB422_OFFSET; isc->offsets.sub420 = ISC_SAMA5D2_SUB420_OFFSET; isc->offsets.rlp = ISC_SAMA5D2_RLP_OFFSET; @@ -105,6 +97,3 @@ index b01b5b9f229b..db93cb76c08b 100644 /* sama5d2-isc - 8 bits per beat */ isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/170-media-atmel-atmel-isc-add-DMA-to-register-offsets.patch b/target/linux/at91/patches-5.10/170-media-atmel-atmel-isc-add-DMA-to-register-offsets.patch index 92f6f3ead6..ef7104e587 100644 --- a/target/linux/at91/patches-5.10/170-media-atmel-atmel-isc-add-DMA-to-register-offsets.patch +++ b/target/linux/at91/patches-5.10/170-media-atmel-atmel-isc-add-DMA-to-register-offsets.patch @@ -21,11 +21,9 @@ Signed-off-by: Mauro Carvalho Chehab .../media/platform/atmel/atmel-sama5d2-isc.c | 1 + 4 files changed, 18 insertions(+), 7 deletions(-) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index 5c95aa45cf6c..e010429fc44d 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -601,16 +601,20 @@ static void isc_start_dma(struct isc_device *isc) +@@ -601,16 +601,20 @@ static void isc_start_dma(struct isc_dev ISC_PFE_CFG0_COLEN | ISC_PFE_CFG0_ROWEN); addr0 = vb2_dma_contig_plane_dma_addr(&isc->cur_frm->vb.vb2_buf, 0); @@ -51,7 +49,7 @@ index 5c95aa45cf6c..e010429fc44d 100644 break; default: break; -@@ -618,7 +622,8 @@ static void isc_start_dma(struct isc_device *isc) +@@ -618,7 +622,8 @@ static void isc_start_dma(struct isc_dev dctrl_dview = isc->config.dctrl_dview; @@ -61,7 +59,7 @@ index 5c95aa45cf6c..e010429fc44d 100644 spin_lock(&isc->awb_lock); regmap_write(regmap, ISC_CTRLEN, ISC_CTRL_CAPTURE); spin_unlock(&isc->awb_lock); -@@ -731,7 +736,7 @@ static int isc_configure(struct isc_device *isc) +@@ -731,7 +736,7 @@ static int isc_configure(struct isc_devi regmap_update_bits(regmap, ISC_RLP_CFG + isc->offsets.rlp, ISC_RLP_CFG_MODE_MASK, rlp_mode); @@ -70,8 +68,6 @@ index 5c95aa45cf6c..e010429fc44d 100644 /* Set the pipeline */ isc_set_pipeline(isc, pipeline); -diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h -index 0ab280ab59ec..4940998c82a2 100644 --- a/drivers/media/platform/atmel/atmel-isc-regs.h +++ b/drivers/media/platform/atmel/atmel-isc-regs.h @@ -247,6 +247,9 @@ @@ -84,8 +80,6 @@ index 0ab280ab59ec..4940998c82a2 100644 /* DMA Configuration Register */ #define ISC_DCFG 0x000003e0 #define ISC_DCFG_IMODE_PACKED8 0x0 -diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h -index 97ec4c58297e..bea545327d3d 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h @@ -151,6 +151,7 @@ struct isc_ctrls { @@ -104,11 +98,9 @@ index 97ec4c58297e..bea545327d3d 100644 }; /* -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index db93cb76c08b..bfd56ac5c921 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -@@ -257,6 +257,7 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -257,6 +257,7 @@ static int atmel_isc_probe(struct platfo isc->offsets.sub420 = ISC_SAMA5D2_SUB420_OFFSET; isc->offsets.rlp = ISC_SAMA5D2_RLP_OFFSET; isc->offsets.his = ISC_SAMA5D2_HIS_OFFSET; @@ -116,6 +108,3 @@ index db93cb76c08b..bfd56ac5c921 100644 /* sama5d2-isc - 8 bits per beat */ isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/171-media-atmel-atmel-isc-add-support-for-version-regist.patch b/target/linux/at91/patches-5.10/171-media-atmel-atmel-isc-add-support-for-version-regist.patch index 6eca9dbf91..b582945b99 100644 --- a/target/linux/at91/patches-5.10/171-media-atmel-atmel-isc-add-support-for-version-regist.patch +++ b/target/linux/at91/patches-5.10/171-media-atmel-atmel-isc-add-support-for-version-regist.patch @@ -15,8 +15,6 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-sama5d2-isc.c | 5 +++++ 3 files changed, 12 insertions(+) -diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h -index 4940998c82a2..344668dcfcf4 100644 --- a/drivers/media/platform/atmel/atmel-isc-regs.h +++ b/drivers/media/platform/atmel/atmel-isc-regs.h @@ -295,6 +295,11 @@ @@ -31,8 +29,6 @@ index 4940998c82a2..344668dcfcf4 100644 /* Histogram Entry */ #define ISC_HIS_ENTRY 0x00000410 -diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h -index bea545327d3d..13ee19d99c2e 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h @@ -152,6 +152,7 @@ struct isc_ctrls { @@ -51,11 +47,9 @@ index bea545327d3d..13ee19d99c2e 100644 }; /* -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index bfd56ac5c921..aebf38dde2d2 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -@@ -210,6 +210,7 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -210,6 +210,7 @@ static int atmel_isc_probe(struct platfo struct isc_subdev_entity *subdev_entity; int irq; int ret; @@ -63,7 +57,7 @@ index bfd56ac5c921..aebf38dde2d2 100644 isc = devm_kzalloc(dev, sizeof(*isc), GFP_KERNEL); if (!isc) -@@ -258,6 +259,7 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -258,6 +259,7 @@ static int atmel_isc_probe(struct platfo isc->offsets.rlp = ISC_SAMA5D2_RLP_OFFSET; isc->offsets.his = ISC_SAMA5D2_HIS_OFFSET; isc->offsets.dma = ISC_SAMA5D2_DMA_OFFSET; @@ -71,7 +65,7 @@ index bfd56ac5c921..aebf38dde2d2 100644 /* sama5d2-isc - 8 bits per beat */ isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8; -@@ -346,6 +348,9 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -346,6 +348,9 @@ static int atmel_isc_probe(struct platfo pm_runtime_enable(dev); pm_request_idle(dev); @@ -81,6 +75,3 @@ index bfd56ac5c921..aebf38dde2d2 100644 return 0; cleanup_subdev: --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/172-media-atmel-atmel-isc-add-his_entry-to-register-offs.patch b/target/linux/at91/patches-5.10/172-media-atmel-atmel-isc-add-his_entry-to-register-offs.patch index dd5118ed2a..c48301cf25 100644 --- a/target/linux/at91/patches-5.10/172-media-atmel-atmel-isc-add-his_entry-to-register-offs.patch +++ b/target/linux/at91/patches-5.10/172-media-atmel-atmel-isc-add-his_entry-to-register-offs.patch @@ -18,11 +18,9 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-sama5d2-isc.c | 1 + 4 files changed, 7 insertions(+), 1 deletion(-) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index e010429fc44d..cfe60b2882ac 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -1684,7 +1684,8 @@ static void isc_hist_count(struct isc_device *isc, u32 *min, u32 *max) +@@ -1684,7 +1684,8 @@ static void isc_hist_count(struct isc_de *min = 0; *max = HIST_ENTRIES; @@ -32,8 +30,6 @@ index e010429fc44d..cfe60b2882ac 100644 *hist_count = 0; /* -diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h -index 344668dcfcf4..a15c13e1a833 100644 --- a/drivers/media/platform/atmel/atmel-isc-regs.h +++ b/drivers/media/platform/atmel/atmel-isc-regs.h @@ -300,6 +300,8 @@ @@ -45,8 +41,6 @@ index 344668dcfcf4..a15c13e1a833 100644 /* Histogram Entry */ #define ISC_HIS_ENTRY 0x00000410 -diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h -index 13ee19d99c2e..513b2b920b1f 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h @@ -153,6 +153,7 @@ struct isc_ctrls { @@ -65,11 +59,9 @@ index 13ee19d99c2e..513b2b920b1f 100644 }; /* -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index aebf38dde2d2..ed575eb3726d 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -@@ -260,6 +260,7 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -260,6 +260,7 @@ static int atmel_isc_probe(struct platfo isc->offsets.his = ISC_SAMA5D2_HIS_OFFSET; isc->offsets.dma = ISC_SAMA5D2_DMA_OFFSET; isc->offsets.version = ISC_SAMA5D2_VERSION_OFFSET; @@ -77,6 +69,3 @@ index aebf38dde2d2..ed575eb3726d 100644 /* sama5d2-isc - 8 bits per beat */ isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/173-media-atmel-atmel-isc-add-register-description-for-a.patch b/target/linux/at91/patches-5.10/173-media-atmel-atmel-isc-add-register-description-for-a.patch index 3828835196..f701ede09c 100644 --- a/target/linux/at91/patches-5.10/173-media-atmel-atmel-isc-add-register-description-for-a.patch +++ b/target/linux/at91/patches-5.10/173-media-atmel-atmel-isc-add-register-description-for-a.patch @@ -14,8 +14,6 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-isc-regs.h | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) -diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h -index a15c13e1a833..457eed74cda9 100644 --- a/drivers/media/platform/atmel/atmel-isc-regs.h +++ b/drivers/media/platform/atmel/atmel-isc-regs.h @@ -90,6 +90,46 @@ @@ -99,6 +97,3 @@ index a15c13e1a833..457eed74cda9 100644 /* Offset for CSC register specific to sama5d2 product */ #define ISC_SAMA5D2_CSC_OFFSET 0 --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/174-media-atmel-atmel-isc-extend-pipeline-with-extra-mod.patch b/target/linux/at91/patches-5.10/174-media-atmel-atmel-isc-extend-pipeline-with-extra-mod.patch index ee93b34a77..7cb5233c2e 100644 --- a/target/linux/at91/patches-5.10/174-media-atmel-atmel-isc-extend-pipeline-with-extra-mod.patch +++ b/target/linux/at91/patches-5.10/174-media-atmel-atmel-isc-extend-pipeline-with-extra-mod.patch @@ -23,11 +23,9 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-isc.h | 28 +++++++++++-------- 2 files changed, 25 insertions(+), 14 deletions(-) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index cfe60b2882ac..a6b62e009c38 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -2324,8 +2324,14 @@ int isc_pipeline_init(struct isc_device *isc) +@@ -2324,8 +2324,14 @@ int isc_pipeline_init(struct isc_device struct regmap_field *regs; unsigned int i; @@ -43,7 +41,7 @@ index cfe60b2882ac..a6b62e009c38 100644 REG_FIELD(ISC_WB_CTRL, 0, 0), REG_FIELD(ISC_CFA_CTRL, 0, 0), REG_FIELD(ISC_CC_CTRL, 0, 0), -@@ -2333,6 +2339,7 @@ int isc_pipeline_init(struct isc_device *isc) +@@ -2333,6 +2339,7 @@ int isc_pipeline_init(struct isc_device REG_FIELD(ISC_GAM_CTRL, 1, 1), REG_FIELD(ISC_GAM_CTRL, 2, 2), REG_FIELD(ISC_GAM_CTRL, 3, 3), @@ -51,7 +49,7 @@ index cfe60b2882ac..a6b62e009c38 100644 REG_FIELD(ISC_CSC_CTRL + isc->offsets.csc, 0, 0), REG_FIELD(ISC_CBC_CTRL + isc->offsets.cbc, 0, 0), REG_FIELD(ISC_SUB422_CTRL + isc->offsets.sub422, 0, 0), -@@ -2351,7 +2358,7 @@ int isc_pipeline_init(struct isc_device *isc) +@@ -2351,7 +2358,7 @@ int isc_pipeline_init(struct isc_device } /* regmap configuration */ @@ -60,8 +58,6 @@ index cfe60b2882ac..a6b62e009c38 100644 const struct regmap_config isc_regmap_config = { .reg_bits = 32, .reg_stride = 4, -diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h -index 513b2b920b1f..86edeea2d5cd 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h @@ -67,17 +67,21 @@ struct isc_format { @@ -106,6 +102,3 @@ index 513b2b920b1f..86edeea2d5cd 100644 /* * struct isc_reg_offsets - ISC device register offsets --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/175-media-atmel-atmel-isc-add-CC-initialization-function.patch b/target/linux/at91/patches-5.10/175-media-atmel-atmel-isc-add-CC-initialization-function.patch index 91c68c82ff..69491d7d13 100644 --- a/target/linux/at91/patches-5.10/175-media-atmel-atmel-isc-add-CC-initialization-function.patch +++ b/target/linux/at91/patches-5.10/175-media-atmel-atmel-isc-add-CC-initialization-function.patch @@ -22,11 +22,9 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-sama5d2-isc.c | 14 ++++++++++++++ 3 files changed, 18 insertions(+) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index a6b62e009c38..ffce8de2cf4d 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -661,6 +661,7 @@ static void isc_set_pipeline(struct isc_device *isc, u32 pipeline) +@@ -661,6 +661,7 @@ static void isc_set_pipeline(struct isc_ isc->config_csc(isc); isc->config_cbc(isc); @@ -34,8 +32,6 @@ index a6b62e009c38..ffce8de2cf4d 100644 } static int isc_update_profile(struct isc_device *isc) -diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h -index 86edeea2d5cd..293746664cef 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h @@ -224,6 +224,8 @@ struct isc_reg_offsets { @@ -55,11 +51,9 @@ index 86edeea2d5cd..293746664cef 100644 }; struct isc_reg_offsets offsets; -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index ed575eb3726d..903920b74965 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -@@ -83,6 +83,19 @@ static void isc_sama5d2_config_cbc(struct isc_device *isc) +@@ -83,6 +83,19 @@ static void isc_sama5d2_config_cbc(struc isc->ctrls.contrast); } @@ -79,7 +73,7 @@ index ed575eb3726d..903920b74965 100644 /* Gamma table with gamma 1/2.2 */ static const u32 isc_sama5d2_gamma_table[][GAMMA_ENTRIES] = { /* 0 --> gamma 1/1.8 */ -@@ -251,6 +264,7 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -251,6 +264,7 @@ static int atmel_isc_probe(struct platfo isc->config_csc = isc_sama5d2_config_csc; isc->config_cbc = isc_sama5d2_config_cbc; @@ -87,6 +81,3 @@ index ed575eb3726d..903920b74965 100644 isc->offsets.csc = ISC_SAMA5D2_CSC_OFFSET; isc->offsets.cbc = ISC_SAMA5D2_CBC_OFFSET; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/176-media-atmel-atmel-isc-create-product-specific-v4l2-c.patch b/target/linux/at91/patches-5.10/176-media-atmel-atmel-isc-create-product-specific-v4l2-c.patch index 4ba3e3cace..35c839692c 100644 --- a/target/linux/at91/patches-5.10/176-media-atmel-atmel-isc-create-product-specific-v4l2-c.patch +++ b/target/linux/at91/patches-5.10/176-media-atmel-atmel-isc-create-product-specific-v4l2-c.patch @@ -18,11 +18,9 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-sama5d2-isc.c | 12 ++++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index ffce8de2cf4d..8ed8b8a4840c 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -2051,11 +2051,12 @@ static int isc_ctrl_init(struct isc_device *isc) +@@ -2051,11 +2051,12 @@ static int isc_ctrl_init(struct isc_devi if (ret < 0) return ret; @@ -37,8 +35,6 @@ index ffce8de2cf4d..8ed8b8a4840c 100644 v4l2_ctrl_new_std(hdl, ops, V4L2_CID_GAMMA, 0, isc->gamma_max, 1, isc->gamma_max); isc->awb_ctrl = v4l2_ctrl_new_std(hdl, &isc_awb_ops, -diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h -index 293746664cef..428419d5a07d 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h @@ -226,6 +226,8 @@ struct isc_reg_offsets { @@ -60,11 +56,9 @@ index 293746664cef..428419d5a07d 100644 }; struct isc_reg_offsets offsets; -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index 903920b74965..7512012cd9f3 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -@@ -96,6 +96,17 @@ static void isc_sama5d2_config_cc(struct isc_device *isc) +@@ -96,6 +96,17 @@ static void isc_sama5d2_config_cc(struct regmap_write(regmap, ISC_CC_BB_OB, (1 << 8)); } @@ -82,7 +76,7 @@ index 903920b74965..7512012cd9f3 100644 /* Gamma table with gamma 1/2.2 */ static const u32 isc_sama5d2_gamma_table[][GAMMA_ENTRIES] = { /* 0 --> gamma 1/1.8 */ -@@ -265,6 +276,7 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -265,6 +276,7 @@ static int atmel_isc_probe(struct platfo isc->config_csc = isc_sama5d2_config_csc; isc->config_cbc = isc_sama5d2_config_cbc; isc->config_cc = isc_sama5d2_config_cc; @@ -90,6 +84,3 @@ index 903920b74965..7512012cd9f3 100644 isc->offsets.csc = ISC_SAMA5D2_CSC_OFFSET; isc->offsets.cbc = ISC_SAMA5D2_CBC_OFFSET; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/177-media-atmel-atmel-isc-create-callback-for-DPC-submod.patch b/target/linux/at91/patches-5.10/177-media-atmel-atmel-isc-create-callback-for-DPC-submod.patch index 466ddb97b9..ef396f84cf 100644 --- a/target/linux/at91/patches-5.10/177-media-atmel-atmel-isc-create-callback-for-DPC-submod.patch +++ b/target/linux/at91/patches-5.10/177-media-atmel-atmel-isc-create-callback-for-DPC-submod.patch @@ -22,11 +22,9 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-sama5d2-isc.c | 6 ++++++ 3 files changed, 10 insertions(+) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index 8ed8b8a4840c..777a5dc19d6e 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -659,6 +659,7 @@ static void isc_set_pipeline(struct isc_device *isc, u32 pipeline) +@@ -659,6 +659,7 @@ static void isc_set_pipeline(struct isc_ regmap_bulk_write(regmap, ISC_GAM_GENTRY, gamma, GAMMA_ENTRIES); regmap_bulk_write(regmap, ISC_GAM_RENTRY, gamma, GAMMA_ENTRIES); @@ -34,8 +32,6 @@ index 8ed8b8a4840c..777a5dc19d6e 100644 isc->config_csc(isc); isc->config_cbc(isc); isc->config_cc(isc); -diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h -index 428419d5a07d..2f093dc968cd 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h @@ -220,6 +220,8 @@ struct isc_reg_offsets { @@ -55,11 +51,9 @@ index 428419d5a07d..2f093dc968cd 100644 void (*config_csc)(struct isc_device *isc); void (*config_cbc)(struct isc_device *isc); void (*config_cc)(struct isc_device *isc); -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index 7512012cd9f3..84d1bf3305f2 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -@@ -107,6 +107,11 @@ static void isc_sama5d2_config_ctrls(struct isc_device *isc, +@@ -107,6 +107,11 @@ static void isc_sama5d2_config_ctrls(str v4l2_ctrl_new_std(hdl, ops, V4L2_CID_CONTRAST, -2048, 2047, 1, 256); } @@ -71,7 +65,7 @@ index 7512012cd9f3..84d1bf3305f2 100644 /* Gamma table with gamma 1/2.2 */ static const u32 isc_sama5d2_gamma_table[][GAMMA_ENTRIES] = { /* 0 --> gamma 1/1.8 */ -@@ -273,6 +278,7 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -273,6 +278,7 @@ static int atmel_isc_probe(struct platfo isc->max_width = ISC_SAMA5D2_MAX_SUPPORT_WIDTH; isc->max_height = ISC_SAMA5D2_MAX_SUPPORT_HEIGHT; @@ -79,6 +73,3 @@ index 7512012cd9f3..84d1bf3305f2 100644 isc->config_csc = isc_sama5d2_config_csc; isc->config_cbc = isc_sama5d2_config_cbc; isc->config_cc = isc_sama5d2_config_cc; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/178-media-atmel-atmel-isc-create-callback-for-GAM-submod.patch b/target/linux/at91/patches-5.10/178-media-atmel-atmel-isc-create-callback-for-GAM-submod.patch index 6d53179f4a..a219704b31 100644 --- a/target/linux/at91/patches-5.10/178-media-atmel-atmel-isc-create-callback-for-GAM-submod.patch +++ b/target/linux/at91/patches-5.10/178-media-atmel-atmel-isc-create-callback-for-GAM-submod.patch @@ -22,11 +22,9 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-sama5d2-isc.c | 6 ++++++ 3 files changed, 10 insertions(+) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index 777a5dc19d6e..aef0d6570d39 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -663,6 +663,7 @@ static void isc_set_pipeline(struct isc_device *isc, u32 pipeline) +@@ -663,6 +663,7 @@ static void isc_set_pipeline(struct isc_ isc->config_csc(isc); isc->config_cbc(isc); isc->config_cc(isc); @@ -34,8 +32,6 @@ index 777a5dc19d6e..aef0d6570d39 100644 } static int isc_update_profile(struct isc_device *isc) -diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h -index 2f093dc968cd..151997c11f56 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h @@ -228,6 +228,8 @@ struct isc_reg_offsets { @@ -55,11 +51,9 @@ index 2f093dc968cd..151997c11f56 100644 void (*config_ctrls)(struct isc_device *isc, const struct v4l2_ctrl_ops *ops); -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index 84d1bf3305f2..b99849ecb8a1 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -@@ -112,6 +112,11 @@ static void isc_sama5d2_config_dpc(struct isc_device *isc) +@@ -112,6 +112,11 @@ static void isc_sama5d2_config_dpc(struc /* This module is not present on sama5d2 pipeline */ } @@ -71,7 +65,7 @@ index 84d1bf3305f2..b99849ecb8a1 100644 /* Gamma table with gamma 1/2.2 */ static const u32 isc_sama5d2_gamma_table[][GAMMA_ENTRIES] = { /* 0 --> gamma 1/1.8 */ -@@ -282,6 +287,7 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -282,6 +287,7 @@ static int atmel_isc_probe(struct platfo isc->config_csc = isc_sama5d2_config_csc; isc->config_cbc = isc_sama5d2_config_cbc; isc->config_cc = isc_sama5d2_config_cc; @@ -79,6 +73,3 @@ index 84d1bf3305f2..b99849ecb8a1 100644 isc->config_ctrls = isc_sama5d2_config_ctrls; isc->offsets.csc = ISC_SAMA5D2_CSC_OFFSET; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/179-media-atmel-atmel-isc-create-callback-for-RLP-submod.patch b/target/linux/at91/patches-5.10/179-media-atmel-atmel-isc-create-callback-for-RLP-submod.patch index 74a08b2209..8442925a7e 100644 --- a/target/linux/at91/patches-5.10/179-media-atmel-atmel-isc-create-callback-for-RLP-submod.patch +++ b/target/linux/at91/patches-5.10/179-media-atmel-atmel-isc-create-callback-for-RLP-submod.patch @@ -23,11 +23,9 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-sama5d2-isc.c | 10 ++++++++++ 3 files changed, 15 insertions(+), 4 deletions(-) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index aef0d6570d39..67c16ca17672 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -719,11 +719,10 @@ static void isc_set_histogram(struct isc_device *isc, bool enable) +@@ -719,11 +719,10 @@ static void isc_set_histogram(struct isc static int isc_configure(struct isc_device *isc) { struct regmap *regmap = isc->regmap; @@ -40,7 +38,7 @@ index aef0d6570d39..67c16ca17672 100644 pipeline = isc->config.bits_pipeline; dcfg = isc->config.dcfg_imode | isc->dcfg; -@@ -736,8 +735,7 @@ static int isc_configure(struct isc_device *isc) +@@ -736,8 +735,7 @@ static int isc_configure(struct isc_devi regmap_update_bits(regmap, ISC_PFE_CFG0, mask, pfe_cfg0); @@ -50,8 +48,6 @@ index aef0d6570d39..67c16ca17672 100644 regmap_write(regmap, ISC_DCFG + isc->offsets.dma, dcfg); -diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h -index 151997c11f56..24006327c5e4 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h @@ -230,6 +230,8 @@ struct isc_reg_offsets { @@ -71,11 +67,9 @@ index 151997c11f56..24006327c5e4 100644 void (*config_ctrls)(struct isc_device *isc, const struct v4l2_ctrl_ops *ops); -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index b99849ecb8a1..86704a1a24b9 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -@@ -117,6 +117,15 @@ static void isc_sama5d2_config_gam(struct isc_device *isc) +@@ -117,6 +117,15 @@ static void isc_sama5d2_config_gam(struc /* No specific gamma configuration */ } @@ -91,7 +85,7 @@ index b99849ecb8a1..86704a1a24b9 100644 /* Gamma table with gamma 1/2.2 */ static const u32 isc_sama5d2_gamma_table[][GAMMA_ENTRIES] = { /* 0 --> gamma 1/1.8 */ -@@ -288,6 +297,7 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -288,6 +297,7 @@ static int atmel_isc_probe(struct platfo isc->config_cbc = isc_sama5d2_config_cbc; isc->config_cc = isc_sama5d2_config_cc; isc->config_gam = isc_sama5d2_config_gam; @@ -99,6 +93,3 @@ index b99849ecb8a1..86704a1a24b9 100644 isc->config_ctrls = isc_sama5d2_config_ctrls; isc->offsets.csc = ISC_SAMA5D2_CSC_OFFSET; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/180-media-atmel-atmel-isc-move-the-formats-list-into-pro.patch b/target/linux/at91/patches-5.10/180-media-atmel-atmel-isc-move-the-formats-list-into-pro.patch index cce3fabc4c..1c64cfca2e 100644 --- a/target/linux/at91/patches-5.10/180-media-atmel-atmel-isc-move-the-formats-list-into-pro.patch +++ b/target/linux/at91/patches-5.10/180-media-atmel-atmel-isc-move-the-formats-list-into-pro.patch @@ -17,11 +17,9 @@ Signed-off-by: Mauro Carvalho Chehab .../media/platform/atmel/atmel-sama5d2-isc.c | 136 ++++++++++++++ 3 files changed, 165 insertions(+), 150 deletions(-) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index 67c16ca17672..90a62d43fdb1 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -45,137 +45,6 @@ module_param(sensor_preferred, uint, 0644); +@@ -45,137 +45,6 @@ module_param(sensor_preferred, uint, 064 MODULE_PARM_DESC(sensor_preferred, "Sensor is preferred to output the specified format (1-on 0-off), default 1"); @@ -159,7 +157,7 @@ index 67c16ca17672..90a62d43fdb1 100644 #define ISC_IS_FORMAT_RAW(mbus_code) \ (((mbus_code) & 0xf000) == 0x3000) -@@ -919,24 +788,25 @@ static int isc_querycap(struct file *file, void *priv, +@@ -919,24 +788,25 @@ static int isc_querycap(struct file *fil static int isc_enum_fmt_vid_cap(struct file *file, void *priv, struct v4l2_fmtdesc *f) { @@ -192,7 +190,7 @@ index 67c16ca17672..90a62d43fdb1 100644 return 0; } supported_index++; -@@ -1477,8 +1347,8 @@ static int isc_enum_framesizes(struct file *file, void *fh, +@@ -1477,8 +1347,8 @@ static int isc_enum_framesizes(struct fi if (isc->user_formats[i]->fourcc == fsize->pixel_format) ret = 0; @@ -203,7 +201,7 @@ index 67c16ca17672..90a62d43fdb1 100644 ret = 0; if (ret) -@@ -1514,8 +1384,8 @@ static int isc_enum_frameintervals(struct file *file, void *fh, +@@ -1514,8 +1384,8 @@ static int isc_enum_frameintervals(struc if (isc->user_formats[i]->fourcc == fival->pixel_format) ret = 0; @@ -214,7 +212,7 @@ index 67c16ca17672..90a62d43fdb1 100644 ret = 0; if (ret) -@@ -2126,12 +1996,13 @@ static void isc_async_unbind(struct v4l2_async_notifier *notifier, +@@ -2126,12 +1996,13 @@ static void isc_async_unbind(struct v4l2 v4l2_ctrl_handler_free(&isc->ctrls.handler); } @@ -231,7 +229,7 @@ index 67c16ca17672..90a62d43fdb1 100644 if (fmt->mbus_code == code) { *index = i; return fmt; -@@ -2148,7 +2019,7 @@ static int isc_formats_init(struct isc_device *isc) +@@ -2148,7 +2019,7 @@ static int isc_formats_init(struct isc_d struct isc_format *fmt; struct v4l2_subdev *subdev = isc->current_subdev->sd; unsigned int num_fmts, i, j; @@ -240,7 +238,7 @@ index 67c16ca17672..90a62d43fdb1 100644 struct v4l2_subdev_mbus_code_enum mbus_code = { .which = V4L2_SUBDEV_FORMAT_ACTIVE, }; -@@ -2158,7 +2029,7 @@ static int isc_formats_init(struct isc_device *isc) +@@ -2158,7 +2029,7 @@ static int isc_formats_init(struct isc_d NULL, &mbus_code)) { mbus_code.index++; @@ -249,7 +247,7 @@ index 67c16ca17672..90a62d43fdb1 100644 if (!fmt) { v4l2_warn(&isc->v4l2_dev, "Mbus code %x not supported\n", mbus_code.code); -@@ -2179,7 +2050,7 @@ static int isc_formats_init(struct isc_device *isc) +@@ -2179,7 +2050,7 @@ static int isc_formats_init(struct isc_d if (!isc->user_formats) return -ENOMEM; @@ -258,8 +256,6 @@ index 67c16ca17672..90a62d43fdb1 100644 for (i = 0, j = 0; i < list_size; i++) { if (fmt->sd_support) isc->user_formats[j++] = fmt; -diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h -index 24006327c5e4..b34737c09a5b 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h @@ -236,6 +236,12 @@ struct isc_reg_offsets { @@ -290,8 +286,6 @@ index 24006327c5e4..b34737c09a5b 100644 extern const struct regmap_config isc_regmap_config; extern const struct v4l2_async_notifier_operations isc_async_ops; -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index 86704a1a24b9..b8c1b57ed820 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c @@ -54,6 +54,137 @@ @@ -432,7 +426,7 @@ index 86704a1a24b9..b8c1b57ed820 100644 static void isc_sama5d2_config_csc(struct isc_device *isc) { struct regmap *regmap = isc->regmap; -@@ -310,6 +441,11 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -310,6 +441,11 @@ static int atmel_isc_probe(struct platfo isc->offsets.version = ISC_SAMA5D2_VERSION_OFFSET; isc->offsets.his_entry = ISC_SAMA5D2_HIS_ENTRY_OFFSET; @@ -444,6 +438,3 @@ index 86704a1a24b9..b8c1b57ed820 100644 /* sama5d2-isc - 8 bits per beat */ isc->dcfg = ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/181-media-atmel-atmel-isc-create-an-adapt-pipeline-callb.patch b/target/linux/at91/patches-5.10/181-media-atmel-atmel-isc-create-an-adapt-pipeline-callb.patch index 66c70e4ca3..042fc609fe 100644 --- a/target/linux/at91/patches-5.10/181-media-atmel-atmel-isc-create-an-adapt-pipeline-callb.patch +++ b/target/linux/at91/patches-5.10/181-media-atmel-atmel-isc-create-an-adapt-pipeline-callb.patch @@ -19,11 +19,9 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-sama5d2-isc.c | 11 +++++++++++ 3 files changed, 20 insertions(+) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index 90a62d43fdb1..7862d6bf850d 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -1059,6 +1059,10 @@ static int isc_try_configure_pipeline(struct isc_device *isc) +@@ -1059,6 +1059,10 @@ static int isc_try_configure_pipeline(st default: isc->try_config.bits_pipeline = 0x0; } @@ -34,8 +32,6 @@ index 90a62d43fdb1..7862d6bf850d 100644 return 0; } -diff --git a/drivers/media/platform/atmel/atmel-isc.h b/drivers/media/platform/atmel/atmel-isc.h -index b34737c09a5b..f59b2426ae74 100644 --- a/drivers/media/platform/atmel/atmel-isc.h +++ b/drivers/media/platform/atmel/atmel-isc.h @@ -235,6 +235,9 @@ struct isc_reg_offsets { @@ -57,8 +53,6 @@ index b34737c09a5b..f59b2426ae74 100644 }; struct isc_reg_offsets offsets; -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index b8c1b57ed820..26c971a380ca 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c @@ -54,6 +54,10 @@ @@ -72,7 +66,7 @@ index b8c1b57ed820..26c971a380ca 100644 /* This is a list of the formats that the ISC can *output* */ static const struct isc_format sama5d2_controller_formats[] = { { -@@ -257,6 +261,11 @@ static void isc_sama5d2_config_rlp(struct isc_device *isc) +@@ -257,6 +261,11 @@ static void isc_sama5d2_config_rlp(struc ISC_RLP_CFG_MODE_MASK, rlp_mode); } @@ -84,7 +78,7 @@ index b8c1b57ed820..26c971a380ca 100644 /* Gamma table with gamma 1/2.2 */ static const u32 isc_sama5d2_gamma_table[][GAMMA_ENTRIES] = { /* 0 --> gamma 1/1.8 */ -@@ -431,6 +440,8 @@ static int atmel_isc_probe(struct platform_device *pdev) +@@ -431,6 +440,8 @@ static int atmel_isc_probe(struct platfo isc->config_rlp = isc_sama5d2_config_rlp; isc->config_ctrls = isc_sama5d2_config_ctrls; @@ -93,6 +87,3 @@ index b8c1b57ed820..26c971a380ca 100644 isc->offsets.csc = ISC_SAMA5D2_CSC_OFFSET; isc->offsets.cbc = ISC_SAMA5D2_CBC_OFFSET; isc->offsets.sub422 = ISC_SAMA5D2_SUB422_OFFSET; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/182-media-atmel-atmel-isc-regs-add-additional-fields-for.patch b/target/linux/at91/patches-5.10/182-media-atmel-atmel-isc-regs-add-additional-fields-for.patch index e2a79bb7e3..00849c7d12 100644 --- a/target/linux/at91/patches-5.10/182-media-atmel-atmel-isc-regs-add-additional-fields-for.patch +++ b/target/linux/at91/patches-5.10/182-media-atmel-atmel-isc-regs-add-additional-fields-for.patch @@ -14,8 +14,6 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-isc-regs.h | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) -diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h -index 457eed74cda9..5f99bf7717c1 100644 --- a/drivers/media/platform/atmel/atmel-isc-regs.h +++ b/drivers/media/platform/atmel/atmel-isc-regs.h @@ -289,8 +289,18 @@ @@ -55,6 +53,3 @@ index 457eed74cda9..5f99bf7717c1 100644 /* DMA Control Register */ #define ISC_DCTRL 0x000003e4 --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/183-media-atmel-atmel-isc-base-add-support-for-more-form.patch b/target/linux/at91/patches-5.10/183-media-atmel-atmel-isc-base-add-support-for-more-form.patch index 4b530134a1..247c901558 100644 --- a/target/linux/at91/patches-5.10/183-media-atmel-atmel-isc-base-add-support-for-more-form.patch +++ b/target/linux/at91/patches-5.10/183-media-atmel-atmel-isc-base-add-support-for-more-form.patch @@ -14,11 +14,9 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-isc-base.c | 48 +++++++++++++++---- 1 file changed, 38 insertions(+), 10 deletions(-) -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index 7862d6bf850d..dcb321ad10b8 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -855,6 +855,8 @@ static int isc_try_validate_formats(struct isc_device *isc) +@@ -855,6 +855,8 @@ static int isc_try_validate_formats(stru case V4L2_PIX_FMT_YUV420: case V4L2_PIX_FMT_YUV422P: case V4L2_PIX_FMT_YUYV: @@ -27,7 +25,7 @@ index 7862d6bf850d..dcb321ad10b8 100644 ret = 0; yuv = true; break; -@@ -869,6 +871,7 @@ static int isc_try_validate_formats(struct isc_device *isc) +@@ -869,6 +871,7 @@ static int isc_try_validate_formats(stru break; case V4L2_PIX_FMT_GREY: case V4L2_PIX_FMT_Y10: @@ -35,7 +33,7 @@ index 7862d6bf850d..dcb321ad10b8 100644 ret = 0; grey = true; break; -@@ -899,6 +902,8 @@ static int isc_try_validate_formats(struct isc_device *isc) +@@ -899,6 +902,8 @@ static int isc_try_validate_formats(stru */ static int isc_try_configure_rlp_dma(struct isc_device *isc, bool direct_dump) { @@ -44,7 +42,7 @@ index 7862d6bf850d..dcb321ad10b8 100644 switch (isc->try_config.fourcc) { case V4L2_PIX_FMT_SBGGR8: case V4L2_PIX_FMT_SGBRG8: -@@ -965,7 +970,19 @@ static int isc_try_configure_rlp_dma(struct isc_device *isc, bool direct_dump) +@@ -965,7 +970,19 @@ static int isc_try_configure_rlp_dma(str isc->try_config.bpp = 16; break; case V4L2_PIX_FMT_YUYV: @@ -65,7 +63,7 @@ index 7862d6bf850d..dcb321ad10b8 100644 isc->try_config.dcfg_imode = ISC_DCFG_IMODE_PACKED32; isc->try_config.dctrl_dview = ISC_DCTRL_DVIEW_PACKED; isc->try_config.bpp = 16; -@@ -976,8 +993,11 @@ static int isc_try_configure_rlp_dma(struct isc_device *isc, bool direct_dump) +@@ -976,8 +993,11 @@ static int isc_try_configure_rlp_dma(str isc->try_config.dctrl_dview = ISC_DCTRL_DVIEW_PACKED; isc->try_config.bpp = 8; break; @@ -78,7 +76,7 @@ index 7862d6bf850d..dcb321ad10b8 100644 isc->try_config.dcfg_imode = ISC_DCFG_IMODE_PACKED16; isc->try_config.dctrl_dview = ISC_DCTRL_DVIEW_PACKED; isc->try_config.bpp = 16; -@@ -1011,7 +1031,8 @@ static int isc_try_configure_pipeline(struct isc_device *isc) +@@ -1011,7 +1031,8 @@ static int isc_try_configure_pipeline(st /* if sensor format is RAW, we convert inside ISC */ if (ISC_IS_FORMAT_RAW(isc->try_config.sd_format->mbus_code)) { isc->try_config.bits_pipeline = CFA_ENABLE | @@ -88,7 +86,7 @@ index 7862d6bf850d..dcb321ad10b8 100644 } else { isc->try_config.bits_pipeline = 0x0; } -@@ -1020,8 +1041,9 @@ static int isc_try_configure_pipeline(struct isc_device *isc) +@@ -1020,8 +1041,9 @@ static int isc_try_configure_pipeline(st /* if sensor format is RAW, we convert inside ISC */ if (ISC_IS_FORMAT_RAW(isc->try_config.sd_format->mbus_code)) { isc->try_config.bits_pipeline = CFA_ENABLE | @@ -100,7 +98,7 @@ index 7862d6bf850d..dcb321ad10b8 100644 } else { isc->try_config.bits_pipeline = 0x0; } -@@ -1031,33 +1053,39 @@ static int isc_try_configure_pipeline(struct isc_device *isc) +@@ -1031,33 +1053,39 @@ static int isc_try_configure_pipeline(st if (ISC_IS_FORMAT_RAW(isc->try_config.sd_format->mbus_code)) { isc->try_config.bits_pipeline = CFA_ENABLE | CSC_ENABLE | WB_ENABLE | GAM_ENABLES | @@ -145,6 +143,3 @@ index 7862d6bf850d..dcb321ad10b8 100644 } /* Tune the pipeline to product specific */ --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/184-media-atmel-atmel-isc-sama5d2-remove-duplicate-defin.patch b/target/linux/at91/patches-5.10/184-media-atmel-atmel-isc-sama5d2-remove-duplicate-defin.patch index ea11e15654..587f4862f2 100644 --- a/target/linux/at91/patches-5.10/184-media-atmel-atmel-isc-sama5d2-remove-duplicate-defin.patch +++ b/target/linux/at91/patches-5.10/184-media-atmel-atmel-isc-sama5d2-remove-duplicate-defin.patch @@ -13,8 +13,6 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-sama5d2-isc.c | 2 -- 1 file changed, 2 deletions(-) -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index 26c971a380ca..d6fd22b127fd 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c @@ -52,8 +52,6 @@ @@ -26,6 +24,3 @@ index 26c971a380ca..d6fd22b127fd 100644 #define ISC_SAMA5D2_PIPELINE \ (WB_ENABLE | CFA_ENABLE | CC_ENABLE | GAM_ENABLES | CSC_ENABLE | \ CBC_ENABLE | SUB422_ENABLE | SUB420_ENABLE) --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/185-media-atmel-atmel-isc-add-microchip-xisc-driver.patch b/target/linux/at91/patches-5.10/185-media-atmel-atmel-isc-add-microchip-xisc-driver.patch index f09443237c..a21ac2a7c0 100644 --- a/target/linux/at91/patches-5.10/185-media-atmel-atmel-isc-add-microchip-xisc-driver.patch +++ b/target/linux/at91/patches-5.10/185-media-atmel-atmel-isc-add-microchip-xisc-driver.patch @@ -23,11 +23,9 @@ Signed-off-by: Mauro Carvalho Chehab 6 files changed, 671 insertions(+), 1 deletion(-) create mode 100644 drivers/media/platform/atmel/atmel-sama7g5-isc.c -diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile -index 62b6cdc8c730..fd15c76402c9 100644 --- a/drivers/media/platform/Makefile +++ b/drivers/media/platform/Makefile -@@ -64,6 +64,7 @@ obj-$(CONFIG_VIDEO_RCAR_VIN) += rcar-vin/ +@@ -64,6 +64,7 @@ obj-$(CONFIG_VIDEO_RCAR_VIN) += rcar-vi obj-$(CONFIG_VIDEO_ATMEL_ISC) += atmel/ obj-$(CONFIG_VIDEO_ATMEL_ISI) += atmel/ @@ -35,8 +33,6 @@ index 62b6cdc8c730..fd15c76402c9 100644 obj-$(CONFIG_VIDEO_STM32_DCMI) += stm32/ -diff --git a/drivers/media/platform/atmel/Kconfig b/drivers/media/platform/atmel/Kconfig -index 1850fe7f9360..99b51213f871 100644 --- a/drivers/media/platform/atmel/Kconfig +++ b/drivers/media/platform/atmel/Kconfig @@ -12,6 +12,17 @@ config VIDEO_ATMEL_ISC @@ -57,8 +53,6 @@ index 1850fe7f9360..99b51213f871 100644 config VIDEO_ATMEL_ISI tristate "ATMEL Image Sensor Interface (ISI) support" depends on VIDEO_V4L2 && OF -diff --git a/drivers/media/platform/atmel/Makefile b/drivers/media/platform/atmel/Makefile -index 2dba38994a70..c5c01556c653 100644 --- a/drivers/media/platform/atmel/Makefile +++ b/drivers/media/platform/atmel/Makefile @@ -1,5 +1,7 @@ @@ -69,11 +63,9 @@ index 2dba38994a70..c5c01556c653 100644 obj-$(CONFIG_VIDEO_ATMEL_ISI) += atmel-isi.o obj-$(CONFIG_VIDEO_ATMEL_ISC) += atmel-isc.o +obj-$(CONFIG_VIDEO_ATMEL_XISC) += atmel-xisc.o -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index dcb321ad10b8..46c6e3e20f33 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c -@@ -600,7 +600,7 @@ static int isc_configure(struct isc_device *isc) +@@ -600,7 +600,7 @@ static int isc_configure(struct isc_devi mask = ISC_PFE_CFG0_BPS_MASK | ISC_PFE_CFG0_HPOL_LOW | ISC_PFE_CFG0_VPOL_LOW | ISC_PFE_CFG0_PPOL_LOW | ISC_PFE_CFG0_MODE_MASK | ISC_PFE_CFG0_CCIR_CRC | @@ -82,8 +74,6 @@ index dcb321ad10b8..46c6e3e20f33 100644 regmap_update_bits(regmap, ISC_PFE_CFG0, mask, pfe_cfg0); -diff --git a/drivers/media/platform/atmel/atmel-isc-regs.h b/drivers/media/platform/atmel/atmel-isc-regs.h -index 5f99bf7717c1..d06b72228d4f 100644 --- a/drivers/media/platform/atmel/atmel-isc-regs.h +++ b/drivers/media/platform/atmel/atmel-isc-regs.h @@ -26,6 +26,7 @@ @@ -185,9 +175,6 @@ index 5f99bf7717c1..d06b72228d4f 100644 /* Histogram Entry */ #define ISC_HIS_ENTRY 0x00000410 -diff --git a/drivers/media/platform/atmel/atmel-sama7g5-isc.c b/drivers/media/platform/atmel/atmel-sama7g5-isc.c -new file mode 100644 -index 000000000000..f2785131ff56 --- /dev/null +++ b/drivers/media/platform/atmel/atmel-sama7g5-isc.c @@ -0,0 +1,630 @@ @@ -821,6 +808,3 @@ index 000000000000..f2785131ff56 +MODULE_AUTHOR("Eugen Hristev "); +MODULE_DESCRIPTION("The V4L2 driver for Microchip-XISC"); +MODULE_LICENSE("GPL v2"); --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/186-ASoC-atmel-fix-shadowed-variable.patch b/target/linux/at91/patches-5.10/186-ASoC-atmel-fix-shadowed-variable.patch index 17e208b4a0..7e88bb39ce 100644 --- a/target/linux/at91/patches-5.10/186-ASoC-atmel-fix-shadowed-variable.patch +++ b/target/linux/at91/patches-5.10/186-ASoC-atmel-fix-shadowed-variable.patch @@ -24,11 +24,9 @@ Signed-off-by: Mark Brown sound/soc/atmel/atmel-classd.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -diff --git a/sound/soc/atmel/atmel-classd.c b/sound/soc/atmel/atmel-classd.c -index b1a28a9382fb..6023369e0f1a 100644 --- a/sound/soc/atmel/atmel-classd.c +++ b/sound/soc/atmel/atmel-classd.c -@@ -48,7 +48,7 @@ static struct atmel_classd_pdata *atmel_classd_dt_init(struct device *dev) +@@ -48,7 +48,7 @@ static struct atmel_classd_pdata *atmel_ { struct device_node *np = dev->of_node; struct atmel_classd_pdata *pdata; @@ -37,7 +35,7 @@ index b1a28a9382fb..6023369e0f1a 100644 int ret; if (!np) { -@@ -60,8 +60,8 @@ static struct atmel_classd_pdata *atmel_classd_dt_init(struct device *dev) +@@ -60,8 +60,8 @@ static struct atmel_classd_pdata *atmel_ if (!pdata) return ERR_PTR(-ENOMEM); @@ -48,6 +46,3 @@ index b1a28a9382fb..6023369e0f1a 100644 pdata->pwm_type = CLASSD_MR_PWMTYP_DIFF; else pdata->pwm_type = CLASSD_MR_PWMTYP_SINGLE; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/187-ASoC-atmel-atmel-i2s-remove-useless-initialization.patch b/target/linux/at91/patches-5.10/187-ASoC-atmel-atmel-i2s-remove-useless-initialization.patch index 60f825c521..ed2ae1a979 100644 --- a/target/linux/at91/patches-5.10/187-ASoC-atmel-atmel-i2s-remove-useless-initialization.patch +++ b/target/linux/at91/patches-5.10/187-ASoC-atmel-atmel-i2s-remove-useless-initialization.patch @@ -23,11 +23,9 @@ Signed-off-by: Mark Brown sound/soc/atmel/atmel-i2s.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/sound/soc/atmel/atmel-i2s.c b/sound/soc/atmel/atmel-i2s.c -index 7483c474ccd7..e7169c63becd 100644 --- a/sound/soc/atmel/atmel-i2s.c +++ b/sound/soc/atmel/atmel-i2s.c -@@ -613,7 +613,7 @@ static int atmel_i2s_probe(struct platform_device *pdev) +@@ -613,7 +613,7 @@ static int atmel_i2s_probe(struct platfo struct regmap *regmap; void __iomem *base; int irq; @@ -36,6 +34,3 @@ index 7483c474ccd7..e7169c63becd 100644 unsigned int pcm_flags = 0; unsigned int version; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/188-ASoC-atmel-i2s-Set-symmetric-sample-bits.patch b/target/linux/at91/patches-5.10/188-ASoC-atmel-i2s-Set-symmetric-sample-bits.patch index 6a3bcc5060..bc8c7fa2b1 100644 --- a/target/linux/at91/patches-5.10/188-ASoC-atmel-i2s-Set-symmetric-sample-bits.patch +++ b/target/linux/at91/patches-5.10/188-ASoC-atmel-i2s-Set-symmetric-sample-bits.patch @@ -14,11 +14,9 @@ Signed-off-by: Mark Brown sound/soc/atmel/atmel-i2s.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/sound/soc/atmel/atmel-i2s.c b/sound/soc/atmel/atmel-i2s.c -index e7169c63becd..2a5bc7a54e6c 100644 --- a/sound/soc/atmel/atmel-i2s.c +++ b/sound/soc/atmel/atmel-i2s.c -@@ -560,6 +560,7 @@ static struct snd_soc_dai_driver atmel_i2s_dai = { +@@ -560,6 +560,7 @@ static struct snd_soc_dai_driver atmel_i }, .ops = &atmel_i2s_dai_ops, .symmetric_rates = 1, @@ -26,6 +24,3 @@ index e7169c63becd..2a5bc7a54e6c 100644 }; static const struct snd_soc_component_driver atmel_i2s_component = { --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/189-watchdog-sama5d4_wdt-add-support-for-sama7g5-wdt.patch b/target/linux/at91/patches-5.10/189-watchdog-sama5d4_wdt-add-support-for-sama7g5-wdt.patch index 55ce7c525b..b79ccadf92 100644 --- a/target/linux/at91/patches-5.10/189-watchdog-sama5d4_wdt-add-support-for-sama7g5-wdt.patch +++ b/target/linux/at91/patches-5.10/189-watchdog-sama5d4_wdt-add-support-for-sama7g5-wdt.patch @@ -18,11 +18,9 @@ Signed-off-by: Wim Van Sebroeck drivers/watchdog/sama5d4_wdt.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) -diff --git a/drivers/watchdog/sama5d4_wdt.c b/drivers/watchdog/sama5d4_wdt.c -index e5d11d6a2600..ec20ad4e534f 100644 --- a/drivers/watchdog/sama5d4_wdt.c +++ b/drivers/watchdog/sama5d4_wdt.c -@@ -268,8 +268,10 @@ static int sama5d4_wdt_probe(struct platform_device *pdev) +@@ -268,8 +268,10 @@ static int sama5d4_wdt_probe(struct plat wdd->min_timeout = MIN_WDT_TIMEOUT; wdd->max_timeout = MAX_WDT_TIMEOUT; wdt->last_ping = jiffies; @@ -35,7 +33,7 @@ index e5d11d6a2600..ec20ad4e534f 100644 watchdog_set_drvdata(wdd, wdt); -@@ -329,6 +331,10 @@ static const struct of_device_id sama5d4_wdt_of_match[] = { +@@ -329,6 +331,10 @@ static const struct of_device_id sama5d4 { .compatible = "microchip,sam9x60-wdt", }, @@ -46,6 +44,3 @@ index e5d11d6a2600..ec20ad4e534f 100644 { } }; MODULE_DEVICE_TABLE(of, sama5d4_wdt_of_match); --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/190-media-atmel-fix-build-when-ISC-m-and-XISC-y.patch b/target/linux/at91/patches-5.10/190-media-atmel-fix-build-when-ISC-m-and-XISC-y.patch index f4d7bacdb4..60b4104442 100644 --- a/target/linux/at91/patches-5.10/190-media-atmel-fix-build-when-ISC-m-and-XISC-y.patch +++ b/target/linux/at91/patches-5.10/190-media-atmel-fix-build-when-ISC-m-and-XISC-y.patch @@ -32,8 +32,6 @@ Signed-off-by: Mauro Carvalho Chehab drivers/media/platform/atmel/atmel-isc-base.c | 11 +++++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) -diff --git a/drivers/media/platform/atmel/Kconfig b/drivers/media/platform/atmel/Kconfig -index 99b51213f871..dda2f27da317 100644 --- a/drivers/media/platform/atmel/Kconfig +++ b/drivers/media/platform/atmel/Kconfig @@ -8,6 +8,7 @@ config VIDEO_ATMEL_ISC @@ -62,8 +60,6 @@ index 99b51213f871..dda2f27da317 100644 config VIDEO_ATMEL_ISI tristate "ATMEL Image Sensor Interface (ISI) support" depends on VIDEO_V4L2 && OF -diff --git a/drivers/media/platform/atmel/Makefile b/drivers/media/platform/atmel/Makefile -index c5c01556c653..46d264ab7948 100644 --- a/drivers/media/platform/atmel/Makefile +++ b/drivers/media/platform/atmel/Makefile @@ -1,7 +1,8 @@ @@ -77,8 +73,6 @@ index c5c01556c653..46d264ab7948 100644 +obj-$(CONFIG_VIDEO_ATMEL_ISC_BASE) += atmel-isc-base.o obj-$(CONFIG_VIDEO_ATMEL_ISC) += atmel-isc.o obj-$(CONFIG_VIDEO_ATMEL_XISC) += atmel-xisc.o -diff --git a/drivers/media/platform/atmel/atmel-isc-base.c b/drivers/media/platform/atmel/atmel-isc-base.c -index 46c6e3e20f33..54168b72fd2f 100644 --- a/drivers/media/platform/atmel/atmel-isc-base.c +++ b/drivers/media/platform/atmel/atmel-isc-base.c @@ -378,6 +378,7 @@ int isc_clk_init(struct isc_device *isc) @@ -89,7 +83,7 @@ index 46c6e3e20f33..54168b72fd2f 100644 void isc_clk_cleanup(struct isc_device *isc) { -@@ -392,6 +393,7 @@ void isc_clk_cleanup(struct isc_device *isc) +@@ -392,6 +393,7 @@ void isc_clk_cleanup(struct isc_device * clk_unregister(isc_clk->clk); } } @@ -97,7 +91,7 @@ index 46c6e3e20f33..54168b72fd2f 100644 static int isc_queue_setup(struct vb2_queue *vq, unsigned int *nbuffers, unsigned int *nplanes, -@@ -1575,6 +1577,7 @@ irqreturn_t isc_interrupt(int irq, void *dev_id) +@@ -1575,6 +1577,7 @@ irqreturn_t isc_interrupt(int irq, void return ret; } @@ -105,7 +99,7 @@ index 46c6e3e20f33..54168b72fd2f 100644 static void isc_hist_count(struct isc_device *isc, u32 *min, u32 *max) { -@@ -2209,6 +2212,7 @@ const struct v4l2_async_notifier_operations isc_async_ops = { +@@ -2209,6 +2212,7 @@ const struct v4l2_async_notifier_operati .unbind = isc_async_unbind, .complete = isc_async_complete, }; @@ -113,7 +107,7 @@ index 46c6e3e20f33..54168b72fd2f 100644 void isc_subdev_cleanup(struct isc_device *isc) { -@@ -2221,6 +2225,7 @@ void isc_subdev_cleanup(struct isc_device *isc) +@@ -2221,6 +2225,7 @@ void isc_subdev_cleanup(struct isc_devic INIT_LIST_HEAD(&isc->subdev_entities); } @@ -121,7 +115,7 @@ index 46c6e3e20f33..54168b72fd2f 100644 int isc_pipeline_init(struct isc_device *isc) { -@@ -2261,6 +2266,7 @@ int isc_pipeline_init(struct isc_device *isc) +@@ -2261,6 +2266,7 @@ int isc_pipeline_init(struct isc_device return 0; } @@ -129,7 +123,7 @@ index 46c6e3e20f33..54168b72fd2f 100644 /* regmap configuration */ #define ATMEL_ISC_REG_MAX 0xd5c -@@ -2270,4 +2276,9 @@ const struct regmap_config isc_regmap_config = { +@@ -2270,4 +2276,9 @@ const struct regmap_config isc_regmap_co .val_bits = 32, .max_register = ATMEL_ISC_REG_MAX, }; @@ -139,6 +133,3 @@ index 46c6e3e20f33..54168b72fd2f 100644 +MODULE_AUTHOR("Eugen Hristev"); +MODULE_DESCRIPTION("Atmel ISC common code base"); +MODULE_LICENSE("GPL v2"); --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/191-i2c-at91-remove-define-CONFIG_PM.patch b/target/linux/at91/patches-5.10/191-i2c-at91-remove-define-CONFIG_PM.patch index bbdf5bcbac..27ee1b6d19 100644 --- a/target/linux/at91/patches-5.10/191-i2c-at91-remove-define-CONFIG_PM.patch +++ b/target/linux/at91/patches-5.10/191-i2c-at91-remove-define-CONFIG_PM.patch @@ -13,11 +13,9 @@ Signed-off-by: Wolfram Sang drivers/i2c/busses/i2c-at91-core.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) -diff --git a/drivers/i2c/busses/i2c-at91-core.c b/drivers/i2c/busses/i2c-at91-core.c -index e14edd236108..9f3c3e8e8011 100644 --- a/drivers/i2c/busses/i2c-at91-core.c +++ b/drivers/i2c/busses/i2c-at91-core.c -@@ -286,9 +286,7 @@ static int at91_twi_remove(struct platform_device *pdev) +@@ -286,9 +286,7 @@ static int at91_twi_remove(struct platfo return 0; } @@ -28,7 +26,7 @@ index e14edd236108..9f3c3e8e8011 100644 { struct at91_twi_dev *twi_dev = dev_get_drvdata(dev); -@@ -299,7 +297,7 @@ static int at91_twi_runtime_suspend(struct device *dev) +@@ -299,7 +297,7 @@ static int at91_twi_runtime_suspend(stru return 0; } @@ -37,7 +35,7 @@ index e14edd236108..9f3c3e8e8011 100644 { struct at91_twi_dev *twi_dev = dev_get_drvdata(dev); -@@ -308,7 +306,7 @@ static int at91_twi_runtime_resume(struct device *dev) +@@ -308,7 +306,7 @@ static int at91_twi_runtime_resume(struc return clk_prepare_enable(twi_dev->clk); } @@ -46,7 +44,7 @@ index e14edd236108..9f3c3e8e8011 100644 { if (!pm_runtime_status_suspended(dev)) at91_twi_runtime_suspend(dev); -@@ -316,7 +314,7 @@ static int at91_twi_suspend_noirq(struct device *dev) +@@ -316,7 +314,7 @@ static int at91_twi_suspend_noirq(struct return 0; } @@ -55,7 +53,7 @@ index e14edd236108..9f3c3e8e8011 100644 { struct at91_twi_dev *twi_dev = dev_get_drvdata(dev); int ret; -@@ -342,11 +340,6 @@ static const struct dev_pm_ops at91_twi_pm = { +@@ -342,11 +340,6 @@ static const struct dev_pm_ops at91_twi_ .runtime_resume = at91_twi_runtime_resume, }; @@ -67,7 +65,7 @@ index e14edd236108..9f3c3e8e8011 100644 static struct platform_driver at91_twi_driver = { .probe = at91_twi_probe, .remove = at91_twi_remove, -@@ -354,7 +347,7 @@ static struct platform_driver at91_twi_driver = { +@@ -354,7 +347,7 @@ static struct platform_driver at91_twi_d .driver = { .name = "at91_i2c", .of_match_table = of_match_ptr(atmel_twi_dt_ids), @@ -76,6 +74,3 @@ index e14edd236108..9f3c3e8e8011 100644 }, }; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/192-ASoC-codecs-ad193x-add-support-for-96kHz-and-192kHz-.patch b/target/linux/at91/patches-5.10/192-ASoC-codecs-ad193x-add-support-for-96kHz-and-192kHz-.patch index 54fe85861f..6220c1dab2 100644 --- a/target/linux/at91/patches-5.10/192-ASoC-codecs-ad193x-add-support-for-96kHz-and-192kHz-.patch +++ b/target/linux/at91/patches-5.10/192-ASoC-codecs-ad193x-add-support-for-96kHz-and-192kHz-.patch @@ -16,11 +16,9 @@ Signed-off-by: Mark Brown sound/soc/codecs/ad193x.h | 4 ++++ 2 files changed, 32 insertions(+), 2 deletions(-) -diff --git a/sound/soc/codecs/ad193x.c b/sound/soc/codecs/ad193x.c -index f37ab7eda615..278a55af158b 100644 --- a/sound/soc/codecs/ad193x.c +++ b/sound/soc/codecs/ad193x.c -@@ -316,6 +316,13 @@ static int ad193x_hw_params(struct snd_pcm_substream *substream, +@@ -316,6 +316,13 @@ static int ad193x_hw_params(struct snd_p int word_len = 0, master_rate = 0; struct snd_soc_component *component = dai->component; struct ad193x_priv *ad193x = snd_soc_component_get_drvdata(component); @@ -34,7 +32,7 @@ index f37ab7eda615..278a55af158b 100644 /* bit size */ switch (params_width(params)) { -@@ -346,6 +353,25 @@ static int ad193x_hw_params(struct snd_pcm_substream *substream, +@@ -346,6 +353,25 @@ static int ad193x_hw_params(struct snd_p break; } @@ -60,7 +58,7 @@ index f37ab7eda615..278a55af158b 100644 regmap_update_bits(ad193x->regmap, AD193X_PLL_CLK_CTRL0, AD193X_PLL_INPUT_MASK, master_rate); -@@ -385,7 +411,7 @@ static struct snd_soc_dai_driver ad193x_dai = { +@@ -385,7 +411,7 @@ static struct snd_soc_dai_driver ad193x_ .stream_name = "Playback", .channels_min = 2, .channels_max = 8, @@ -69,7 +67,7 @@ index f37ab7eda615..278a55af158b 100644 .formats = SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | SNDRV_PCM_FMTBIT_S24_LE, }, -@@ -407,7 +433,7 @@ static struct snd_soc_dai_driver ad193x_no_adc_dai = { +@@ -407,7 +433,7 @@ static struct snd_soc_dai_driver ad193x_ .stream_name = "Playback", .channels_min = 2, .channels_max = 8, @@ -78,11 +76,9 @@ index f37ab7eda615..278a55af158b 100644 .formats = SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | SNDRV_PCM_FMTBIT_S24_LE, }, -diff --git a/sound/soc/codecs/ad193x.h b/sound/soc/codecs/ad193x.h -index 377854712c20..61f4648861d5 100644 --- a/sound/soc/codecs/ad193x.h +++ b/sound/soc/codecs/ad193x.h -@@ -37,6 +37,10 @@ int ad193x_probe(struct device *dev, struct regmap *regmap, +@@ -37,6 +37,10 @@ int ad193x_probe(struct device *dev, str #define AD193X_PLL_CLK_SRC_MCLK (1 << 1) #define AD193X_DAC_CTRL0 0x02 #define AD193X_DAC_POWERDOWN 0x01 @@ -93,6 +89,3 @@ index 377854712c20..61f4648861d5 100644 #define AD193X_DAC_SERFMT_MASK 0xC0 #define AD193X_DAC_SERFMT_STEREO (0 << 6) #define AD193X_DAC_SERFMT_TDM (1 << 6) --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/193-media-atmel-atmel-sama5d2-isc-fix-YUYV-format.patch b/target/linux/at91/patches-5.10/193-media-atmel-atmel-sama5d2-isc-fix-YUYV-format.patch index c8cf87021f..a554a288a5 100644 --- a/target/linux/at91/patches-5.10/193-media-atmel-atmel-sama5d2-isc-fix-YUYV-format.patch +++ b/target/linux/at91/patches-5.10/193-media-atmel-atmel-sama5d2-isc-fix-YUYV-format.patch @@ -20,11 +20,9 @@ Signed-off-by: Mauro Carvalho Chehab .../media/platform/atmel/atmel-sama5d2-isc.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) -diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -index d6fd22b127fd..4f09db71d152 100644 --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c -@@ -255,6 +255,23 @@ static void isc_sama5d2_config_rlp(struct isc_device *isc) +@@ -255,6 +255,23 @@ static void isc_sama5d2_config_rlp(struc struct regmap *regmap = isc->regmap; u32 rlp_mode = isc->config.rlp_cfg_mode; @@ -48,6 +46,3 @@ index d6fd22b127fd..4f09db71d152 100644 regmap_update_bits(regmap, ISC_RLP_CFG + isc->offsets.rlp, ISC_RLP_CFG_MODE_MASK, rlp_mode); } --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/194-clk-at91-add-register-definition-for-sama7g5-s-maste.patch b/target/linux/at91/patches-5.10/194-clk-at91-add-register-definition-for-sama7g5-s-maste.patch index deda80985d..dd221f5be9 100644 --- a/target/linux/at91/patches-5.10/194-clk-at91-add-register-definition-for-sama7g5-s-maste.patch +++ b/target/linux/at91/patches-5.10/194-clk-at91-add-register-definition-for-sama7g5-s-maste.patch @@ -14,8 +14,6 @@ Link: https://lore.kernel.org/r/20210719080317.1045832-3-claudiu.beznea@microchi include/linux/clk/at91_pmc.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) -diff --git a/include/linux/clk/at91_pmc.h b/include/linux/clk/at91_pmc.h -index a4f82e836a7c..ccb3f034bfa9 100644 --- a/include/linux/clk/at91_pmc.h +++ b/include/linux/clk/at91_pmc.h @@ -137,6 +137,32 @@ @@ -51,6 +49,3 @@ index a4f82e836a7c..ccb3f034bfa9 100644 #define AT91_PMC_XTALF 0x34 /* Main XTAL Frequency Register [SAMA7G5 only] */ #define AT91_PMC_USB 0x38 /* USB Clock Register [some SAM9 only] */ --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/195-ARM-at91-add-new-SoC-sama7g5.patch b/target/linux/at91/patches-5.10/195-ARM-at91-add-new-SoC-sama7g5.patch index d333f0d957..1d6b45ac94 100644 --- a/target/linux/at91/patches-5.10/195-ARM-at91-add-new-SoC-sama7g5.patch +++ b/target/linux/at91/patches-5.10/195-ARM-at91-add-new-SoC-sama7g5.patch @@ -15,8 +15,6 @@ Link: https://lore.kernel.org/r/20210719080317.1045832-2-claudiu.beznea@microchi arch/arm/mach-at91/Kconfig | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) -diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig -index ccd7e80ce943..b09bb2279f7f 100644 --- a/arch/arm/mach-at91/Kconfig +++ b/arch/arm/mach-at91/Kconfig @@ -57,6 +57,16 @@ config SOC_SAMA5D4 @@ -49,6 +47,3 @@ index ccd7e80ce943..b09bb2279f7f 100644 + select SOC_SAM_V7 + select SRAM if PM endif --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/196-ARM-at91-debug-add-sama7g5-low-level-debug-uart.patch b/target/linux/at91/patches-5.10/196-ARM-at91-debug-add-sama7g5-low-level-debug-uart.patch index 40b05a43e8..c99a2d5219 100644 --- a/target/linux/at91/patches-5.10/196-ARM-at91-debug-add-sama7g5-low-level-debug-uart.patch +++ b/target/linux/at91/patches-5.10/196-ARM-at91-debug-add-sama7g5-low-level-debug-uart.patch @@ -15,8 +15,6 @@ Signed-off-by: Claudiu Beznea arch/arm/Kconfig.debug | 10 ++++++++++ 1 file changed, 10 insertions(+) -diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug -index dd1cf7035398..09901118e3fb 100644 --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug @@ -191,6 +191,14 @@ choice @@ -50,6 +48,3 @@ index dd1cf7035398..09901118e3fb 100644 default 0xf0010000 if DEBUG_ASM9260_UART default 0xf0100000 if DEBUG_DIGICOLOR_UA0 default 0xf01fb000 if DEBUG_NOMADIK_UART --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/197-ARM-at91-pm-move-pm_bu-to-soc_pm-data-structure.patch b/target/linux/at91/patches-5.10/197-ARM-at91-pm-move-pm_bu-to-soc_pm-data-structure.patch index fd5a8cd93e..dfd47d55d2 100644 --- a/target/linux/at91/patches-5.10/197-ARM-at91-pm-move-pm_bu-to-soc_pm-data-structure.patch +++ b/target/linux/at91/patches-5.10/197-ARM-at91-pm-move-pm_bu-to-soc_pm-data-structure.patch @@ -12,8 +12,6 @@ Link: https://lore.kernel.org/r/20210415105010.569620-2-claudiu.beznea@microchip arch/arm/mach-at91/pm.c | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) -diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c -index 2dee383f9050..3fa223c21618 100644 --- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.c @@ -27,10 +27,25 @@ @@ -42,7 +40,7 @@ index 2dee383f9050..3fa223c21618 100644 struct at91_pm_data data; }; -@@ -71,13 +86,6 @@ static int at91_pm_valid_state(suspend_state_t state) +@@ -71,13 +86,6 @@ static int at91_pm_valid_state(suspend_s static int canary = 0xA5A5A5A5; @@ -56,7 +54,7 @@ index 2dee383f9050..3fa223c21618 100644 struct wakeup_source_info { unsigned int pmc_fsmr_bit; unsigned int shdwc_mr_bit; -@@ -288,7 +296,7 @@ static int at91_suspend_finish(unsigned long val) +@@ -288,7 +296,7 @@ static int at91_suspend_finish(unsigned static void at91_pm_suspend(suspend_state_t state) { if (soc_pm.data.mode == AT91_PM_BACKUP) { @@ -65,7 +63,7 @@ index 2dee383f9050..3fa223c21618 100644 cpu_suspend(0, at91_suspend_finish); -@@ -672,16 +680,16 @@ static int __init at91_pm_backup_init(void) +@@ -672,16 +680,16 @@ static int __init at91_pm_backup_init(vo goto securam_fail; } @@ -87,6 +85,3 @@ index 2dee383f9050..3fa223c21618 100644 return 0; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/198-ARM-at91-pm-move-the-setup-of-soc_pm.bu-suspended.patch b/target/linux/at91/patches-5.10/198-ARM-at91-pm-move-the-setup-of-soc_pm.bu-suspended.patch index bbc0d00eed..5b484b7343 100644 --- a/target/linux/at91/patches-5.10/198-ARM-at91-pm-move-the-setup-of-soc_pm.bu-suspended.patch +++ b/target/linux/at91/patches-5.10/198-ARM-at91-pm-move-the-setup-of-soc_pm.bu-suspended.patch @@ -15,11 +15,9 @@ Link: https://lore.kernel.org/r/20210415105010.569620-3-claudiu.beznea@microchip arch/arm/mach-at91/pm.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) -diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c -index 3fa223c21618..f182d8bf6f82 100644 --- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.c -@@ -214,6 +214,8 @@ static int at91_sam9x60_config_pmc_ws(void __iomem *pmc, u32 mode, u32 polarity) +@@ -214,6 +214,8 @@ static int at91_sam9x60_config_pmc_ws(vo */ static int at91_pm_begin(suspend_state_t state) { @@ -28,7 +26,7 @@ index 3fa223c21618..f182d8bf6f82 100644 switch (state) { case PM_SUSPEND_MEM: soc_pm.data.mode = soc_pm.data.suspend_mode; -@@ -227,7 +229,16 @@ static int at91_pm_begin(suspend_state_t state) +@@ -227,7 +229,16 @@ static int at91_pm_begin(suspend_state_t soc_pm.data.mode = -1; } @@ -46,7 +44,7 @@ index 3fa223c21618..f182d8bf6f82 100644 } /* -@@ -296,8 +307,6 @@ static int at91_suspend_finish(unsigned long val) +@@ -296,8 +307,6 @@ static int at91_suspend_finish(unsigned static void at91_pm_suspend(suspend_state_t state) { if (soc_pm.data.mode == AT91_PM_BACKUP) { @@ -55,6 +53,3 @@ index 3fa223c21618..f182d8bf6f82 100644 cpu_suspend(0, at91_suspend_finish); /* The SRAM is lost between suspend cycles */ --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/199-ARM-at91-pm-document-at91_soc_pm-structure.patch b/target/linux/at91/patches-5.10/199-ARM-at91-pm-document-at91_soc_pm-structure.patch index b0b94e472a..965555a11d 100644 --- a/target/linux/at91/patches-5.10/199-ARM-at91-pm-document-at91_soc_pm-structure.patch +++ b/target/linux/at91/patches-5.10/199-ARM-at91-pm-document-at91_soc_pm-structure.patch @@ -12,8 +12,6 @@ Link: https://lore.kernel.org/r/20210415105010.569620-4-claudiu.beznea@microchip arch/arm/mach-at91/pm.c | 8 ++++++++ 1 file changed, 8 insertions(+) -diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c -index f182d8bf6f82..a060bec77f20 100644 --- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.c @@ -41,6 +41,14 @@ struct at91_pm_bu { @@ -31,6 +29,3 @@ index f182d8bf6f82..a060bec77f20 100644 struct at91_soc_pm { int (*config_shdwc_ws)(void __iomem *shdwc, u32 *mode, u32 *polarity); int (*config_pmc_ws)(void __iomem *pmc, u32 mode, u32 polarity); --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/200-ARM-at91-pm-check-for-different-controllers-in-at91_.patch b/target/linux/at91/patches-5.10/200-ARM-at91-pm-check-for-different-controllers-in-at91_.patch index b3ccdbf6d0..f15095aafd 100644 --- a/target/linux/at91/patches-5.10/200-ARM-at91-pm-check-for-different-controllers-in-at91_.patch +++ b/target/linux/at91/patches-5.10/200-ARM-at91-pm-check-for-different-controllers-in-at91_.patch @@ -18,8 +18,6 @@ Link: https://lore.kernel.org/r/20210415105010.569620-5-claudiu.beznea@microchip arch/arm/mach-at91/pm.c | 143 +++++++++++++++++++++++++--------------- 1 file changed, 91 insertions(+), 52 deletions(-) -diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c -index a060bec77f20..e9f9fb410761 100644 --- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.c @@ -57,6 +57,18 @@ struct at91_soc_pm { @@ -41,7 +39,7 @@ index a060bec77f20..e9f9fb410761 100644 static struct at91_soc_pm soc_pm = { .data = { .standby_mode = AT91_PM_STANDBY, -@@ -671,24 +683,15 @@ static int __init at91_pm_backup_init(void) +@@ -671,24 +683,15 @@ static int __init at91_pm_backup_init(vo if (!at91_is_pm_mode_active(AT91_PM_BACKUP)) return 0; @@ -68,7 +66,7 @@ index a060bec77f20..e9f9fb410761 100644 } sram_pool = gen_pool_get(&pdev->dev, NULL); -@@ -712,64 +715,92 @@ static int __init at91_pm_backup_init(void) +@@ -712,64 +715,92 @@ static int __init at91_pm_backup_init(vo securam_fail: put_device(&pdev->dev); @@ -112,11 +110,7 @@ index a060bec77f20..e9f9fb410761 100644 + if (soc_pm.data.suspend_mode == AT91_PM_BACKUP) + soc_pm.data.suspend_mode = AT91_PM_ULP0; + } - -- np = of_find_matching_node(NULL, atmel_shdwc_ids); -- if (!np) { -- pr_warn("%s: failed to find shdwc!\n", __func__); -- goto ulp1_default; ++ + if (maps[soc_pm.data.standby_mode] & AT91_PM_IOMAP(SHDWC) || + maps[soc_pm.data.suspend_mode] & AT91_PM_IOMAP(SHDWC)) { + np = of_find_matching_node(NULL, atmel_shdwc_ids); @@ -137,10 +131,12 @@ index a060bec77f20..e9f9fb410761 100644 + soc_pm.data.shdwc = of_iomap(np, 0); + of_node_put(np); + } - } ++ } -- soc_pm.data.shdwc = of_iomap(np, 0); -- of_node_put(np); +- np = of_find_matching_node(NULL, atmel_shdwc_ids); +- if (!np) { +- pr_warn("%s: failed to find shdwc!\n", __func__); +- goto ulp1_default; + if (maps[soc_pm.data.standby_mode] & AT91_PM_IOMAP(SFRBU) || + maps[soc_pm.data.suspend_mode] & AT91_PM_IOMAP(SFRBU)) { + np = of_find_compatible_node(NULL, NULL, "atmel,sama5d2-sfrbu"); @@ -165,6 +161,16 @@ index a060bec77f20..e9f9fb410761 100644 + soc_pm.data.sfrbu = of_iomap(np, 0); + of_node_put(np); + } + } + +- soc_pm.data.shdwc = of_iomap(np, 0); +- of_node_put(np); ++ /* Unmap all unnecessary. */ ++ if (soc_pm.data.shdwc && ++ !(maps[soc_pm.data.standby_mode] & AT91_PM_IOMAP(SHDWC) || ++ maps[soc_pm.data.suspend_mode] & AT91_PM_IOMAP(SHDWC))) { ++ iounmap(soc_pm.data.shdwc); ++ soc_pm.data.shdwc = NULL; + } - ret = at91_pm_backup_init(); @@ -173,22 +179,15 @@ index a060bec77f20..e9f9fb410761 100644 - goto unmap; - else - goto backup_default; -+ /* Unmap all unnecessary. */ -+ if (soc_pm.data.shdwc && -+ !(maps[soc_pm.data.standby_mode] & AT91_PM_IOMAP(SHDWC) || -+ maps[soc_pm.data.suspend_mode] & AT91_PM_IOMAP(SHDWC))) { -+ iounmap(soc_pm.data.shdwc); -+ soc_pm.data.shdwc = NULL; - } - -- return; + if (soc_pm.data.sfrbu && + !(maps[soc_pm.data.standby_mode] & AT91_PM_IOMAP(SFRBU) || + maps[soc_pm.data.suspend_mode] & AT91_PM_IOMAP(SFRBU))) { + iounmap(soc_pm.data.sfrbu); + soc_pm.data.sfrbu = NULL; -+ } + } + return; +- -unmap: - iounmap(soc_pm.data.shdwc); - soc_pm.data.shdwc = NULL; @@ -196,7 +195,6 @@ index a060bec77f20..e9f9fb410761 100644 - at91_pm_use_default_mode(AT91_PM_ULP1); -backup_default: - at91_pm_use_default_mode(AT91_PM_BACKUP); -+ return; } struct pmc_info { @@ -238,6 +236,3 @@ index a060bec77f20..e9f9fb410761 100644 ret = at91_dt_ramc(); if (ret) return; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/201-ARM-at91-pm-do-not-initialize-pdev.patch b/target/linux/at91/patches-5.10/201-ARM-at91-pm-do-not-initialize-pdev.patch index 805cda8a5b..413a95a968 100644 --- a/target/linux/at91/patches-5.10/201-ARM-at91-pm-do-not-initialize-pdev.patch +++ b/target/linux/at91/patches-5.10/201-ARM-at91-pm-do-not-initialize-pdev.patch @@ -12,11 +12,9 @@ Link: https://lore.kernel.org/r/20210415105010.569620-6-claudiu.beznea@microchip arch/arm/mach-at91/pm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c -index e9f9fb410761..96f2be0a53cb 100644 --- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.c -@@ -674,7 +674,7 @@ static int __init at91_pm_backup_init(void) +@@ -674,7 +674,7 @@ static int __init at91_pm_backup_init(vo { struct gen_pool *sram_pool; struct device_node *np; @@ -25,6 +23,3 @@ index e9f9fb410761..96f2be0a53cb 100644 int ret = -ENODEV; if (!IS_ENABLED(CONFIG_SOC_SAMA5D2)) --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/202-ARM-at91-pm-use-r7-instead-of-tmp1.patch b/target/linux/at91/patches-5.10/202-ARM-at91-pm-use-r7-instead-of-tmp1.patch index f53d38556f..a313ab029a 100644 --- a/target/linux/at91/patches-5.10/202-ARM-at91-pm-use-r7-instead-of-tmp1.patch +++ b/target/linux/at91/patches-5.10/202-ARM-at91-pm-use-r7-instead-of-tmp1.patch @@ -13,8 +13,6 @@ Link: https://lore.kernel.org/r/20210415105010.569620-7-claudiu.beznea@microchip arch/arm/mach-at91/pm_suspend.S | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) -diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S -index b683c2caa40b..3d20c9880fee 100644 --- a/arch/arm/mach-at91/pm_suspend.S +++ b/arch/arm/mach-at91/pm_suspend.S @@ -31,30 +31,36 @@ tmp3 .req r6 @@ -60,6 +58,3 @@ index b683c2caa40b..3d20c9880fee 100644 dsb --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/203-ARM-at91-pm-avoid-push-and-pop-on-stack-while-memory.patch b/target/linux/at91/patches-5.10/203-ARM-at91-pm-avoid-push-and-pop-on-stack-while-memory.patch index 3b59430c9e..a2edec371d 100644 --- a/target/linux/at91/patches-5.10/203-ARM-at91-pm-avoid-push-and-pop-on-stack-while-memory.patch +++ b/target/linux/at91/patches-5.10/203-ARM-at91-pm-avoid-push-and-pop-on-stack-while-memory.patch @@ -17,8 +17,6 @@ Link: https://lore.kernel.org/r/20210415105010.569620-8-claudiu.beznea@microchip arch/arm/mach-at91/pm_suspend.S | 397 +++++++++++++++++--------------- 1 file changed, 205 insertions(+), 192 deletions(-) -diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S -index 3d20c9880fee..960ad29cce51 100644 --- a/arch/arm/mach-at91/pm_suspend.S +++ b/arch/arm/mach-at91/pm_suspend.S @@ -75,98 +75,147 @@ tmp3 .req r6 @@ -467,6 +465,3 @@ index 3d20c9880fee..960ad29cce51 100644 .pmc_base: .word 0 --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/204-ARM-at91-pm-s-CONFIG_SOC_SAM9X60-CONFIG_HAVE_AT91_SA.patch b/target/linux/at91/patches-5.10/204-ARM-at91-pm-s-CONFIG_SOC_SAM9X60-CONFIG_HAVE_AT91_SA.patch index b9db3622e8..4601d922d6 100644 --- a/target/linux/at91/patches-5.10/204-ARM-at91-pm-s-CONFIG_SOC_SAM9X60-CONFIG_HAVE_AT91_SA.patch +++ b/target/linux/at91/patches-5.10/204-ARM-at91-pm-s-CONFIG_SOC_SAM9X60-CONFIG_HAVE_AT91_SA.patch @@ -14,8 +14,6 @@ Link: https://lore.kernel.org/r/20210415105010.569620-9-claudiu.beznea@microchip arch/arm/mach-at91/pm_suspend.S | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S -index 960ad29cce51..1f63bbfad728 100644 --- a/arch/arm/mach-at91/pm_suspend.S +++ b/arch/arm/mach-at91/pm_suspend.S @@ -422,7 +422,7 @@ sr_dis_exit: @@ -36,6 +34,3 @@ index 960ad29cce51..1f63bbfad728 100644 /* step 1. */ ldr tmp1, [pmc, #AT91_PMC_PLL_UPDT] bic tmp1, tmp1, #AT91_PMC_PLL_UPDT_ID --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/205-ARM-at91-pm-add-support-for-waiting-MCK1.4.patch b/target/linux/at91/patches-5.10/205-ARM-at91-pm-add-support-for-waiting-MCK1.4.patch index 64c92ac05a..16e733727f 100644 --- a/target/linux/at91/patches-5.10/205-ARM-at91-pm-add-support-for-waiting-MCK1.4.patch +++ b/target/linux/at91/patches-5.10/205-ARM-at91-pm-add-support-for-waiting-MCK1.4.patch @@ -14,8 +14,6 @@ Link: https://lore.kernel.org/r/20210415105010.569620-10-claudiu.beznea@microchi arch/arm/mach-at91/pm_suspend.S | 48 ++++++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 13 deletions(-) -diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S -index 1f63bbfad728..7669b32d5257 100644 --- a/arch/arm/mach-at91/pm_suspend.S +++ b/arch/arm/mach-at91/pm_suspend.S @@ -22,11 +22,23 @@ tmp3 .req r6 @@ -150,6 +148,3 @@ index 1f63bbfad728..7669b32d5257 100644 /*BUMEN*/ ldr r0, .sfrbu --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/206-ARM-at91-sfrbu-add-sfrbu-registers-definitions-for-s.patch b/target/linux/at91/patches-5.10/206-ARM-at91-sfrbu-add-sfrbu-registers-definitions-for-s.patch index cf7619d45e..37a22885d7 100644 --- a/target/linux/at91/patches-5.10/206-ARM-at91-sfrbu-add-sfrbu-registers-definitions-for-s.patch +++ b/target/linux/at91/patches-5.10/206-ARM-at91-sfrbu-add-sfrbu-registers-definitions-for-s.patch @@ -14,9 +14,6 @@ Link: https://lore.kernel.org/r/20210415105010.569620-11-claudiu.beznea@microchi 1 file changed, 34 insertions(+) create mode 100644 include/soc/at91/sama7-sfrbu.h -diff --git a/include/soc/at91/sama7-sfrbu.h b/include/soc/at91/sama7-sfrbu.h -new file mode 100644 -index 000000000000..76b740810d34 --- /dev/null +++ b/include/soc/at91/sama7-sfrbu.h @@ -0,0 +1,34 @@ @@ -54,6 +51,3 @@ index 000000000000..76b740810d34 + +#endif /* __SAMA7_SFRBU_H__ */ + --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/207-ARM-at91-ddr-add-registers-definitions-for-sama7g5-s.patch b/target/linux/at91/patches-5.10/207-ARM-at91-ddr-add-registers-definitions-for-sama7g5-s.patch index 0414a28856..1df310f216 100644 --- a/target/linux/at91/patches-5.10/207-ARM-at91-ddr-add-registers-definitions-for-sama7g5-s.patch +++ b/target/linux/at91/patches-5.10/207-ARM-at91-ddr-add-registers-definitions-for-sama7g5-s.patch @@ -14,9 +14,6 @@ Link: https://lore.kernel.org/r/20210415105010.569620-12-claudiu.beznea@microchi 1 file changed, 80 insertions(+) create mode 100644 include/soc/at91/sama7-ddr.h -diff --git a/include/soc/at91/sama7-ddr.h b/include/soc/at91/sama7-ddr.h -new file mode 100644 -index 000000000000..f6542584ca13 --- /dev/null +++ b/include/soc/at91/sama7-ddr.h @@ -0,0 +1,80 @@ @@ -100,6 +97,3 @@ index 000000000000..f6542584ca13 +#endif /* CONFIG_SOC_SAMA7 */ + +#endif /* __SAMA7_DDR_H__ */ --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/208-ARM-at91-pm-add-self-refresh-support-for-sama7g5.patch b/target/linux/at91/patches-5.10/208-ARM-at91-pm-add-self-refresh-support-for-sama7g5.patch index 344b14c4d9..f8321e5042 100644 --- a/target/linux/at91/patches-5.10/208-ARM-at91-pm-add-self-refresh-support-for-sama7g5.patch +++ b/target/linux/at91/patches-5.10/208-ARM-at91-pm-add-self-refresh-support-for-sama7g5.patch @@ -14,8 +14,6 @@ Link: https://lore.kernel.org/r/20210415105010.569620-13-claudiu.beznea@microchi arch/arm/mach-at91/pm_suspend.S | 199 +++++++++++++++++++++++++++ 3 files changed, 203 insertions(+) -diff --git a/arch/arm/mach-at91/pm.h b/arch/arm/mach-at91/pm.h -index bfb260be371e..666474088d55 100644 --- a/arch/arm/mach-at91/pm.h +++ b/arch/arm/mach-at91/pm.h @@ -12,6 +12,7 @@ @@ -34,8 +32,6 @@ index bfb260be371e..666474088d55 100644 unsigned long uhp_udp_mask; unsigned int memctrl; unsigned int mode; -diff --git a/arch/arm/mach-at91/pm_data-offsets.c b/arch/arm/mach-at91/pm_data-offsets.c -index 82089ff258c0..40bd4e8fe40a 100644 --- a/arch/arm/mach-at91/pm_data-offsets.c +++ b/arch/arm/mach-at91/pm_data-offsets.c @@ -8,6 +8,8 @@ int main(void) @@ -47,8 +43,6 @@ index 82089ff258c0..40bd4e8fe40a 100644 DEFINE(PM_DATA_MEMCTRL, offsetof(struct at91_pm_data, memctrl)); DEFINE(PM_DATA_MODE, offsetof(struct at91_pm_data, mode)); DEFINE(PM_DATA_SHDWC, offsetof(struct at91_pm_data, shdwc)); -diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S -index 7669b32d5257..84418120ba67 100644 --- a/arch/arm/mach-at91/pm_suspend.S +++ b/arch/arm/mach-at91/pm_suspend.S @@ -87,6 +87,200 @@ tmp3 .req r6 @@ -278,6 +272,3 @@ index 7669b32d5257..84418120ba67 100644 .shdwc: .word 0 .sfrbu: --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/209-ARM-at91-pm-add-support-for-MCK1.4-save-restore-for-.patch b/target/linux/at91/patches-5.10/209-ARM-at91-pm-add-support-for-MCK1.4-save-restore-for-.patch index 96f7811603..7c8614125c 100644 --- a/target/linux/at91/patches-5.10/209-ARM-at91-pm-add-support-for-MCK1.4-save-restore-for-.patch +++ b/target/linux/at91/patches-5.10/209-ARM-at91-pm-add-support-for-MCK1.4-save-restore-for-.patch @@ -13,8 +13,6 @@ Link: https://lore.kernel.org/r/20210415105010.569620-14-claudiu.beznea@microchi arch/arm/mach-at91/pm_suspend.S | 126 ++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) -diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S -index 84418120ba67..8b0b8619ee8a 100644 --- a/arch/arm/mach-at91/pm_suspend.S +++ b/arch/arm/mach-at91/pm_suspend.S @@ -765,7 +765,122 @@ sr_dis_exit: @@ -165,6 +163,3 @@ index 84418120ba67..8b0b8619ee8a 100644 ENTRY(at91_pm_suspend_in_sram_sz) .word .-at91_pm_suspend_in_sram --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/210-ARM-at91-pm-add-support-for-2.5V-LDO-regulator-contr.patch b/target/linux/at91/patches-5.10/210-ARM-at91-pm-add-support-for-2.5V-LDO-regulator-contr.patch index 48638fa75e..ede839bf70 100644 --- a/target/linux/at91/patches-5.10/210-ARM-at91-pm-add-support-for-2.5V-LDO-regulator-contr.patch +++ b/target/linux/at91/patches-5.10/210-ARM-at91-pm-add-support-for-2.5V-LDO-regulator-contr.patch @@ -15,8 +15,6 @@ Link: https://lore.kernel.org/r/20210415105010.569620-15-claudiu.beznea@microchi arch/arm/mach-at91/pm_suspend.S | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) -diff --git a/arch/arm/mach-at91/pm.h b/arch/arm/mach-at91/pm.h -index 666474088d55..53bdc9000e44 100644 --- a/arch/arm/mach-at91/pm.h +++ b/arch/arm/mach-at91/pm.h @@ -13,6 +13,7 @@ @@ -27,8 +25,6 @@ index 666474088d55..53bdc9000e44 100644 #define AT91_MEMCTRL_MC 0 #define AT91_MEMCTRL_SDRAMC 1 -diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S -index 8b0b8619ee8a..9c9e08fd8300 100644 --- a/arch/arm/mach-at91/pm_suspend.S +++ b/arch/arm/mach-at91/pm_suspend.S @@ -83,6 +83,29 @@ tmp3 .req r6 @@ -81,6 +77,3 @@ index 8b0b8619ee8a..9c9e08fd8300 100644 ldr pmc, .pmc_base at91_plla_enable --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/211-ARM-at91-pm-wait-for-ddr-power-mode-off.patch b/target/linux/at91/patches-5.10/211-ARM-at91-pm-wait-for-ddr-power-mode-off.patch index f94b479240..886f81e7ad 100644 --- a/target/linux/at91/patches-5.10/211-ARM-at91-pm-wait-for-ddr-power-mode-off.patch +++ b/target/linux/at91/patches-5.10/211-ARM-at91-pm-wait-for-ddr-power-mode-off.patch @@ -12,8 +12,6 @@ Link: https://lore.kernel.org/r/20210415105010.569620-16-claudiu.beznea@microchi arch/arm/mach-at91/pm_suspend.S | 5 +++++ 1 file changed, 5 insertions(+) -diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S -index 9c9e08fd8300..7396e18dd7e5 100644 --- a/arch/arm/mach-at91/pm_suspend.S +++ b/arch/arm/mach-at91/pm_suspend.S @@ -980,6 +980,11 @@ ulp_exit: @@ -28,6 +26,3 @@ index 9c9e08fd8300..7396e18dd7e5 100644 /* Shutdown */ ldr r0, .shdwc mov tmp1, #0xA5000000 --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/212-ARM-at91-pm-add-sama7g5-ddr-controller.patch b/target/linux/at91/patches-5.10/212-ARM-at91-pm-add-sama7g5-ddr-controller.patch index e85e55ccc6..e496245061 100644 --- a/target/linux/at91/patches-5.10/212-ARM-at91-pm-add-sama7g5-ddr-controller.patch +++ b/target/linux/at91/patches-5.10/212-ARM-at91-pm-add-sama7g5-ddr-controller.patch @@ -13,11 +13,9 @@ Link: https://lore.kernel.org/r/20210415105010.569620-18-claudiu.beznea@microchi arch/arm/mach-at91/pm.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) -diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c -index 96f2be0a53cb..622d68724c3f 100644 --- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.c -@@ -548,6 +548,7 @@ static const struct of_device_id ramc_ids[] __initconst = { +@@ -548,6 +548,7 @@ static const struct of_device_id ramc_id { .compatible = "atmel,at91sam9260-sdramc", .data = &ramc_infos[1] }, { .compatible = "atmel,at91sam9g45-ddramc", .data = &ramc_infos[2] }, { .compatible = "atmel,sama5d3-ddramc", .data = &ramc_infos[3] }, @@ -40,6 +38,3 @@ index 96f2be0a53cb..622d68724c3f 100644 idx++; } --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/213-ARM-at91-pm-add-sama7g5-ddr-phy-controller.patch b/target/linux/at91/patches-5.10/213-ARM-at91-pm-add-sama7g5-ddr-phy-controller.patch index c01c952620..89dcacec92 100644 --- a/target/linux/at91/patches-5.10/213-ARM-at91-pm-add-sama7g5-ddr-phy-controller.patch +++ b/target/linux/at91/patches-5.10/213-ARM-at91-pm-add-sama7g5-ddr-phy-controller.patch @@ -14,11 +14,9 @@ Link: https://lore.kernel.org/r/20210415105010.569620-19-claudiu.beznea@microchi arch/arm/mach-at91/pm.c | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) -diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c -index 622d68724c3f..b047a1f2ddfb 100644 --- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.c -@@ -552,7 +552,12 @@ static const struct of_device_id ramc_ids[] __initconst = { +@@ -552,7 +552,12 @@ static const struct of_device_id ramc_id { /*sentinel*/ } }; @@ -94,6 +92,3 @@ index 622d68724c3f..b047a1f2ddfb 100644 if (ret) return; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/214-ARM-at91-pm-save-ddr-phy-calibration-data-to-securam.patch b/target/linux/at91/patches-5.10/214-ARM-at91-pm-save-ddr-phy-calibration-data-to-securam.patch index f6306c8276..a46b5acb22 100644 --- a/target/linux/at91/patches-5.10/214-ARM-at91-pm-save-ddr-phy-calibration-data-to-securam.patch +++ b/target/linux/at91/patches-5.10/214-ARM-at91-pm-save-ddr-phy-calibration-data-to-securam.patch @@ -21,8 +21,6 @@ Link: https://lore.kernel.org/r/20210415105010.569620-20-claudiu.beznea@microchi arch/arm/mach-at91/pm.c | 60 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) -diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c -index b047a1f2ddfb..fd3beaeec17d 100644 --- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.c @@ -10,6 +10,7 @@ @@ -93,7 +91,7 @@ index b047a1f2ddfb..fd3beaeec17d 100644 flush_cache_all(); outer_disable(); -@@ -688,12 +709,40 @@ static bool __init at91_is_pm_mode_active(int pm_mode) +@@ -688,12 +709,40 @@ static bool __init at91_is_pm_mode_activ soc_pm.data.suspend_mode == pm_mode); } @@ -135,7 +133,7 @@ index b047a1f2ddfb..fd3beaeec17d 100644 if (!IS_ENABLED(CONFIG_SOC_SAMA5D2)) return -EPERM; -@@ -728,6 +777,15 @@ static int __init at91_pm_backup_init(void) +@@ -728,6 +777,15 @@ static int __init at91_pm_backup_init(vo soc_pm.bu->suspended = 0; soc_pm.bu->canary = __pa_symbol(&canary); soc_pm.bu->resume = __pa_symbol(cpu_resume); @@ -151,6 +149,3 @@ index b047a1f2ddfb..fd3beaeec17d 100644 return 0; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/215-ARM-at91-pm-add-backup-mode-support-for-SAMA7G5.patch b/target/linux/at91/patches-5.10/215-ARM-at91-pm-add-backup-mode-support-for-SAMA7G5.patch index 41c796b693..cc5f4aec0a 100644 --- a/target/linux/at91/patches-5.10/215-ARM-at91-pm-add-backup-mode-support-for-SAMA7G5.patch +++ b/target/linux/at91/patches-5.10/215-ARM-at91-pm-add-backup-mode-support-for-SAMA7G5.patch @@ -15,11 +15,9 @@ Link: https://lore.kernel.org/r/20210415105010.569620-21-claudiu.beznea@microchi arch/arm/mach-at91/pm_suspend.S | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) -diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c -index fd3beaeec17d..653350eec9b6 100644 --- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.c -@@ -744,7 +744,8 @@ static int __init at91_pm_backup_init(void) +@@ -744,7 +744,8 @@ static int __init at91_pm_backup_init(vo struct platform_device *pdev; int ret = -ENODEV, located = 0; @@ -29,8 +27,6 @@ index fd3beaeec17d..653350eec9b6 100644 return -EPERM; if (!at91_is_pm_mode_active(AT91_PM_BACKUP)) -diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S -index 7396e18dd7e5..cbd61a3bcab1 100644 --- a/arch/arm/mach-at91/pm_suspend.S +++ b/arch/arm/mach-at91/pm_suspend.S @@ -106,6 +106,12 @@ lp_done_\ena: @@ -54,6 +50,3 @@ index 7396e18dd7e5..cbd61a3bcab1 100644 str tmp1, [r0, #0] .endm --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/216-ARM-at91-pm-add-sama7g5-s-pmc.patch b/target/linux/at91/patches-5.10/216-ARM-at91-pm-add-sama7g5-s-pmc.patch index f52478aaf7..a471195fbc 100644 --- a/target/linux/at91/patches-5.10/216-ARM-at91-pm-add-sama7g5-s-pmc.patch +++ b/target/linux/at91/patches-5.10/216-ARM-at91-pm-add-sama7g5-s-pmc.patch @@ -12,11 +12,9 @@ Link: https://lore.kernel.org/r/20210415105010.569620-22-claudiu.beznea@microchi arch/arm/mach-at91/pm.c | 6 ++++++ 1 file changed, 6 insertions(+) -diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c -index 653350eec9b6..687ce8582b4f 100644 --- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.c -@@ -912,6 +912,11 @@ static const struct pmc_info pmc_infos[] __initconst = { +@@ -912,6 +912,11 @@ static const struct pmc_info pmc_infos[] .mckr = 0x28, .version = AT91_PMC_V2, }, @@ -28,7 +26,7 @@ index 653350eec9b6..687ce8582b4f 100644 }; static const struct of_device_id atmel_pmc_ids[] __initconst = { -@@ -927,6 +932,7 @@ static const struct of_device_id atmel_pmc_ids[] __initconst = { +@@ -927,6 +932,7 @@ static const struct of_device_id atmel_p { .compatible = "atmel,sama5d4-pmc", .data = &pmc_infos[1] }, { .compatible = "atmel,sama5d2-pmc", .data = &pmc_infos[1] }, { .compatible = "microchip,sam9x60-pmc", .data = &pmc_infos[4] }, @@ -36,6 +34,3 @@ index 653350eec9b6..687ce8582b4f 100644 { /* sentinel */ }, }; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/217-ARM-at91-sama7-introduce-sama7-SoC-family.patch b/target/linux/at91/patches-5.10/217-ARM-at91-sama7-introduce-sama7-SoC-family.patch index de38988237..dca065971b 100644 --- a/target/linux/at91/patches-5.10/217-ARM-at91-sama7-introduce-sama7-SoC-family.patch +++ b/target/linux/at91/patches-5.10/217-ARM-at91-sama7-introduce-sama7-SoC-family.patch @@ -16,11 +16,9 @@ Link: https://lore.kernel.org/r/20210415105010.569620-23-claudiu.beznea@microchi 2 files changed, 33 insertions(+) create mode 100644 arch/arm/mach-at91/sama7.c -diff --git a/arch/arm/mach-at91/Makefile b/arch/arm/mach-at91/Makefile -index f565490f1b70..522b680b6446 100644 --- a/arch/arm/mach-at91/Makefile +++ b/arch/arm/mach-at91/Makefile -@@ -8,6 +8,7 @@ obj-$(CONFIG_SOC_AT91RM9200) += at91rm9200.o +@@ -8,6 +8,7 @@ obj-$(CONFIG_SOC_AT91RM9200) += at91rm92 obj-$(CONFIG_SOC_AT91SAM9) += at91sam9.o obj-$(CONFIG_SOC_SAM9X60) += sam9x60.o obj-$(CONFIG_SOC_SAMA5) += sama5.o @@ -28,9 +26,6 @@ index f565490f1b70..522b680b6446 100644 obj-$(CONFIG_SOC_SAMV7) += samv7.o # Power Management -diff --git a/arch/arm/mach-at91/sama7.c b/arch/arm/mach-at91/sama7.c -new file mode 100644 -index 000000000000..19d7bcbc97f1 --- /dev/null +++ b/arch/arm/mach-at91/sama7.c @@ -0,0 +1,32 @@ @@ -66,6 +61,3 @@ index 000000000000..19d7bcbc97f1 + .dt_compat = sama7_dt_board_compat, +MACHINE_END + --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/218-ARM-at91-pm-add-pm-support-for-SAMA7G5.patch b/target/linux/at91/patches-5.10/218-ARM-at91-pm-add-pm-support-for-SAMA7G5.patch index c6dc471346..aada9c9679 100644 --- a/target/linux/at91/patches-5.10/218-ARM-at91-pm-add-pm-support-for-SAMA7G5.patch +++ b/target/linux/at91/patches-5.10/218-ARM-at91-pm-add-pm-support-for-SAMA7G5.patch @@ -14,11 +14,9 @@ Link: https://lore.kernel.org/r/20210415105010.569620-24-claudiu.beznea@microchi arch/arm/mach-at91/sama7.c | 1 + 3 files changed, 40 insertions(+) -diff --git a/arch/arm/mach-at91/generic.h b/arch/arm/mach-at91/generic.h -index 0a4cdcb4985b..0c3960a8b3eb 100644 --- a/arch/arm/mach-at91/generic.h +++ b/arch/arm/mach-at91/generic.h -@@ -14,12 +14,14 @@ extern void __init at91sam9_pm_init(void); +@@ -14,12 +14,14 @@ extern void __init at91sam9_pm_init(void extern void __init sam9x60_pm_init(void); extern void __init sama5_pm_init(void); extern void __init sama5d2_pm_init(void); @@ -33,11 +31,9 @@ index 0a4cdcb4985b..0c3960a8b3eb 100644 #endif #endif /* _AT91_GENERIC_H */ -diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c -index 687ce8582b4f..9c8c998cf9f4 100644 --- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.c -@@ -152,6 +152,17 @@ static const struct of_device_id sam9x60_ws_ids[] = { +@@ -152,6 +152,17 @@ static const struct of_device_id sam9x60 { /* sentinel */ } }; @@ -88,8 +84,6 @@ index 687ce8582b4f..9c8c998cf9f4 100644 static int __init at91_pm_modes_select(char *str) { char *s; -diff --git a/arch/arm/mach-at91/sama7.c b/arch/arm/mach-at91/sama7.c -index 19d7bcbc97f1..bd43733ede18 100644 --- a/arch/arm/mach-at91/sama7.c +++ b/arch/arm/mach-at91/sama7.c @@ -17,6 +17,7 @@ @@ -100,6 +94,3 @@ index 19d7bcbc97f1..bd43733ede18 100644 } static const char *const sama7_dt_board_compat[] __initconst = { --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/219-ARM-at91-pm-add-sama7g5-shdwc.patch b/target/linux/at91/patches-5.10/219-ARM-at91-pm-add-sama7g5-shdwc.patch index ac62f053e6..062274c18f 100644 --- a/target/linux/at91/patches-5.10/219-ARM-at91-pm-add-sama7g5-shdwc.patch +++ b/target/linux/at91/patches-5.10/219-ARM-at91-pm-add-sama7g5-shdwc.patch @@ -12,11 +12,9 @@ Link: https://lore.kernel.org/r/20210415105010.569620-25-claudiu.beznea@microchi arch/arm/mach-at91/pm.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c -index 9c8c998cf9f4..a07e14d89ba4 100644 --- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.c -@@ -809,6 +809,7 @@ static int __init at91_pm_backup_init(void) +@@ -809,6 +809,7 @@ securam_fail: static const struct of_device_id atmel_shdwc_ids[] = { { .compatible = "atmel,sama5d2-shdwc" }, { .compatible = "microchip,sam9x60-shdwc" }, @@ -24,6 +22,3 @@ index 9c8c998cf9f4..a07e14d89ba4 100644 { /* sentinel. */ } }; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/220-ARM-configs-at91-add-defconfig-for-sama7-family-of-S.patch b/target/linux/at91/patches-5.10/220-ARM-configs-at91-add-defconfig-for-sama7-family-of-S.patch index 80a8d08d01..fdb45afa7d 100644 --- a/target/linux/at91/patches-5.10/220-ARM-configs-at91-add-defconfig-for-sama7-family-of-S.patch +++ b/target/linux/at91/patches-5.10/220-ARM-configs-at91-add-defconfig-for-sama7-family-of-S.patch @@ -19,9 +19,6 @@ Link: https://lore.kernel.org/r/20210628120452.74408-3-eugen.hristev@microchip.c 1 file changed, 209 insertions(+) create mode 100644 arch/arm/configs/sama7_defconfig -diff --git a/arch/arm/configs/sama7_defconfig b/arch/arm/configs/sama7_defconfig -new file mode 100644 -index 000000000000..938aae4bd80b --- /dev/null +++ b/arch/arm/configs/sama7_defconfig @@ -0,0 +1,209 @@ @@ -234,6 +231,3 @@ index 000000000000..938aae4bd80b +# CONFIG_FTRACE is not set +CONFIG_DEBUG_USER=y +# CONFIG_RUNTIME_TESTING_MENU is not set --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/221-ARM-multi_v7_defconfig-add-sama7g5-SoC.patch b/target/linux/at91/patches-5.10/221-ARM-multi_v7_defconfig-add-sama7g5-SoC.patch index 5d8ab047fd..6c95d4a0f5 100644 --- a/target/linux/at91/patches-5.10/221-ARM-multi_v7_defconfig-add-sama7g5-SoC.patch +++ b/target/linux/at91/patches-5.10/221-ARM-multi_v7_defconfig-add-sama7g5-SoC.patch @@ -13,8 +13,6 @@ Link: https://lore.kernel.org/r/20210628120452.74408-4-eugen.hristev@microchip.c arch/arm/configs/multi_v7_defconfig | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig -index a611b0c1e540..4974f9bf163f 100644 --- a/arch/arm/configs/multi_v7_defconfig +++ b/arch/arm/configs/multi_v7_defconfig @@ -15,6 +15,7 @@ CONFIG_ARCH_AT91=y @@ -33,6 +31,3 @@ index a611b0c1e540..4974f9bf163f 100644 CONFIG_BCM2835_MBOX=y CONFIG_ROCKCHIP_IOMMU=y CONFIG_TEGRA_IOMMU_GART=y --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/222-ARM-dts-at91-add-sama7g5-SoC-DT-and-sama7g5-ek.patch b/target/linux/at91/patches-5.10/222-ARM-dts-at91-add-sama7g5-SoC-DT-and-sama7g5-ek.patch index ec2b25897f..b79ce5ab2e 100644 --- a/target/linux/at91/patches-5.10/222-ARM-dts-at91-add-sama7g5-SoC-DT-and-sama7g5-ek.patch +++ b/target/linux/at91/patches-5.10/222-ARM-dts-at91-add-sama7g5-SoC-DT-and-sama7g5-ek.patch @@ -25,11 +25,9 @@ Signed-off-by: Claudiu Beznea create mode 100644 arch/arm/boot/dts/sama7g5-pinfunc.h create mode 100644 arch/arm/boot/dts/sama7g5.dtsi -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index ce66ffd5a1bb..2345a2304bd0 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -78,6 +78,8 @@ dtb-$(CONFIG_ARCH_ATLAS6) += \ +@@ -79,6 +79,8 @@ dtb-$(CONFIG_ARCH_ATLAS6) += \ atlas6-evb.dtb dtb-$(CONFIG_ARCH_ATLAS7) += \ atlas7-evb.dtb @@ -38,9 +36,6 @@ index ce66ffd5a1bb..2345a2304bd0 100644 dtb-$(CONFIG_ARCH_AXXIA) += \ axm5516-amarillo.dtb dtb-$(CONFIG_ARCH_BCM2835) += \ -diff --git a/arch/arm/boot/dts/at91-sama7g5ek.dts b/arch/arm/boot/dts/at91-sama7g5ek.dts -new file mode 100644 -index 000000000000..4cbed98cc2f4 --- /dev/null +++ b/arch/arm/boot/dts/at91-sama7g5ek.dts @@ -0,0 +1,656 @@ @@ -700,9 +695,6 @@ index 000000000000..4cbed98cc2f4 + vin-supply = <&vdd_3v3>; + status = "okay"; +}; -diff --git a/arch/arm/boot/dts/sama7g5-pinfunc.h b/arch/arm/boot/dts/sama7g5-pinfunc.h -new file mode 100644 -index 000000000000..22fe9e522a97 --- /dev/null +++ b/arch/arm/boot/dts/sama7g5-pinfunc.h @@ -0,0 +1,923 @@ @@ -1629,9 +1621,6 @@ index 000000000000..22fe9e522a97 +#define PIN_PE7__TIOA4 PINMUX_PIN(PIN_PE7, 3, 3) +#define PIN_PE7__ISC_D11 PINMUX_PIN(PIN_PE7, 5, 2) +#define PIN_PE7__G1_TSUCOMP PINMUX_PIN(PIN_PE7, 7, 1) -diff --git a/arch/arm/boot/dts/sama7g5.dtsi b/arch/arm/boot/dts/sama7g5.dtsi -new file mode 100644 -index 000000000000..cc6be6db7b80 --- /dev/null +++ b/arch/arm/boot/dts/sama7g5.dtsi @@ -0,0 +1,528 @@ @@ -2163,6 +2152,3 @@ index 000000000000..cc6be6db7b80 + }; + }; +}; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/223-ARM-at91-pm-do-not-panic-if-ram-controllers-are-not-.patch b/target/linux/at91/patches-5.10/223-ARM-at91-pm-do-not-panic-if-ram-controllers-are-not-.patch index 302d0e3752..68bf447a03 100644 --- a/target/linux/at91/patches-5.10/223-ARM-at91-pm-do-not-panic-if-ram-controllers-are-not-.patch +++ b/target/linux/at91/patches-5.10/223-ARM-at91-pm-do-not-panic-if-ram-controllers-are-not-.patch @@ -19,11 +19,9 @@ Link: https://lore.kernel.org/r/20210823131915.23857-2-claudiu.beznea@microchip. arch/arm/mach-at91/pm.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) -diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c -index a07e14d89ba4..d92afca64b49 100644 --- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.c -@@ -589,7 +589,7 @@ static const struct of_device_id ramc_phy_ids[] __initconst = { +@@ -589,7 +589,7 @@ static const struct of_device_id ramc_ph { /* Sentinel. */ }, }; @@ -32,7 +30,7 @@ index a07e14d89ba4..d92afca64b49 100644 { struct device_node *np; const struct of_device_id *of_id; -@@ -625,12 +625,18 @@ static __init void at91_dt_ramc(bool phy_mandatory) +@@ -625,12 +625,18 @@ static __init void at91_dt_ramc(bool phy /* Lookup for DDR PHY node, if any. */ for_each_matching_node_and_match(np, ramc_phy_ids, &of_id) { soc_pm.data.ramc_phy = of_iomap(np, 0); @@ -74,6 +72,3 @@ index a07e14d89ba4..d92afca64b49 100644 at91_pm_modes_init(iomaps, ARRAY_SIZE(iomaps)); at91_pm_init(NULL); --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/224-ARM-dts-at91-sama7g5-add-ram-controllers.patch b/target/linux/at91/patches-5.10/224-ARM-dts-at91-sama7g5-add-ram-controllers.patch index 3c36a41fbd..11c0f2c1e3 100644 --- a/target/linux/at91/patches-5.10/224-ARM-dts-at91-sama7g5-add-ram-controllers.patch +++ b/target/linux/at91/patches-5.10/224-ARM-dts-at91-sama7g5-add-ram-controllers.patch @@ -13,11 +13,9 @@ Link: https://lore.kernel.org/r/20210823131915.23857-3-claudiu.beznea@microchip. arch/arm/boot/dts/sama7g5.dtsi | 12 ++++++++++++ 1 file changed, 12 insertions(+) -diff --git a/arch/arm/boot/dts/sama7g5.dtsi b/arch/arm/boot/dts/sama7g5.dtsi -index cc6be6db7b80..ecabab4343b6 100644 --- a/arch/arm/boot/dts/sama7g5.dtsi +++ b/arch/arm/boot/dts/sama7g5.dtsi -@@ -515,6 +515,18 @@ spi11: spi@400 { +@@ -515,6 +515,18 @@ }; }; @@ -36,6 +34,3 @@ index cc6be6db7b80..ecabab4343b6 100644 gic: interrupt-controller@e8c11000 { compatible = "arm,cortex-a7-gic"; #interrupt-cells = <3>; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/225-ARM-dts-at91-sama7g5-add-securam-node.patch b/target/linux/at91/patches-5.10/225-ARM-dts-at91-sama7g5-add-securam-node.patch index ec1c2abbab..f264f5c129 100644 --- a/target/linux/at91/patches-5.10/225-ARM-dts-at91-sama7g5-add-securam-node.patch +++ b/target/linux/at91/patches-5.10/225-ARM-dts-at91-sama7g5-add-securam-node.patch @@ -12,11 +12,9 @@ Link: https://lore.kernel.org/r/20210823131915.23857-4-claudiu.beznea@microchip. arch/arm/boot/dts/sama7g5.dtsi | 11 +++++++++++ 1 file changed, 11 insertions(+) -diff --git a/arch/arm/boot/dts/sama7g5.dtsi b/arch/arm/boot/dts/sama7g5.dtsi -index ecabab4343b6..3a4315ac0eb0 100644 --- a/arch/arm/boot/dts/sama7g5.dtsi +++ b/arch/arm/boot/dts/sama7g5.dtsi -@@ -75,6 +75,17 @@ soc { +@@ -75,6 +75,17 @@ #size-cells = <1>; ranges; @@ -34,6 +32,3 @@ index ecabab4343b6..3a4315ac0eb0 100644 secumod: secumod@e0004000 { compatible = "microchip,sama7g5-secumod", "atmel,sama5d2-secumod", "syscon"; reg = <0xe0004000 0x4000>; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/226-ARM-dts-at91-sama7g5-add-shdwc-node.patch b/target/linux/at91/patches-5.10/226-ARM-dts-at91-sama7g5-add-shdwc-node.patch index a149680ad5..da941918a1 100644 --- a/target/linux/at91/patches-5.10/226-ARM-dts-at91-sama7g5-add-shdwc-node.patch +++ b/target/linux/at91/patches-5.10/226-ARM-dts-at91-sama7g5-add-shdwc-node.patch @@ -13,11 +13,9 @@ Link: https://lore.kernel.org/r/20210823131915.23857-5-claudiu.beznea@microchip. arch/arm/boot/dts/sama7g5.dtsi | 11 +++++++++++ 2 files changed, 20 insertions(+) -diff --git a/arch/arm/boot/dts/at91-sama7g5ek.dts b/arch/arm/boot/dts/at91-sama7g5ek.dts -index 4cbed98cc2f4..8b13b031a167 100644 --- a/arch/arm/boot/dts/at91-sama7g5ek.dts +++ b/arch/arm/boot/dts/at91-sama7g5ek.dts -@@ -634,6 +634,15 @@ &sdmmc2 { +@@ -634,6 +634,15 @@ pinctrl-0 = <&pinctrl_sdmmc2_default>; }; @@ -33,11 +31,9 @@ index 4cbed98cc2f4..8b13b031a167 100644 &spdifrx { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_spdifrx_default>; -diff --git a/arch/arm/boot/dts/sama7g5.dtsi b/arch/arm/boot/dts/sama7g5.dtsi -index 3a4315ac0eb0..e50806cf7660 100644 --- a/arch/arm/boot/dts/sama7g5.dtsi +++ b/arch/arm/boot/dts/sama7g5.dtsi -@@ -122,6 +122,17 @@ pmc: pmc@e0018000 { +@@ -122,6 +122,17 @@ clock-names = "td_slck", "md_slck", "main_xtal"; }; @@ -55,6 +51,3 @@ index 3a4315ac0eb0..e50806cf7660 100644 rtt: rtt@e001d020 { compatible = "microchip,sama7g5-rtt", "microchip,sam9x60-rtt", "atmel,at91sam9260-rtt"; reg = <0xe001d020 0x30>; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/227-ARM-dts-at91-sama7g5-add-chipid.patch b/target/linux/at91/patches-5.10/227-ARM-dts-at91-sama7g5-add-chipid.patch index 53530a537b..3e307e418e 100644 --- a/target/linux/at91/patches-5.10/227-ARM-dts-at91-sama7g5-add-chipid.patch +++ b/target/linux/at91/patches-5.10/227-ARM-dts-at91-sama7g5-add-chipid.patch @@ -12,11 +12,9 @@ Link: https://lore.kernel.org/r/20210908094329.182477-1-claudiu.beznea@microchip arch/arm/boot/dts/sama7g5.dtsi | 5 +++++ 1 file changed, 5 insertions(+) -diff --git a/arch/arm/boot/dts/sama7g5.dtsi b/arch/arm/boot/dts/sama7g5.dtsi -index e50806cf7660..6c58c151c6d9 100644 --- a/arch/arm/boot/dts/sama7g5.dtsi +++ b/arch/arm/boot/dts/sama7g5.dtsi -@@ -159,6 +159,11 @@ ps_wdt: watchdog@e001d180 { +@@ -159,6 +159,11 @@ clocks = <&clk32k 0>; }; @@ -28,6 +26,3 @@ index e50806cf7660..6c58c151c6d9 100644 sdmmc0: mmc@e1204000 { compatible = "microchip,sama7g5-sdhci", "microchip,sam9x60-sdhci"; reg = <0xe1204000 0x4000>; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/228-ARM-at91-pm-switch-backup-area-to-vbat-in-backup-mod.patch b/target/linux/at91/patches-5.10/228-ARM-at91-pm-switch-backup-area-to-vbat-in-backup-mod.patch index 7a8a47fd5d..02532b4722 100644 --- a/target/linux/at91/patches-5.10/228-ARM-at91-pm-switch-backup-area-to-vbat-in-backup-mod.patch +++ b/target/linux/at91/patches-5.10/228-ARM-at91-pm-switch-backup-area-to-vbat-in-backup-mod.patch @@ -17,8 +17,6 @@ Link: https://lore.kernel.org/r/20210830100927.22711-1-claudiu.beznea@microchip. arch/arm/mach-at91/pm.c | 52 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) -diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c -index d92afca64b49..8711d6824c1f 100644 --- a/arch/arm/mach-at91/pm.c +++ b/arch/arm/mach-at91/pm.c @@ -47,12 +47,26 @@ struct at91_pm_bu { @@ -56,7 +54,7 @@ index d92afca64b49..8711d6824c1f 100644 void *memcs; }; -@@ -356,9 +371,36 @@ static int at91_suspend_finish(unsigned long val) +@@ -356,9 +371,36 @@ static int at91_suspend_finish(unsigned return 0; } @@ -117,6 +115,3 @@ index d92afca64b49..8711d6824c1f 100644 } static int __init at91_pm_modes_select(char *str) --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/229-ARM-dts-at91-sama7g5ek-add-suspend-voltage-for-ddr3l.patch b/target/linux/at91/patches-5.10/229-ARM-dts-at91-sama7g5ek-add-suspend-voltage-for-ddr3l.patch index ce412dde1c..b5074b58a0 100644 --- a/target/linux/at91/patches-5.10/229-ARM-dts-at91-sama7g5ek-add-suspend-voltage-for-ddr3l.patch +++ b/target/linux/at91/patches-5.10/229-ARM-dts-at91-sama7g5ek-add-suspend-voltage-for-ddr3l.patch @@ -24,11 +24,9 @@ Link: https://lore.kernel.org/r/20210930154219.2214051-2-claudiu.beznea@microchi arch/arm/boot/dts/at91-sama7g5ek.dts | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/arch/arm/boot/dts/at91-sama7g5ek.dts b/arch/arm/boot/dts/at91-sama7g5ek.dts -index 8b13b031a167..f0772fa01751 100644 --- a/arch/arm/boot/dts/at91-sama7g5ek.dts +++ b/arch/arm/boot/dts/at91-sama7g5ek.dts -@@ -196,11 +196,13 @@ vddioddr: VDD_DDR { +@@ -196,11 +196,13 @@ regulator-state-standby { regulator-on-in-suspend; @@ -42,6 +40,3 @@ index 8b13b031a167..f0772fa01751 100644 regulator-mode = <4>; }; }; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/230-ARM-at91-pm-group-constants-and-addresses-loading.patch b/target/linux/at91/patches-5.10/230-ARM-at91-pm-group-constants-and-addresses-loading.patch index af6698bfeb..e952f6c377 100644 --- a/target/linux/at91/patches-5.10/230-ARM-at91-pm-group-constants-and-addresses-loading.patch +++ b/target/linux/at91/patches-5.10/230-ARM-at91-pm-group-constants-and-addresses-loading.patch @@ -13,8 +13,6 @@ Link: https://lore.kernel.org/r/20210930154219.2214051-3-claudiu.beznea@microchi arch/arm/mach-at91/pm_suspend.S | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) -diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S -index cbd61a3bcab1..34f251fdb743 100644 --- a/arch/arm/mach-at91/pm_suspend.S +++ b/arch/arm/mach-at91/pm_suspend.S @@ -1014,6 +1014,15 @@ ENTRY(at91_pm_suspend_in_sram) @@ -48,6 +46,3 @@ index cbd61a3bcab1..34f251fdb743 100644 /* Both ldrne below are here to preload their address in the TLB */ ldr tmp1, [r0, #PM_DATA_SHDWC] str tmp1, .shdwc --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/231-ARM-at91-pm-preload-base-address-of-controllers-in-t.patch b/target/linux/at91/patches-5.10/231-ARM-at91-pm-preload-base-address-of-controllers-in-t.patch index 86b07071a4..bd7fb4e39e 100644 --- a/target/linux/at91/patches-5.10/231-ARM-at91-pm-preload-base-address-of-controllers-in-t.patch +++ b/target/linux/at91/patches-5.10/231-ARM-at91-pm-preload-base-address-of-controllers-in-t.patch @@ -34,8 +34,6 @@ Link: https://lore.kernel.org/r/20210930154219.2214051-4-claudiu.beznea@microchi arch/arm/mach-at91/pm_suspend.S | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) -diff --git a/arch/arm/mach-at91/pm_suspend.S b/arch/arm/mach-at91/pm_suspend.S -index 34f251fdb743..fdb4f63ecde4 100644 --- a/arch/arm/mach-at91/pm_suspend.S +++ b/arch/arm/mach-at91/pm_suspend.S @@ -1014,6 +1014,10 @@ ENTRY(at91_pm_suspend_in_sram) @@ -93,6 +91,3 @@ index 34f251fdb743..fdb4f63ecde4 100644 /* Active the self-refresh mode */ at91_sramc_self_refresh_ena --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/232-ARM-dts-at91-sama7g5ek-use-proper-slew-rate-settings.patch b/target/linux/at91/patches-5.10/232-ARM-dts-at91-sama7g5ek-use-proper-slew-rate-settings.patch index 014ab46006..9b59d9521f 100644 --- a/target/linux/at91/patches-5.10/232-ARM-dts-at91-sama7g5ek-use-proper-slew-rate-settings.patch +++ b/target/linux/at91/patches-5.10/232-ARM-dts-at91-sama7g5ek-use-proper-slew-rate-settings.patch @@ -19,11 +19,9 @@ Link: https://lore.kernel.org/r/20210915074836.6574-2-claudiu.beznea@microchip.c arch/arm/boot/dts/at91-sama7g5ek.dts | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) -diff --git a/arch/arm/boot/dts/at91-sama7g5ek.dts b/arch/arm/boot/dts/at91-sama7g5ek.dts -index f0772fa01751..30b67cad5f14 100644 --- a/arch/arm/boot/dts/at91-sama7g5ek.dts +++ b/arch/arm/boot/dts/at91-sama7g5ek.dts -@@ -355,7 +355,10 @@ &gmac0 { +@@ -355,7 +355,10 @@ #address-cells = <1>; #size-cells = <0>; pinctrl-names = "default"; @@ -35,7 +33,7 @@ index f0772fa01751..30b67cad5f14 100644 phy-mode = "rgmii-id"; status = "okay"; -@@ -370,7 +373,9 @@ &gmac1 { +@@ -370,7 +373,9 @@ #address-cells = <1>; #size-cells = <0>; pinctrl-names = "default"; @@ -46,7 +44,7 @@ index f0772fa01751..30b67cad5f14 100644 phy-mode = "rmii"; status = "okay"; -@@ -425,14 +430,20 @@ pinctrl_gmac0_default: gmac0_default { +@@ -425,14 +430,20 @@ , , , @@ -69,7 +67,7 @@ index f0772fa01751..30b67cad5f14 100644 bias-pull-up; }; -@@ -449,8 +460,13 @@ pinctrl_gmac1_default: gmac1_default { +@@ -449,8 +460,13 @@ , , , @@ -85,6 +83,3 @@ index f0772fa01751..30b67cad5f14 100644 ; bias-disable; }; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/233-ARM-dts-at91-sama7g5ek-to-not-touch-slew-rate-for-SD.patch b/target/linux/at91/patches-5.10/233-ARM-dts-at91-sama7g5ek-to-not-touch-slew-rate-for-SD.patch index 75b64b7b54..61ed933f02 100644 --- a/target/linux/at91/patches-5.10/233-ARM-dts-at91-sama7g5ek-to-not-touch-slew-rate-for-SD.patch +++ b/target/linux/at91/patches-5.10/233-ARM-dts-at91-sama7g5ek-to-not-touch-slew-rate-for-SD.patch @@ -23,11 +23,9 @@ Link: https://lore.kernel.org/r/20210915074836.6574-3-claudiu.beznea@microchip.c arch/arm/boot/dts/at91-sama7g5ek.dts | 6 ++++++ 1 file changed, 6 insertions(+) -diff --git a/arch/arm/boot/dts/at91-sama7g5ek.dts b/arch/arm/boot/dts/at91-sama7g5ek.dts -index 30b67cad5f14..f3d6aaa3a78d 100644 --- a/arch/arm/boot/dts/at91-sama7g5ek.dts +++ b/arch/arm/boot/dts/at91-sama7g5ek.dts -@@ -558,6 +558,7 @@ cmd_data { +@@ -558,6 +558,7 @@ , , ; @@ -35,7 +33,7 @@ index 30b67cad5f14..f3d6aaa3a78d 100644 bias-pull-up; }; -@@ -565,6 +566,7 @@ ck_cd_rstn_vddsel { +@@ -565,6 +566,7 @@ pinmux = , , ; @@ -43,7 +41,7 @@ index 30b67cad5f14..f3d6aaa3a78d 100644 bias-pull-up; }; }; -@@ -576,6 +578,7 @@ cmd_data { +@@ -576,6 +578,7 @@ , , ; @@ -51,7 +49,7 @@ index 30b67cad5f14..f3d6aaa3a78d 100644 bias-pull-up; }; -@@ -584,6 +587,7 @@ ck_cd_rstn_vddsel { +@@ -584,6 +587,7 @@ , , ; @@ -59,7 +57,7 @@ index 30b67cad5f14..f3d6aaa3a78d 100644 bias-pull-up; }; }; -@@ -595,11 +599,13 @@ cmd_data { +@@ -595,11 +599,13 @@ , , ; @@ -73,6 +71,3 @@ index 30b67cad5f14..f3d6aaa3a78d 100644 bias-pull-up; }; }; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/234-clk-at91-re-factor-clocks-suspend-resume.patch b/target/linux/at91/patches-5.10/234-clk-at91-re-factor-clocks-suspend-resume.patch index 9defd65c49..fc08b1fce6 100644 --- a/target/linux/at91/patches-5.10/234-clk-at91-re-factor-clocks-suspend-resume.patch +++ b/target/linux/at91/patches-5.10/234-clk-at91-re-factor-clocks-suspend-resume.patch @@ -40,8 +40,6 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/pmc.h | 24 ++-- 12 files changed, 558 insertions(+), 181 deletions(-) -diff --git a/drivers/clk/at91/clk-generated.c b/drivers/clk/at91/clk-generated.c -index b656d25a9767..23cc8297ec4c 100644 --- a/drivers/clk/at91/clk-generated.c +++ b/drivers/clk/at91/clk-generated.c @@ -27,6 +27,7 @@ struct clk_generated { @@ -95,7 +93,7 @@ index b656d25a9767..23cc8297ec4c 100644 return 0; } -@@ -245,6 +256,23 @@ static int clk_generated_set_rate(struct clk_hw *hw, +@@ -245,6 +256,23 @@ static int clk_generated_set_rate(struct return 0; } @@ -119,7 +117,7 @@ index b656d25a9767..23cc8297ec4c 100644 static const struct clk_ops generated_ops = { .enable = clk_generated_enable, .disable = clk_generated_disable, -@@ -254,6 +282,8 @@ static const struct clk_ops generated_ops = { +@@ -254,6 +282,8 @@ static const struct clk_ops generated_op .get_parent = clk_generated_get_parent, .set_parent = clk_generated_set_parent, .set_rate = clk_generated_set_rate, @@ -128,7 +126,7 @@ index b656d25a9767..23cc8297ec4c 100644 }; /** -@@ -320,8 +350,6 @@ at91_clk_register_generated(struct regmap *regmap, spinlock_t *lock, +@@ -320,8 +350,6 @@ at91_clk_register_generated(struct regma if (ret) { kfree(gck); hw = ERR_PTR(ret); @@ -137,8 +135,6 @@ index b656d25a9767..23cc8297ec4c 100644 } return hw; -diff --git a/drivers/clk/at91/clk-main.c b/drivers/clk/at91/clk-main.c -index cfae2f59df66..8601b27c1ae0 100644 --- a/drivers/clk/at91/clk-main.c +++ b/drivers/clk/at91/clk-main.c @@ -28,6 +28,7 @@ @@ -165,7 +161,7 @@ index cfae2f59df66..8601b27c1ae0 100644 u8 parent; }; -@@ -120,10 +123,29 @@ static int clk_main_osc_is_prepared(struct clk_hw *hw) +@@ -120,10 +123,29 @@ static int clk_main_osc_is_prepared(stru return (status & AT91_PMC_MOSCS) && clk_main_parent_select(tmp); } @@ -195,7 +191,7 @@ index cfae2f59df66..8601b27c1ae0 100644 }; struct clk_hw * __init -@@ -240,12 +262,31 @@ static unsigned long clk_main_rc_osc_recalc_accuracy(struct clk_hw *hw, +@@ -240,12 +262,31 @@ static unsigned long clk_main_rc_osc_rec return osc->accuracy; } @@ -227,7 +223,7 @@ index cfae2f59df66..8601b27c1ae0 100644 }; struct clk_hw * __init -@@ -465,12 +506,37 @@ static u8 clk_sam9x5_main_get_parent(struct clk_hw *hw) +@@ -465,12 +506,37 @@ static u8 clk_sam9x5_main_get_parent(str return clk_main_parent_select(status); } @@ -265,8 +261,6 @@ index cfae2f59df66..8601b27c1ae0 100644 }; struct clk_hw * __init -diff --git a/drivers/clk/at91/clk-master.c b/drivers/clk/at91/clk-master.c -index a80427980bf7..f75549fff023 100644 --- a/drivers/clk/at91/clk-master.c +++ b/drivers/clk/at91/clk-master.c @@ -37,6 +37,7 @@ struct clk_master { @@ -277,7 +271,7 @@ index a80427980bf7..f75549fff023 100644 u32 *mux_table; u32 mckr; int chg_pid; -@@ -112,10 +113,52 @@ static unsigned long clk_master_div_recalc_rate(struct clk_hw *hw, +@@ -112,10 +113,52 @@ static unsigned long clk_master_div_reca return rate; } @@ -330,7 +324,7 @@ index a80427980bf7..f75549fff023 100644 }; static int clk_master_div_set_rate(struct clk_hw *hw, unsigned long rate, -@@ -125,7 +168,9 @@ static int clk_master_div_set_rate(struct clk_hw *hw, unsigned long rate, +@@ -125,7 +168,9 @@ static int clk_master_div_set_rate(struc const struct clk_master_characteristics *characteristics = master->characteristics; unsigned long flags; @@ -340,7 +334,7 @@ index a80427980bf7..f75549fff023 100644 div = DIV_ROUND_CLOSEST(parent_rate, rate); if (div > ARRAY_SIZE(characteristics->divisors)) -@@ -145,11 +190,24 @@ static int clk_master_div_set_rate(struct clk_hw *hw, unsigned long rate, +@@ -145,11 +190,24 @@ static int clk_master_div_set_rate(struc return -EINVAL; spin_lock_irqsave(master->lock, flags); @@ -368,7 +362,7 @@ index a80427980bf7..f75549fff023 100644 spin_unlock_irqrestore(master->lock, flags); return 0; -@@ -197,12 +255,25 @@ static int clk_master_div_determine_rate(struct clk_hw *hw, +@@ -197,12 +255,25 @@ static int clk_master_div_determine_rate return 0; } @@ -394,7 +388,7 @@ index a80427980bf7..f75549fff023 100644 }; static void clk_sama7g5_master_best_diff(struct clk_rate_request *req, -@@ -272,7 +343,8 @@ static int clk_master_pres_set_rate(struct clk_hw *hw, unsigned long rate, +@@ -272,7 +343,8 @@ static int clk_master_pres_set_rate(stru { struct clk_master *master = to_clk_master(hw); unsigned long flags; @@ -404,7 +398,7 @@ index a80427980bf7..f75549fff023 100644 pres = DIV_ROUND_CLOSEST(parent_rate, rate); if (pres > MASTER_PRES_MAX) -@@ -284,15 +356,27 @@ static int clk_master_pres_set_rate(struct clk_hw *hw, unsigned long rate, +@@ -284,15 +356,27 @@ static int clk_master_pres_set_rate(stru pres = ffs(pres) - 1; spin_lock_irqsave(master->lock, flags); @@ -436,7 +430,7 @@ index a80427980bf7..f75549fff023 100644 } static unsigned long clk_master_pres_recalc_rate(struct clk_hw *hw, -@@ -330,11 +414,68 @@ static u8 clk_master_pres_get_parent(struct clk_hw *hw) +@@ -330,11 +414,68 @@ static u8 clk_master_pres_get_parent(str return mckr & AT91_PMC_CSS; } @@ -505,7 +499,7 @@ index a80427980bf7..f75549fff023 100644 }; static const struct clk_ops master_pres_ops_chg = { -@@ -344,6 +485,8 @@ static const struct clk_ops master_pres_ops_chg = { +@@ -344,6 +485,8 @@ static const struct clk_ops master_pres_ .recalc_rate = clk_master_pres_recalc_rate, .get_parent = clk_master_pres_get_parent, .set_rate = clk_master_pres_set_rate, @@ -514,7 +508,7 @@ index a80427980bf7..f75549fff023 100644 }; static struct clk_hw * __init -@@ -539,20 +682,21 @@ static int clk_sama7g5_master_set_parent(struct clk_hw *hw, u8 index) +@@ -539,20 +682,21 @@ static int clk_sama7g5_master_set_parent return 0; } @@ -540,7 +534,7 @@ index a80427980bf7..f75549fff023 100644 (master->div << MASTER_DIV_SHIFT) | PMC_MCR_CMD | PMC_MCR_ID(master->id)); -@@ -563,6 +707,13 @@ static int clk_sama7g5_master_enable(struct clk_hw *hw) +@@ -563,6 +707,13 @@ static int clk_sama7g5_master_enable(str cpu_relax(); spin_unlock_irqrestore(master->lock, flags); @@ -554,7 +548,7 @@ index a80427980bf7..f75549fff023 100644 return 0; } -@@ -620,6 +771,23 @@ static int clk_sama7g5_master_set_rate(struct clk_hw *hw, unsigned long rate, +@@ -620,6 +771,23 @@ static int clk_sama7g5_master_set_rate(s return 0; } @@ -578,7 +572,7 @@ index a80427980bf7..f75549fff023 100644 static const struct clk_ops sama7g5_master_ops = { .enable = clk_sama7g5_master_enable, .disable = clk_sama7g5_master_disable, -@@ -629,6 +797,8 @@ static const struct clk_ops sama7g5_master_ops = { +@@ -629,6 +797,8 @@ static const struct clk_ops sama7g5_mast .set_rate = clk_sama7g5_master_set_rate, .get_parent = clk_sama7g5_master_get_parent, .set_parent = clk_sama7g5_master_set_parent, @@ -587,8 +581,6 @@ index a80427980bf7..f75549fff023 100644 }; struct clk_hw * __init -diff --git a/drivers/clk/at91/clk-peripheral.c b/drivers/clk/at91/clk-peripheral.c -index 7a27ba8e0577..e14fa5ac734c 100644 --- a/drivers/clk/at91/clk-peripheral.c +++ b/drivers/clk/at91/clk-peripheral.c @@ -37,6 +37,7 @@ struct clk_sam9x5_peripheral { @@ -599,7 +591,7 @@ index 7a27ba8e0577..e14fa5ac734c 100644 bool auto_div; int chg_pid; }; -@@ -155,10 +156,11 @@ static void clk_sam9x5_peripheral_autodiv(struct clk_sam9x5_peripheral *periph) +@@ -155,10 +156,11 @@ static void clk_sam9x5_peripheral_autodi periph->div = shift; } @@ -613,7 +605,7 @@ index 7a27ba8e0577..e14fa5ac734c 100644 if (periph->id < PERIPHERAL_ID_MIN) return 0; -@@ -168,15 +170,21 @@ static int clk_sam9x5_peripheral_enable(struct clk_hw *hw) +@@ -168,15 +170,21 @@ static int clk_sam9x5_peripheral_enable( (periph->id & periph->layout->pid_mask)); regmap_update_bits(periph->regmap, periph->layout->offset, periph->layout->div_mask | periph->layout->cmd | @@ -638,7 +630,7 @@ index 7a27ba8e0577..e14fa5ac734c 100644 static void clk_sam9x5_peripheral_disable(struct clk_hw *hw) { struct clk_sam9x5_peripheral *periph = to_clk_sam9x5_peripheral(hw); -@@ -393,6 +401,23 @@ static int clk_sam9x5_peripheral_set_rate(struct clk_hw *hw, +@@ -393,6 +401,23 @@ static int clk_sam9x5_peripheral_set_rat return -EINVAL; } @@ -662,7 +654,7 @@ index 7a27ba8e0577..e14fa5ac734c 100644 static const struct clk_ops sam9x5_peripheral_ops = { .enable = clk_sam9x5_peripheral_enable, .disable = clk_sam9x5_peripheral_disable, -@@ -400,6 +425,8 @@ static const struct clk_ops sam9x5_peripheral_ops = { +@@ -400,6 +425,8 @@ static const struct clk_ops sam9x5_perip .recalc_rate = clk_sam9x5_peripheral_recalc_rate, .round_rate = clk_sam9x5_peripheral_round_rate, .set_rate = clk_sam9x5_peripheral_set_rate, @@ -671,7 +663,7 @@ index 7a27ba8e0577..e14fa5ac734c 100644 }; static const struct clk_ops sam9x5_peripheral_chg_ops = { -@@ -409,6 +436,8 @@ static const struct clk_ops sam9x5_peripheral_chg_ops = { +@@ -409,6 +436,8 @@ static const struct clk_ops sam9x5_perip .recalc_rate = clk_sam9x5_peripheral_recalc_rate, .determine_rate = clk_sam9x5_peripheral_determine_rate, .set_rate = clk_sam9x5_peripheral_set_rate, @@ -680,7 +672,7 @@ index 7a27ba8e0577..e14fa5ac734c 100644 }; struct clk_hw * __init -@@ -460,7 +489,6 @@ at91_clk_register_sam9x5_peripheral(struct regmap *regmap, spinlock_t *lock, +@@ -460,7 +489,6 @@ at91_clk_register_sam9x5_peripheral(stru hw = ERR_PTR(ret); } else { clk_sam9x5_peripheral_autodiv(periph); @@ -688,8 +680,6 @@ index 7a27ba8e0577..e14fa5ac734c 100644 } return hw; -diff --git a/drivers/clk/at91/clk-pll.c b/drivers/clk/at91/clk-pll.c -index 6ed986d3eee0..249d6a53cedf 100644 --- a/drivers/clk/at91/clk-pll.c +++ b/drivers/clk/at91/clk-pll.c @@ -40,6 +40,7 @@ struct clk_pll { @@ -700,7 +690,7 @@ index 6ed986d3eee0..249d6a53cedf 100644 }; static inline bool clk_pll_ready(struct regmap *regmap, int id) -@@ -260,6 +261,42 @@ static int clk_pll_set_rate(struct clk_hw *hw, unsigned long rate, +@@ -260,6 +261,42 @@ static int clk_pll_set_rate(struct clk_h return 0; } @@ -752,8 +742,6 @@ index 6ed986d3eee0..249d6a53cedf 100644 }; struct clk_hw * __init -diff --git a/drivers/clk/at91/clk-programmable.c b/drivers/clk/at91/clk-programmable.c -index fcf8f6a1c2c6..6c4b259d31d3 100644 --- a/drivers/clk/at91/clk-programmable.c +++ b/drivers/clk/at91/clk-programmable.c @@ -24,6 +24,7 @@ struct clk_programmable { @@ -764,7 +752,7 @@ index fcf8f6a1c2c6..6c4b259d31d3 100644 }; #define to_clk_programmable(hw) container_of(hw, struct clk_programmable, hw) -@@ -177,12 +178,38 @@ static int clk_programmable_set_rate(struct clk_hw *hw, unsigned long rate, +@@ -177,12 +178,38 @@ static int clk_programmable_set_rate(str return 0; } @@ -803,7 +791,7 @@ index fcf8f6a1c2c6..6c4b259d31d3 100644 }; struct clk_hw * __init -@@ -221,8 +248,6 @@ at91_clk_register_programmable(struct regmap *regmap, +@@ -221,8 +248,6 @@ at91_clk_register_programmable(struct re if (ret) { kfree(prog); hw = ERR_PTR(ret); @@ -812,8 +800,6 @@ index fcf8f6a1c2c6..6c4b259d31d3 100644 } return hw; -diff --git a/drivers/clk/at91/clk-sam9x60-pll.c b/drivers/clk/at91/clk-sam9x60-pll.c -index 1f52409475e9..a73d7c96ce1d 100644 --- a/drivers/clk/at91/clk-sam9x60-pll.c +++ b/drivers/clk/at91/clk-sam9x60-pll.c @@ -38,12 +38,14 @@ struct sam9x60_pll_core { @@ -831,7 +817,7 @@ index 1f52409475e9..a73d7c96ce1d 100644 u8 div; }; -@@ -75,9 +77,8 @@ static unsigned long sam9x60_frac_pll_recalc_rate(struct clk_hw *hw, +@@ -75,9 +77,8 @@ static unsigned long sam9x60_frac_pll_re DIV_ROUND_CLOSEST_ULL((u64)parent_rate * frac->frac, (1 << 22)); } @@ -842,7 +828,7 @@ index 1f52409475e9..a73d7c96ce1d 100644 struct sam9x60_frac *frac = to_sam9x60_frac(core); struct regmap *regmap = core->regmap; unsigned int val, cfrac, cmul; -@@ -141,6 +142,13 @@ static int sam9x60_frac_pll_prepare(struct clk_hw *hw) +@@ -141,6 +142,13 @@ unlock: return 0; } @@ -856,7 +842,7 @@ index 1f52409475e9..a73d7c96ce1d 100644 static void sam9x60_frac_pll_unprepare(struct clk_hw *hw) { struct sam9x60_pll_core *core = to_sam9x60_pll_core(hw); -@@ -280,6 +288,25 @@ static int sam9x60_frac_pll_set_rate_chg(struct clk_hw *hw, unsigned long rate, +@@ -280,6 +288,25 @@ unlock: return ret; } @@ -882,7 +868,7 @@ index 1f52409475e9..a73d7c96ce1d 100644 static const struct clk_ops sam9x60_frac_pll_ops = { .prepare = sam9x60_frac_pll_prepare, .unprepare = sam9x60_frac_pll_unprepare, -@@ -287,6 +314,8 @@ static const struct clk_ops sam9x60_frac_pll_ops = { +@@ -287,6 +314,8 @@ static const struct clk_ops sam9x60_frac .recalc_rate = sam9x60_frac_pll_recalc_rate, .round_rate = sam9x60_frac_pll_round_rate, .set_rate = sam9x60_frac_pll_set_rate, @@ -891,7 +877,7 @@ index 1f52409475e9..a73d7c96ce1d 100644 }; static const struct clk_ops sam9x60_frac_pll_ops_chg = { -@@ -296,11 +325,12 @@ static const struct clk_ops sam9x60_frac_pll_ops_chg = { +@@ -296,11 +325,12 @@ static const struct clk_ops sam9x60_frac .recalc_rate = sam9x60_frac_pll_recalc_rate, .round_rate = sam9x60_frac_pll_round_rate, .set_rate = sam9x60_frac_pll_set_rate_chg, @@ -906,7 +892,7 @@ index 1f52409475e9..a73d7c96ce1d 100644 struct sam9x60_div *div = to_sam9x60_div(core); struct regmap *regmap = core->regmap; unsigned long flags; -@@ -334,6 +364,13 @@ static int sam9x60_div_pll_prepare(struct clk_hw *hw) +@@ -334,6 +364,13 @@ unlock: return 0; } @@ -920,7 +906,7 @@ index 1f52409475e9..a73d7c96ce1d 100644 static void sam9x60_div_pll_unprepare(struct clk_hw *hw) { struct sam9x60_pll_core *core = to_sam9x60_pll_core(hw); -@@ -482,6 +519,25 @@ static int sam9x60_div_pll_set_rate_chg(struct clk_hw *hw, unsigned long rate, +@@ -482,6 +519,25 @@ unlock: return 0; } @@ -946,7 +932,7 @@ index 1f52409475e9..a73d7c96ce1d 100644 static const struct clk_ops sam9x60_div_pll_ops = { .prepare = sam9x60_div_pll_prepare, .unprepare = sam9x60_div_pll_unprepare, -@@ -489,6 +545,8 @@ static const struct clk_ops sam9x60_div_pll_ops = { +@@ -489,6 +545,8 @@ static const struct clk_ops sam9x60_div_ .recalc_rate = sam9x60_div_pll_recalc_rate, .round_rate = sam9x60_div_pll_round_rate, .set_rate = sam9x60_div_pll_set_rate, @@ -955,7 +941,7 @@ index 1f52409475e9..a73d7c96ce1d 100644 }; static const struct clk_ops sam9x60_div_pll_ops_chg = { -@@ -498,6 +556,8 @@ static const struct clk_ops sam9x60_div_pll_ops_chg = { +@@ -498,6 +556,8 @@ static const struct clk_ops sam9x60_div_ .recalc_rate = sam9x60_div_pll_recalc_rate, .round_rate = sam9x60_div_pll_round_rate, .set_rate = sam9x60_div_pll_set_rate_chg, @@ -964,8 +950,6 @@ index 1f52409475e9..a73d7c96ce1d 100644 }; struct clk_hw * __init -diff --git a/drivers/clk/at91/clk-system.c b/drivers/clk/at91/clk-system.c -index f83ec0de86c3..80720fd1a9cf 100644 --- a/drivers/clk/at91/clk-system.c +++ b/drivers/clk/at91/clk-system.c @@ -20,6 +20,7 @@ @@ -976,7 +960,7 @@ index f83ec0de86c3..80720fd1a9cf 100644 u8 id; }; -@@ -77,10 +78,29 @@ static int clk_system_is_prepared(struct clk_hw *hw) +@@ -77,10 +78,29 @@ static int clk_system_is_prepared(struct return !!(status & (1 << sys->id)); } @@ -1006,8 +990,6 @@ index f83ec0de86c3..80720fd1a9cf 100644 }; struct clk_hw * __init -diff --git a/drivers/clk/at91/clk-usb.c b/drivers/clk/at91/clk-usb.c -index 31d5c45e30d7..b0696a928aa9 100644 --- a/drivers/clk/at91/clk-usb.c +++ b/drivers/clk/at91/clk-usb.c @@ -24,6 +24,7 @@ @@ -1018,7 +1000,7 @@ index 31d5c45e30d7..b0696a928aa9 100644 u32 usbs_mask; u8 num_parents; }; -@@ -148,12 +149,38 @@ static int at91sam9x5_clk_usb_set_rate(struct clk_hw *hw, unsigned long rate, +@@ -148,12 +149,38 @@ static int at91sam9x5_clk_usb_set_rate(s return 0; } @@ -1057,8 +1039,6 @@ index 31d5c45e30d7..b0696a928aa9 100644 }; static int at91sam9n12_clk_usb_enable(struct clk_hw *hw) -diff --git a/drivers/clk/at91/clk-utmi.c b/drivers/clk/at91/clk-utmi.c -index df9f3fc3b6a6..a22c10d9a1b9 100644 --- a/drivers/clk/at91/clk-utmi.c +++ b/drivers/clk/at91/clk-utmi.c @@ -23,6 +23,7 @@ struct clk_utmi { @@ -1069,7 +1049,7 @@ index df9f3fc3b6a6..a22c10d9a1b9 100644 }; #define to_clk_utmi(hw) container_of(hw, struct clk_utmi, hw) -@@ -113,11 +114,30 @@ static unsigned long clk_utmi_recalc_rate(struct clk_hw *hw, +@@ -113,11 +114,30 @@ static unsigned long clk_utmi_recalc_rat return UTMI_RATE; } @@ -1100,7 +1080,7 @@ index df9f3fc3b6a6..a22c10d9a1b9 100644 }; static struct clk_hw * __init -@@ -232,10 +252,29 @@ static int clk_utmi_sama7g5_is_prepared(struct clk_hw *hw) +@@ -232,10 +252,29 @@ static int clk_utmi_sama7g5_is_prepared( return 0; } @@ -1130,8 +1110,6 @@ index df9f3fc3b6a6..a22c10d9a1b9 100644 }; struct clk_hw * __init -diff --git a/drivers/clk/at91/pmc.c b/drivers/clk/at91/pmc.c -index b40035b011d0..b2806946a77a 100644 --- a/drivers/clk/at91/pmc.c +++ b/drivers/clk/at91/pmc.c @@ -3,6 +3,7 @@ @@ -1151,7 +1129,7 @@ index b40035b011d0..b2806946a77a 100644 #include "pmc.h" #define PMC_MAX_IDS 128 -@@ -111,147 +110,19 @@ struct pmc_data *pmc_data_allocate(unsigned int ncore, unsigned int nsystem, +@@ -111,147 +110,19 @@ struct pmc_data *pmc_data_allocate(unsig } #ifdef CONFIG_PM @@ -1183,7 +1161,8 @@ index b40035b011d0..b2806946a77a 100644 - * without alteration in the table, and 0 is for unused clocks. - */ -void pmc_register_id(u8 id) --{ ++static int at91_pmc_suspend(void) + { - int i; - - for (i = 0; i < PMC_MAX_IDS; i++) { @@ -1194,14 +1173,16 @@ index b40035b011d0..b2806946a77a 100644 - if (registered_ids[i] == id) - break; - } --} -- ++ return clk_save_context(); + } + -/* - * As Programmable Clock 0 is valid on AT91 chips, there is an offset - * of 1 between the stored value and the real clock ID. - */ -void pmc_register_pck(u8 pck) --{ ++static void at91_pmc_resume(void) + { - int i; - - for (i = 0; i < PMC_MAX_PCKS; i++) { @@ -1215,8 +1196,7 @@ index b40035b011d0..b2806946a77a 100644 -} - -static int pmc_suspend(void) -+static int at91_pmc_suspend(void) - { +-{ - int i; - u8 num; - @@ -1243,12 +1223,10 @@ index b40035b011d0..b2806946a77a 100644 - } - - return 0; -+ return clk_save_context(); - } - +-} +- -static bool pmc_ready(unsigned int mask) -+static void at91_pmc_resume(void) - { +-{ - unsigned int status; - - regmap_read(pmcreg, AT91_PMC_SR, &status); @@ -1317,8 +1295,6 @@ index b40035b011d0..b2806946a77a 100644 register_syscore_ops(&pmc_syscore_ops); -diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h -index a49076c804a9..45df094498ce 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -13,6 +13,8 @@ @@ -1364,6 +1340,3 @@ index a49076c804a9..45df094498ce 100644 -#endif - #endif /* __PMC_H_ */ --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/235-clk-at91-pmc-execute-suspend-resume-only-for-backup-.patch b/target/linux/at91/patches-5.10/235-clk-at91-pmc-execute-suspend-resume-only-for-backup-.patch index 2f8dcf6217..19f1f6fdf2 100644 --- a/target/linux/at91/patches-5.10/235-clk-at91-pmc-execute-suspend-resume-only-for-backup-.patch +++ b/target/linux/at91/patches-5.10/235-clk-at91-pmc-execute-suspend-resume-only-for-backup-.patch @@ -18,8 +18,6 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/pmc.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) -diff --git a/drivers/clk/at91/pmc.c b/drivers/clk/at91/pmc.c -index b2806946a77a..517973062719 100644 --- a/drivers/clk/at91/pmc.c +++ b/drivers/clk/at91/pmc.c @@ -8,6 +8,7 @@ @@ -30,7 +28,7 @@ index b2806946a77a..517973062719 100644 #include #include #include -@@ -110,13 +111,35 @@ struct pmc_data *pmc_data_allocate(unsigned int ncore, unsigned int nsystem, +@@ -110,13 +111,35 @@ struct pmc_data *pmc_data_allocate(unsig } #ifdef CONFIG_PM @@ -89,6 +87,3 @@ index b2806946a77a..517973062719 100644 register_syscore_ops(&pmc_syscore_ops); return 0; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/236-clk-at91-sama7g5-add-securam-s-peripheral-clock.patch b/target/linux/at91/patches-5.10/236-clk-at91-sama7g5-add-securam-s-peripheral-clock.patch index a2f91a842d..046acec453 100644 --- a/target/linux/at91/patches-5.10/236-clk-at91-sama7g5-add-securam-s-peripheral-clock.patch +++ b/target/linux/at91/patches-5.10/236-clk-at91-sama7g5-add-securam-s-peripheral-clock.patch @@ -13,8 +13,6 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/sama7g5.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c -index cf8c079aa086..970135e19a75 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c @@ -377,6 +377,7 @@ static const struct { @@ -25,6 +23,3 @@ index cf8c079aa086..970135e19a75 100644 { .n = "sfr_clk", .p = "mck1", .id = 19, }, { .n = "hsmc_clk", .p = "mck1", .id = 21, }, { .n = "xdmac0_clk", .p = "mck1", .id = 22, }, --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/237-clk-at91-clk-master-add-register-definition-for-sama.patch b/target/linux/at91/patches-5.10/237-clk-at91-clk-master-add-register-definition-for-sama.patch index 026b65fc01..726d9b33e4 100644 --- a/target/linux/at91/patches-5.10/237-clk-at91-clk-master-add-register-definition-for-sama.patch +++ b/target/linux/at91/patches-5.10/237-clk-at91-clk-master-add-register-definition-for-sama.patch @@ -25,8 +25,6 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/clk-master.c | 50 ++++++++++++++++------------------- 1 file changed, 23 insertions(+), 27 deletions(-) -diff --git a/drivers/clk/at91/clk-master.c b/drivers/clk/at91/clk-master.c -index f75549fff023..88f7af1bfff6 100644 --- a/drivers/clk/at91/clk-master.c +++ b/drivers/clk/at91/clk-master.c @@ -17,15 +17,7 @@ @@ -45,7 +43,7 @@ index f75549fff023..88f7af1bfff6 100644 #define MASTER_MAX_ID 4 -@@ -687,20 +679,22 @@ static void clk_sama7g5_master_set(struct clk_master *master, +@@ -687,20 +679,22 @@ static void clk_sama7g5_master_set(struc { unsigned long flags; unsigned int val, cparent; @@ -76,7 +74,7 @@ index f75549fff023..88f7af1bfff6 100644 /* Wait here only if parent is being changed. */ while ((cparent != master->parent) && !clk_master_ready(master)) -@@ -725,10 +719,12 @@ static void clk_sama7g5_master_disable(struct clk_hw *hw) +@@ -725,10 +719,12 @@ static void clk_sama7g5_master_disable(s spin_lock_irqsave(master->lock, flags); @@ -93,7 +91,7 @@ index f75549fff023..88f7af1bfff6 100644 spin_unlock_irqrestore(master->lock, flags); } -@@ -741,12 +737,12 @@ static int clk_sama7g5_master_is_enabled(struct clk_hw *hw) +@@ -741,12 +737,12 @@ static int clk_sama7g5_master_is_enabled spin_lock_irqsave(master->lock, flags); @@ -109,7 +107,7 @@ index f75549fff023..88f7af1bfff6 100644 } static int clk_sama7g5_master_set_rate(struct clk_hw *hw, unsigned long rate, -@@ -842,10 +838,10 @@ at91_clk_sama7g5_register_master(struct regmap *regmap, +@@ -842,10 +838,10 @@ at91_clk_sama7g5_register_master(struct master->mux_table = mux_table; spin_lock_irqsave(master->lock, flags); @@ -124,6 +122,3 @@ index f75549fff023..88f7af1bfff6 100644 spin_unlock_irqrestore(master->lock, flags); hw = &master->hw; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/238-clk-at91-clk-master-improve-readability-by-using-loc.patch b/target/linux/at91/patches-5.10/238-clk-at91-clk-master-improve-readability-by-using-loc.patch index df53d453f8..a5b57a67ad 100644 --- a/target/linux/at91/patches-5.10/238-clk-at91-clk-master-improve-readability-by-using-loc.patch +++ b/target/linux/at91/patches-5.10/238-clk-at91-clk-master-improve-readability-by-using-loc.patch @@ -16,11 +16,9 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/clk-master.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -diff --git a/drivers/clk/at91/clk-master.c b/drivers/clk/at91/clk-master.c -index 88f7af1bfff6..9a2c8e64cacf 100644 --- a/drivers/clk/at91/clk-master.c +++ b/drivers/clk/at91/clk-master.c -@@ -680,6 +680,8 @@ static void clk_sama7g5_master_set(struct clk_master *master, +@@ -680,6 +680,8 @@ static void clk_sama7g5_master_set(struc unsigned long flags; unsigned int val, cparent; unsigned int enable = status ? AT91_PMC_MCR_V2_EN : 0; @@ -29,7 +27,7 @@ index 88f7af1bfff6..9a2c8e64cacf 100644 spin_lock_irqsave(master->lock, flags); -@@ -689,9 +691,7 @@ static void clk_sama7g5_master_set(struct clk_master *master, +@@ -689,9 +691,7 @@ static void clk_sama7g5_master_set(struc regmap_update_bits(master->regmap, AT91_PMC_MCR_V2, enable | AT91_PMC_MCR_V2_CSS | AT91_PMC_MCR_V2_DIV | AT91_PMC_MCR_V2_CMD | AT91_PMC_MCR_V2_ID_MSK, @@ -40,6 +38,3 @@ index 88f7af1bfff6..9a2c8e64cacf 100644 AT91_PMC_MCR_V2_ID(master->id)); cparent = (val & AT91_PMC_MCR_V2_CSS) >> PMC_MCR_CSS_SHIFT; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/239-clk-at91-pmc-add-sama7g5-to-the-list-of-available-pm.patch b/target/linux/at91/patches-5.10/239-clk-at91-pmc-add-sama7g5-to-the-list-of-available-pm.patch index 6569d7a9ee..2918de1700 100644 --- a/target/linux/at91/patches-5.10/239-clk-at91-pmc-add-sama7g5-to-the-list-of-available-pm.patch +++ b/target/linux/at91/patches-5.10/239-clk-at91-pmc-add-sama7g5-to-the-list-of-available-pm.patch @@ -15,11 +15,9 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/pmc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -diff --git a/drivers/clk/at91/pmc.c b/drivers/clk/at91/pmc.c -index 517973062719..5aa9c1f1c886 100644 --- a/drivers/clk/at91/pmc.c +++ b/drivers/clk/at91/pmc.c -@@ -148,8 +148,9 @@ static struct syscore_ops pmc_syscore_ops = { +@@ -148,8 +148,9 @@ static struct syscore_ops pmc_syscore_op .resume = at91_pmc_resume, }; @@ -39,6 +37,3 @@ index 517973062719..5aa9c1f1c886 100644 if (!np) return -ENODEV; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/240-clk-at91-clk-master-check-if-div-or-pres-is-zero.patch b/target/linux/at91/patches-5.10/240-clk-at91-clk-master-check-if-div-or-pres-is-zero.patch index 6bcc3df498..c78883c8d6 100644 --- a/target/linux/at91/patches-5.10/240-clk-at91-clk-master-check-if-div-or-pres-is-zero.patch +++ b/target/linux/at91/patches-5.10/240-clk-at91-clk-master-check-if-div-or-pres-is-zero.patch @@ -17,11 +17,9 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/clk-master.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/drivers/clk/at91/clk-master.c b/drivers/clk/at91/clk-master.c -index 9a2c8e64cacf..2093e13b5068 100644 --- a/drivers/clk/at91/clk-master.c +++ b/drivers/clk/at91/clk-master.c -@@ -344,7 +344,7 @@ static int clk_master_pres_set_rate(struct clk_hw *hw, unsigned long rate, +@@ -344,7 +344,7 @@ static int clk_master_pres_set_rate(stru else if (pres == 3) pres = MASTER_PRES_MAX; @@ -30,7 +28,7 @@ index 9a2c8e64cacf..2093e13b5068 100644 pres = ffs(pres) - 1; spin_lock_irqsave(master->lock, flags); -@@ -757,7 +757,7 @@ static int clk_sama7g5_master_set_rate(struct clk_hw *hw, unsigned long rate, +@@ -757,7 +757,7 @@ static int clk_sama7g5_master_set_rate(s if (div == 3) div = MASTER_PRES_MAX; @@ -39,6 +37,3 @@ index 9a2c8e64cacf..2093e13b5068 100644 div = ffs(div) - 1; spin_lock_irqsave(master->lock, flags); --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/241-clk-at91-clk-master-mask-mckr-against-layout-mask.patch b/target/linux/at91/patches-5.10/241-clk-at91-clk-master-mask-mckr-against-layout-mask.patch index 2f53a44eae..14fa690769 100644 --- a/target/linux/at91/patches-5.10/241-clk-at91-clk-master-mask-mckr-against-layout-mask.patch +++ b/target/linux/at91/patches-5.10/241-clk-at91-clk-master-mask-mckr-against-layout-mask.patch @@ -14,11 +14,9 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/clk-master.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) -diff --git a/drivers/clk/at91/clk-master.c b/drivers/clk/at91/clk-master.c -index 2093e13b5068..6da9ae34313a 100644 --- a/drivers/clk/at91/clk-master.c +++ b/drivers/clk/at91/clk-master.c -@@ -186,8 +186,8 @@ static int clk_master_div_set_rate(struct clk_hw *hw, unsigned long rate, +@@ -186,8 +186,8 @@ static int clk_master_div_set_rate(struc if (ret) goto unlock; @@ -29,7 +27,7 @@ index 2093e13b5068..6da9ae34313a 100644 if (tmp == div) goto unlock; -@@ -384,6 +384,7 @@ static unsigned long clk_master_pres_recalc_rate(struct clk_hw *hw, +@@ -384,6 +384,7 @@ static unsigned long clk_master_pres_rec regmap_read(master->regmap, master->layout->offset, &val); spin_unlock_irqrestore(master->lock, flags); @@ -37,7 +35,7 @@ index 2093e13b5068..6da9ae34313a 100644 pres = (val >> master->layout->pres_shift) & MASTER_PRES_MASK; if (pres == 3 && characteristics->have_div3_pres) pres = 3; -@@ -403,6 +404,8 @@ static u8 clk_master_pres_get_parent(struct clk_hw *hw) +@@ -403,6 +404,8 @@ static u8 clk_master_pres_get_parent(str regmap_read(master->regmap, master->layout->offset, &mckr); spin_unlock_irqrestore(master->lock, flags); @@ -46,6 +44,3 @@ index 2093e13b5068..6da9ae34313a 100644 return mckr & AT91_PMC_CSS; } --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/242-clk-at91-clk-master-fix-prescaler-logic.patch b/target/linux/at91/patches-5.10/242-clk-at91-clk-master-fix-prescaler-logic.patch index 3562d4ec21..950ca26afd 100644 --- a/target/linux/at91/patches-5.10/242-clk-at91-clk-master-fix-prescaler-logic.patch +++ b/target/linux/at91/patches-5.10/242-clk-at91-clk-master-fix-prescaler-logic.patch @@ -16,11 +16,9 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/clk-master.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/clk/at91/clk-master.c b/drivers/clk/at91/clk-master.c -index 6da9ae34313a..e67bcd03a827 100644 --- a/drivers/clk/at91/clk-master.c +++ b/drivers/clk/at91/clk-master.c -@@ -386,7 +386,7 @@ static unsigned long clk_master_pres_recalc_rate(struct clk_hw *hw, +@@ -386,7 +386,7 @@ static unsigned long clk_master_pres_rec val &= master->layout->mask; pres = (val >> master->layout->pres_shift) & MASTER_PRES_MASK; @@ -29,6 +27,3 @@ index 6da9ae34313a..e67bcd03a827 100644 pres = 3; else pres = (1 << pres); --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/243-clk-at91-clk-sam9x60-pll-add-notifier-for-div-part-o.patch b/target/linux/at91/patches-5.10/243-clk-at91-clk-sam9x60-pll-add-notifier-for-div-part-o.patch index f101f71fcd..678303da37 100644 --- a/target/linux/at91/patches-5.10/243-clk-at91-clk-sam9x60-pll-add-notifier-for-div-part-o.patch +++ b/target/linux/at91/patches-5.10/243-clk-at91-clk-sam9x60-pll-add-notifier-for-div-part-o.patch @@ -44,8 +44,6 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/sama7g5.c | 13 +++- 4 files changed, 95 insertions(+), 29 deletions(-) -diff --git a/drivers/clk/at91/clk-sam9x60-pll.c b/drivers/clk/at91/clk-sam9x60-pll.c -index a73d7c96ce1d..d757003004cb 100644 --- a/drivers/clk/at91/clk-sam9x60-pll.c +++ b/drivers/clk/at91/clk-sam9x60-pll.c @@ -5,6 +5,7 @@ @@ -72,7 +70,7 @@ index a73d7c96ce1d..d757003004cb 100644 static inline bool sam9x60_pll_ready(struct regmap *regmap, int id) { unsigned int status; -@@ -329,6 +333,26 @@ static const struct clk_ops sam9x60_frac_pll_ops_chg = { +@@ -329,6 +333,26 @@ static const struct clk_ops sam9x60_frac .restore_context = sam9x60_frac_pll_restore_context, }; @@ -99,7 +97,7 @@ index a73d7c96ce1d..d757003004cb 100644 static int sam9x60_div_pll_set(struct sam9x60_pll_core *core) { struct sam9x60_div *div = to_sam9x60_div(core); -@@ -346,17 +370,7 @@ static int sam9x60_div_pll_set(struct sam9x60_pll_core *core) +@@ -346,17 +370,7 @@ static int sam9x60_div_pll_set(struct sa if (!!(val & core->layout->endiv_mask) && cdiv == div->div) goto unlock; @@ -118,7 +116,7 @@ index a73d7c96ce1d..d757003004cb 100644 unlock: spin_unlock_irqrestore(core->lock, flags); -@@ -502,16 +516,7 @@ static int sam9x60_div_pll_set_rate_chg(struct clk_hw *hw, unsigned long rate, +@@ -502,16 +516,7 @@ static int sam9x60_div_pll_set_rate_chg( if (cdiv == div->div) goto unlock; @@ -136,7 +134,7 @@ index a73d7c96ce1d..d757003004cb 100644 unlock: spin_unlock_irqrestore(core->lock, irqflags); -@@ -538,6 +543,48 @@ static void sam9x60_div_pll_restore_context(struct clk_hw *hw) +@@ -538,6 +543,48 @@ static void sam9x60_div_pll_restore_cont sam9x60_div_pll_set(core); } @@ -195,7 +193,7 @@ index a73d7c96ce1d..d757003004cb 100644 { struct sam9x60_div *div; struct clk_hw *hw; -@@ -656,9 +704,13 @@ sam9x60_clk_register_div_pll(struct regmap *regmap, spinlock_t *lock, +@@ -656,9 +704,13 @@ sam9x60_clk_register_div_pll(struct regm unsigned int val; int ret; @@ -210,7 +208,7 @@ index a73d7c96ce1d..d757003004cb 100644 div = kzalloc(sizeof(*div), GFP_KERNEL); if (!div) return ERR_PTR(-ENOMEM); -@@ -678,6 +730,7 @@ sam9x60_clk_register_div_pll(struct regmap *regmap, spinlock_t *lock, +@@ -678,6 +730,7 @@ sam9x60_clk_register_div_pll(struct regm div->core.layout = layout; div->core.regmap = regmap; div->core.lock = lock; @@ -218,7 +216,7 @@ index a73d7c96ce1d..d757003004cb 100644 spin_lock_irqsave(div->core.lock, irqflags); -@@ -693,6 +746,9 @@ sam9x60_clk_register_div_pll(struct regmap *regmap, spinlock_t *lock, +@@ -693,6 +746,9 @@ sam9x60_clk_register_div_pll(struct regm if (ret) { kfree(div); hw = ERR_PTR(ret); @@ -228,8 +226,6 @@ index a73d7c96ce1d..d757003004cb 100644 } return hw; -diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h -index 45df094498ce..207ecccef29f 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h @@ -214,7 +214,8 @@ struct clk_hw * __init @@ -242,11 +238,9 @@ index 45df094498ce..207ecccef29f 100644 struct clk_hw * __init sam9x60_clk_register_frac_pll(struct regmap *regmap, spinlock_t *lock, -diff --git a/drivers/clk/at91/sam9x60.c b/drivers/clk/at91/sam9x60.c -index 5f6fa89571b7..5c264185f261 100644 --- a/drivers/clk/at91/sam9x60.c +++ b/drivers/clk/at91/sam9x60.c -@@ -242,7 +242,7 @@ static void __init sam9x60_pmc_setup(struct device_node *np) +@@ -242,7 +242,7 @@ static void __init sam9x60_pmc_setup(str * This feeds CPU. It should not * be disabled. */ @@ -255,7 +249,7 @@ index 5f6fa89571b7..5c264185f261 100644 if (IS_ERR(hw)) goto err_free; -@@ -260,7 +260,7 @@ static void __init sam9x60_pmc_setup(struct device_node *np) +@@ -260,7 +260,7 @@ static void __init sam9x60_pmc_setup(str &pll_div_layout, CLK_SET_RATE_GATE | CLK_SET_PARENT_GATE | @@ -264,7 +258,7 @@ index 5f6fa89571b7..5c264185f261 100644 if (IS_ERR(hw)) goto err_free; -@@ -279,7 +279,7 @@ static void __init sam9x60_pmc_setup(struct device_node *np) +@@ -279,7 +279,7 @@ static void __init sam9x60_pmc_setup(str hw = at91_clk_register_master_div(regmap, "masterck_div", "masterck_pres", &sam9x60_master_layout, &mck_characteristics, &mck_lock, @@ -273,11 +267,9 @@ index 5f6fa89571b7..5c264185f261 100644 if (IS_ERR(hw)) goto err_free; -diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c -index 970135e19a75..ae52c10af040 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c -@@ -127,6 +127,8 @@ static const struct clk_pll_characteristics pll_characteristics = { +@@ -127,6 +127,8 @@ static const struct clk_pll_characterist * @t: clock type * @f: clock flags * @eid: export index in sama7g5->chws[] array @@ -308,7 +300,7 @@ index 970135e19a75..ae52c10af040 100644 }, [PLL_ID_SYS] = { -@@ -967,7 +975,8 @@ static void __init sama7g5_pmc_setup(struct device_node *np) +@@ -967,7 +975,8 @@ static void __init sama7g5_pmc_setup(str sama7g5_plls[i][j].p, i, sama7g5_plls[i][j].c, sama7g5_plls[i][j].l, @@ -318,6 +310,3 @@ index 970135e19a75..ae52c10af040 100644 break; default: --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/244-clk-at91-clk-master-add-notifier-for-divider.patch b/target/linux/at91/patches-5.10/244-clk-at91-clk-master-add-notifier-for-divider.patch index 9298d2f0c7..35262db6cb 100644 --- a/target/linux/at91/patches-5.10/244-clk-at91-clk-master-add-notifier-for-divider.patch +++ b/target/linux/at91/patches-5.10/244-clk-at91-clk-master-add-notifier-for-divider.patch @@ -37,11 +37,9 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/sama7g5.c | 2 +- 13 files changed, 186 insertions(+), 82 deletions(-) -diff --git a/drivers/clk/at91/at91rm9200.c b/drivers/clk/at91/at91rm9200.c -index 428a6f4b9ebc..fff4fdda974f 100644 --- a/drivers/clk/at91/at91rm9200.c +++ b/drivers/clk/at91/at91rm9200.c -@@ -152,7 +152,7 @@ static void __init at91rm9200_pmc_setup(struct device_node *np) +@@ -152,7 +152,7 @@ static void __init at91rm9200_pmc_setup( "masterck_pres", &at91rm9200_master_layout, &rm9200_mck_characteristics, @@ -50,11 +48,9 @@ index 428a6f4b9ebc..fff4fdda974f 100644 if (IS_ERR(hw)) goto err_free; -diff --git a/drivers/clk/at91/at91sam9260.c b/drivers/clk/at91/at91sam9260.c -index b29843bea278..79802f864ee5 100644 --- a/drivers/clk/at91/at91sam9260.c +++ b/drivers/clk/at91/at91sam9260.c -@@ -429,7 +429,7 @@ static void __init at91sam926x_pmc_setup(struct device_node *np, +@@ -429,7 +429,7 @@ static void __init at91sam926x_pmc_setup &at91rm9200_master_layout, data->mck_characteristics, &at91sam9260_mck_lock, @@ -63,11 +59,9 @@ index b29843bea278..79802f864ee5 100644 if (IS_ERR(hw)) goto err_free; -diff --git a/drivers/clk/at91/at91sam9g45.c b/drivers/clk/at91/at91sam9g45.c -index 15da0dfe3ef2..7ed984f8058c 100644 --- a/drivers/clk/at91/at91sam9g45.c +++ b/drivers/clk/at91/at91sam9g45.c -@@ -164,7 +164,7 @@ static void __init at91sam9g45_pmc_setup(struct device_node *np) +@@ -164,7 +164,7 @@ static void __init at91sam9g45_pmc_setup &at91rm9200_master_layout, &mck_characteristics, &at91sam9g45_mck_lock, @@ -76,11 +70,9 @@ index 15da0dfe3ef2..7ed984f8058c 100644 if (IS_ERR(hw)) goto err_free; -diff --git a/drivers/clk/at91/at91sam9n12.c b/drivers/clk/at91/at91sam9n12.c -index 7fe435f4b46b..63cc58944b00 100644 --- a/drivers/clk/at91/at91sam9n12.c +++ b/drivers/clk/at91/at91sam9n12.c -@@ -191,7 +191,7 @@ static void __init at91sam9n12_pmc_setup(struct device_node *np) +@@ -191,7 +191,7 @@ static void __init at91sam9n12_pmc_setup &at91sam9x5_master_layout, &mck_characteristics, &at91sam9n12_mck_lock, @@ -89,11 +81,9 @@ index 7fe435f4b46b..63cc58944b00 100644 if (IS_ERR(hw)) goto err_free; -diff --git a/drivers/clk/at91/at91sam9rl.c b/drivers/clk/at91/at91sam9rl.c -index ecbabf5162bd..4d4faf6c61d8 100644 --- a/drivers/clk/at91/at91sam9rl.c +++ b/drivers/clk/at91/at91sam9rl.c -@@ -132,7 +132,7 @@ static void __init at91sam9rl_pmc_setup(struct device_node *np) +@@ -132,7 +132,7 @@ static void __init at91sam9rl_pmc_setup( "masterck_pres", &at91rm9200_master_layout, &sam9rl_mck_characteristics, @@ -102,11 +92,9 @@ index ecbabf5162bd..4d4faf6c61d8 100644 if (IS_ERR(hw)) goto err_free; -diff --git a/drivers/clk/at91/at91sam9x5.c b/drivers/clk/at91/at91sam9x5.c -index 5cce48c64ea2..bd8007b4f3e0 100644 --- a/drivers/clk/at91/at91sam9x5.c +++ b/drivers/clk/at91/at91sam9x5.c -@@ -210,7 +210,7 @@ static void __init at91sam9x5_pmc_setup(struct device_node *np, +@@ -210,7 +210,7 @@ static void __init at91sam9x5_pmc_setup( "masterck_pres", &at91sam9x5_master_layout, &mck_characteristics, &mck_lock, @@ -115,8 +103,6 @@ index 5cce48c64ea2..bd8007b4f3e0 100644 if (IS_ERR(hw)) goto err_free; -diff --git a/drivers/clk/at91/clk-master.c b/drivers/clk/at91/clk-master.c -index e67bcd03a827..b2d0a7f4f7f9 100644 --- a/drivers/clk/at91/clk-master.c +++ b/drivers/clk/at91/clk-master.c @@ -5,6 +5,7 @@ @@ -140,7 +126,7 @@ index e67bcd03a827..b2d0a7f4f7f9 100644 static inline bool clk_master_ready(struct clk_master *master) { unsigned int bit = master->id ? AT91_PMC_MCKXRDY : AT91_PMC_MCKRDY; -@@ -153,107 +158,81 @@ static const struct clk_ops master_div_ops = { +@@ -153,107 +158,81 @@ static const struct clk_ops master_div_o .restore_context = clk_master_div_restore_context, }; @@ -242,11 +228,11 @@ index e67bcd03a827..b2d0a7f4f7f9 100644 - parent_rate = clk_hw_get_rate(parent); - if (!parent_rate) - return -EINVAL; -- + - for (i = 0; i < ARRAY_SIZE(characteristics->divisors); i++) { - if (!characteristics->divisors[i]) - break; - +- - tmp_rate = DIV_ROUND_CLOSEST_ULL(parent_rate, - characteristics->divisors[i]); - tmp_diff = abs(tmp_rate - req->rate); @@ -284,7 +270,7 @@ index e67bcd03a827..b2d0a7f4f7f9 100644 if (ret) pr_warn("Failed to restore MCK DIV clock\n"); } -@@ -261,13 +240,116 @@ static void clk_master_div_restore_context_chg(struct clk_hw *hw) +@@ -261,13 +240,116 @@ static void clk_master_div_restore_conte static const struct clk_ops master_div_ops_chg = { .prepare = clk_master_prepare, .is_prepared = clk_master_is_prepared, @@ -404,7 +390,7 @@ index e67bcd03a827..b2d0a7f4f7f9 100644 static void clk_sama7g5_master_best_diff(struct clk_rate_request *req, struct clk_hw *parent, unsigned long parent_rate, -@@ -496,6 +578,8 @@ at91_clk_register_master_internal(struct regmap *regmap, +@@ -496,6 +578,8 @@ at91_clk_register_master_internal(struct struct clk_master *master; struct clk_init_data init; struct clk_hw *hw; @@ -413,7 +399,7 @@ index e67bcd03a827..b2d0a7f4f7f9 100644 int ret; if (!name || !num_parents || !parent_names || !lock) -@@ -518,6 +602,16 @@ at91_clk_register_master_internal(struct regmap *regmap, +@@ -518,6 +602,16 @@ at91_clk_register_master_internal(struct master->chg_pid = chg_pid; master->lock = lock; @@ -430,7 +416,7 @@ index e67bcd03a827..b2d0a7f4f7f9 100644 hw = &master->hw; ret = clk_hw_register(NULL, &master->hw); if (ret) { -@@ -554,19 +648,29 @@ at91_clk_register_master_div(struct regmap *regmap, +@@ -554,19 +648,29 @@ at91_clk_register_master_div(struct regm const char *name, const char *parent_name, const struct clk_master_layout *layout, const struct clk_master_characteristics *characteristics, @@ -465,11 +451,9 @@ index e67bcd03a827..b2d0a7f4f7f9 100644 } static unsigned long -diff --git a/drivers/clk/at91/dt-compat.c b/drivers/clk/at91/dt-compat.c -index a97b99c2dc12..ca2dbb65b9df 100644 --- a/drivers/clk/at91/dt-compat.c +++ b/drivers/clk/at91/dt-compat.c -@@ -399,7 +399,7 @@ of_at91_clk_master_setup(struct device_node *np, +@@ -399,7 +399,7 @@ of_at91_clk_master_setup(struct device_n hw = at91_clk_register_master_div(regmap, name, "masterck_pres", layout, characteristics, @@ -478,11 +462,9 @@ index a97b99c2dc12..ca2dbb65b9df 100644 if (IS_ERR(hw)) goto out_free_characteristics; -diff --git a/drivers/clk/at91/pmc.h b/drivers/clk/at91/pmc.h -index 207ecccef29f..3a1bf6194c28 100644 --- a/drivers/clk/at91/pmc.h +++ b/drivers/clk/at91/pmc.h -@@ -182,7 +182,7 @@ at91_clk_register_master_div(struct regmap *regmap, const char *name, +@@ -182,7 +182,7 @@ at91_clk_register_master_div(struct regm const char *parent_names, const struct clk_master_layout *layout, const struct clk_master_characteristics *characteristics, @@ -491,11 +473,9 @@ index 207ecccef29f..3a1bf6194c28 100644 struct clk_hw * __init at91_clk_sama7g5_register_master(struct regmap *regmap, -diff --git a/drivers/clk/at91/sama5d2.c b/drivers/clk/at91/sama5d2.c -index 3d1f78176c3e..d027294a0089 100644 --- a/drivers/clk/at91/sama5d2.c +++ b/drivers/clk/at91/sama5d2.c -@@ -249,7 +249,7 @@ static void __init sama5d2_pmc_setup(struct device_node *np) +@@ -249,7 +249,7 @@ static void __init sama5d2_pmc_setup(str "masterck_pres", &at91sam9x5_master_layout, &mck_characteristics, &mck_lock, @@ -504,11 +484,9 @@ index 3d1f78176c3e..d027294a0089 100644 if (IS_ERR(hw)) goto err_free; -diff --git a/drivers/clk/at91/sama5d3.c b/drivers/clk/at91/sama5d3.c -index d376257807d2..339d0f382ff0 100644 --- a/drivers/clk/at91/sama5d3.c +++ b/drivers/clk/at91/sama5d3.c -@@ -184,7 +184,7 @@ static void __init sama5d3_pmc_setup(struct device_node *np) +@@ -184,7 +184,7 @@ static void __init sama5d3_pmc_setup(str "masterck_pres", &at91sam9x5_master_layout, &mck_characteristics, &mck_lock, @@ -517,11 +495,9 @@ index d376257807d2..339d0f382ff0 100644 if (IS_ERR(hw)) goto err_free; -diff --git a/drivers/clk/at91/sama5d4.c b/drivers/clk/at91/sama5d4.c -index 5cbaac68da44..4af75b1e39e9 100644 --- a/drivers/clk/at91/sama5d4.c +++ b/drivers/clk/at91/sama5d4.c -@@ -199,7 +199,7 @@ static void __init sama5d4_pmc_setup(struct device_node *np) +@@ -199,7 +199,7 @@ static void __init sama5d4_pmc_setup(str "masterck_pres", &at91sam9x5_master_layout, &mck_characteristics, &mck_lock, @@ -530,11 +506,9 @@ index 5cbaac68da44..4af75b1e39e9 100644 if (IS_ERR(hw)) goto err_free; -diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c -index ae52c10af040..c66bde6f7b47 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c -@@ -1003,7 +1003,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np) +@@ -1003,7 +1003,7 @@ static void __init sama7g5_pmc_setup(str hw = at91_clk_register_master_div(regmap, "mck0", "cpuck", &mck0_layout, &mck0_characteristics, @@ -543,6 +517,3 @@ index ae52c10af040..c66bde6f7b47 100644 if (IS_ERR(hw)) goto err_free; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/245-clk-at91-sama7g5-remove-prescaler-part-of-master-clo.patch b/target/linux/at91/patches-5.10/245-clk-at91-sama7g5-remove-prescaler-part-of-master-clo.patch index fc0947db8c..1ae5076da9 100644 --- a/target/linux/at91/patches-5.10/245-clk-at91-sama7g5-remove-prescaler-part-of-master-clo.patch +++ b/target/linux/at91/patches-5.10/245-clk-at91-sama7g5-remove-prescaler-part-of-master-clo.patch @@ -23,11 +23,9 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/sama7g5.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) -diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c -index c66bde6f7b47..fd9d17eabf54 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c -@@ -992,16 +992,7 @@ static void __init sama7g5_pmc_setup(struct device_node *np) +@@ -992,16 +992,7 @@ static void __init sama7g5_pmc_setup(str } parent_names[0] = "cpupll_divpmcck"; @@ -45,6 +43,3 @@ index c66bde6f7b47..fd9d17eabf54 100644 &mck0_layout, &mck0_characteristics, &pmc_mck0_lock, CLK_GET_RATE_NOCACHE, 5); if (IS_ERR(hw)) --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/246-clk-at91-sama7g5-set-low-limit-for-mck0-at-32KHz.patch b/target/linux/at91/patches-5.10/246-clk-at91-sama7g5-set-low-limit-for-mck0-at-32KHz.patch index a30173157f..922cf0b69c 100644 --- a/target/linux/at91/patches-5.10/246-clk-at91-sama7g5-set-low-limit-for-mck0-at-32KHz.patch +++ b/target/linux/at91/patches-5.10/246-clk-at91-sama7g5-set-low-limit-for-mck0-at-32KHz.patch @@ -13,8 +13,6 @@ Signed-off-by: Stephen Boyd drivers/clk/at91/sama7g5.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c -index fd9d17eabf54..369dfafabbca 100644 --- a/drivers/clk/at91/sama7g5.c +++ b/drivers/clk/at91/sama7g5.c @@ -850,7 +850,7 @@ static const struct { @@ -26,6 +24,3 @@ index fd9d17eabf54..369dfafabbca 100644 .divisors = { 1, 2, 4, 3, 5 }, .have_div3_pres = 1, }; --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/247-clk-use-clk_core_get_rate_recalc-in-clk_rate_get.patch b/target/linux/at91/patches-5.10/247-clk-use-clk_core_get_rate_recalc-in-clk_rate_get.patch index 103c597856..a17acc2742 100644 --- a/target/linux/at91/patches-5.10/247-clk-use-clk_core_get_rate_recalc-in-clk_rate_get.patch +++ b/target/linux/at91/patches-5.10/247-clk-use-clk_core_get_rate_recalc-in-clk_rate_get.patch @@ -16,11 +16,9 @@ Signed-off-by: Stephen Boyd drivers/clk/clk.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) -diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c -index b8a0e3d23698..6e64332fd26d 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c -@@ -3082,7 +3082,10 @@ static int clk_rate_get(void *data, u64 *val) +@@ -3082,7 +3082,10 @@ static int clk_rate_get(void *data, u64 { struct clk_core *core = data; @@ -32,6 +30,3 @@ index b8a0e3d23698..6e64332fd26d 100644 return 0; } --- -2.32.0 - diff --git a/target/linux/at91/patches-5.10/99-scripts-fix-compilation-error.patch b/target/linux/at91/patches-5.10/99-scripts-fix-compilation-error.patch index cd47fe3952..711c7dfbcc 100644 --- a/target/linux/at91/patches-5.10/99-scripts-fix-compilation-error.patch +++ b/target/linux/at91/patches-5.10/99-scripts-fix-compilation-error.patch @@ -8,11 +8,9 @@ Signed-off-by: Claudiu Beznea scripts/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/scripts/Makefile b/scripts/Makefile -index 9adb6d247818..035c1fe113ad 100644 --- a/scripts/Makefile +++ b/scripts/Makefile -@@ -21,7 +21,7 @@ HOSTCFLAGS_asn1_compiler.o = -I$(srctree)/include +@@ -21,7 +21,7 @@ HOSTCFLAGS_asn1_compiler.o = -I$(srctree HOSTCFLAGS_sign-file.o = $(CRYPTO_CFLAGS) HOSTLDLIBS_sign-file = $(CRYPTO_LIBS) HOSTCFLAGS_extract-cert.o = $(CRYPTO_CFLAGS) @@ -21,6 +19,3 @@ index 9adb6d247818..035c1fe113ad 100644 ifdef CONFIG_UNWINDER_ORC ifeq ($(ARCH),x86_64) --- -2.25.1 - diff --git a/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch index cee1db1545..836c0f6dae 100644 --- a/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch @@ -292,7 +292,7 @@ #endif /* _LINUX_TYPES_H */ --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c -@@ -1467,8 +1467,8 @@ struct sk_buff *inet_gro_receive(struct +@@ -1470,8 +1470,8 @@ struct sk_buff *inet_gro_receive(struct if (unlikely(ip_fast_csum((u8 *)iph, 5))) goto out_unlock; @@ -534,7 +534,7 @@ goto next_ht; --- a/net/ipv6/ip6_offload.c +++ b/net/ipv6/ip6_offload.c -@@ -238,7 +238,7 @@ INDIRECT_CALLABLE_SCOPE struct sk_buff * +@@ -240,7 +240,7 @@ INDIRECT_CALLABLE_SCOPE struct sk_buff * continue; iph2 = (struct ipv6hdr *)(p->data + off); diff --git a/target/linux/bcm27xx/patches-5.10/950-0139-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch b/target/linux/bcm27xx/patches-5.10/950-0139-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch index 6cc7482115..4052d2f24e 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0139-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0139-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch @@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c -@@ -1467,6 +1467,103 @@ command_cleanup: +@@ -1474,6 +1474,103 @@ command_cleanup: } /* @@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell * non-error returns are a promise to giveback() the urb later * we drop ownership so next owner (or urb unlink) can get it */ -@@ -5370,6 +5467,7 @@ static const struct hc_driver xhci_hc_dr +@@ -5380,6 +5477,7 @@ static const struct hc_driver xhci_hc_dr .endpoint_reset = xhci_endpoint_reset, .check_bandwidth = xhci_check_bandwidth, .reset_bandwidth = xhci_reset_bandwidth, diff --git a/target/linux/bcm27xx/patches-5.10/950-0246-sc16is7xx-Fix-for-hardware-flow-control.patch b/target/linux/bcm27xx/patches-5.10/950-0246-sc16is7xx-Fix-for-hardware-flow-control.patch index aeabd97257..bfc748bd7f 100644 --- a/target/linux/bcm27xx/patches-5.10/950-0246-sc16is7xx-Fix-for-hardware-flow-control.patch +++ b/target/linux/bcm27xx/patches-5.10/950-0246-sc16is7xx-Fix-for-hardware-flow-control.patch @@ -38,7 +38,7 @@ Signed-off-by: Phil Elwell regcache_cache_bypass(s->regmap, false); /* Put LCR back to the normal mode */ -@@ -839,7 +840,7 @@ static unsigned int sc16is7xx_get_mctrl( +@@ -842,7 +843,7 @@ static unsigned int sc16is7xx_get_mctrl( /* DCD and DSR are not wired and CTS/RTS is handled automatically * so just indicate DSR and CAR asserted */ @@ -47,7 +47,7 @@ Signed-off-by: Phil Elwell } static void sc16is7xx_set_mctrl(struct uart_port *port, unsigned int mctrl) -@@ -926,14 +927,19 @@ static void sc16is7xx_set_termios(struct +@@ -929,14 +930,19 @@ static void sc16is7xx_set_termios(struct regcache_cache_bypass(s->regmap, true); sc16is7xx_port_write(port, SC16IS7XX_XON1_REG, termios->c_cc[VSTART]); sc16is7xx_port_write(port, SC16IS7XX_XOFF1_REG, termios->c_cc[VSTOP]); diff --git a/target/linux/bcm4908/patches-5.10/088-v5.18-phy-phy-brcm-usb-fixup-BCM4908-support.patch b/target/linux/bcm4908/patches-5.10/088-v5.18-phy-phy-brcm-usb-fixup-BCM4908-support.patch index a9568bcbba..4d39f646e1 100644 --- a/target/linux/bcm4908/patches-5.10/088-v5.18-phy-phy-brcm-usb-fixup-BCM4908-support.patch +++ b/target/linux/bcm4908/patches-5.10/088-v5.18-phy-phy-brcm-usb-fixup-BCM4908-support.patch @@ -120,7 +120,7 @@ Signed-off-by: Vinod Koul void brcm_usb_dvr_init_7211b0(struct brcm_usb_init_params *params); --- a/drivers/phy/broadcom/phy-brcm-usb.c +++ b/drivers/phy/broadcom/phy-brcm-usb.c -@@ -253,6 +253,15 @@ static const struct attribute_group brcm +@@ -283,6 +283,15 @@ static const struct attribute_group brcm .attrs = brcm_usb_phy_attrs, }; @@ -136,7 +136,7 @@ Signed-off-by: Vinod Koul static const struct match_chip_info chip_info_7216 = { .init_func = &brcm_usb_dvr_init_7216, .required_regs = { -@@ -288,7 +297,7 @@ static const struct match_chip_info chip +@@ -318,7 +327,7 @@ static const struct match_chip_info chip static const struct of_device_id brcm_usb_dt_ids[] = { { .compatible = "brcm,bcm4908-usb-phy", diff --git a/target/linux/generic/backport-5.10/610-v5.13-10-netfilter-nftables-update-table-flags-from-the-commi.patch b/target/linux/generic/backport-5.10/610-v5.13-10-netfilter-nftables-update-table-flags-from-the-commi.patch index 56f68feac8..fa6e0c4173 100644 --- a/target/linux/generic/backport-5.10/610-v5.13-10-netfilter-nftables-update-table-flags-from-the-commi.patch +++ b/target/linux/generic/backport-5.10/610-v5.13-10-netfilter-nftables-update-table-flags-from-the-commi.patch @@ -70,7 +70,7 @@ Signed-off-by: Pablo Neira Ayuso nft_trans_table_update(trans) = true; list_add_tail(&trans->list, &ctx->net->nft.commit_list); return 0; -@@ -7903,11 +7907,10 @@ static int nf_tables_commit(struct net * +@@ -7908,11 +7912,10 @@ static int nf_tables_commit(struct net * switch (trans->msg_type) { case NFT_MSG_NEWTABLE: if (nft_trans_table_update(trans)) { @@ -86,7 +86,7 @@ Signed-off-by: Pablo Neira Ayuso } else { nft_clear(net, trans->ctx.table); } -@@ -8120,11 +8123,9 @@ static int __nf_tables_abort(struct net +@@ -8125,11 +8128,9 @@ static int __nf_tables_abort(struct net switch (trans->msg_type) { case NFT_MSG_NEWTABLE: if (nft_trans_table_update(trans)) { diff --git a/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch b/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch index 68fb423a54..e49e5c2858 100644 --- a/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch +++ b/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch @@ -1595,7 +1595,7 @@ Signed-off-by: David S. Miller __be32 *p; bool little_endian; int rc = 0; -@@ -1561,8 +1561,8 @@ static int temac_probe(struct platform_d +@@ -1563,8 +1563,8 @@ static int temac_probe(struct platform_d if (temac_np) { /* Retrieve the MAC address */ From 4393d8c0902233a2808577abc42b4ce2083a5832 Mon Sep 17 00:00:00 2001 From: Ansuel Smith Date: Wed, 2 Mar 2022 15:38:59 +0100 Subject: [PATCH 16/36] libnetfilter-conntrack: backport patch fixing compilation with 5.15 Backport patch fixing compilation with 5.15 and musl provided by Robert Marko Signed-off-by: Ansuel Smith --- package/libs/libnetfilter-conntrack/Makefile | 2 +- ...-fix-build-with-kernel-5_15-and-musl.patch | 49 +++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 package/libs/libnetfilter-conntrack/patches/0001-conntrack-fix-build-with-kernel-5_15-and-musl.patch diff --git a/package/libs/libnetfilter-conntrack/Makefile b/package/libs/libnetfilter-conntrack/Makefile index 0cfb19f197..50432e9cd8 100644 --- a/package/libs/libnetfilter-conntrack/Makefile +++ b/package/libs/libnetfilter-conntrack/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libnetfilter_conntrack PKG_VERSION:=1.0.9 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://www.netfilter.org/projects/libnetfilter_conntrack/files diff --git a/package/libs/libnetfilter-conntrack/patches/0001-conntrack-fix-build-with-kernel-5_15-and-musl.patch b/package/libs/libnetfilter-conntrack/patches/0001-conntrack-fix-build-with-kernel-5_15-and-musl.patch new file mode 100644 index 0000000000..d04f4b5e42 --- /dev/null +++ b/package/libs/libnetfilter-conntrack/patches/0001-conntrack-fix-build-with-kernel-5_15-and-musl.patch @@ -0,0 +1,49 @@ +From 21ee35dde73aec5eba35290587d479218c6dd824 Mon Sep 17 00:00:00 2001 +From: Robert Marko +Date: Thu, 24 Feb 2022 15:01:11 +0100 +Subject: conntrack: fix build with kernel 5.15 and musl + +Currently, with kernel 5.15 headers and musl building is failing with +redefinition errors due to a conflict between the kernel and musl headers. + +Musl is able to suppres the conflicting kernel header definitions if they +are included after the standard libc ones, however since ICMP definitions +were moved into a separate internal header to avoid duplication this has +stopped working and is breaking the builds. + +It seems that the issue is that which contains the UAPI +suppression defines is included in the internal.h header and not in the +proto.h which actually includes the kernel ICMP headers and thus UAPI +supression defines are not present. + +Solve this by moving the include before the ICMP kernel +includes in the proto.h + +Fixes: bc1cb4b11403 ("conntrack: Move icmp request>reply type mapping to common file") +Signed-off-by: Robert Marko +Signed-off-by: Florian Westphal +--- + include/internal/internal.h | 1 - + include/internal/proto.h | 1 + + 2 files changed, 1 insertion(+), 1 deletion(-) + +--- a/include/internal/internal.h ++++ b/include/internal/internal.h +@@ -14,7 +14,6 @@ + #include + #include + #include +-#include + + #include + #include +--- a/include/internal/proto.h ++++ b/include/internal/proto.h +@@ -2,6 +2,7 @@ + #define _NFCT_PROTO_H_ + + #include ++#include + #include + #include + From df1383f7964527b2e7178ae744cd167a2c230f9f Mon Sep 17 00:00:00 2001 From: Langhua Ye Date: Thu, 3 Mar 2022 11:27:58 +0800 Subject: [PATCH 17/36] kernel: add support for XMC XM25QH128C The XMC XM25QH128C is a 16MB SPI NOR chip. The patch is verified on Ruijie RG-EW3200GX PRO. Datasheet available at https://www.xmcwh.com/uploads/435/XM25QH128C.pdf Signed-off-by: Langhua Ye --- .../485-mtd-spi-nor-add-xmc-xm25qh128c.patch | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 target/linux/generic/pending-5.10/485-mtd-spi-nor-add-xmc-xm25qh128c.patch diff --git a/target/linux/generic/pending-5.10/485-mtd-spi-nor-add-xmc-xm25qh128c.patch b/target/linux/generic/pending-5.10/485-mtd-spi-nor-add-xmc-xm25qh128c.patch new file mode 100644 index 0000000000..4b3f674170 --- /dev/null +++ b/target/linux/generic/pending-5.10/485-mtd-spi-nor-add-xmc-xm25qh128c.patch @@ -0,0 +1,11 @@ +--- a/drivers/mtd/spi-nor/xmc.c ++++ b/drivers/mtd/spi-nor/xmc.c +@@ -14,6 +14,8 @@ static const struct flash_info xmc_parts + SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, + { "XM25QH128A", INFO(0x207018, 0, 64 * 1024, 256, + SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, ++ { "XM25QH128C", INFO(0x204018, 0, 64 * 1024, 256, ++ SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, + }; + + const struct spi_nor_manufacturer spi_nor_xmc = { From ce8a33b021a703b1933f627835f6cdc88c0ecdd3 Mon Sep 17 00:00:00 2001 From: Langhua Ye Date: Fri, 4 Mar 2022 21:41:46 +0800 Subject: [PATCH 18/36] mediatek: add support for Ruijie RG-EW3200GX PRO X32 Pro is another product name for it in the Chinese market. Specifications: - SoC: MT7622B - RAM: 256MB - Flash: XMC XM25QH128C or Winbond WQ25Q128JVSQ 16MB SPI NOR - Ethernet: 5x1GbE - Switch: MT7531BE - WiFi: 2.4G: MT7622 5G: MT7915AN+MT7975AN - 3LEDs: System LED(blue) + Mesh LED(green) + Mesh LED(red) - 2Keys: Mesh button + Reset button - UART: Marked J19 on board. 3.3v, 115200n1 - Power: 12V 2.5A MAC addresses as verified by OEM firmware: use address source WAN *:F4 ethaddr@product_info LAN *:F5 5g *:F6 2g *:F7 Flash instruction: 1. Serve the initramfs.img using a TFTP server with address 10.10.10.3. 2. Interrupt the uboot startup process via UART. 3. Select "System Load Linux to SDRAM via TFTP" item. 4. (important) Back up firmware(mtd7) partitions with: dd if=/dev/mtd7 of=/tmp/firmware.bin and then download the firmware.bin image via SCP. 5. Flash the OpenWrt sysupgrade firmware. Recovery stock firmware: 1. Transfer the firmware.bin image to the device. 2. Flash the image with: mtd write firmware.bin firmware Signed-off-by: Langhua Ye --- .../dts/mt7622-ruijie-rg-ew3200gx-pro.dts | 327 ++++++++++++++++++ target/linux/mediatek/image/mt7622.mk | 9 + .../mt7622/base-files/etc/board.d/02_network | 18 +- .../etc/hotplug.d/ieee80211/11_fix_wifi_mac | 17 + 4 files changed, 370 insertions(+), 1 deletion(-) create mode 100644 target/linux/mediatek/dts/mt7622-ruijie-rg-ew3200gx-pro.dts create mode 100644 target/linux/mediatek/mt7622/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac diff --git a/target/linux/mediatek/dts/mt7622-ruijie-rg-ew3200gx-pro.dts b/target/linux/mediatek/dts/mt7622-ruijie-rg-ew3200gx-pro.dts new file mode 100644 index 0000000000..df8f2a5814 --- /dev/null +++ b/target/linux/mediatek/dts/mt7622-ruijie-rg-ew3200gx-pro.dts @@ -0,0 +1,327 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +/dts-v1/; +#include +#include + +#include "mt7622.dtsi" +#include "mt6380.dtsi" + +/ { + model = "Ruijie RG-EW3200GX PRO"; + compatible = "ruijie,rg-ew3200gx-pro", "mediatek,mt7622"; + + aliases { + ethernet0 = &gmac0; + label-mac-device = &gmac0; + led-boot = &led_system; + led-failsafe = &led_system; + led-running = &led_system; + led-upgrade = &led_system; + serial0 = &uart0; + }; + + chosen { + stdout-path = "serial0:115200n1"; + bootargs = "console=ttyS0,115200n1 swiotlb=512"; + }; + + cpus { + cpu@0 { + proc-supply = <&mt6380_vcpu_reg>; + sram-supply = <&mt6380_vm_reg>; + }; + + cpu@1 { + proc-supply = <&mt6380_vcpu_reg>; + sram-supply = <&mt6380_vm_reg>; + }; + }; + + gpio-keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + linux,code = ; + gpios = <&pio 0 GPIO_ACTIVE_LOW>; + }; + + wps { + label = "wps"; + linux,code = ; + gpios = <&pio 102 GPIO_ACTIVE_LOW>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + mesh_green { + label = "green:mesh"; + gpios = <&pio 79 GPIO_ACTIVE_LOW>; + }; + + mesh_red { + label = "red:mesh"; + gpios = <&pio 82 GPIO_ACTIVE_LOW>; + }; + + led_system: system_blue { + label = "blue:system"; + gpios = <&pio 81 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + }; + + memory { + reg = <0 0x40000000 0 0x40000000>; + }; +}; + +ð { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <ð_pins>; + + gmac0: mac@0 { + compatible = "mediatek,eth-mac"; + reg = <0>; + phy-connection-type = "2500base-x"; + fixed-link { + speed = <2500>; + full-duplex; + pause; + }; + }; + + mdio: mdio-bus { + #address-cells = <1>; + #size-cells = <0>; + + switch@0 { + compatible = "mediatek,mt7531"; + reg = <0>; + reset-gpios = <&pio 54 GPIO_ACTIVE_HIGH>; + + interrupt-controller; + #interrupt-cells = <2>; + interrupt-parent = <&pio>; + interrupts = <53 IRQ_TYPE_LEVEL_HIGH>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + label = "lan1"; + }; + + port@1 { + reg = <1>; + label = "lan2"; + }; + + port@2 { + reg = <2>; + label = "lan3"; + }; + + port@3 { + reg = <3>; + label = "lan4"; + }; + + wan: port@4 { + reg = <4>; + label = "wan"; + }; + + port@6 { + reg = <6>; + label = "cpu"; + ethernet = <&gmac0>; + phy-mode = "2500base-x"; + + fixed-link { + speed = <2500>; + full-duplex; + pause; + }; + }; + }; + }; + }; +}; + +&pcie0 { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pcie0_pins>; +}; + +&slot0 { + mt7915@0,0 { + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x5000>; + ieee80211-freq-limit = <5000000 6000000>; + }; +}; + +&pio { + epa_elna_pins: epa-elna-pins { + mux { + function = "antsel"; + groups = "antsel0", "antsel1", "antsel2", "antsel3", + "antsel4", "antsel5", "antsel6", "antsel7", + "antsel8", "antsel9", "antsel12", "antsel13", + "antsel14", "antsel15", "antsel16", "antsel17"; + }; + }; + + eth_pins: eth-pins { + mux { + function = "eth"; + groups = "mdc_mdio", "rgmii_via_gmac2"; + }; + }; + + pcie0_pins: pcie0-pins { + mux { + function = "pcie"; + groups = "pcie0_pad_perst", + "pcie0_0_waken", + "pcie0_0_clkreq"; + }; + }; + + pmic_bus_pins: pmic-bus-pins { + mux { + function = "pmic"; + groups = "pmic_bus"; + }; + }; + + spi_nor_pins: spi-nor-pins { + mux { + function = "flash"; + groups = "spi_nor"; + }; + }; + + uart0_pins: uart0-pins { + mux { + function = "uart"; + groups = "uart0_0_tx_rx"; + }; + }; + + watchdog_pins: watchdog-pins { + mux { + function = "watchdog"; + groups = "watchdog"; + }; + }; +}; + +&pwrap { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pmic_bus_pins>; +}; + +&nor_flash { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&spi_nor_pins>; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <50000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "Preloader"; + reg = <0x0 0x40000>; + read-only; + }; + + partition@40000 { + label = "ATF"; + reg = <0x40000 0x20000>; + read-only; + }; + + partition@60000 { + label = "u-boot"; + reg = <0x60000 0x50000>; + read-only; + }; + + partition@B0000 { + label = "u-boot-env"; + reg = <0xb0000 0x20000>; + }; + + factory: partition@D0000 { + label = "Factory"; + reg = <0xd0000 0x80000>; + read-only; + }; + + partition@150000 { + label = "product_info"; + reg = <0x150000 0x10000>; + read-only; + }; + + partition@160000 { + label = "kdump"; + reg = <0x160000 0x10000>; + read-only; + }; + + partition@170000 { + compatible = "denx,fit"; + label = "firmware"; + reg = <0x170000 0xe90000>; + }; + }; + }; +}; + +&rtc { + status = "disabled"; +}; + +&uart0 { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&uart0_pins>; +}; + +&watchdog { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&watchdog_pins>; +}; + +&wmac { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&epa_elna_pins>; + mediatek,mtd-eeprom = <&factory 0x0>; +}; diff --git a/target/linux/mediatek/image/mt7622.mk b/target/linux/mediatek/image/mt7622.mk index 3517748510..daec843b49 100644 --- a/target/linux/mediatek/image/mt7622.mk +++ b/target/linux/mediatek/image/mt7622.mk @@ -203,6 +203,15 @@ define Device/mediatek_mt7622-rfb1-ubi endef TARGET_DEVICES += mediatek_mt7622-rfb1-ubi +define Device/ruijie_rg-ew3200gx-pro + DEVICE_VENDOR := Ruijie + DEVICE_MODEL := RG-EW3200GX PRO + DEVICE_DTS := mt7622-ruijie-rg-ew3200gx-pro + DEVICE_DTS_DIR := ../dts + DEVICE_PACKAGES := kmod-mt7915e +endef +TARGET_DEVICES += ruijie_rg-ew3200gx-pro + define Device/totolink_a8000ru DEVICE_VENDOR := TOTOLINK DEVICE_MODEL := A8000RU diff --git a/target/linux/mediatek/mt7622/base-files/etc/board.d/02_network b/target/linux/mediatek/mt7622/base-files/etc/board.d/02_network index 7b454314cf..4649d0dc57 100644 --- a/target/linux/mediatek/mt7622/base-files/etc/board.d/02_network +++ b/target/linux/mediatek/mt7622/base-files/etc/board.d/02_network @@ -12,7 +12,8 @@ mediatek_setup_interfaces() linksys,e8450|\ linksys,e8450-ubi|\ mediatek,mt7622-rfb1|\ - mediatek,mt7622-rfb1-ubi) + mediatek,mt7622-rfb1-ubi|\ + ruijie,rg-ew3200gx-pro) ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" wan ;; buffalo,wsr-2533dhp2) @@ -30,9 +31,24 @@ mediatek_setup_interfaces() esac } +mediatek_setup_macs() +{ + local board="$1" + local lan_mac="" + + case $board in + ruijie,rg-ew3200gx-pro) + lan_mac=$(macaddr_add $(get_mac_label) 1) + ;; + esac + + [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac +} + board_config_update board=$(board_name) mediatek_setup_interfaces $board +mediatek_setup_macs $board board_config_flush exit 0 diff --git a/target/linux/mediatek/mt7622/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac b/target/linux/mediatek/mt7622/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac new file mode 100644 index 0000000000..d573465745 --- /dev/null +++ b/target/linux/mediatek/mt7622/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac @@ -0,0 +1,17 @@ +[ "$ACTION" == "add" ] || exit 0 + +PHYNBR=${DEVPATH##*/phy} + +[ -n $PHYNBR ] || exit 0 + +. /lib/functions.sh +. /lib/functions/system.sh + +board=$(board_name) + +case "$board" in + ruijie,rg-ew3200gx-pro) + [ "$PHYNBR" = "0" ] && macaddr_add $(get_mac_label) 3 > /sys${DEVPATH}/macaddress + [ "$PHYNBR" = "1" ] && macaddr_add $(get_mac_label) 2 > /sys${DEVPATH}/macaddress + ;; +esac From d15f9b9043eac41ecfa1aaf1d65dca460b3c7fb4 Mon Sep 17 00:00:00 2001 From: Langhua Ye Date: Fri, 4 Mar 2022 23:14:40 +0800 Subject: [PATCH 19/36] uboot-envtools: mt7622: add support for Ruijie RG-EW3200GX PRO Add U-Boot environment settings for Ruijie RG-EW3200GX PRO to allow users to access the bootloader environment using fw_printenv/fw_setenv while running OpenWrt. Signed-off-by: Langhua Ye --- package/boot/uboot-envtools/files/mediatek_mt7622 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package/boot/uboot-envtools/files/mediatek_mt7622 b/package/boot/uboot-envtools/files/mediatek_mt7622 index 65ced284c3..6e8e3b1eff 100644 --- a/package/boot/uboot-envtools/files/mediatek_mt7622 +++ b/package/boot/uboot-envtools/files/mediatek_mt7622 @@ -35,6 +35,9 @@ bananapi,bpi-r64) buffalo,wsr-2533dhp2) ubootenv_add_uci_config "/dev/mtd3" "0x0" "0x1000" "0x20000" ;; +ruijie,rg-ew3200gx-pro) + ubootenv_add_uci_config "/dev/mtd3" "0x0" "0x20000" "0x20000" + ;; ubnt,unifi-6-lr-ubootmod) ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x4000" "0x10000" ;; From 921392e2169e6a6eb94e9cf60449a53fc167ab96 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Thu, 27 Jan 2022 12:30:38 +0000 Subject: [PATCH 20/36] iproute2: Remove libxtables from some tc variants This adds the new tc-bpf variant and removes libxtables dependency from the tc-tiny variant. The tc-full variant stays like before and contains everything. This allows to use tc without libxtables. The variants have the following sizes: root@OpenWrt:/# ls -al /usr/libexec/tc-* -rwxr-xr-x 1 root root 282453 Mar 1 21:55 /usr/libexec/tc-bpf -rwxr-xr-x 1 root root 282533 Mar 1 21:55 /usr/libexec/tc-full -rwxr-xr-x 1 root root 266037 Mar 1 21:55 /usr/libexec/tc-tiny They are linking the following shared libraries: root@OpenWrt:/# ldd /usr/libexec/tc-tiny /lib/ld-musl-mips-sf.so.1 (0x77d6e000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x77d4a000) libc.so => /lib/ld-musl-mips-sf.so.1 (0x77d6e000) root@OpenWrt:/# ldd /usr/libexec/tc-bpf /lib/ld-musl-mips-sf.so.1 (0x77da6000) libbpf.so.0 => /usr/lib/libbpf.so.0 (0x77d60000) libelf.so.1 => /usr/lib/libelf.so.1 (0x77d3e000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x77d1a000) libc.so => /lib/ld-musl-mips-sf.so.1 (0x77da6000) libz.so.1 => /usr/lib/libz.so.1 (0x77cf6000) root@OpenWrt:/# ldd /usr/libexec/tc-full /lib/ld-musl-mips-sf.so.1 (0x77de8000) libbpf.so.0 => /usr/lib/libbpf.so.0 (0x77da2000) libelf.so.1 => /usr/lib/libelf.so.1 (0x77d80000) libxtables.so.12 => /usr/lib/libxtables.so.12 (0x77d66000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x77d42000) libc.so => /lib/ld-musl-mips-sf.so.1 (0x77de8000) libz.so.1 => /usr/lib/libz.so.1 (0x77d1e000) This is based on a patch from Tiago Gaspar. Signed-off-by: Hauke Mehrtens --- package/network/utils/iproute2/Makefile | 42 +++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/package/network/utils/iproute2/Makefile b/package/network/utils/iproute2/Makefile index 928f44e797..55c00a0d6d 100644 --- a/package/network/utils/iproute2/Makefile +++ b/package/network/utils/iproute2/Makefile @@ -57,7 +57,16 @@ $(call Package/iproute2/Default) DEFAULT_VARIANT:=1 PROVIDES:=tc ALTERNATIVES:=200:/sbin/tc:/usr/libexec/tc-tiny - DEPENDS:=+kmod-sched-core +libxtables +tc-mod-iptables +(PACKAGE_devlink||PACKAGE_rdma):libmnl + DEPENDS:=+kmod-sched-core +(PACKAGE_devlink||PACKAGE_rdma):libmnl +endef + +define Package/tc-bpf +$(call Package/iproute2/Default) + TITLE:=Traffic control utility (bpf) + VARIANT:=tcbpf + PROVIDES:=tc + ALTERNATIVES:=300:/sbin/tc:/usr/libexec/tc-bpf + DEPENDS:=+kmod-sched-core +(PACKAGE_devlink||PACKAGE_rdma):libmnl +libbpf endef define Package/tc-full @@ -65,13 +74,14 @@ $(call Package/iproute2/Default) TITLE:=Traffic control utility (full) VARIANT:=tcfull PROVIDES:=tc - ALTERNATIVES:=300:/sbin/tc:/usr/libexec/tc-full - DEPENDS:=+kmod-sched-core +libxtables +tc-mod-iptables +libbpf +(PACKAGE_devlink||PACKAGE_rdma):libmnl + ALTERNATIVES:=400:/sbin/tc:/usr/libexec/tc-full + DEPENDS:=+kmod-sched-core +(PACKAGE_devlink||PACKAGE_rdma):libmnl +libbpf +libxtables +tc-mod-iptables endef define Package/tc-mod-iptables $(call Package/iproute2/Default) TITLE:=Traffic control module - iptables action + VARIANT:=tcfull DEPENDS:=+libxtables endef @@ -123,13 +133,29 @@ endif ifeq ($(BUILD_VARIANT),tctiny) LIBBPF_FORCE:=off +endif + +ifeq ($(BUILD_VARIANT),tcbpf) + HAVE_ELF:=y + LIBBPF_FORCE:=on SHARED_LIBS:=y endif ifeq ($(BUILD_VARIANT),tcfull) + #enable iptables/xtables requirement only if tciptables variant is selected + TC_CONFIG_XT:=y + TC_CONFIG_XT_OLD:=y + TC_CONFIG_XT_OLD_H:=y + TC_CONFIG_IPSET:=y HAVE_ELF:=y LIBBPF_FORCE:=on SHARED_LIBS:=y +else + #disable iptables requirement by default + TC_CONFIG_XT:=n + TC_CONFIG_XT_OLD:=n + TC_CONFIG_XT_OLD_H:=n + TC_CONFIG_IPSET:=n endif ifdef CONFIG_PACKAGE_devlink @@ -160,6 +186,10 @@ MAKE_FLAGS += \ HAVE_CAP=$(HAVE_CAP) \ IPT_LIB_DIR=/usr/lib/iptables \ XT_LIB_DIR=/usr/lib/iptables \ + TC_CONFIG_XT=$(TC_CONFIG_XT) \ + TC_CONFIG_XT_OLD=$(TC_CONFIG_XT_OLD) \ + TC_CONFIG_XT_OLD_H=$(TC_CONFIG_XT_OLD_H) \ + TC_CONFIG_IPSET=$(TC_CONFIG_IPSET) \ FPIC="$(FPIC)" \ $(if $(findstring c,$(OPENWRT_VERBOSE)),V=1,V='') @@ -190,6 +220,11 @@ define Package/tc-tiny/install $(INSTALL_BIN) $(PKG_BUILD_DIR)/tc/tc $(1)/usr/libexec/tc-tiny endef +define Package/tc-bpf/install + $(INSTALL_DIR) $(1)/usr/libexec + $(INSTALL_BIN) $(PKG_BUILD_DIR)/tc/tc $(1)/usr/libexec/tc-bpf +endef + define Package/tc-full/install $(INSTALL_DIR) $(1)/usr/libexec $(INSTALL_BIN) $(PKG_BUILD_DIR)/tc/tc $(1)/usr/libexec/tc-full @@ -236,6 +271,7 @@ $(eval $(call BuildPackage,ip-full)) # spurious rebuilds when building multiple variants. $(eval $(call BuildPackage,tc-mod-iptables)) $(eval $(call BuildPackage,tc-tiny)) +$(eval $(call BuildPackage,tc-bpf)) $(eval $(call BuildPackage,tc-full)) $(eval $(call BuildPackage,genl)) $(eval $(call BuildPackage,ip-bridge)) From 6c743c3006f9b8446a11eab4af2f7997ab6a6a2f Mon Sep 17 00:00:00 2001 From: Joe Mullally Date: Sat, 19 Feb 2022 21:32:54 +0000 Subject: [PATCH 21/36] ramips: Add support for TP-Link TL-WPA8631P v3 AV1300 Gigabit Passthrough Powerline ac Wi-Fi Extender Specifications -------------- * SoC: MediaTek MT7621AT * CPU: 880 MHz MIPS 1004KEc dual-core CPU * RAM: 64 MiB DDR2 (Zentel A3R12E40DBF-8E) * Flash: 8 MiB SPI NOR (GigaDevice GD25Q64CSIG) * Ethernet: SoC built-in Switch 5x 1GbE * Port 0: PLC (connected through AR8035-A) * Port 1-3: LAN * WLAN: 2x2 2.4GHz 300 Mbps + 2x2 5GHz 867 Mbps (MT7603EN + MT7613BEN) * PLC: HomePlug AV2 (Qualcomm QCA7500) * PLC Flash: 2MiB SPI NOR (GigaDevice GD25Q16CSIG) * Buttons: Reset, LED, Pair, Wi-Fi * LEDs: Power (green), PLC (green/amber), LAN (green), 2.4G (green), 5G (green) * UART: J1 (57600 baud) * Pinout: (3V3) (GND) (RX) (TX) * Visually identify GND from connection to PCB ground plane Installation ------------ Installation is possible from the OEM web interface. Make sure to install the latest OEM firmware first, so that the PLC firmware is at the latest version. However, please first check the OpenWRT Wiki page for confirmation that your OEM firmware version is supported. Signed-off-by: Joe Mullally --- .../dts/mt7621_tplink_tl-wpa8631p-v3.dts | 200 ++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 11 + .../mt7621/base-files/etc/board.d/01_leds | 3 + .../mt7621/base-files/etc/board.d/02_network | 3 + 4 files changed, 217 insertions(+) create mode 100644 target/linux/ramips/dts/mt7621_tplink_tl-wpa8631p-v3.dts diff --git a/target/linux/ramips/dts/mt7621_tplink_tl-wpa8631p-v3.dts b/target/linux/ramips/dts/mt7621_tplink_tl-wpa8631p-v3.dts new file mode 100644 index 0000000000..7012c315c1 --- /dev/null +++ b/target/linux/ramips/dts/mt7621_tplink_tl-wpa8631p-v3.dts @@ -0,0 +1,200 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7621.dtsi" + +#include +#include + +/ { + compatible = "tplink,tl-wpa8631p-v3", "mediatek,mt7621-soc"; + model = "TP-Link WPA8631P v3"; + + aliases { + label-mac-device = &gmac0; + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + linux,code = ; + gpios = <&gpio 31 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + + led { + label = "led"; + linux,code = ; + gpios = <&gpio 30 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + + pair { + label = "pair"; + linux,code = ; + gpios = <&gpio 32 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + + wifi { + label = "wifi"; + linux,code = ; + gpios = <&gpio 33 GPIO_ACTIVE_LOW>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_power: power { + label = "green:power"; + gpios = <&gpio 22 GPIO_ACTIVE_LOW>; + }; + + lan { + label = "green:lan"; + gpios = <&gpio 29 GPIO_ACTIVE_LOW>; + }; + + wifi2g { + label = "green:wifi2g"; + gpios = <&gpio 23 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + + wifi5g { + label = "green:wifi5g"; + gpios = <&gpio 24 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy1tpt"; + }; + }; + + gpio-export { + compatible = "gpio-export"; + + led_control { + gpio-export,name = "tp-link:led:control"; + gpio-export,output = <0>; + gpios = <&gpio 25 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&spi0 { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <25000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x20000>; + read-only; + }; + + partition@20000 { + compatible = "tplink,firmware"; + label = "firmware"; + reg = <0x20000 0x710000>; + }; + + config: partition@730000 { + label = "config"; + reg = <0x730000 0xc0000>; + read-only; + }; + + radio: partition@7f0000 { + label = "radio"; + reg = <0x7f0000 0x10000>; + read-only; + }; + }; + }; +}; + +&state_default { + gpio { + groups = "rgmii2", "wdt"; + function = "gpio"; + }; +}; + +&pcie { + status = "okay"; +}; + +&pcie0 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&radio 0x0>; + nvmem-cells = <&macaddr_config_2008>; + nvmem-cell-names = "mac-address"; + ieee80211-freq-limit = <2400000 2500000>; + }; +}; + +&pcie1 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&radio 0x8000>; + nvmem-cells = <&macaddr_config_2008>; + nvmem-cell-names = "mac-address"; + mac-address-increment = <1>; + ieee80211-freq-limit = <5000000 6000000>; + }; +}; + +&gmac0 { + nvmem-cells = <&macaddr_config_2008>; + nvmem-cell-names = "mac-address"; +}; + +&switch0 { + ports { + port@0 { + status = "okay"; + label = "plc0"; + }; + + port@1 { + status = "okay"; + label = "lan1"; + }; + + port@2 { + status = "okay"; + label = "lan2"; + }; + + port@3 { + status = "okay"; + label = "lan3"; + }; + }; +}; + +&config { + compatible = "nvmem-cells"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_2008: macaddr@2008 { + reg = <0x2008 0x6>; + }; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index 1b75f0d7a6..1b7d095fc4 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -1546,6 +1546,17 @@ define Device/tplink_re650-v1 endef TARGET_DEVICES += tplink_re650-v1 +define Device/tplink_tl-wpa8631p-v3 + $(Device/dsa-migration) + $(Device/tplink-safeloader) + DEVICE_MODEL := TL-WPA8631P + DEVICE_VARIANT := v3 + DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7663-firmware-ap + TPLINK_BOARD_ID := TL-WPA8631P-V3 + IMAGE_SIZE := 7232k +endef +TARGET_DEVICES += tplink_tl-wpa8631p-v3 + define Device/ubnt_edgerouter_common $(Device/dsa-migration) $(Device/uimage-lzma-loader) diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds index b167cff857..672c7b0668 100644 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds @@ -117,6 +117,9 @@ tplink,re650-v1) ucidef_set_led_netdev "eth_act" "LAN act" "green:eth_act" "lan" "tx rx" ucidef_set_led_netdev "eth_link" "LAN link" "green:eth_link" "lan" "link" ;; +tplink,tl-wpa8631p-v3) + ucidef_set_led_netdev "lan" "LAN" "green:lan" "br-lan" + ;; xiaomi,mi-router-ac2100) ucidef_set_led_netdev "wan-blue" "WAN (blue)" "blue:wan" "wan" ;; diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index 9af169fbef..3e934899bb 100644 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -67,6 +67,9 @@ ramips_setup_interfaces() tplink,eap615-wall-v1) ucidef_set_interface_lan "lan0 lan1 lan2 lan3" ;; + tplink,tl-wpa8631p-v3) + ucidef_set_interface_lan "lan1 lan2 lan3 plc0" + ;; ubnt,edgerouter-x) ucidef_set_interfaces_lan_wan "eth1 eth2 eth3 eth4" "eth0" ;; From 621d88d7416a61ee3bae0211ab518ab39ea77324 Mon Sep 17 00:00:00 2001 From: INAGAKI Hiroshi Date: Sat, 9 Jan 2021 15:16:44 +0900 Subject: [PATCH 22/36] ramips: increase spi frequency for Buffalo WCR-1166DS Use higher frequency than current and up the speed to access to the flash on WCR-1166DS. Signed-off-by: INAGAKI Hiroshi --- target/linux/ramips/dts/mt7628an_buffalo_wcr-1166ds.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/ramips/dts/mt7628an_buffalo_wcr-1166ds.dts b/target/linux/ramips/dts/mt7628an_buffalo_wcr-1166ds.dts index 41bad4e3ed..f8c024a85d 100644 --- a/target/linux/ramips/dts/mt7628an_buffalo_wcr-1166ds.dts +++ b/target/linux/ramips/dts/mt7628an_buffalo_wcr-1166ds.dts @@ -120,7 +120,7 @@ flash@0 { compatible = "jedec,spi-nor"; reg = <0>; - spi-max-frequency = <10000000>; + spi-max-frequency = <40000000>; partitions { compatible = "fixed-partitions"; From 770cfe9bffbe53fc9c3802041e0c1b1fda8fc015 Mon Sep 17 00:00:00 2001 From: INAGAKI Hiroshi Date: Sat, 9 Jan 2021 13:24:37 +0900 Subject: [PATCH 23/36] ramips: update MAC address configuration for Buffalo WCR-1166DS This patch converts MAC address configuration of Buffalo WCR-1166DS in 02_network to use the generic function of OpenWrt. And also, add label_mac. Signed-off-by: INAGAKI Hiroshi --- target/linux/ramips/mt76x8/base-files/etc/board.d/02_network | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network index ab068ce150..00fb88aa3c 100644 --- a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network @@ -177,9 +177,9 @@ ramips_setup_macs() case $board in buffalo,wcr-1166ds) - local index="$(find_mtd_index "board_data")" - wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)" + wan_mac=$(mtd_get_mac_ascii board_data "mac") lan_mac=$wan_mac + label_mac=$wan_mac ;; cudy,wr1000|\ hilink,hlk-7628n|\ From cc49abc06bca59911caf5b904c3181814636e4da Mon Sep 17 00:00:00 2001 From: INAGAKI Hiroshi Date: Sat, 12 Feb 2022 13:09:23 +0900 Subject: [PATCH 24/36] kernel: move parser_trx patches of custom magic to generic This patch moves the patches of parser_trx in mediatek target to generic/backport-5.10 to use the changes from ramips target and backport the additional patch of the parser. Signed-off-by: INAGAKI Hiroshi --- ...14-0001-dt-bindings-mtd-brcm-trx-Add-brcm-trx-magic.patch} | 0 ...td-parsers-trx-Allow-to-specify-brcm-trx-magic-in-D.patch} | 4 ++-- ...td-parsers-trx-Allow-to-use-TRX-parser-on-Mediatek-.patch} | 2 +- target/linux/generic/config-5.10 | 1 + ...mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch | 2 +- 5 files changed, 5 insertions(+), 4 deletions(-) rename target/linux/{mediatek/patches-5.10/350-dt-bindings-mtd-brcm-trx-Add-brcm-trx-magic.patch => generic/backport-5.10/409-v5.14-0001-dt-bindings-mtd-brcm-trx-Add-brcm-trx-magic.patch} (100%) rename target/linux/{mediatek/patches-5.10/351-mtd-parsers-trx-Allow-to-specify-brcm-trx-magic-in-D.patch => generic/backport-5.10/409-v5.14-0002-mtd-parsers-trx-Allow-to-specify-brcm-trx-magic-in-D.patch} (93%) rename target/linux/{mediatek/patches-5.10/352-mtd-parsers-trx-Allow-to-use-TRX-parser-on-Mediatek-.patch => generic/backport-5.10/409-v5.14-0003-mtd-parsers-trx-Allow-to-use-TRX-parser-on-Mediatek-.patch} (96%) diff --git a/target/linux/mediatek/patches-5.10/350-dt-bindings-mtd-brcm-trx-Add-brcm-trx-magic.patch b/target/linux/generic/backport-5.10/409-v5.14-0001-dt-bindings-mtd-brcm-trx-Add-brcm-trx-magic.patch similarity index 100% rename from target/linux/mediatek/patches-5.10/350-dt-bindings-mtd-brcm-trx-Add-brcm-trx-magic.patch rename to target/linux/generic/backport-5.10/409-v5.14-0001-dt-bindings-mtd-brcm-trx-Add-brcm-trx-magic.patch diff --git a/target/linux/mediatek/patches-5.10/351-mtd-parsers-trx-Allow-to-specify-brcm-trx-magic-in-D.patch b/target/linux/generic/backport-5.10/409-v5.14-0002-mtd-parsers-trx-Allow-to-specify-brcm-trx-magic-in-D.patch similarity index 93% rename from target/linux/mediatek/patches-5.10/351-mtd-parsers-trx-Allow-to-specify-brcm-trx-magic-in-D.patch rename to target/linux/generic/backport-5.10/409-v5.14-0002-mtd-parsers-trx-Allow-to-specify-brcm-trx-magic-in-D.patch index ac98556101..de2d914852 100644 --- a/target/linux/mediatek/patches-5.10/351-mtd-parsers-trx-Allow-to-specify-brcm-trx-magic-in-D.patch +++ b/target/linux/generic/backport-5.10/409-v5.14-0002-mtd-parsers-trx-Allow-to-specify-brcm-trx-magic-in-D.patch @@ -18,7 +18,7 @@ Link: https://lore.kernel.org/linux-mtd/20210418214616.239574-3-hauke@hauke-m.de --- a/drivers/mtd/parsers/parser_trx.c +++ b/drivers/mtd/parsers/parser_trx.c -@@ -78,13 +78,20 @@ static int parser_trx_parse(struct mtd_i +@@ -51,13 +51,20 @@ static int parser_trx_parse(struct mtd_i const struct mtd_partition **pparts, struct mtd_part_parser_data *data) { @@ -39,7 +39,7 @@ Link: https://lore.kernel.org/linux-mtd/20210418214616.239574-3-hauke@hauke-m.de parts = kcalloc(TRX_PARSER_MAX_PARTS, sizeof(struct mtd_partition), GFP_KERNEL); if (!parts) -@@ -97,7 +104,7 @@ static int parser_trx_parse(struct mtd_i +@@ -70,7 +77,7 @@ static int parser_trx_parse(struct mtd_i return err; } diff --git a/target/linux/mediatek/patches-5.10/352-mtd-parsers-trx-Allow-to-use-TRX-parser-on-Mediatek-.patch b/target/linux/generic/backport-5.10/409-v5.14-0003-mtd-parsers-trx-Allow-to-use-TRX-parser-on-Mediatek-.patch similarity index 96% rename from target/linux/mediatek/patches-5.10/352-mtd-parsers-trx-Allow-to-use-TRX-parser-on-Mediatek-.patch rename to target/linux/generic/backport-5.10/409-v5.14-0003-mtd-parsers-trx-Allow-to-use-TRX-parser-on-Mediatek-.patch index b37f461101..faac535270 100644 --- a/target/linux/mediatek/patches-5.10/352-mtd-parsers-trx-Allow-to-use-TRX-parser-on-Mediatek-.patch +++ b/target/linux/generic/backport-5.10/409-v5.14-0003-mtd-parsers-trx-Allow-to-use-TRX-parser-on-Mediatek-.patch @@ -14,7 +14,7 @@ Link: https://lore.kernel.org/linux-mtd/20210418214616.239574-4-hauke@hauke-m.de --- a/drivers/mtd/parsers/Kconfig +++ b/drivers/mtd/parsers/Kconfig -@@ -131,7 +131,7 @@ config MTD_AFS_PARTS +@@ -115,7 +115,7 @@ config MTD_AFS_PARTS config MTD_PARSER_TRX tristate "Parser for TRX format partitions" diff --git a/target/linux/generic/config-5.10 b/target/linux/generic/config-5.10 index bf96908178..ca93b5f269 100644 --- a/target/linux/generic/config-5.10 +++ b/target/linux/generic/config-5.10 @@ -3624,6 +3624,7 @@ CONFIG_MTD_OF_PARTS=y # CONFIG_MTD_ONENAND is not set # CONFIG_MTD_OOPS is not set # CONFIG_MTD_OTP is not set +# CONFIG_MTD_PARSER_TRX is not set # CONFIG_MTD_PARTITIONED_MASTER is not set # CONFIG_MTD_PCI is not set # CONFIG_MTD_PCMCIA is not set diff --git a/target/linux/generic/pending-5.10/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch b/target/linux/generic/pending-5.10/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch index 2ea59cd872..bcea45d009 100644 --- a/target/linux/generic/pending-5.10/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch +++ b/target/linux/generic/pending-5.10/431-mtd-bcm47xxpart-check-for-bad-blocks-when-calculatin.patch @@ -40,7 +40,7 @@ Signed-off-by: Rafał Miłecki static const char *parser_trx_data_part_name(struct mtd_info *master, size_t offset) { -@@ -79,21 +106,21 @@ static int parser_trx_parse(struct mtd_i +@@ -86,21 +113,21 @@ static int parser_trx_parse(struct mtd_i if (trx.offset[2]) { part = &parts[curr_part++]; part->name = "loader"; From d339de2e215f718529e8001ecb102241131f395d Mon Sep 17 00:00:00 2001 From: INAGAKI Hiroshi Date: Sat, 12 Feb 2022 14:56:12 +0900 Subject: [PATCH 25/36] kernel: backport patch to allow using parser_trx from ramips This patch adds a patch to allow using parser_trx from ramips target, mainly for Buffalo devices. Signed-off-by: INAGAKI Hiroshi --- ...x-allow-to-use-on-MediaTek-MIPS-SoCs.patch | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 target/linux/generic/backport-5.10/410-mtd-next-mtd-parsers-trx-allow-to-use-on-MediaTek-MIPS-SoCs.patch diff --git a/target/linux/generic/backport-5.10/410-mtd-next-mtd-parsers-trx-allow-to-use-on-MediaTek-MIPS-SoCs.patch b/target/linux/generic/backport-5.10/410-mtd-next-mtd-parsers-trx-allow-to-use-on-MediaTek-MIPS-SoCs.patch new file mode 100644 index 0000000000..5c49841760 --- /dev/null +++ b/target/linux/generic/backport-5.10/410-mtd-next-mtd-parsers-trx-allow-to-use-on-MediaTek-MIPS-SoCs.patch @@ -0,0 +1,33 @@ +From 2365f91c861cbfeef7141c69842848c7b2d3c2db Mon Sep 17 00:00:00 2001 +From: INAGAKI Hiroshi +Date: Sun, 13 Feb 2022 15:40:44 +0900 +Subject: [PATCH] mtd: parsers: trx: allow to use on MediaTek MIPS SoCs + +Buffalo sells some router devices which have trx-formatted firmware, +based on MediaTek MIPS SoCs. To use parser_trx on those devices, add +"RALINK" to dependency and allow to compile for MediaTek MIPS SoCs. + +examples: + +- WCR-1166DS (MT7628) +- WSR-1166DHP (MT7621) +- WSR-2533DHP (MT7621) + +Signed-off-by: INAGAKI Hiroshi +Signed-off-by: Miquel Raynal +Link: https://lore.kernel.org/linux-mtd/20220213064045.1781-1-musashino.open@gmail.com +--- + drivers/mtd/parsers/Kconfig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/mtd/parsers/Kconfig ++++ b/drivers/mtd/parsers/Kconfig +@@ -115,7 +115,7 @@ config MTD_AFS_PARTS + + config MTD_PARSER_TRX + tristate "Parser for TRX format partitions" +- depends on MTD && (BCM47XX || ARCH_BCM_5301X || ARCH_MEDIATEK || COMPILE_TEST) ++ depends on MTD && (BCM47XX || ARCH_BCM_5301X || ARCH_MEDIATEK || RALINK || COMPILE_TEST) + help + TRX is a firmware format used by Broadcom on their devices. It + may contain up to 3/4 partitions (depending on the version). From 5403defbec81ef2daaddc191d34f653cb1ab3050 Mon Sep 17 00:00:00 2001 From: INAGAKI Hiroshi Date: Sat, 12 Feb 2022 16:07:05 +0900 Subject: [PATCH 26/36] ramips: switch parser of trx for mt76x8 subtarget This patch enable parser_trx and disable mtdsplit_trx for mt76x8 subtarget. The trx format is used only on Buffalo WCR-1166DS in mt76x8 subtarget and the parser need to be switched to parser_trx to use the custom magic number in the header for WCR-1166DS. Signed-off-by: INAGAKI Hiroshi --- target/linux/ramips/mt76x8/config-5.10 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/ramips/mt76x8/config-5.10 b/target/linux/ramips/mt76x8/config-5.10 index 5dc7d5ffb3..d8d70b2c29 100644 --- a/target/linux/ramips/mt76x8/config-5.10 +++ b/target/linux/ramips/mt76x8/config-5.10 @@ -109,10 +109,10 @@ CONFIG_MODULES_USE_ELF_REL=y CONFIG_MT7621_WDT=y # CONFIG_MTD_CFI_INTELEXT is not set CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_PARSER_TRX=y CONFIG_MTD_PHYSMAP=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_SPLIT_TPLINK_FW=y -CONFIG_MTD_SPLIT_TRX_FW=y CONFIG_MTD_SPLIT_UIMAGE_FW=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_PER_CPU_KM=y From f7f9e6bd20bbdca6f136d469d1712e6b124635b4 Mon Sep 17 00:00:00 2001 From: INAGAKI Hiroshi Date: Sat, 17 Jul 2021 18:28:47 +0900 Subject: [PATCH 27/36] ramips: use parser_trx for Buffalo WCR-1166DS Buffalo WCR-1166DS uses trx-fomatted firmware and the custom magic number (0x5C436F74, "\Cot") is required for OpenWrt installation from OEM WebUI. But the current mtdsplit_trx doesn't support the custom magic number and fail to parse and split to kernel and rootfs when the factory image is flashed. Then, the kernel fails to mount rootfs automatically and panics. Before the commit fddc78bc116bc043fb5cd92dbc45cfd054c21af8, mtdsplit_trx was patched in ramips target and the device-specific magic number was supported only for WCR-1166DS[1]. But the patch was not inherited to the later version of the kernel and deleted by the above commit, then, the custom magic number support was broken. [1]: https://github.com/openwrt/openwrt/blob/05d6e92594c507dcd1f4be6c1bcb2282fe1abe1f/target/linux/ramips/patches-4.4/0400-mtd-mtdsplit-add-support-for-custom-trx-magic-for-Buffalo-WCR-1166DS.patch#L27 log (factory image): [ 1.165312] spi-mt7621 10000b00.spi: sys_freq: 193333333 [ 1.195782] spi-nor spi0.0: w25q128 (16384 Kbytes) [ 1.205353] 7 fixed-partitions partitions found on MTD device spi0.0 [ 1.217938] Creating 7 MTD partitions on "spi0.0": [ 1.227436] 0x000000000000-0x000000030000 : "u-boot" [ 1.238427] 0x000000030000-0x000000040000 : "u-boot-env" [ 1.250123] 0x000000040000-0x000000050000 : "factory" [ 1.261306] 0x000000050000-0x000000810000 : "firmware" [ 1.282051] 0x000000810000-0x000000fd0000 : "firmware2" [ 1.293594] 0x000000fd0000-0x000000fe0000 : "glbcfg" [ 1.304719] 0x000000fe0000-0x000000ff0000 : "board_data" ... [ 1.452424] /dev/root: Can't open blockdev [ 1.460619] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6 [ 1.475434] Please append a correct "root=" boot option; here are the available partitions: [ 1.491986] 1f00 192 mtdblock0 [ 1.491989] (driver?) [ 1.504938] 1f01 64 mtdblock1 [ 1.504941] (driver?) [ 1.517885] 1f02 64 mtdblock2 [ 1.517888] (driver?) [ 1.530831] 1f03 7936 mtdblock3 [ 1.530834] (driver?) [ 1.543777] 1f04 7936 mtdblock4 [ 1.543781] (driver?) [ 1.556724] 1f05 64 mtdblock5 [ 1.556727] (driver?) [ 1.569672] 1f06 64 mtdblock6 [ 1.569675] (driver?) [ 1.582617] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) [ 1.598976] Rebooting in 1 seconds.. This patch fixes this issue by using parser_trx with specifying custom magic number in dts instead of mtdsplit_trx. log (fixed factory image): [ 1.202044] spi-mt7621 10000b00.spi: sys_freq: 193333333 [ 1.225369] spi-nor spi0.0: w25q128 (16384 Kbytes) [ 1.235015] 7 fixed-partitions partitions found on MTD device spi0.0 [ 1.247603] Creating 7 MTD partitions on "spi0.0": [ 1.257106] 0x000000000000-0x000000030000 : "u-boot" [ 1.269447] 0x000000030000-0x000000040000 : "u-boot-env" [ 1.281192] 0x000000040000-0x000000050000 : "factory" [ 1.294208] 0x000000050000-0x000000810000 : "firmware" [ 1.305774] 2 trx partitions found on MTD device firmware [ 1.316540] Creating 2 MTD partitions on "firmware": [ 1.326399] 0x00000000001c-0x000000214754 : "linux" [ 1.336063] mtd: partition "linux" doesn't start on an erase/write block boundary -- force read-only [ 1.357070] 0x000000214754-0x0000007c0000 : "rootfs" [ 1.366994] mtd: partition "rootfs" doesn't start on an erase/write block boundary -- force read-only [ 1.386368] mtd: device 5 (rootfs) set to be root filesystem [ 1.398700] 1 squashfs-split partitions found on MTD device rootfs [ 1.411027] 0x000000520000-0x0000007c0000 : "rootfs_data" [ 1.422841] 0x000000810000-0x000000fd0000 : "firmware2" [ 1.436282] 0x000000fd0000-0x000000fe0000 : "glbcfg" [ 1.447408] 0x000000fe0000-0x000000ff0000 : "board_data" ... [ 1.611216] VFS: Mounted root (squashfs filesystem) readonly on device 31:5. Signed-off-by: INAGAKI Hiroshi --- target/linux/ramips/dts/mt7628an_buffalo_wcr-1166ds.dts | 3 ++- target/linux/ramips/image/mt76x8.mk | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/target/linux/ramips/dts/mt7628an_buffalo_wcr-1166ds.dts b/target/linux/ramips/dts/mt7628an_buffalo_wcr-1166ds.dts index f8c024a85d..c3ea41bbf6 100644 --- a/target/linux/ramips/dts/mt7628an_buffalo_wcr-1166ds.dts +++ b/target/linux/ramips/dts/mt7628an_buffalo_wcr-1166ds.dts @@ -146,7 +146,8 @@ }; partition@50000 { - compatible = "openwrt,trx"; + compatible = "brcm,trx"; + brcm,trx-magic = <0x746f435c>; label = "firmware"; reg = <0x50000 0x7c0000>; }; diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk index 59559c4164..49b3c860dc 100644 --- a/target/linux/ramips/image/mt76x8.mk +++ b/target/linux/ramips/image/mt76x8.mk @@ -68,7 +68,7 @@ define Device/buffalo_wcr-1166ds BUFFALO_TAG_VERSION := 9.99 BUFFALO_TAG_MINOR := 9.99 IMAGES += factory.bin - IMAGE/sysupgrade.bin := trx | pad-rootfs | append-metadata + IMAGE/sysupgrade.bin := trx -M 0x746f435c | pad-rootfs | append-metadata IMAGE/factory.bin := trx -M 0x746f435c | pad-rootfs | append-metadata | \ buffalo-enc WCR-1166DS $$(BUFFALO_TAG_VERSION) -l | \ buffalo-tag-dhp WCR-1166DS JP JP | buffalo-enc-tag -l | buffalo-dhp-image From 0890fb2df4d89f8792c00859d68641f50df2b4f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Mork?= Date: Sat, 5 Mar 2022 10:36:07 +0100 Subject: [PATCH 28/36] realtek: net: dsa: configure better brport flags when ports leave the bridge MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ensures that the DSA driver sets exactly the same default flags as the bridge when a port joins or leaves. Without this we end up with a confusing flag mismatch, where DSA and bridge ports use different sets of flags. This is critical as the "learning" mismatch will be harmful to the network, causing all traffic to be flooded on all ports. The original commit was buggy, trying to set the flags one-by-one in a loop. This was not supported by the API and the end result was that all but the last flag were cleared. This bug was implicitly fixed upstream by commit e18f4c18ab5b ("net: switchdev: pass flags and mask to both {PRE_,}BRIDGE_FLAGS attributes"). This is a minimum temporary stop measure fix for the critical lack of "learning" only. The major API change associated with a full v5.12+ backport is neither required nor wanted. A simpler fix, moving the call to dsa_port_bridge_flags() out of the loop, has therefore been merged into this modified backport. Fixes: afa3ab54c03d ("realtek: Backport bridge configuration for DSA") Signed-off-by: Bjørn Mork Acked-by: Daniel Golle Tested-by: Stijn Tintel [fix typos in commit message] Signed-off-by: Stijn Tintel --- ...e-better-brport-flags-when-ports-lea.patch | 148 ++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 target/linux/realtek/patches-5.10/713-v5.12-net-dsa-configure-better-brport-flags-when-ports-lea.patch diff --git a/target/linux/realtek/patches-5.10/713-v5.12-net-dsa-configure-better-brport-flags-when-ports-lea.patch b/target/linux/realtek/patches-5.10/713-v5.12-net-dsa-configure-better-brport-flags-when-ports-lea.patch new file mode 100644 index 0000000000..a3bfec59ab --- /dev/null +++ b/target/linux/realtek/patches-5.10/713-v5.12-net-dsa-configure-better-brport-flags-when-ports-lea.patch @@ -0,0 +1,148 @@ +From: Vladimir Oltean +Date: Fri, 12 Feb 2021 17:15:54 +0200 +Subject: [PATCH] net: dsa: configure better brport flags when ports leave the + bridge + +Bugfixed version of upstream commit 5e38c15856e9 ("net: dsa: configure +better brport flags when ports leave the bridge") + +For a DSA switch port operating in standalone mode, address learning +doesn't make much sense since that is a bridge function. In fact, +address learning even breaks setups such as this one: + + +---------------------------------------------+ + | | + | +-------------------+ | + | | br0 | send receive | + | +--------+-+--------+ +--------+ +--------+ | + | | | | | | | | | | + | | swp0 | | swp1 | | swp2 | | swp3 | | + | | | | | | | | | | + +-+--------+-+--------+-+--------+-+--------+-+ + | ^ | ^ + | | | | + | +-----------+ | + | | + +--------------------------------+ + +because if the switch has a single FDB (can offload a single bridge) +then source address learning on swp3 can "steal" the source MAC address +of swp2 from br0's FDB, because learning frames coming from swp2 will be +done twice: first on the swp1 ingress port, second on the swp3 ingress +port. So the hardware FDB will become out of sync with the software +bridge, and when swp2 tries to send one more packet towards swp1, the +ASIC will attempt to short-circuit the forwarding path and send it +directly to swp3 (since that's the last port it learned that address on), +which it obviously can't, because swp3 operates in standalone mode. + +So DSA drivers operating in standalone mode should still configure a +list of bridge port flags even when they are standalone. Currently DSA +attempts to call dsa_port_bridge_flags with 0, which disables egress +flooding of unknown unicast and multicast, something which doesn't make +much sense. For the switches that implement .port_egress_floods - b53 +and mv88e6xxx, it probably doesn't matter too much either, since they +can possibly inject traffic from the CPU into a standalone port, +regardless of MAC DA, even if egress flooding is turned off for that +port, but certainly not all DSA switches can do that - sja1105, for +example, can't. So it makes sense to use a better common default there, +such as "flood everything". + +It should also be noted that what DSA calls "dsa_port_bridge_flags()" +is a degenerate name for just calling .port_egress_floods(), since +nothing else is implemented - not learning, in particular. But disabling +address learning, something that this driver is also coding up for, will +be supported by individual drivers once .port_egress_floods is replaced +with a more generic .port_bridge_flags. + +Previous attempts to code up this logic have been in the common bridge +layer, but as pointed out by Ido Schimmel, there are corner cases that +are missed when doing that: +https://patchwork.kernel.org/project/netdevbpf/patch/20210209151936.97382-5-olteanv@gmail.com/ + +So, at least for now, let's leave DSA in charge of setting port flags +before and after the bridge join and leave. + +Signed-off-by: Vladimir Oltean +Reviewed-by: Florian Fainelli +Signed-off-by: David S. Miller +[ backport and bugfix: break dsa_port_bridge_flags() out of loop ] +Signed-off-by: Bjørn Mork +--- + net/dsa/port.c | 45 ++++++++++++++++++++++++++++++++++++++------- + 1 file changed, 38 insertions(+), 7 deletions(-) + +--- a/net/dsa/port.c ++++ b/net/dsa/port.c +@@ -134,6 +134,27 @@ void dsa_port_disable(struct dsa_port *d + rtnl_unlock(); + } + ++static void dsa_port_change_brport_flags(struct dsa_port *dp, ++ bool bridge_offload) ++{ ++ unsigned long mask, flags; ++ int flag, err; ++ ++ mask = BR_LEARNING | BR_FLOOD | BR_MCAST_FLOOD | BR_BCAST_FLOOD; ++ if (bridge_offload) ++ flags = mask; ++ else ++ flags = mask & ~BR_LEARNING; ++ ++ for_each_set_bit(flag, &mask, 32) { ++ err = dsa_port_pre_bridge_flags(dp, BIT(flag), NULL, NULL); ++ if (err) ++ flags &= ~BIT(flag); ++ } ++ ++ dsa_port_bridge_flags(dp, flags, NULL, NULL); ++} ++ + int dsa_port_bridge_join(struct dsa_port *dp, struct net_device *br) + { + struct dsa_notifier_bridge_info info = { +@@ -144,10 +165,10 @@ int dsa_port_bridge_join(struct dsa_port + }; + int err; + +- /* Set the flooding mode before joining the port in the switch */ +- err = dsa_port_bridge_flags(dp, BR_FLOOD | BR_MCAST_FLOOD, NULL, NULL); +- if (err) +- return err; ++ /* Notify the port driver to set its configurable flags in a way that ++ * matches the initial settings of a bridge port. ++ */ ++ dsa_port_change_brport_flags(dp, true); + + /* Here the interface is already bridged. Reflect the current + * configuration so that drivers can program their chips accordingly. +@@ -158,7 +179,7 @@ int dsa_port_bridge_join(struct dsa_port + + /* The bridging is rolled back on error */ + if (err) { +- dsa_port_bridge_flags(dp, 0, NULL, NULL); ++ dsa_port_change_brport_flags(dp, false); + dp->bridge_dev = NULL; + } + +@@ -184,8 +205,18 @@ void dsa_port_bridge_leave(struct dsa_po + if (err) + pr_err("DSA: failed to notify DSA_NOTIFIER_BRIDGE_LEAVE\n"); + +- /* Port is leaving the bridge, disable flooding */ +- dsa_port_bridge_flags(dp, 0, NULL, NULL); ++ /* Configure the port for standalone mode (no address learning, ++ * flood everything). ++ * The bridge only emits SWITCHDEV_ATTR_ID_PORT_BRIDGE_FLAGS events ++ * when the user requests it through netlink or sysfs, but not ++ * automatically at port join or leave, so we need to handle resetting ++ * the brport flags ourselves. But we even prefer it that way, because ++ * otherwise, some setups might never get the notification they need, ++ * for example, when a port leaves a LAG that offloads the bridge, ++ * it becomes standalone, but as far as the bridge is concerned, no ++ * port ever left. ++ */ ++ dsa_port_change_brport_flags(dp, false); + + /* Port left the bridge, put in BR_STATE_DISABLED by the bridge layer, + * so allow it to be in BR_STATE_FORWARDING to be kept functional From 759149977ea9794bcb928500680fa9462ad74394 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 6 Mar 2022 23:01:13 +0100 Subject: [PATCH 29/36] qosify: update to the latest version 3276aed81c73 move run_cmd() to main.c 558eabc13c64 map: move dns host based lookup code to a separate function 6ff06d66c36c dns: add code for snooping dns packets a78bd43c4a54 ubus: remove dnsmasq subscriber 9773ffa70f1f map: process dns patterns in the order in which they were defined f13b67c9a786 dns: allow limiting dns entry matching to cname name Signed-off-by: Felix Fietkau --- package/network/config/qosify/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/network/config/qosify/Makefile b/package/network/config/qosify/Makefile index 2bc806513a..881d429613 100644 --- a/package/network/config/qosify/Makefile +++ b/package/network/config/qosify/Makefile @@ -11,9 +11,9 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=qosify PKG_SOURCE_URL=$(PROJECT_GIT)/project/qosify.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2022-03-04 -PKG_SOURCE_VERSION:=74cfd71531446440b70639f2290f510a529deaa6 -PKG_MIRROR_HASH:=113ca3c91c11d7be4ca153f3295e2f00275fbb45396feedb46120c6b3009c23a +PKG_SOURCE_DATE:=2022-03-06 +PKG_SOURCE_VERSION:=f13b67c9a786567df240a8f3f608e2724ddaadba +PKG_MIRROR_HASH:=3d8629e711e46a6be79a46a6394165fd1761687f24b8ed954dc4f16f177cd90f PKG_RELEASE:=$(AUTORELEASE) PKG_LICENSE:=GPL-2.0 From b3b0a25ee8cf5f508f06822d53af0b60e3116d8a Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 7 Mar 2022 08:43:52 +0100 Subject: [PATCH 30/36] toolchain/binutils: remove old versions Signed-off-by: Felix Fietkau --- toolchain/binutils/Config.in | 16 -------- toolchain/binutils/Config.version | 15 -------- .../2.32/300-001_ld_makefile_patch.patch | 22 ----------- .../2.32/300-012_check_ldrunpath_length.patch | 20 ---------- .../400-mips_no_dynamic_linking_sym.patch | 18 --------- ...e-default-emulation-for-mips64-linux.patch | 37 ------------------ .../2.34/300-001_ld_makefile_patch.patch | 22 ----------- .../400-mips_no_dynamic_linking_sym.patch | 18 --------- ...e-default-emulation-for-mips64-linux.patch | 38 ------------------- .../2.35.2/300-001_ld_makefile_patch.patch | 22 ----------- .../400-mips_no_dynamic_linking_sym.patch | 18 --------- ...e-default-emulation-for-mips64-linux.patch | 38 ------------------- .../2.36.1/300-001_ld_makefile_patch.patch | 22 ----------- .../400-mips_no_dynamic_linking_sym.patch | 18 --------- ...e-default-emulation-for-mips64-linux.patch | 38 ------------------- 15 files changed, 362 deletions(-) delete mode 100644 toolchain/binutils/patches/2.32/300-001_ld_makefile_patch.patch delete mode 100644 toolchain/binutils/patches/2.32/300-012_check_ldrunpath_length.patch delete mode 100644 toolchain/binutils/patches/2.32/400-mips_no_dynamic_linking_sym.patch delete mode 100644 toolchain/binutils/patches/2.32/500-Change-default-emulation-for-mips64-linux.patch delete mode 100644 toolchain/binutils/patches/2.34/300-001_ld_makefile_patch.patch delete mode 100644 toolchain/binutils/patches/2.34/400-mips_no_dynamic_linking_sym.patch delete mode 100644 toolchain/binutils/patches/2.34/500-Change-default-emulation-for-mips64-linux.patch delete mode 100644 toolchain/binutils/patches/2.35.2/300-001_ld_makefile_patch.patch delete mode 100644 toolchain/binutils/patches/2.35.2/400-mips_no_dynamic_linking_sym.patch delete mode 100644 toolchain/binutils/patches/2.35.2/500-Change-default-emulation-for-mips64-linux.patch delete mode 100644 toolchain/binutils/patches/2.36.1/300-001_ld_makefile_patch.patch delete mode 100644 toolchain/binutils/patches/2.36.1/400-mips_no_dynamic_linking_sym.patch delete mode 100644 toolchain/binutils/patches/2.36.1/500-Change-default-emulation-for-mips64-linux.patch diff --git a/toolchain/binutils/Config.in b/toolchain/binutils/Config.in index 493b6e4f5a..e557f21f47 100644 --- a/toolchain/binutils/Config.in +++ b/toolchain/binutils/Config.in @@ -6,22 +6,6 @@ choice help Select the version of binutils you wish to use. - config BINUTILS_USE_VERSION_2_32 - bool "Binutils 2.32" - select BINUTILS_VERSION_2_32 - - config BINUTILS_USE_VERSION_2_34 - bool "Binutils 2.34" - select BINUTILS_VERSION_2_34 - - config BINUTILS_USE_VERSION_2_35_2 - bool "Binutils 2.35.2" - select BINUTILS_VERSION_2_35_2 - - config BINUTILS_USE_VERSION_2_36_1 - bool "Binutils 2.36.1" - select BINUTILS_VERSION_2_36_1 - config BINUTILS_USE_VERSION_2_37 bool "Binutils 2.37" select BINUTILS_VERSION_2_37 diff --git a/toolchain/binutils/Config.version b/toolchain/binutils/Config.version index db727b78bc..4c2dce176f 100644 --- a/toolchain/binutils/Config.version +++ b/toolchain/binutils/Config.version @@ -1,14 +1,3 @@ -config BINUTILS_VERSION_2_32 - bool - -config BINUTILS_VERSION_2_34 - bool - -config BINUTILS_VERSION_2_35_2 - bool - -config BINUTILS_VERSION_2_36_1 - bool config BINUTILS_VERSION_2_37 default y if !TOOLCHAINOPTS @@ -16,8 +5,4 @@ config BINUTILS_VERSION_2_37 config BINUTILS_VERSION string - default "2.32" if BINUTILS_VERSION_2_32 - default "2.34" if BINUTILS_VERSION_2_34 - default "2.35.2" if BINUTILS_VERSION_2_35_2 - default "2.36.1" if BINUTILS_VERSION_2_36_1 default "2.37" if BINUTILS_VERSION_2_37 diff --git a/toolchain/binutils/patches/2.32/300-001_ld_makefile_patch.patch b/toolchain/binutils/patches/2.32/300-001_ld_makefile_patch.patch deleted file mode 100644 index 7b8300efac..0000000000 --- a/toolchain/binutils/patches/2.32/300-001_ld_makefile_patch.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/ld/Makefile.am -+++ b/ld/Makefile.am -@@ -57,7 +57,7 @@ endif - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ ---- a/ld/Makefile.in -+++ b/ld/Makefile.in -@@ -563,7 +563,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include diff --git a/toolchain/binutils/patches/2.32/300-012_check_ldrunpath_length.patch b/toolchain/binutils/patches/2.32/300-012_check_ldrunpath_length.patch deleted file mode 100644 index 1e8695f2fc..0000000000 --- a/toolchain/binutils/patches/2.32/300-012_check_ldrunpath_length.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/ld/emultempl/elf32.em -+++ b/ld/emultempl/elf32.em -@@ -1471,6 +1471,8 @@ fragment <link.next) - if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) diff --git a/toolchain/binutils/patches/2.32/400-mips_no_dynamic_linking_sym.patch b/toolchain/binutils/patches/2.32/400-mips_no_dynamic_linking_sym.patch deleted file mode 100644 index fb3f7f59b9..0000000000 --- a/toolchain/binutils/patches/2.32/400-mips_no_dynamic_linking_sym.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/bfd/elfxx-mips.c -+++ b/bfd/elfxx-mips.c -@@ -8001,6 +8001,7 @@ _bfd_mips_elf_create_dynamic_sections (b - - name = SGI_COMPAT (abfd) ? "_DYNAMIC_LINK" : "_DYNAMIC_LINKING"; - bh = NULL; -+ if (0) { - if (!(_bfd_generic_link_add_one_symbol - (info, abfd, name, BSF_GLOBAL, bfd_abs_section_ptr, 0, - NULL, FALSE, get_elf_backend_data (abfd)->collect, &bh))) -@@ -8013,6 +8014,7 @@ _bfd_mips_elf_create_dynamic_sections (b - - if (! bfd_elf_link_record_dynamic_symbol (info, h)) - return FALSE; -+ } - - if (! mips_elf_hash_table (info)->use_rld_obj_head) - { diff --git a/toolchain/binutils/patches/2.32/500-Change-default-emulation-for-mips64-linux.patch b/toolchain/binutils/patches/2.32/500-Change-default-emulation-for-mips64-linux.patch deleted file mode 100644 index bd7f7f29ad..0000000000 --- a/toolchain/binutils/patches/2.32/500-Change-default-emulation-for-mips64-linux.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- a/bfd/config.bfd -+++ b/bfd/config.bfd -@@ -919,12 +919,12 @@ case "${targ}" in - targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" - ;; - mips64*el-*-linux*) -- targ_defvec=mips_elf32_ntrad_le_vec -- targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec" -+ targ_defvec=mips_elf64_trad_le_vec -+ targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_be_vec" - ;; - mips64*-*-linux*) -- targ_defvec=mips_elf32_ntrad_be_vec -- targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec" -+ targ_defvec=mips_elf64_trad_be_vec -+ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec" - ;; - mips*el-*-linux*) - targ_defvec=mips_elf32_trad_le_vec ---- a/ld/configure.tgt -+++ b/ld/configure.tgt -@@ -468,11 +468,11 @@ mips*el-*-vxworks*) targ_emul=elf32elmip - mips*-*-vxworks*) targ_emul=elf32ebmipvxworks - targ_extra_emuls="elf32elmipvxworks" ;; - mips*-*-windiss) targ_emul=elf32mipswindiss ;; --mips64*el-*-linux-*) targ_emul=elf32ltsmipn32 -- targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" -+mips64*el-*-linux-*) targ_emul=elf64ltsmip -+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32ltsmip elf32btsmip elf64btsmip" - targ_extra_libpath=$targ_extra_emuls ;; --mips64*-*-linux-*) targ_emul=elf32btsmipn32 -- targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip" -+mips64*-*-linux-*) targ_emul=elf64btsmip -+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip" - targ_extra_libpath=$targ_extra_emuls ;; - mips*el-*-linux-*) targ_emul=elf32ltsmip - targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" diff --git a/toolchain/binutils/patches/2.34/300-001_ld_makefile_patch.patch b/toolchain/binutils/patches/2.34/300-001_ld_makefile_patch.patch deleted file mode 100644 index dcffe00941..0000000000 --- a/toolchain/binutils/patches/2.34/300-001_ld_makefile_patch.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/ld/Makefile.am -+++ b/ld/Makefile.am -@@ -63,7 +63,7 @@ endif - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ ---- a/ld/Makefile.in -+++ b/ld/Makefile.in -@@ -572,7 +572,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include diff --git a/toolchain/binutils/patches/2.34/400-mips_no_dynamic_linking_sym.patch b/toolchain/binutils/patches/2.34/400-mips_no_dynamic_linking_sym.patch deleted file mode 100644 index a973c56b13..0000000000 --- a/toolchain/binutils/patches/2.34/400-mips_no_dynamic_linking_sym.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/bfd/elfxx-mips.c -+++ b/bfd/elfxx-mips.c -@@ -8092,6 +8092,7 @@ _bfd_mips_elf_create_dynamic_sections (b - - name = SGI_COMPAT (abfd) ? "_DYNAMIC_LINK" : "_DYNAMIC_LINKING"; - bh = NULL; -+ if (0) { - if (!(_bfd_generic_link_add_one_symbol - (info, abfd, name, BSF_GLOBAL, bfd_abs_section_ptr, 0, - NULL, FALSE, get_elf_backend_data (abfd)->collect, &bh))) -@@ -8104,6 +8105,7 @@ _bfd_mips_elf_create_dynamic_sections (b - - if (! bfd_elf_link_record_dynamic_symbol (info, h)) - return FALSE; -+ } - - if (! mips_elf_hash_table (info)->use_rld_obj_head) - { diff --git a/toolchain/binutils/patches/2.34/500-Change-default-emulation-for-mips64-linux.patch b/toolchain/binutils/patches/2.34/500-Change-default-emulation-for-mips64-linux.patch deleted file mode 100644 index 455ac0001d..0000000000 --- a/toolchain/binutils/patches/2.34/500-Change-default-emulation-for-mips64-linux.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- a/bfd/config.bfd -+++ b/bfd/config.bfd -@@ -911,12 +911,12 @@ case "${targ}" in - targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" - ;; - mips64*el-*-linux*) -- targ_defvec=mips_elf32_ntrad_le_vec -- targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec" -+ targ_defvec=mips_elf64_trad_le_vec -+ targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_be_vec" - ;; - mips64*-*-linux*) -- targ_defvec=mips_elf32_ntrad_be_vec -- targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec" -+ targ_defvec=mips_elf64_trad_be_vec -+ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec" - ;; - mips*el-*-linux*) - targ_defvec=mips_elf32_trad_le_vec ---- a/ld/configure.tgt -+++ b/ld/configure.tgt -@@ -541,12 +541,12 @@ mips*-*-vxworks*) targ_emul=elf32ebmipvx - ;; - mips*-*-windiss) targ_emul=elf32mipswindiss - ;; --mips64*el-*-linux-*) targ_emul=elf32ltsmipn32 -- targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" -+mips64*el-*-linux-*) targ_emul=elf64ltsmip -+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32ltsmip elf32btsmip elf64btsmip" - targ_extra_libpath=$targ_extra_emuls - ;; --mips64*-*-linux-*) targ_emul=elf32btsmipn32 -- targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip" -+mips64*-*-linux-*) targ_emul=elf64btsmip -+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip" - targ_extra_libpath=$targ_extra_emuls - ;; - mips*el-*-linux-*) targ_emul=elf32ltsmip diff --git a/toolchain/binutils/patches/2.35.2/300-001_ld_makefile_patch.patch b/toolchain/binutils/patches/2.35.2/300-001_ld_makefile_patch.patch deleted file mode 100644 index 21b2d1c280..0000000000 --- a/toolchain/binutils/patches/2.35.2/300-001_ld_makefile_patch.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/ld/Makefile.am -+++ b/ld/Makefile.am -@@ -50,7 +50,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ ---- a/ld/Makefile.in -+++ b/ld/Makefile.in -@@ -555,7 +555,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include diff --git a/toolchain/binutils/patches/2.35.2/400-mips_no_dynamic_linking_sym.patch b/toolchain/binutils/patches/2.35.2/400-mips_no_dynamic_linking_sym.patch deleted file mode 100644 index 9dfc01e53d..0000000000 --- a/toolchain/binutils/patches/2.35.2/400-mips_no_dynamic_linking_sym.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/bfd/elfxx-mips.c -+++ b/bfd/elfxx-mips.c -@@ -8075,6 +8075,7 @@ _bfd_mips_elf_create_dynamic_sections (b - - name = SGI_COMPAT (abfd) ? "_DYNAMIC_LINK" : "_DYNAMIC_LINKING"; - bh = NULL; -+ if (0) { - if (!(_bfd_generic_link_add_one_symbol - (info, abfd, name, BSF_GLOBAL, bfd_abs_section_ptr, 0, - NULL, FALSE, get_elf_backend_data (abfd)->collect, &bh))) -@@ -8087,6 +8088,7 @@ _bfd_mips_elf_create_dynamic_sections (b - - if (! bfd_elf_link_record_dynamic_symbol (info, h)) - return FALSE; -+ } - - if (! mips_elf_hash_table (info)->use_rld_obj_head) - { diff --git a/toolchain/binutils/patches/2.35.2/500-Change-default-emulation-for-mips64-linux.patch b/toolchain/binutils/patches/2.35.2/500-Change-default-emulation-for-mips64-linux.patch deleted file mode 100644 index 5de5484fe4..0000000000 --- a/toolchain/binutils/patches/2.35.2/500-Change-default-emulation-for-mips64-linux.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- a/bfd/config.bfd -+++ b/bfd/config.bfd -@@ -894,12 +894,12 @@ case "${targ}" in - targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" - ;; - mips64*el-*-linux*) -- targ_defvec=mips_elf32_ntrad_le_vec -- targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec" -+ targ_defvec=mips_elf64_trad_le_vec -+ targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_be_vec" - ;; - mips64*-*-linux*) -- targ_defvec=mips_elf32_ntrad_be_vec -- targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec" -+ targ_defvec=mips_elf64_trad_be_vec -+ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec" - ;; - mips*el-*-linux*) - targ_defvec=mips_elf32_trad_le_vec ---- a/ld/configure.tgt -+++ b/ld/configure.tgt -@@ -531,12 +531,12 @@ mips*-*-vxworks*) targ_emul=elf32ebmipvx - ;; - mips*-*-windiss) targ_emul=elf32mipswindiss - ;; --mips64*el-*-linux-*) targ_emul=elf32ltsmipn32 -- targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" -+mips64*el-*-linux-*) targ_emul=elf64ltsmip -+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32ltsmip elf32btsmip elf64btsmip" - targ_extra_libpath=$targ_extra_emuls - ;; --mips64*-*-linux-*) targ_emul=elf32btsmipn32 -- targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip" -+mips64*-*-linux-*) targ_emul=elf64btsmip -+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip" - targ_extra_libpath=$targ_extra_emuls - ;; - mips*el-*-linux-*) targ_emul=elf32ltsmip diff --git a/toolchain/binutils/patches/2.36.1/300-001_ld_makefile_patch.patch b/toolchain/binutils/patches/2.36.1/300-001_ld_makefile_patch.patch deleted file mode 100644 index f1cbb8198b..0000000000 --- a/toolchain/binutils/patches/2.36.1/300-001_ld_makefile_patch.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/ld/Makefile.am -+++ b/ld/Makefile.am -@@ -50,7 +50,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ ---- a/ld/Makefile.in -+++ b/ld/Makefile.in -@@ -561,7 +561,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS) - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include diff --git a/toolchain/binutils/patches/2.36.1/400-mips_no_dynamic_linking_sym.patch b/toolchain/binutils/patches/2.36.1/400-mips_no_dynamic_linking_sym.patch deleted file mode 100644 index b426dabc97..0000000000 --- a/toolchain/binutils/patches/2.36.1/400-mips_no_dynamic_linking_sym.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/bfd/elfxx-mips.c -+++ b/bfd/elfxx-mips.c -@@ -8053,6 +8053,7 @@ _bfd_mips_elf_create_dynamic_sections (b - - name = SGI_COMPAT (abfd) ? "_DYNAMIC_LINK" : "_DYNAMIC_LINKING"; - bh = NULL; -+ if (0) { - if (!(_bfd_generic_link_add_one_symbol - (info, abfd, name, BSF_GLOBAL, bfd_abs_section_ptr, 0, - NULL, FALSE, get_elf_backend_data (abfd)->collect, &bh))) -@@ -8065,6 +8066,7 @@ _bfd_mips_elf_create_dynamic_sections (b - - if (! bfd_elf_link_record_dynamic_symbol (info, h)) - return FALSE; -+ } - - if (! mips_elf_hash_table (info)->use_rld_obj_head) - { diff --git a/toolchain/binutils/patches/2.36.1/500-Change-default-emulation-for-mips64-linux.patch b/toolchain/binutils/patches/2.36.1/500-Change-default-emulation-for-mips64-linux.patch deleted file mode 100644 index fb3f142624..0000000000 --- a/toolchain/binutils/patches/2.36.1/500-Change-default-emulation-for-mips64-linux.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- a/bfd/config.bfd -+++ b/bfd/config.bfd -@@ -896,12 +896,12 @@ case "${targ}" in - targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec" - ;; - mips64*el-*-linux*) -- targ_defvec=mips_elf32_ntrad_le_vec -- targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec" -+ targ_defvec=mips_elf64_trad_le_vec -+ targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_be_vec" - ;; - mips64*-*-linux*) -- targ_defvec=mips_elf32_ntrad_be_vec -- targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec" -+ targ_defvec=mips_elf64_trad_be_vec -+ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec" - ;; - mips*el-*-linux*) - targ_defvec=mips_elf32_trad_le_vec ---- a/ld/configure.tgt -+++ b/ld/configure.tgt -@@ -531,12 +531,12 @@ mips*-*-vxworks*) targ_emul=elf32ebmipvx - ;; - mips*-*-windiss) targ_emul=elf32mipswindiss - ;; --mips64*el-*-linux-*) targ_emul=elf32ltsmipn32 -- targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" -+mips64*el-*-linux-*) targ_emul=elf64ltsmip -+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32ltsmip elf32btsmip elf64btsmip" - targ_extra_libpath=$targ_extra_emuls - ;; --mips64*-*-linux-*) targ_emul=elf32btsmipn32 -- targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip" -+mips64*-*-linux-*) targ_emul=elf64btsmip -+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip" - targ_extra_libpath=$targ_extra_emuls - ;; - mips*el-*-linux-*) targ_emul=elf32ltsmip From 1b463338954e8cacd1193e097957302b389fb45e Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 7 Mar 2022 10:37:15 +0100 Subject: [PATCH 31/36] bpf-headers: ship a modified version of stdarg.h from musl to fix ebpf build on glibc Signed-off-by: Felix Fietkau --- package/kernel/bpf-headers/Makefile | 3 +++ package/kernel/bpf-headers/files/stdarg.h | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 package/kernel/bpf-headers/files/stdarg.h diff --git a/package/kernel/bpf-headers/Makefile b/package/kernel/bpf-headers/Makefile index 4d603707af..b5891a9722 100644 --- a/package/kernel/bpf-headers/Makefile +++ b/package/kernel/bpf-headers/Makefile @@ -106,6 +106,9 @@ define Build/InstallDev $(PKG_BUILD_DIR)/scripts \ $(PKG_BUILD_DIR)/user_headers \ $(1)/bpf-headers + $(CP) \ + $(CURDIR)/files/stdarg.h \ + $(1)/bpf-headers/include endef $(eval $(call BuildPackage,bpf-headers)) diff --git a/package/kernel/bpf-headers/files/stdarg.h b/package/kernel/bpf-headers/files/stdarg.h new file mode 100644 index 0000000000..603057f6e7 --- /dev/null +++ b/package/kernel/bpf-headers/files/stdarg.h @@ -0,0 +1,19 @@ +#ifndef _STDARG_H +#define _STDARG_H + +#ifdef __cplusplus +extern "C" { +#endif + +typedef __builtin_va_list va_list; + +#define va_start(v,l) __builtin_va_start(v,l) +#define va_end(v) __builtin_va_end(v) +#define va_arg(v,l) __builtin_va_arg(v,l) +#define va_copy(d,s) __builtin_va_copy(d,s) + +#ifdef __cplusplus +} +#endif + +#endif From c45b5abf6fce79ff3aab6d98cde3e8ff0ae1b1d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Mon, 7 Mar 2022 11:12:36 +0100 Subject: [PATCH 32/36] bcm4908: fix init on CFE devices MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit exit in preinit script was stopping whole process Fixes: 93259e8ca261 ("bcm4908: support "rootfs_data" on U-Boot devices") Signed-off-by: Rafał Miłecki --- target/linux/bcm4908/base-files/lib/preinit/75_rootfs_prepare | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/bcm4908/base-files/lib/preinit/75_rootfs_prepare b/target/linux/bcm4908/base-files/lib/preinit/75_rootfs_prepare index 07fa21814e..09c12cd31d 100644 --- a/target/linux/bcm4908/base-files/lib/preinit/75_rootfs_prepare +++ b/target/linux/bcm4908/base-files/lib/preinit/75_rootfs_prepare @@ -20,7 +20,7 @@ rootfs_create() { rootfs_prepare() { # Do nothing on CFE devices - ubinfo /dev/ubi0 -N metadata1 > /dev/null 2>&1 || exit 0 + ubinfo /dev/ubi0 -N metadata1 > /dev/null 2>&1 || return # Find UBI volume device (e.g. ubi0_123) local ubivol="$(grep rootfs_data /sys/devices/virtual/ubi/ubi*/ubi*/name | sed -n 's/.*\(ubi\d*_\d*\).*/\1/p')" From baea8255e0c442c8edfdb8755d644b6e6ba687ba Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 6 Mar 2022 21:44:06 +0100 Subject: [PATCH 33/36] linux-firmware: Update to version 20220209 This switches the iwlwifi-firmware-ax200 file to API version 66, this is the most recent version supported by our driver. The following files used in OpenWrt changed: amdgpu-firmware/lib/firmware/amdgpu/yellow_carp_dmcub.bin ar3k-firmware/lib/firmware/qca/nvm_usb_00130201.bin ar3k-firmware/lib/firmware/qca/nvm_usb_00130201_010a.bin ar3k-firmware/lib/firmware/qca/nvm_usb_00130201_010b.bin ar3k-firmware/lib/firmware/qca/nvm_usb_00130201_0303.bin ar3k-firmware/lib/firmware/qca/nvm_usb_00130201_gf.bin ar3k-firmware/lib/firmware/qca/nvm_usb_00130201_gf_010a.bin ar3k-firmware/lib/firmware/qca/nvm_usb_00130201_gf_010b.bin ar3k-firmware/lib/firmware/qca/nvm_usb_00130201_gf_0303.bin ar3k-firmware/lib/firmware/qca/rampatch_usb_00130200.bin ar3k-firmware/lib/firmware/qca/rampatch_usb_00130201.bin iwlwifi-firmware-ax200/lib/firmware/iwlwifi-cc-a0-66.ucode iwlwifi-firmware-ax210/lib/firmware/iwlwifi-ty-a0-gf-a0-66.ucode iwlwifi-firmware-ax210/lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm iwlwifi-firmware-iwl9000/lib/firmware/iwlwifi-9000-pu-b0-jf-b0-46.ucode iwlwifi-firmware-iwl9260/lib/firmware/iwlwifi-9260-th-b0-jf-b0-46.ucode rtl8822ce-firmware/lib/firmware/rtw88/rtw8822c_fw.bin Signed-off-by: Hauke Mehrtens --- package/firmware/linux-firmware/Makefile | 6 +++--- package/firmware/linux-firmware/intel.mk | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package/firmware/linux-firmware/Makefile b/package/firmware/linux-firmware/Makefile index e46c8870f1..c387e6e4b0 100644 --- a/package/firmware/linux-firmware/Makefile +++ b/package/firmware/linux-firmware/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=linux-firmware -PKG_VERSION:=20211216 -PKG_RELEASE:=2 +PKG_VERSION:=20220209 +PKG_RELEASE:=1 PKG_SOURCE_URL:=@KERNEL/linux/kernel/firmware PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz -PKG_HASH:=eeddb4e6bef31fd1a3757f12ccc324929bbad97855c0b9ec5ed780f74de1837d +PKG_HASH:=e2e46fa618414952bbf2f6920cd3abcddbef45bfb7d1352994b4bfc35394d177 PKG_MAINTAINER:=Felix Fietkau diff --git a/package/firmware/linux-firmware/intel.mk b/package/firmware/linux-firmware/intel.mk index 908aa9dde0..97694572b0 100644 --- a/package/firmware/linux-firmware/intel.mk +++ b/package/firmware/linux-firmware/intel.mk @@ -171,7 +171,7 @@ $(eval $(call BuildPackage,iwlwifi-firmware-iwl9260)) Package/iwlwifi-firmware-ax200 = $(call Package/firmware-default,Intel AX200 firmware) define Package/iwlwifi-firmware-ax200/install $(INSTALL_DIR) $(1)/lib/firmware - $(INSTALL_DATA) $(PKG_BUILD_DIR)/iwlwifi-cc-a0-62.ucode $(1)/lib/firmware + $(INSTALL_DATA) $(PKG_BUILD_DIR)/iwlwifi-cc-a0-66.ucode $(1)/lib/firmware endef $(eval $(call BuildPackage,iwlwifi-firmware-ax200)) From d71928c1e36ed0247b2b663ba05b109eb401718f Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Sun, 6 Mar 2022 00:16:27 +0100 Subject: [PATCH 34/36] nftables: update to version 1.0.2 Changelog: https://lwn.net/ml/netdev/YhO5Pn+6+dgAgSd9@salvia/ Patches: removed: - 001-parser-allow-quoted-string-in-flowtable_expr_member: it is now part of upstream release [1] added: - 001-examples-compile-with-make-check.patch: backported from [2], it fixes: nft-json-file.c:3:10: fatal error: nftables/libnftables.h: No such file or directory 3 | #include | ^~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. [1] https://git.netfilter.org/nftables/commit/?h=v1.0.2&id=07af4429241c9832a613cb8620331ac54257d9df [2] https://git.netfilter.org/nftables/commit/?id=18a08fb7f0443f8bde83393bd6f69e23a04246b3 Signed-off-by: Josef Schlehofer --- package/network/utils/nftables/Makefile | 6 +-- ...001-examples-compile-with-make-check.patch | 29 ++++++++++++ ...oted-string-in-flowtable_expr_member.patch | 44 ------------------- 3 files changed, 32 insertions(+), 47 deletions(-) create mode 100644 package/network/utils/nftables/patches/001-examples-compile-with-make-check.patch delete mode 100644 package/network/utils/nftables/patches/001-parser-allow-quoted-string-in-flowtable_expr_member.patch diff --git a/package/network/utils/nftables/Makefile b/package/network/utils/nftables/Makefile index 346b6e1c22..d1d120e5e9 100644 --- a/package/network/utils/nftables/Makefile +++ b/package/network/utils/nftables/Makefile @@ -7,12 +7,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nftables -PKG_VERSION:=1.0.1 -PKG_RELEASE:=2 +PKG_VERSION:=1.0.2 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://netfilter.org/projects/$(PKG_NAME)/files -PKG_HASH:=3ceeba625818e81a0be293e9dd486c3ef799ebd92165270f1e57e9a201efa423 +PKG_HASH:=0b28a36ffcf4567b841de7bd3f37918b1fed27859eb48bdec51e1f7a83954c02 PKG_MAINTAINER:= PKG_LICENSE:=GPL-2.0 diff --git a/package/network/utils/nftables/patches/001-examples-compile-with-make-check.patch b/package/network/utils/nftables/patches/001-examples-compile-with-make-check.patch new file mode 100644 index 0000000000..6a4430d86f --- /dev/null +++ b/package/network/utils/nftables/patches/001-examples-compile-with-make-check.patch @@ -0,0 +1,29 @@ +From 18a08fb7f0443f8bde83393bd6f69e23a04246b3 Mon Sep 17 00:00:00 2001 +From: Pablo Neira Ayuso +Date: Tue, 22 Feb 2022 00:56:36 +0100 +Subject: examples: compile with `make check' and add AM_CPPFLAGS + +Compile examples via `make check' like libnftnl does. Use AM_CPPFLAGS to +specify local headers via -I. + +Unfortunately, `make distcheck' did not catch this compile time error in +my system, since it was using the nftables/libnftables.h file of the +previous nftables release. + +Fixes: 5b364657a35f ("build: missing SUBIRS update") +Fixes: caf2a6ad2d22 ("examples: add libnftables example program") +Signed-off-by: Pablo Neira Ayuso +--- + examples/Makefile.am | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- a/examples/Makefile.am ++++ b/examples/Makefile.am +@@ -1,4 +1,6 @@ +-noinst_PROGRAMS = nft-buffer \ ++check_PROGRAMS = nft-buffer \ + nft-json-file + ++AM_CPPFLAGS = -I$(top_srcdir)/include ++ + LDADD = $(top_builddir)/src/libnftables.la diff --git a/package/network/utils/nftables/patches/001-parser-allow-quoted-string-in-flowtable_expr_member.patch b/package/network/utils/nftables/patches/001-parser-allow-quoted-string-in-flowtable_expr_member.patch deleted file mode 100644 index 3090adec25..0000000000 --- a/package/network/utils/nftables/patches/001-parser-allow-quoted-string-in-flowtable_expr_member.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 07af4429241c9832a613cb8620331ac54257d9df Mon Sep 17 00:00:00 2001 -From: Stijn Tintel -Date: Tue, 21 Dec 2021 12:40:25 +0200 -Subject: [PATCH] parser: allow quoted string in flowtable_expr_member - -Devices with interface names starting with a digit can not be configured -in flowtables. Trying to do so throws the following error: - -Error: syntax error, unexpected number, expecting comma or '}' -devices = { eth0, 6in4-wan6 }; - -This is however a perfectly valid interface name. Solve the issue by -allowing the use of quoted strings. - -Suggested-by: Jo-Philipp Wich -Signed-off-by: Stijn Tintel -Signed-off-by: Pablo Neira Ayuso ---- - src/parser_bison.y | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/src/parser_bison.y b/src/parser_bison.y -index 16607bb7..1136ab91 100644 ---- a/src/parser_bison.y -+++ b/src/parser_bison.y -@@ -2151,7 +2151,14 @@ flowtable_list_expr : flowtable_expr_member - | flowtable_list_expr COMMA opt_newline - ; - --flowtable_expr_member : STRING -+flowtable_expr_member : QUOTED_STRING -+ { -+ $$ = constant_expr_alloc(&@$, &string_type, -+ BYTEORDER_HOST_ENDIAN, -+ strlen($1) * BITS_PER_BYTE, $1); -+ xfree($1); -+ } -+ | STRING - { - $$ = constant_expr_alloc(&@$, &string_type, - BYTEORDER_HOST_ENDIAN, --- -2.33.1 - From 7b19770525bcb10c82bd6fd769b8db574ac9087f Mon Sep 17 00:00:00 2001 From: INAGAKI Hiroshi Date: Sat, 17 Apr 2021 10:10:27 +0900 Subject: [PATCH 35/36] realtek: add support for I-O DATA BSH-G24MB MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I-O DATA BSH-G24MB is a 24 port gigabit switch, based on RTL8382M. Specification: - SoC : Realtek RTL8382M - RAM : DDR2 128 MiB (Nanya NT5TU128M8HE-AC) - Flash : SPI-NOR 16 MiB (Macronix MX25L12835FM2I-10G) - Ethernet : 10/100/1000 Mbps x24 - port 1-8 : RTL8218B - port 9-16 : RTL8218B (SoC) - port 17-24 : RTL8218B - LEDs/Keys : 2x, 1x - UART : pin header on PCB - JP2: 3.3V, TX, RX, GND from rear side - 115200n8 - Power : 100 VAC, 50/60 Hz - Plug : IEC 60320-C13 Flash instruction using sysupgrade image: 1. Boot BSH-G24MB normally 2. Connect BSH-G24MB to the DHCP enabled network 3. Find the device's IP address and open the WebUI and login Note: by default, the device obtains IP address from DHCP server of the network 4. Open firmware update page ("ファームウェア アップデート") 5. Rename the OpenWrt sysupgrade image to "bsh-g24mb_v100.image" and select it 6. Press apply ("適用") button to perform update 7. Wait ~150 seconds to complete flashing Note: - BSH-G24MB has a power-related LED ("電源"), but it's not connected to the GPIO of the SoC or RTL8231 and cannot be controlled. Instead of it, use system status LED on other than running-state. - "sys_loop" LED indicates system status and loop-detection status in stock firmware. - BSH-G24MB has 2x os-image partitions named as "RUNTIME"/"RUNTIME2" in 16 MiB SPI-NOR flash and the size of image per partition is only 6848 KiB. The secondary image is never used on stock firmware, so also use it on OpenWrt to get more space. Signed-off-by: INAGAKI Hiroshi --- .../dts-5.10/rtl8382_iodata_bsh-g24mb.dts | 197 ++++++++++++++++++ target/linux/realtek/image/rtl838x.mk | 9 + 2 files changed, 206 insertions(+) create mode 100644 target/linux/realtek/dts-5.10/rtl8382_iodata_bsh-g24mb.dts diff --git a/target/linux/realtek/dts-5.10/rtl8382_iodata_bsh-g24mb.dts b/target/linux/realtek/dts-5.10/rtl8382_iodata_bsh-g24mb.dts new file mode 100644 index 0000000000..d19960c108 --- /dev/null +++ b/target/linux/realtek/dts-5.10/rtl8382_iodata_bsh-g24mb.dts @@ -0,0 +1,197 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "rtl838x.dtsi" + +#include +#include +#include + +/ { + compatible = "iodata,bsh-g24mb", "realtek,rtl838x-soc"; + model = "I-O DATA BSH-G24MB"; + + aliases { + led-boot = &led_sys_loop; + led-failsafe = &led_sys_loop; + led-upgrade = &led_sys_loop; + }; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x8000000>; + }; + + leds { + pinctrl-names = "default"; + pinctrl-0 = <&pinmux_disable_sys_led>; + compatible = "gpio-leds"; + + led_sys_loop: led { + label = "red:sys_loop"; + gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>; + color = ; + function = LED_FUNCTION_STATUS; + }; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio1 3 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + gpio1: rtl8231-gpio { + compatible = "realtek,rtl8231-gpio"; + #gpio-cells = <2>; + gpio-controller; + indirect-access-bus-id = <0>; + }; +}; + +&spi0 { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <10000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x80000>; + read-only; + }; + + partition@80000 { + label = "u-boot-env"; + reg = <0x80000 0x10000>; + read-only; + }; + + partition@90000 { + label = "u-boot-env2"; + reg = <0x90000 0x10000>; + }; + + partition@a0000 { + label = "jffs2_cfg"; + reg = <0xa0000 0x100000>; + read-only; + }; + + partition@1a0000 { + label = "jffs2_log"; + reg = <0x1a0000 0x100000>; + read-only; + }; + + /* + * use 2x OS partitions in OpenWrt + * + * 0x2A0000-0x94FFFF: RUNTIME + * 0x950000-0xFFFFFF: RUNTIME2 (not used in stock) + */ + partition@2a0000 { + compatible = "openwrt,uimage", "denx,uimage"; + label = "firmware"; + reg = <0x2a0000 0xd60000>; + openwrt,ih-magic = <0x83800013>; + }; + }; + }; +}; + +ðernet0 { + mdio-bus { + compatible = "realtek,rtl838x-mdio"; + regmap = <ðernet0>; + #address-cells = <1>; + #size-cells = <0>; + + EXTERNAL_PHY(0) + EXTERNAL_PHY(1) + EXTERNAL_PHY(2) + EXTERNAL_PHY(3) + EXTERNAL_PHY(4) + EXTERNAL_PHY(5) + EXTERNAL_PHY(6) + EXTERNAL_PHY(7) + + INTERNAL_PHY(8) + INTERNAL_PHY(9) + INTERNAL_PHY(10) + INTERNAL_PHY(11) + INTERNAL_PHY(12) + INTERNAL_PHY(13) + INTERNAL_PHY(14) + INTERNAL_PHY(15) + + EXTERNAL_PHY(16) + EXTERNAL_PHY(17) + EXTERNAL_PHY(18) + EXTERNAL_PHY(19) + EXTERNAL_PHY(20) + EXTERNAL_PHY(21) + EXTERNAL_PHY(22) + EXTERNAL_PHY(23) + }; +}; + +&switch0 { + ports { + #address-cells = <1>; + #size-cells = <0>; + + SWITCH_PORT(0, 1, qsgmii) + SWITCH_PORT(1, 2, qsgmii) + SWITCH_PORT(2, 3, qsgmii) + SWITCH_PORT(3, 4, qsgmii) + SWITCH_PORT(4, 5, qsgmii) + SWITCH_PORT(5, 6, qsgmii) + SWITCH_PORT(6, 7, qsgmii) + SWITCH_PORT(7, 8, qsgmii) + + SWITCH_PORT(8, 9, internal) + SWITCH_PORT(9, 10, internal) + SWITCH_PORT(10, 11, internal) + SWITCH_PORT(11, 12, internal) + SWITCH_PORT(12, 13, internal) + SWITCH_PORT(13, 14, internal) + SWITCH_PORT(14, 15, internal) + SWITCH_PORT(15, 16, internal) + + SWITCH_PORT(16, 17, qsgmii) + SWITCH_PORT(17, 18, qsgmii) + SWITCH_PORT(18, 19, qsgmii) + SWITCH_PORT(19, 20, qsgmii) + SWITCH_PORT(20, 21, qsgmii) + SWITCH_PORT(21, 22, qsgmii) + SWITCH_PORT(22, 23, qsgmii) + SWITCH_PORT(23, 24, qsgmii) + + port@28 { + ethernet = <ðernet0>; + reg = <28>; + phy-mode = "internal"; + + fixed-link { + speed = <1000>; + full-duplex; + }; + }; + }; +}; diff --git a/target/linux/realtek/image/rtl838x.mk b/target/linux/realtek/image/rtl838x.mk index 6f0e8988f9..43242d3eea 100644 --- a/target/linux/realtek/image/rtl838x.mk +++ b/target/linux/realtek/image/rtl838x.mk @@ -45,6 +45,15 @@ define Device/inaba_aml2-17gp endef TARGET_DEVICES += inaba_aml2-17gp +define Device/iodata_bsh-g24mb + SOC := rtl8382 + IMAGE_SIZE := 13696k + DEVICE_VENDOR := I-O DATA + DEVICE_MODEL := BSH-G24MB + UIMAGE_MAGIC := 0x83800013 +endef +TARGET_DEVICES += iodata_bsh-g24mb + define Device/netgear_gs108t-v3 $(Device/netgear_nge) DEVICE_MODEL := GS108T From 98113220fa87019c01dfcf08f41730f97323858a Mon Sep 17 00:00:00 2001 From: INAGAKI Hiroshi Date: Sun, 18 Apr 2021 10:23:09 +0900 Subject: [PATCH 36/36] uboot-envtools: add support for I-O DATA BSH-G24MB This patch adds the device-specific configuration to u-boot-envtools for I-O DATA BSH-G24MB switch. Signed-off-by: INAGAKI Hiroshi --- package/boot/uboot-envtools/files/realtek | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/package/boot/uboot-envtools/files/realtek b/package/boot/uboot-envtools/files/realtek index 914d15583b..a609362a53 100644 --- a/package/boot/uboot-envtools/files/realtek +++ b/package/boot/uboot-envtools/files/realtek @@ -23,6 +23,14 @@ zyxel,gs1900-24hp-v2) [ -n "$idx2" ] && \ ubootenv_add_uci_sys_config "/dev/mtd$idx2" "0x0" "0x1000" "0x10000" ;; +iodata,bsh-g24mb) + idx="$(find_mtd_index u-boot-env)" + [ -n "$idx" ] && \ + ubootenv_add_uci_config "/dev/mtd$idx" "0x0" "0x10000" "0x10000" + idx2="$(find_mtd_index u-boot-env2)" + [ -n "$idx2" ] && \ + ubootenv_add_uci_sys_config "/dev/mtd$idx2" "0x0" "0x3800" "0x10000" + ;; *) idx="$(find_mtd_index u-boot-env)" [ -n "$idx" ] && \