kernel: bump 5.15 to 5.15.111
Removed upstreamed: 01. backport-5.15/424-v6.4-0001-mtd-core-provide-unique-name-for-nvmem-device-take-t.patch 02. backport-5.15/424-v6.4-0002-mtd-core-fix-nvmem-error-reporting.patch 03. generic-backport/424-v6.4-0003-mtd-core-fix-error-path-for-nvmem-provider.patch 04. generic-backport/828-v6.4-0001-of-Fix-modalias-string-generation.patch 05. bcm4908/patches-5.15/031-v5.17-0002-arm64-dts-broadcom-bcm4908-add-DT-for-Netgear-RAXE50.patch 06. bcm4908/patches-5.15/033-v6.0-0001-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM63158.patchgit 07. bcm4908/patches-5.15/033-v6.0-0002-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM4912.patchgita 08. bcm4908/patches-5.15/033-v6.0-0010-arm64-dts-Add-base-DTS-file-for-bcmbca-device-Asus-G.patchgit 09. bcm4908/patches-5.15/034-v6.1-0005-arm64-dts-Move-BCM4908-dts-to-bcmbca-folder.patch 10. bcm4908/patches-5.15/036-v6.4-0002-arm64-dts-broadcom-bcmbca-bcm4908-fix-NAND-interrupt.patch 11. bcm4908/patches-5.15/036-v6.4-0004-arm64-dts-broadcom-bcmbca-bcm4908-fix-procmon-nodena.patch 12. ipq806x/patches-5.15/104-v6.0-06-ARM-dts-qcom-ipq8064-reduce-pci-IO-size-to-64K.patch Manually rebased: bcm27xx/patches-5.15/950-0078-BCM2708-Add-core-Device-Tree-support.patch bcm27xx/patches-5.15/950-0547-ARM-dts-Add-Pi-Zero-2-support.patch bcm4908/patches-5.15/033-v6.0-0001-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM63158.patchgit bcm4908/patches-5.15/033-v6.0-0002-arm64-dts-Add-DTS-files-for-bcmbca-SoC-BCM4912.patchgit bcm4908/patches-5.15/030-v5.16-0001-arm64-dts-broadcom-bcm4908-Fix-NAND-node-name.patch bcm4908/patches-5.15/032-v5.18-0002-arm64-dts-broadcom-bcm4908-add-pinctrl-binding.patch bcm4908/patches-5.15/032-v5.18-0003-arm64-dts-broadcom-bcm4908-add-watchdog-block.patch bcm4908/patches-5.15/032-v5.18-0004-arm64-dts-broadcom-bcm4908-add-I2C-block.patch bcm4908/patches-5.15/033-v6.0-0003-ARM64-dts-Add-DTS-files-for-bcmbca-SoC-BCM6858.patchgit bcm4908/patches-5.15/033-v6.0-0008-arm64-dts-broadcom-bcm4908-Fix-timer-node-for-BCM490.patchgit bcm4908/patches-5.15/034-v6.1-0001-arm64-dts-broadcom-bcm4908-add-remaining-LED-pins.patch bcm4908/patches-5.15/034-v6.1-0002-arm64-dts-broadcom-bcm4908-add-LEDs-controller-block.patch bcm4908/patches-5.15/034-v6.1-0003-arm64-dts-broadcom-bcm4908-add-Asus-GT-AC5300-LEDs.patch bcm4908/patches-5.15/034-v6.1-0004-arm64-dts-bcmbca-update-BCM4908-board-dts-files.patch All other patches automatically rebased. Build system: x86_64 Build-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod Run-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod 01. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=77112d23a671697f0f70695ab901f807e15d2093 02. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=fe07b3b5af01f42b291f5da0da09d047f50b33a6 03. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=273be36e420924237f6c9d43cdad96718c13dd52 04. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=fe8ab85ed4958e58e991bba0aa0a655b552b0273 05. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=6ae67829fa5e9e71f458f69db42f0e216225616a 06. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=1994284cb9226b65ca3a6744ce3320218b584f26 07. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=a46878476c5549a4fde15a31922ce80a50b23492 08. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=112ff0f2530549d50510f116474924f9c4fad590 09. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=7c253e98685e6d884d12e2618ef4d2ad90b4fbd7 10. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=8444b46e163aa9559a0af0381a1d230ec4146eb2 11. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=6d1af517817a760d7af3dee0fc4603645485495c 12. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.111&id=cc4f0e168a5630ad0491ac5328f1a89f3cf3d04e Signed-off-by: John Audia <therealgraysky@proton.me>
This commit is contained in:
		 John Audia
					John Audia
				
			
				
					committed by
					
						 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
			
				
	
			
			
			 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
						parent
						
							9145c4fbcb
						
					
				
				
					commit
					228e0e1039
				
			| @@ -1,2 +1,2 @@ | |||||||
| LINUX_VERSION-5.15 = .110 | LINUX_VERSION-5.15 = .111 | ||||||
| LINUX_KERNEL_HASH-5.15.110 = 9829fcc77b9978dce97a26980dec445caf2410024696625dbb2314ead4830b5b | LINUX_KERNEL_HASH-5.15.111 = 77ceea259c0158dd624304871170d09b2e59ed612f3a4d436fe0f07362dcaec2 | ||||||
|   | |||||||
| @@ -39,7 +39,7 @@ Changes from v1: | |||||||
|  |  | ||||||
| --- a/drivers/gpu/drm/drm_probe_helper.c | --- a/drivers/gpu/drm/drm_probe_helper.c | ||||||
| +++ b/drivers/gpu/drm/drm_probe_helper.c | +++ b/drivers/gpu/drm/drm_probe_helper.c | ||||||
| @@ -795,6 +795,86 @@ void drm_kms_helper_poll_fini(struct drm | @@ -796,6 +796,86 @@ void drm_kms_helper_poll_fini(struct drm | ||||||
|  } |  } | ||||||
|  EXPORT_SYMBOL(drm_kms_helper_poll_fini); |  EXPORT_SYMBOL(drm_kms_helper_poll_fini); | ||||||
|   |   | ||||||
| @@ -126,7 +126,7 @@ Changes from v1: | |||||||
|  /** |  /** | ||||||
|   * drm_helper_hpd_irq_event - hotplug processing |   * drm_helper_hpd_irq_event - hotplug processing | ||||||
|   * @dev: drm_device |   * @dev: drm_device | ||||||
| @@ -808,9 +888,10 @@ EXPORT_SYMBOL(drm_kms_helper_poll_fini); | @@ -809,9 +889,10 @@ EXPORT_SYMBOL(drm_kms_helper_poll_fini); | ||||||
|   * interrupts for each connector. |   * interrupts for each connector. | ||||||
|   * |   * | ||||||
|   * Drivers which support hotplug interrupts for each connector individually and |   * Drivers which support hotplug interrupts for each connector individually and | ||||||
| @@ -140,7 +140,7 @@ Changes from v1: | |||||||
|   * |   * | ||||||
|   * This function must be called from process context with no mode |   * This function must be called from process context with no mode | ||||||
|   * setting locks held. |   * setting locks held. | ||||||
| @@ -822,9 +903,7 @@ bool drm_helper_hpd_irq_event(struct drm | @@ -823,9 +904,7 @@ bool drm_helper_hpd_irq_event(struct drm | ||||||
|  { |  { | ||||||
|  	struct drm_connector *connector; |  	struct drm_connector *connector; | ||||||
|  	struct drm_connector_list_iter conn_iter; |  	struct drm_connector_list_iter conn_iter; | ||||||
| @@ -150,7 +150,7 @@ Changes from v1: | |||||||
|   |   | ||||||
|  	if (!dev->mode_config.poll_enabled) |  	if (!dev->mode_config.poll_enabled) | ||||||
|  		return false; |  		return false; | ||||||
| @@ -832,37 +911,8 @@ bool drm_helper_hpd_irq_event(struct drm | @@ -833,37 +912,8 @@ bool drm_helper_hpd_irq_event(struct drm | ||||||
|  	mutex_lock(&dev->mode_config.mutex); |  	mutex_lock(&dev->mode_config.mutex); | ||||||
|  	drm_connector_list_iter_begin(dev, &conn_iter); |  	drm_connector_list_iter_begin(dev, &conn_iter); | ||||||
|  	drm_for_each_connector_iter(connector, &conn_iter) { |  	drm_for_each_connector_iter(connector, &conn_iter) { | ||||||
|   | |||||||
| @@ -30043,7 +30043,7 @@ index 11eae3e3a944..5a90727064ee 100644 | |||||||
| +dtb-$(CONFIG_ARCH_BCM2835) += bcm2710-rpi-cm3.dtb | +dtb-$(CONFIG_ARCH_BCM2835) += bcm2710-rpi-cm3.dtb | ||||||
| +dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-cm4.dtb | +dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-cm4.dtb | ||||||
|   |   | ||||||
|  subdir-y	+= bcm4908 |  subdir-y	+= bcmbca | ||||||
|  subdir-y	+= northstar2 |  subdir-y	+= northstar2 | ||||||
|  subdir-y	+= stingray |  subdir-y	+= stingray | ||||||
| + | + | ||||||
|   | |||||||
| @@ -11,11 +11,11 @@ This matches nand-controller.yaml requirements. | |||||||
| Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | ||||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||||
| --- | --- | ||||||
|  arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | 2 +- |  arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | 2 +- | ||||||
|  1 file changed, 1 insertion(+), 1 deletion(-) |  1 file changed, 1 insertion(+), 1 deletion(-) | ||||||
|  |  | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||||
| @@ -298,7 +298,7 @@ | @@ -298,7 +298,7 @@ | ||||||
|  			status = "okay"; |  			status = "okay"; | ||||||
|  		}; |  		}; | ||||||
|   | |||||||
| @@ -1,81 +0,0 @@ | |||||||
| From d0e68d354f345873e15876a7b35be1baaf5e3ec9 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> |  | ||||||
| Date: Fri, 5 Nov 2021 11:14:13 +0100 |  | ||||||
| Subject: [PATCH] arm64: dts: broadcom: bcm4908: add DT for Netgear RAXE500 |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
|  |  | ||||||
| It's a home router based on BCM4908 SoC. It has: 1 GiB of RAM, 512 MiB |  | ||||||
| NAND flash, 6 Ethernet ports and 3 x BCM43684 (WiFi). One of Ethernet |  | ||||||
| ports is "2.5 G Multi-Gig port" that isn't described yet (it isn't known |  | ||||||
| how it's wired up). |  | ||||||
|  |  | ||||||
| Signed-off-by: Rafał Miłecki <rafal@milecki.pl> |  | ||||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> |  | ||||||
| --- |  | ||||||
|  arch/arm64/boot/dts/broadcom/bcm4908/Makefile |  1 + |  | ||||||
|  .../bcm4908/bcm4908-netgear-raxe500.dts       | 50 +++++++++++++++++++ |  | ||||||
|  2 files changed, 51 insertions(+) |  | ||||||
|  create mode 100644 arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-netgear-raxe500.dts |  | ||||||
|  |  | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/Makefile |  | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/Makefile |  | ||||||
| @@ -2,3 +2,4 @@ |  | ||||||
|  dtb-$(CONFIG_ARCH_BCM4908) += bcm4906-netgear-r8000p.dtb |  | ||||||
|  dtb-$(CONFIG_ARCH_BCM4908) += bcm4906-tplink-archer-c2300-v1.dtb |  | ||||||
|  dtb-$(CONFIG_ARCH_BCM4908) += bcm4908-asus-gt-ac5300.dtb |  | ||||||
| +dtb-$(CONFIG_ARCH_BCM4908) += bcm4908-netgear-raxe500.dtb |  | ||||||
| --- /dev/null |  | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-netgear-raxe500.dts |  | ||||||
| @@ -0,0 +1,50 @@ |  | ||||||
| +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT |  | ||||||
| + |  | ||||||
| +#include "bcm4908.dtsi" |  | ||||||
| + |  | ||||||
| +/ { |  | ||||||
| +	compatible = "netgear,raxe500", "brcm,bcm4908"; |  | ||||||
| +	model = "Netgear RAXE500"; |  | ||||||
| + |  | ||||||
| +	memory@0 { |  | ||||||
| +		device_type = "memory"; |  | ||||||
| +		reg = <0x00 0x00 0x00 0x40000000>; |  | ||||||
| +	}; |  | ||||||
| +}; |  | ||||||
| + |  | ||||||
| +&ehci { |  | ||||||
| +	status = "okay"; |  | ||||||
| +}; |  | ||||||
| + |  | ||||||
| +&ohci { |  | ||||||
| +	status = "okay"; |  | ||||||
| +}; |  | ||||||
| + |  | ||||||
| +&xhci { |  | ||||||
| +	status = "okay"; |  | ||||||
| +}; |  | ||||||
| + |  | ||||||
| +&ports { |  | ||||||
| +	port@0 { |  | ||||||
| +		label = "lan4"; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	port@1 { |  | ||||||
| +		label = "lan3"; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	port@2 { |  | ||||||
| +		label = "lan2"; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	port@3 { |  | ||||||
| +		label = "lan1"; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	port@7 { |  | ||||||
| +		reg = <7>; |  | ||||||
| +		phy-mode = "internal"; |  | ||||||
| +		phy-handle = <&phy12>; |  | ||||||
| +		label = "wan"; |  | ||||||
| +	}; |  | ||||||
| +}; |  | ||||||
| @@ -11,11 +11,11 @@ Describe pinmux block with its maps. | |||||||
| Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | ||||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||||
| --- | --- | ||||||
|  .../boot/dts/broadcom/bcm4908/bcm4908.dtsi    | 135 ++++++++++++++++++ |  .../boot/dts/broadcom/bcmbca/bcm4908.dtsi    | 135 ++++++++++++++++++ | ||||||
|  1 file changed, 135 insertions(+) |  1 file changed, 135 insertions(+) | ||||||
|  |  | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||||
| @@ -289,6 +289,141 @@ | @@ -289,6 +289,141 @@ | ||||||
|  			gpio-controller; |  			gpio-controller; | ||||||
|  		}; |  		}; | ||||||
|   | |||||||
| @@ -12,11 +12,11 @@ binding which matches the first SoC with that block. | |||||||
| Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | ||||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||||
| --- | --- | ||||||
|  arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | 9 +++++++++ |  arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | 9 +++++++++ | ||||||
|  1 file changed, 9 insertions(+) |  1 file changed, 9 insertions(+) | ||||||
|  |  | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||||
| @@ -278,6 +278,15 @@ | @@ -278,6 +278,15 @@ | ||||||
|  		twd: timer-mfd@400 { |  		twd: timer-mfd@400 { | ||||||
|  			compatible = "brcm,bcm4908-twd", "simple-mfd", "syscon"; |  			compatible = "brcm,bcm4908-twd", "simple-mfd", "syscon"; | ||||||
|   | |||||||
| @@ -11,11 +11,11 @@ BCM4908 uses the same I2C hw as BCM63xx / BCM67xx / BCM68xx SoCs. | |||||||
| Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | ||||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||||
| --- | --- | ||||||
|  arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | 9 +++++++++ |  arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | 9 +++++++++ | ||||||
|  1 file changed, 9 insertions(+) |  1 file changed, 9 insertions(+) | ||||||
|  |  | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||||
| @@ -458,6 +458,15 @@ | @@ -458,6 +458,15 @@ | ||||||
|  			}; |  			}; | ||||||
|  		}; |  		}; | ||||||
|   | |||||||
| @@ -1,199 +0,0 @@ | |||||||
| From 076dcedc6628c6bf92bd17bfcf8fb7b1af62bfb6 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: William Zhang <william.zhang@broadcom.com> |  | ||||||
| Date: Wed, 1 Jun 2022 15:56:51 -0700 |  | ||||||
| Subject: [PATCH] arm64: dts: Add DTS files for bcmbca SoC BCM63158 |  | ||||||
|  |  | ||||||
| Add DTS for ARMv8 based broadband SoC BCM63158. bcm63158.dtsi is the |  | ||||||
| SoC description DTS header and bcm963158.dts is a simple DTS file for |  | ||||||
| Broadcom BCM963158 Reference board that only enable the UART port. |  | ||||||
|  |  | ||||||
| Signed-off-by: William Zhang <william.zhang@broadcom.com> |  | ||||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> |  | ||||||
| --- |  | ||||||
|  arch/arm64/boot/dts/broadcom/Makefile         |   1 + |  | ||||||
|  arch/arm64/boot/dts/broadcom/bcmbca/Makefile  |   2 + |  | ||||||
|  .../boot/dts/broadcom/bcmbca/bcm63158.dtsi    | 128 ++++++++++++++++++ |  | ||||||
|  .../boot/dts/broadcom/bcmbca/bcm963158.dts    |  30 ++++ |  | ||||||
|  4 files changed, 161 insertions(+) |  | ||||||
|  create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/Makefile |  | ||||||
|  create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm63158.dtsi |  | ||||||
|  create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm963158.dts |  | ||||||
|  |  | ||||||
| --- a/arch/arm64/boot/dts/broadcom/Makefile |  | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/Makefile |  | ||||||
| @@ -7,5 +7,6 @@ dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rp |  | ||||||
|  			      bcm2837-rpi-cm3-io3.dtb |  | ||||||
|   |  | ||||||
|  subdir-y	+= bcm4908 |  | ||||||
| +subdir-y	+= bcmbca |  | ||||||
|  subdir-y	+= northstar2 |  | ||||||
|  subdir-y	+= stingray |  | ||||||
| --- /dev/null |  | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile |  | ||||||
| @@ -0,0 +1,2 @@ |  | ||||||
| +# SPDX-License-Identifier: GPL-2.0 |  | ||||||
| +dtb-$(CONFIG_ARCH_BCMBCA) += bcm963158.dtb |  | ||||||
| --- /dev/null |  | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm63158.dtsi |  | ||||||
| @@ -0,0 +1,128 @@ |  | ||||||
| +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) |  | ||||||
| +/* |  | ||||||
| + * Copyright 2022 Broadcom Ltd. |  | ||||||
| + */ |  | ||||||
| + |  | ||||||
| +#include <dt-bindings/interrupt-controller/irq.h> |  | ||||||
| +#include <dt-bindings/interrupt-controller/arm-gic.h> |  | ||||||
| + |  | ||||||
| +/ { |  | ||||||
| +	compatible = "brcm,bcm63158", "brcm,bcmbca"; |  | ||||||
| +	#address-cells = <2>; |  | ||||||
| +	#size-cells = <2>; |  | ||||||
| + |  | ||||||
| +	interrupt-parent = <&gic>; |  | ||||||
| + |  | ||||||
| +	cpus { |  | ||||||
| +		#address-cells = <2>; |  | ||||||
| +		#size-cells = <0>; |  | ||||||
| + |  | ||||||
| +		B53_0: cpu@0 { |  | ||||||
| +			compatible = "brcm,brahma-b53"; |  | ||||||
| +			device_type = "cpu"; |  | ||||||
| +			reg = <0x0 0x0>; |  | ||||||
| +			next-level-cache = <&L2_0>; |  | ||||||
| +			enable-method = "psci"; |  | ||||||
| +		}; |  | ||||||
| + |  | ||||||
| +		B53_1: cpu@1 { |  | ||||||
| +			compatible = "brcm,brahma-b53"; |  | ||||||
| +			device_type = "cpu"; |  | ||||||
| +			reg = <0x0 0x1>; |  | ||||||
| +			next-level-cache = <&L2_0>; |  | ||||||
| +			enable-method = "psci"; |  | ||||||
| +		}; |  | ||||||
| + |  | ||||||
| +		B53_2: cpu@2 { |  | ||||||
| +			compatible = "brcm,brahma-b53"; |  | ||||||
| +			device_type = "cpu"; |  | ||||||
| +			reg = <0x0 0x2>; |  | ||||||
| +			next-level-cache = <&L2_0>; |  | ||||||
| +			enable-method = "psci"; |  | ||||||
| +		}; |  | ||||||
| + |  | ||||||
| +		B53_3: cpu@3 { |  | ||||||
| +			compatible = "brcm,brahma-b53"; |  | ||||||
| +			device_type = "cpu"; |  | ||||||
| +			reg = <0x0 0x3>; |  | ||||||
| +			next-level-cache = <&L2_0>; |  | ||||||
| +			enable-method = "psci"; |  | ||||||
| +		}; |  | ||||||
| + |  | ||||||
| +		L2_0: l2-cache0 { |  | ||||||
| +			compatible = "cache"; |  | ||||||
| +		}; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	timer { |  | ||||||
| +		compatible = "arm,armv8-timer"; |  | ||||||
| +		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |  | ||||||
| +			<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |  | ||||||
| +			<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |  | ||||||
| +			<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	pmu: pmu { |  | ||||||
| +		compatible = "arm,cortex-a53-pmu"; |  | ||||||
| +		interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, |  | ||||||
| +			<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, |  | ||||||
| +			<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, |  | ||||||
| +			<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; |  | ||||||
| +		interrupt-affinity = <&B53_0>, <&B53_1>, |  | ||||||
| +			<&B53_2>, <&B53_3>; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	clocks: clocks { |  | ||||||
| +		periph_clk: periph-clk { |  | ||||||
| +			compatible = "fixed-clock"; |  | ||||||
| +			#clock-cells = <0>; |  | ||||||
| +			clock-frequency = <200000000>; |  | ||||||
| +		}; |  | ||||||
| +		uart_clk: uart-clk { |  | ||||||
| +			compatible = "fixed-factor-clock"; |  | ||||||
| +			#clock-cells = <0>; |  | ||||||
| +			clocks = <&periph_clk>; |  | ||||||
| +			clock-div = <4>; |  | ||||||
| +			clock-mult = <1>; |  | ||||||
| +		}; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	psci { |  | ||||||
| +		compatible = "arm,psci-0.2"; |  | ||||||
| +		method = "smc"; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	axi@81000000 { |  | ||||||
| +		compatible = "simple-bus"; |  | ||||||
| +		#address-cells = <1>; |  | ||||||
| +		#size-cells = <1>; |  | ||||||
| +		ranges = <0x0 0x0 0x81000000 0x8000>; |  | ||||||
| + |  | ||||||
| +		gic: interrupt-controller@1000 { |  | ||||||
| +			compatible = "arm,gic-400"; |  | ||||||
| +			#interrupt-cells = <3>; |  | ||||||
| +			interrupt-controller; |  | ||||||
| +			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; |  | ||||||
| +			reg = <0x1000 0x1000>, |  | ||||||
| +				<0x2000 0x2000>, |  | ||||||
| +				<0x4000 0x2000>, |  | ||||||
| +				<0x6000 0x2000>; |  | ||||||
| +		}; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	bus@ff800000 { |  | ||||||
| +		compatible = "simple-bus"; |  | ||||||
| +		#address-cells = <1>; |  | ||||||
| +		#size-cells = <1>; |  | ||||||
| +		ranges = <0x0 0x0 0xff800000 0x800000>; |  | ||||||
| + |  | ||||||
| +		uart0: serial@12000 { |  | ||||||
| +			compatible = "arm,pl011", "arm,primecell"; |  | ||||||
| +			reg = <0x12000 0x1000>; |  | ||||||
| +			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; |  | ||||||
| +			clocks = <&uart_clk>, <&uart_clk>; |  | ||||||
| +			clock-names = "uartclk", "apb_pclk"; |  | ||||||
| +			status = "disabled"; |  | ||||||
| +		}; |  | ||||||
| +	}; |  | ||||||
| +}; |  | ||||||
| --- /dev/null |  | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm963158.dts |  | ||||||
| @@ -0,0 +1,30 @@ |  | ||||||
| +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) |  | ||||||
| +/* |  | ||||||
| + * Copyright 2022 Broadcom Ltd. |  | ||||||
| + */ |  | ||||||
| + |  | ||||||
| +/dts-v1/; |  | ||||||
| + |  | ||||||
| +#include "bcm63158.dtsi" |  | ||||||
| + |  | ||||||
| +/ { |  | ||||||
| +	model = "Broadcom BCM963158 Reference Board"; |  | ||||||
| +	compatible = "brcm,bcm963158", "brcm,bcm63158", "brcm,bcmbca"; |  | ||||||
| + |  | ||||||
| +	aliases { |  | ||||||
| +		serial0 = &uart0; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	chosen { |  | ||||||
| +		stdout-path = "serial0:115200n8"; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	memory@0 { |  | ||||||
| +		device_type = "memory"; |  | ||||||
| +		reg = <0x0 0x0 0x0 0x08000000>; |  | ||||||
| +	}; |  | ||||||
| +}; |  | ||||||
| + |  | ||||||
| +&uart0 { |  | ||||||
| +	status = "okay"; |  | ||||||
| +}; |  | ||||||
| @@ -1,191 +0,0 @@ | |||||||
| From 1ba56aeb391401c4cb2126c39f90b3cdbfabdb3f Mon Sep 17 00:00:00 2001 |  | ||||||
| From: William Zhang <william.zhang@broadcom.com> |  | ||||||
| Date: Wed, 1 Jun 2022 13:17:34 -0700 |  | ||||||
| Subject: [PATCH] arm64: dts: Add DTS files for bcmbca SoC BCM4912 |  | ||||||
|  |  | ||||||
| Add DTS for ARMv8 based broadband SoC BCM4912. bcm4912.dtsi is the |  | ||||||
| SoC description DTS header and bcm94912.dts is a simple DTS file for |  | ||||||
| Broadcom BCM94912 Reference board that only enable the UART port. |  | ||||||
|  |  | ||||||
| Signed-off-by: William Zhang <william.zhang@broadcom.com> |  | ||||||
| Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> |  | ||||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> |  | ||||||
| --- |  | ||||||
|  arch/arm64/boot/dts/broadcom/bcmbca/Makefile  |   3 +- |  | ||||||
|  .../boot/dts/broadcom/bcmbca/bcm4912.dtsi     | 128 ++++++++++++++++++ |  | ||||||
|  .../boot/dts/broadcom/bcmbca/bcm94912.dts     |  30 ++++ |  | ||||||
|  3 files changed, 160 insertions(+), 1 deletion(-) |  | ||||||
|  create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm4912.dtsi |  | ||||||
|  create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm94912.dts |  | ||||||
|  |  | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile |  | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile |  | ||||||
| @@ -1,2 +1,3 @@ |  | ||||||
|  # SPDX-License-Identifier: GPL-2.0 |  | ||||||
| -dtb-$(CONFIG_ARCH_BCMBCA) += bcm963158.dtb |  | ||||||
| +dtb-$(CONFIG_ARCH_BCMBCA) += bcm94912.dtb \ |  | ||||||
| +				bcm963158.dtb |  | ||||||
| --- /dev/null |  | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4912.dtsi |  | ||||||
| @@ -0,0 +1,128 @@ |  | ||||||
| +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) |  | ||||||
| +/* |  | ||||||
| + * Copyright 2022 Broadcom Ltd. |  | ||||||
| + */ |  | ||||||
| + |  | ||||||
| +#include <dt-bindings/interrupt-controller/irq.h> |  | ||||||
| +#include <dt-bindings/interrupt-controller/arm-gic.h> |  | ||||||
| + |  | ||||||
| +/ { |  | ||||||
| +	compatible = "brcm,bcm4912", "brcm,bcmbca"; |  | ||||||
| +	#address-cells = <2>; |  | ||||||
| +	#size-cells = <2>; |  | ||||||
| + |  | ||||||
| +	interrupt-parent = <&gic>; |  | ||||||
| + |  | ||||||
| +	cpus { |  | ||||||
| +		#address-cells = <2>; |  | ||||||
| +		#size-cells = <0>; |  | ||||||
| + |  | ||||||
| +		B53_0: cpu@0 { |  | ||||||
| +			compatible = "brcm,brahma-b53"; |  | ||||||
| +			device_type = "cpu"; |  | ||||||
| +			reg = <0x0 0x0>; |  | ||||||
| +			next-level-cache = <&L2_0>; |  | ||||||
| +			enable-method = "psci"; |  | ||||||
| +		}; |  | ||||||
| + |  | ||||||
| +		B53_1: cpu@1 { |  | ||||||
| +			compatible = "brcm,brahma-b53"; |  | ||||||
| +			device_type = "cpu"; |  | ||||||
| +			reg = <0x0 0x1>; |  | ||||||
| +			next-level-cache = <&L2_0>; |  | ||||||
| +			enable-method = "psci"; |  | ||||||
| +		}; |  | ||||||
| + |  | ||||||
| +		B53_2: cpu@2 { |  | ||||||
| +			compatible = "brcm,brahma-b53"; |  | ||||||
| +			device_type = "cpu"; |  | ||||||
| +			reg = <0x0 0x2>; |  | ||||||
| +			next-level-cache = <&L2_0>; |  | ||||||
| +			enable-method = "psci"; |  | ||||||
| +		}; |  | ||||||
| + |  | ||||||
| +		B53_3: cpu@3 { |  | ||||||
| +			compatible = "brcm,brahma-b53"; |  | ||||||
| +			device_type = "cpu"; |  | ||||||
| +			reg = <0x0 0x3>; |  | ||||||
| +			next-level-cache = <&L2_0>; |  | ||||||
| +			enable-method = "psci"; |  | ||||||
| +		}; |  | ||||||
| + |  | ||||||
| +		L2_0: l2-cache0 { |  | ||||||
| +			compatible = "cache"; |  | ||||||
| +		}; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	timer { |  | ||||||
| +		compatible = "arm,armv8-timer"; |  | ||||||
| +		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |  | ||||||
| +			<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |  | ||||||
| +			<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |  | ||||||
| +			<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	pmu: pmu { |  | ||||||
| +		compatible = "arm,cortex-a53-pmu"; |  | ||||||
| +		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, |  | ||||||
| +			<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, |  | ||||||
| +			<GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, |  | ||||||
| +			<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; |  | ||||||
| +		interrupt-affinity = <&B53_0>, <&B53_1>, |  | ||||||
| +			<&B53_2>, <&B53_3>; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	clocks: clocks { |  | ||||||
| +		periph_clk: periph-clk { |  | ||||||
| +			compatible = "fixed-clock"; |  | ||||||
| +			#clock-cells = <0>; |  | ||||||
| +			clock-frequency = <200000000>; |  | ||||||
| +		}; |  | ||||||
| +		uart_clk: uart-clk { |  | ||||||
| +			compatible = "fixed-factor-clock"; |  | ||||||
| +			#clock-cells = <0>; |  | ||||||
| +			clocks = <&periph_clk>; |  | ||||||
| +			clock-div = <4>; |  | ||||||
| +			clock-mult = <1>; |  | ||||||
| +		}; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	psci { |  | ||||||
| +		compatible = "arm,psci-0.2"; |  | ||||||
| +		method = "smc"; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	axi@81000000 { |  | ||||||
| +		compatible = "simple-bus"; |  | ||||||
| +		#address-cells = <1>; |  | ||||||
| +		#size-cells = <1>; |  | ||||||
| +		ranges = <0x0 0x0 0x81000000 0x8000>; |  | ||||||
| + |  | ||||||
| +		gic: interrupt-controller@1000 { |  | ||||||
| +			compatible = "arm,gic-400"; |  | ||||||
| +			#interrupt-cells = <3>; |  | ||||||
| +			interrupt-controller; |  | ||||||
| +			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; |  | ||||||
| +			reg = <0x1000 0x1000>, |  | ||||||
| +				<0x2000 0x2000>, |  | ||||||
| +				<0x4000 0x2000>, |  | ||||||
| +				<0x6000 0x2000>; |  | ||||||
| +		}; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	bus@ff800000 { |  | ||||||
| +		compatible = "simple-bus"; |  | ||||||
| +		#address-cells = <1>; |  | ||||||
| +		#size-cells = <1>; |  | ||||||
| +		ranges = <0x0 0x0 0xff800000 0x800000>; |  | ||||||
| + |  | ||||||
| +		uart0: serial@12000 { |  | ||||||
| +			compatible = "arm,pl011", "arm,primecell"; |  | ||||||
| +			reg = <0x12000 0x1000>; |  | ||||||
| +			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; |  | ||||||
| +			clocks = <&uart_clk>, <&uart_clk>; |  | ||||||
| +			clock-names = "uartclk", "apb_pclk"; |  | ||||||
| +			status = "disabled"; |  | ||||||
| +		}; |  | ||||||
| +	}; |  | ||||||
| +}; |  | ||||||
| --- /dev/null |  | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm94912.dts |  | ||||||
| @@ -0,0 +1,30 @@ |  | ||||||
| +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) |  | ||||||
| +/* |  | ||||||
| + * Copyright 2022 Broadcom Ltd. |  | ||||||
| + */ |  | ||||||
| + |  | ||||||
| +/dts-v1/; |  | ||||||
| + |  | ||||||
| +#include "bcm4912.dtsi" |  | ||||||
| + |  | ||||||
| +/ { |  | ||||||
| +	model = "Broadcom BCM94912 Reference Board"; |  | ||||||
| +	compatible = "brcm,bcm94912", "brcm,bcm4912", "brcm,bcmbca"; |  | ||||||
| + |  | ||||||
| +	aliases { |  | ||||||
| +		serial0 = &uart0; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	chosen { |  | ||||||
| +		stdout-path = "serial0:115200n8"; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	memory@0 { |  | ||||||
| +		device_type = "memory"; |  | ||||||
| +		reg = <0x0 0x0 0x0 0x08000000>; |  | ||||||
| +	}; |  | ||||||
| +}; |  | ||||||
| + |  | ||||||
| +&uart0 { |  | ||||||
| +	status = "okay"; |  | ||||||
| +}; |  | ||||||
| @@ -1,184 +0,0 @@ | |||||||
| From e663e06bd3f21e64bc2163910f626af68add6308 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: Anand Gore <anand.gore@broadcom.com> |  | ||||||
| Date: Wed, 1 Jun 2022 13:19:56 -0700 |  | ||||||
| Subject: [PATCH] ARM64: dts: Add DTS files for bcmbca SoC BCM6858 |  | ||||||
|  |  | ||||||
| Add DTS for ARMv8 based broadband SoC BCM6858. bcm6858.dtsi is the SoC |  | ||||||
| description DTS header and bcm96858.dts is a simple DTS file for |  | ||||||
| Broadcom BCM96858 Reference board that only enables the UART port. |  | ||||||
|  |  | ||||||
| Signed-off-by: Anand Gore <anand.gore@broadcom.com> |  | ||||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> |  | ||||||
| --- |  | ||||||
|  arch/arm64/boot/dts/broadcom/bcmbca/Makefile  |   3 +- |  | ||||||
|  .../boot/dts/broadcom/bcmbca/bcm6858.dtsi     | 121 ++++++++++++++++++ |  | ||||||
|  .../boot/dts/broadcom/bcmbca/bcm96858.dts     |  30 +++++ |  | ||||||
|  3 files changed, 153 insertions(+), 1 deletion(-) |  | ||||||
|  create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm6858.dtsi |  | ||||||
|  create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm96858.dts |  | ||||||
|  |  | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile |  | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile |  | ||||||
| @@ -1,3 +1,4 @@ |  | ||||||
|  # SPDX-License-Identifier: GPL-2.0 |  | ||||||
|  dtb-$(CONFIG_ARCH_BCMBCA) += bcm94912.dtb \ |  | ||||||
| -				bcm963158.dtb |  | ||||||
| +				bcm963158.dtb \ |  | ||||||
| +				bcm96858.dtb |  | ||||||
| --- /dev/null |  | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm6858.dtsi |  | ||||||
| @@ -0,0 +1,121 @@ |  | ||||||
| +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) |  | ||||||
| +/* |  | ||||||
| + * Copyright 2022 Broadcom Ltd. |  | ||||||
| + */ |  | ||||||
| + |  | ||||||
| +#include <dt-bindings/interrupt-controller/irq.h> |  | ||||||
| +#include <dt-bindings/interrupt-controller/arm-gic.h> |  | ||||||
| + |  | ||||||
| +/ { |  | ||||||
| +	compatible = "brcm,bcm6858", "brcm,bcmbca"; |  | ||||||
| +	#address-cells = <2>; |  | ||||||
| +	#size-cells = <2>; |  | ||||||
| + |  | ||||||
| +	interrupt-parent = <&gic>; |  | ||||||
| + |  | ||||||
| +	cpus { |  | ||||||
| +		#address-cells = <2>; |  | ||||||
| +		#size-cells = <0>; |  | ||||||
| + |  | ||||||
| +		B53_0: cpu@0 { |  | ||||||
| +			compatible = "brcm,brahma-b53"; |  | ||||||
| +			device_type = "cpu"; |  | ||||||
| +			reg = <0x0 0x0>; |  | ||||||
| +			next-level-cache = <&L2_0>; |  | ||||||
| +			enable-method = "psci"; |  | ||||||
| +		}; |  | ||||||
| + |  | ||||||
| +		B53_1: cpu@1 { |  | ||||||
| +			compatible = "brcm,brahma-b53"; |  | ||||||
| +			device_type = "cpu"; |  | ||||||
| +			reg = <0x0 0x1>; |  | ||||||
| +			next-level-cache = <&L2_0>; |  | ||||||
| +			enable-method = "psci"; |  | ||||||
| +		}; |  | ||||||
| + |  | ||||||
| +		B53_2: cpu@2 { |  | ||||||
| +			compatible = "brcm,brahma-b53"; |  | ||||||
| +			device_type = "cpu"; |  | ||||||
| +			reg = <0x0 0x2>; |  | ||||||
| +			next-level-cache = <&L2_0>; |  | ||||||
| +			enable-method = "psci"; |  | ||||||
| +		}; |  | ||||||
| + |  | ||||||
| +		B53_3: cpu@3 { |  | ||||||
| +			compatible = "brcm,brahma-b53"; |  | ||||||
| +			device_type = "cpu"; |  | ||||||
| +			reg = <0x0 0x3>; |  | ||||||
| +			next-level-cache = <&L2_0>; |  | ||||||
| +			enable-method = "psci"; |  | ||||||
| +		}; |  | ||||||
| +		L2_0: l2-cache0 { |  | ||||||
| +			compatible = "cache"; |  | ||||||
| +		}; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	timer { |  | ||||||
| +		compatible = "arm,armv8-timer"; |  | ||||||
| +		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |  | ||||||
| +			<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |  | ||||||
| +			<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |  | ||||||
| +			<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	pmu: pmu { |  | ||||||
| +		compatible = "arm,armv8-pmuv3"; |  | ||||||
| +		interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, |  | ||||||
| +			<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, |  | ||||||
| +			<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, |  | ||||||
| +			<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; |  | ||||||
| +		interrupt-affinity = <&B53_0>, <&B53_1>, |  | ||||||
| +			<&B53_2>, <&B53_3>; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	clocks: clocks { |  | ||||||
| +		periph_clk:periph-clk { |  | ||||||
| +			compatible = "fixed-clock"; |  | ||||||
| +			#clock-cells = <0>; |  | ||||||
| +			clock-frequency = <200000000>; |  | ||||||
| +		}; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	psci { |  | ||||||
| +		compatible = "arm,psci-0.2"; |  | ||||||
| +		method = "smc"; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	axi@81000000 { |  | ||||||
| +		compatible = "simple-bus"; |  | ||||||
| +		#address-cells = <1>; |  | ||||||
| +		#size-cells = <1>; |  | ||||||
| +		ranges = <0x0 0x0 0x81000000 0x8000>; |  | ||||||
| + |  | ||||||
| +		gic: interrupt-controller@1000 { |  | ||||||
| +			compatible = "arm,gic-400"; |  | ||||||
| +			#interrupt-cells = <3>; |  | ||||||
| +			interrupt-controller; |  | ||||||
| +			reg = <0x1000 0x1000>, /* GICD */ |  | ||||||
| +				<0x2000 0x2000>, /* GICC */ |  | ||||||
| +				<0x4000 0x2000>, /* GICH */ |  | ||||||
| +				<0x6000 0x2000>; /* GICV */ |  | ||||||
| +			interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | |  | ||||||
| +					IRQ_TYPE_LEVEL_HIGH)>; |  | ||||||
| +		}; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	bus@ff800000 { |  | ||||||
| +		compatible = "simple-bus"; |  | ||||||
| +		#address-cells = <1>; |  | ||||||
| +		#size-cells = <1>; |  | ||||||
| +		ranges = <0x0 0x0 0xff800000 0x62000>; |  | ||||||
| + |  | ||||||
| +		uart0: serial@640 { |  | ||||||
| +			compatible = "brcm,bcm6345-uart"; |  | ||||||
| +			reg = <0x640 0x18>; |  | ||||||
| +			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; |  | ||||||
| +			clocks = <&periph_clk>; |  | ||||||
| +			clock-names = "refclk"; |  | ||||||
| +			status = "disabled"; |  | ||||||
| +		}; |  | ||||||
| +	}; |  | ||||||
| +}; |  | ||||||
| --- /dev/null |  | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm96858.dts |  | ||||||
| @@ -0,0 +1,30 @@ |  | ||||||
| +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) |  | ||||||
| +/* |  | ||||||
| + * Copyright 2022 Broadcom Ltd. |  | ||||||
| + */ |  | ||||||
| + |  | ||||||
| +/dts-v1/; |  | ||||||
| + |  | ||||||
| +#include "bcm6858.dtsi" |  | ||||||
| + |  | ||||||
| +/ { |  | ||||||
| +	model = "Broadcom BCM96858 Reference Board"; |  | ||||||
| +	compatible = "brcm,bcm96858", "brcm,bcm6858", "brcm,bcmbca"; |  | ||||||
| + |  | ||||||
| +	aliases { |  | ||||||
| +		serial0 = &uart0; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	chosen { |  | ||||||
| +		stdout-path = "serial0:115200n8"; |  | ||||||
| +	}; |  | ||||||
| + |  | ||||||
| +	memory@0 { |  | ||||||
| +		device_type = "memory"; |  | ||||||
| +		reg = <0x0 0x0 0x0 0x08000000>; |  | ||||||
| +	}; |  | ||||||
| +}; |  | ||||||
| + |  | ||||||
| +&uart0 { |  | ||||||
| +	status = "okay"; |  | ||||||
| +}; |  | ||||||
| @@ -19,9 +19,9 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | |||||||
|  |  | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | --- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | +++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | ||||||
| @@ -1,4 +1,5 @@ | @@ -7,4 +7,5 @@ dtb-$(CONFIG_ARCH_BCMBCA) += \ | ||||||
|  # SPDX-License-Identifier: GPL-2.0 |  				bcm4912-asus-gt-ax6000.dtb \ | ||||||
|  dtb-$(CONFIG_ARCH_BCMBCA) += bcm94912.dtb \ |  				bcm94912.dtb \ | ||||||
|  				bcm963158.dtb \ |  				bcm963158.dtb \ | ||||||
| -				bcm96858.dtb | -				bcm96858.dtb | ||||||
| +				bcm96858.dtb \ | +				bcm96858.dtb \ | ||||||
|   | |||||||
| @@ -19,8 +19,8 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | |||||||
|  |  | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | --- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | +++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | ||||||
| @@ -2,4 +2,5 @@ | @@ -8,4 +8,5 @@ dtb-$(CONFIG_ARCH_BCMBCA) += \ | ||||||
|  dtb-$(CONFIG_ARCH_BCMBCA) += bcm94912.dtb \ |  				bcm94912.dtb \ | ||||||
|  				bcm963158.dtb \ |  				bcm963158.dtb \ | ||||||
|  				bcm96858.dtb \ |  				bcm96858.dtb \ | ||||||
| -				bcm963146.dtb | -				bcm963146.dtb | ||||||
|   | |||||||
| @@ -19,7 +19,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | |||||||
|  |  | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | --- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | +++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile | ||||||
| @@ -3,4 +3,5 @@ dtb-$(CONFIG_ARCH_BCMBCA) += bcm94912.dt | @@ -9,4 +9,5 @@ dtb-$(CONFIG_ARCH_BCMBCA) += \ | ||||||
|  				bcm963158.dtb \ |  				bcm963158.dtb \ | ||||||
|  				bcm96858.dtb \ |  				bcm96858.dtb \ | ||||||
|  				bcm963146.dtb \ |  				bcm963146.dtb \ | ||||||
|   | |||||||
| @@ -9,12 +9,12 @@ The node names should be generic and DT schema expects certain pattern | |||||||
| Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> | Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> | ||||||
| Link: https://lore.kernel.org/r/20220616005333.18491-6-krzysztof.kozlowski@linaro.org | Link: https://lore.kernel.org/r/20220616005333.18491-6-krzysztof.kozlowski@linaro.org | ||||||
| --- | --- | ||||||
|  .../broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts   | 8 ++++---- |  .../broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1.dts   | 8 ++++---- | ||||||
|  .../boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts  | 8 ++++---- |  .../boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts  | 8 ++++---- | ||||||
|  2 files changed, 8 insertions(+), 8 deletions(-) |  2 files changed, 8 insertions(+), 8 deletions(-) | ||||||
|  |  | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts | --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1.dts | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts | +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1.dts | ||||||
| @@ -83,25 +83,25 @@ | @@ -83,25 +83,25 @@ | ||||||
|  		compatible = "gpio-keys-polled"; |  		compatible = "gpio-keys-polled"; | ||||||
|  		poll-interval = <100>; |  		poll-interval = <100>; | ||||||
| @@ -45,8 +45,8 @@ Link: https://lore.kernel.org/r/20220616005333.18491-6-krzysztof.kozlowski@linar | |||||||
|  			label = "Reset"; |  			label = "Reset"; | ||||||
|  			linux,code = <KEY_RESTART>; |  			linux,code = <KEY_RESTART>; | ||||||
|  			gpios = <&gpio0 23 GPIO_ACTIVE_LOW>; |  			gpios = <&gpio0 23 GPIO_ACTIVE_LOW>; | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts | --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts | +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts | ||||||
| @@ -18,25 +18,25 @@ | @@ -18,25 +18,25 @@ | ||||||
|  		compatible = "gpio-keys-polled"; |  		compatible = "gpio-keys-polled"; | ||||||
|  		poll-interval = <100>; |  		poll-interval = <100>; | ||||||
|   | |||||||
| @@ -11,11 +11,11 @@ Fixes: c8b404fb05dc ("arm64: dts: broadcom: bcm4908: add BCM4906 Netgear R8000P | |||||||
| Signed-off-by: William Zhang <william.zhang@broadcom.com> | Signed-off-by: William Zhang <william.zhang@broadcom.com> | ||||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||||
| --- | --- | ||||||
|  arch/arm64/boot/dts/broadcom/bcm4908/bcm4906.dtsi | 8 ++++++++ |  arch/arm64/boot/dts/broadcom/bcmbca/bcm4906.dtsi | 8 ++++++++ | ||||||
|  1 file changed, 8 insertions(+) |  1 file changed, 8 insertions(+) | ||||||
|  |  | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906.dtsi | --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906.dtsi | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906.dtsi | +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906.dtsi | ||||||
| @@ -17,6 +17,14 @@ | @@ -17,6 +17,14 @@ | ||||||
|  			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>; |  			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>; | ||||||
|  	}; |  	}; | ||||||
|   | |||||||
| @@ -1,54 +0,0 @@ | |||||||
| From f3f575c4bef95384e68de552c7b29938fd0d9201 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> |  | ||||||
| Date: Wed, 13 Jul 2022 22:03:51 +0200 |  | ||||||
| Subject: [PATCH] arm64: dts: Add base DTS file for bcmbca device Asus |  | ||||||
|  GT-AX6000 |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
|  |  | ||||||
| It's a home router with 1 GiB of RAM, 6 Ethernet ports, 2 USB ports. |  | ||||||
|  |  | ||||||
| Signed-off-by: Rafał Miłecki <rafal@milecki.pl> |  | ||||||
| Acked-by: William Zhang <william.zhang@broadcom.com> |  | ||||||
| Link: https://lore.kernel.org/r/20220713200351.28526-2-zajec5@gmail.com |  | ||||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> |  | ||||||
| --- |  | ||||||
|  arch/arm64/boot/dts/broadcom/bcmbca/Makefile  |  4 +++- |  | ||||||
|  .../bcmbca/bcm4912-asus-gt-ax6000.dts         | 19 +++++++++++++++++++ |  | ||||||
|  2 files changed, 22 insertions(+), 1 deletion(-) |  | ||||||
|  create mode 100644 arch/arm64/boot/dts/broadcom/bcmbca/bcm4912-asus-gt-ax6000.dts |  | ||||||
|  |  | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/Makefile |  | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/Makefile |  | ||||||
| @@ -1,5 +1,7 @@ |  | ||||||
|  # SPDX-License-Identifier: GPL-2.0 |  | ||||||
| -dtb-$(CONFIG_ARCH_BCMBCA) += bcm94912.dtb \ |  | ||||||
| +dtb-$(CONFIG_ARCH_BCMBCA) += \ |  | ||||||
| +				bcm4912-asus-gt-ax6000.dtb \ |  | ||||||
| +				bcm94912.dtb \ |  | ||||||
|  				bcm963158.dtb \ |  | ||||||
|  				bcm96858.dtb \ |  | ||||||
|  				bcm963146.dtb \ |  | ||||||
| --- /dev/null |  | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4912-asus-gt-ax6000.dts |  | ||||||
| @@ -0,0 +1,19 @@ |  | ||||||
| +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT |  | ||||||
| + |  | ||||||
| +/dts-v1/; |  | ||||||
| + |  | ||||||
| +#include "bcm4912.dtsi" |  | ||||||
| + |  | ||||||
| +/ { |  | ||||||
| +	compatible = "asus,gt-ax6000", "brcm,bcm4912", "brcm,bcmbca"; |  | ||||||
| +	model = "Asus GT-AX6000"; |  | ||||||
| + |  | ||||||
| +	memory@0 { |  | ||||||
| +		device_type = "memory"; |  | ||||||
| +		reg = <0x00 0x00 0x00 0x40000000>; |  | ||||||
| +	}; |  | ||||||
| +}; |  | ||||||
| + |  | ||||||
| +&uart0 { |  | ||||||
| +	status = "okay"; |  | ||||||
| +}; |  | ||||||
| @@ -12,11 +12,11 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | |||||||
| Link: https://lore.kernel.org/r/20220718132100.13277-1-zajec5@gmail.com | Link: https://lore.kernel.org/r/20220718132100.13277-1-zajec5@gmail.com | ||||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||||
| --- | --- | ||||||
|  .../boot/dts/broadcom/bcm4908/bcm4908.dtsi    | 75 +++++++++++++++++++ |  .../boot/dts/broadcom/bcmbca/bcm4908.dtsi    | 75 +++++++++++++++++++ | ||||||
|  1 file changed, 75 insertions(+) |  1 file changed, 75 insertions(+) | ||||||
|  |  | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||||
| @@ -352,6 +352,61 @@ | @@ -352,6 +352,61 @@ | ||||||
|  				groups = "led_9_grp_a"; |  				groups = "led_9_grp_a"; | ||||||
|  			}; |  			}; | ||||||
|   | |||||||
| @@ -13,11 +13,11 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | |||||||
| Link: https://lore.kernel.org/r/20220718132100.13277-2-zajec5@gmail.com | Link: https://lore.kernel.org/r/20220718132100.13277-2-zajec5@gmail.com | ||||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||||
| --- | --- | ||||||
|  arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | 8 ++++++++ |  arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | 8 ++++++++ | ||||||
|  1 file changed, 8 insertions(+) |  1 file changed, 8 insertions(+) | ||||||
|  |  | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908.dtsi | +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | ||||||
| @@ -517,6 +517,14 @@ | @@ -517,6 +517,14 @@ | ||||||
|  			status = "okay"; |  			status = "okay"; | ||||||
|  		}; |  		}; | ||||||
|   | |||||||
| @@ -12,11 +12,11 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | |||||||
| Link: https://lore.kernel.org/r/20220718132100.13277-3-zajec5@gmail.com | Link: https://lore.kernel.org/r/20220718132100.13277-3-zajec5@gmail.com | ||||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||||
| --- | --- | ||||||
|  .../bcm4908/bcm4908-asus-gt-ac5300.dts        | 48 +++++++++++++++++++ |  .../bcmbca/bcm4908-asus-gt-ac5300.dts        | 48 +++++++++++++++++++ | ||||||
|  1 file changed, 48 insertions(+) |  1 file changed, 48 insertions(+) | ||||||
|  |  | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts | --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts | +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts | ||||||
| @@ -2,6 +2,7 @@ | @@ -2,6 +2,7 @@ | ||||||
|   |   | ||||||
|  #include <dt-bindings/gpio/gpio.h> |  #include <dt-bindings/gpio/gpio.h> | ||||||
|   | |||||||
| @@ -14,14 +14,14 @@ Acked-by: Rafał Miłecki <rafal@milecki.pl> | |||||||
| Link: https://lore.kernel.org/r/20220803175455.47638-4-william.zhang@broadcom.com | Link: https://lore.kernel.org/r/20220803175455.47638-4-william.zhang@broadcom.com | ||||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||||
| --- | --- | ||||||
|  arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-netgear-r8000p.dts | 2 +- |  arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-netgear-r8000p.dts | 2 +- | ||||||
|  .../dts/broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts     | 2 +- |  .../dts/broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1.dts     | 2 +- | ||||||
|  arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts | 2 +- |  arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts | 2 +- | ||||||
|  .../arm64/boot/dts/broadcom/bcm4908/bcm4908-netgear-raxe500.dts | 2 +- |  .../arm64/boot/dts/broadcom/bcmbca/bcm4908-netgear-raxe500.dts | 2 +- | ||||||
|  4 files changed, 4 insertions(+), 4 deletions(-) |  4 files changed, 4 insertions(+), 4 deletions(-) | ||||||
|  |  | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-netgear-r8000p.dts | --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-netgear-r8000p.dts | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-netgear-r8000p.dts | +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-netgear-r8000p.dts | ||||||
| @@ -7,7 +7,7 @@ | @@ -7,7 +7,7 @@ | ||||||
|  #include "bcm4906.dtsi" |  #include "bcm4906.dtsi" | ||||||
|   |   | ||||||
| @@ -31,8 +31,8 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | |||||||
|  	model = "Netgear R8000P"; |  	model = "Netgear R8000P"; | ||||||
|   |   | ||||||
|  	memory@0 { |  	memory@0 { | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts | --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1.dts | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4906-tplink-archer-c2300-v1.dts | +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1.dts | ||||||
| @@ -7,7 +7,7 @@ | @@ -7,7 +7,7 @@ | ||||||
|  #include "bcm4906.dtsi" |  #include "bcm4906.dtsi" | ||||||
|   |   | ||||||
| @@ -42,8 +42,8 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | |||||||
|  	model = "TP-Link Archer C2300 V1"; |  	model = "TP-Link Archer C2300 V1"; | ||||||
|   |   | ||||||
|  	memory@0 { |  	memory@0 { | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts | --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-asus-gt-ac5300.dts | +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-asus-gt-ac5300.dts | ||||||
| @@ -7,7 +7,7 @@ | @@ -7,7 +7,7 @@ | ||||||
|  #include "bcm4908.dtsi" |  #include "bcm4908.dtsi" | ||||||
|   |   | ||||||
| @@ -53,8 +53,8 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | |||||||
|  	model = "Asus GT-AC5300"; |  	model = "Asus GT-AC5300"; | ||||||
|   |   | ||||||
|  	memory@0 { |  	memory@0 { | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-netgear-raxe500.dts | --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-netgear-raxe500.dts | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcm4908/bcm4908-netgear-raxe500.dts | +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908-netgear-raxe500.dts | ||||||
| @@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||||||
|  #include "bcm4908.dtsi" |  #include "bcm4908.dtsi" | ||||||
|   |   | ||||||
|   | |||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,33 +0,0 @@ | |||||||
| From 5cca02449490e767289bda38db1577e2c375c084 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> |  | ||||||
| Date: Tue, 28 Feb 2023 15:43:58 +0100 |  | ||||||
| Subject: [PATCH] arm64: dts: broadcom: bcmbca: bcm4908: fix NAND interrupt |  | ||||||
|  name |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
|  |  | ||||||
| This fixes: |  | ||||||
| arch/arm64/boot/dts/broadcom/bcmbca/bcm94908.dtb: nand-controller@1800: interrupt-names:0: 'nand_ctlrdy' was expected |  | ||||||
|         From schema: Documentation/devicetree/bindings/mtd/brcm,brcmnand.yaml |  | ||||||
| arch/arm64/boot/dts/broadcom/bcmbca/bcm94908.dtb: nand-controller@1800: Unevaluated properties are not allowed ('interrupt-names' was unexpected) |  | ||||||
|         From schema: Documentation/devicetree/bindings/mtd/brcm,brcmnand.yaml |  | ||||||
|  |  | ||||||
| Signed-off-by: Rafał Miłecki <rafal@milecki.pl> |  | ||||||
| Link: https://lore.kernel.org/all/20230228144400.21689-1-zajec5@gmail.com/ |  | ||||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> |  | ||||||
| --- |  | ||||||
|  arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | 2 +- |  | ||||||
|  1 file changed, 1 insertion(+), 1 deletion(-) |  | ||||||
|  |  | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi |  | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi |  | ||||||
| @@ -556,7 +556,7 @@ |  | ||||||
|  			reg = <0x1800 0x600>, <0x2000 0x10>; |  | ||||||
|  			reg-names = "nand", "nand-int-base"; |  | ||||||
|  			interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; |  | ||||||
| -			interrupt-names = "nand"; |  | ||||||
| +			interrupt-names = "nand_ctlrdy"; |  | ||||||
|  			status = "okay"; |  | ||||||
|   |  | ||||||
|  			nandcs: nand@0 { |  | ||||||
| @@ -1,30 +0,0 @@ | |||||||
| From f16a8294dd7a02c7ad042cd2e3acc5ea06698dc1 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> |  | ||||||
| Date: Tue, 28 Feb 2023 15:44:00 +0100 |  | ||||||
| Subject: [PATCH] arm64: dts: broadcom: bcmbca: bcm4908: fix procmon nodename |  | ||||||
| MIME-Version: 1.0 |  | ||||||
| Content-Type: text/plain; charset=UTF-8 |  | ||||||
| Content-Transfer-Encoding: 8bit |  | ||||||
|  |  | ||||||
| This fixes: |  | ||||||
| arch/arm64/boot/dts/broadcom/bcmbca/bcm94908.dtb: syscon@280000: $nodename:0: 'syscon@280000' does not match '^([a-z][a-z0-9\\-]+-bus|bus|localbus|soc|axi|ahb|apb)(@.+)?$' |  | ||||||
|         From schema: schemas/simple-bus.yaml |  | ||||||
|  |  | ||||||
| Signed-off-by: Rafał Miłecki <rafal@milecki.pl> |  | ||||||
| Link: https://lore.kernel.org/all/20230228144400.21689-3-zajec5@gmail.com/ |  | ||||||
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> |  | ||||||
| --- |  | ||||||
|  arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi | 2 +- |  | ||||||
|  1 file changed, 1 insertion(+), 1 deletion(-) |  | ||||||
|  |  | ||||||
| --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi |  | ||||||
| +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi |  | ||||||
| @@ -260,7 +260,7 @@ |  | ||||||
|  			}; |  | ||||||
|  		}; |  | ||||||
|   |  | ||||||
| -		procmon: syscon@280000 { |  | ||||||
| +		procmon: bus@280000 { |  | ||||||
|  			compatible = "simple-bus"; |  | ||||||
|  			reg = <0x280000 0x1000>; |  | ||||||
|  			ranges; |  | ||||||
| @@ -25,7 +25,7 @@ Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> | |||||||
|  |  | ||||||
| --- a/drivers/mtd/mtdcore.c | --- a/drivers/mtd/mtdcore.c | ||||||
| +++ b/drivers/mtd/mtdcore.c | +++ b/drivers/mtd/mtdcore.c | ||||||
| @@ -1229,6 +1229,34 @@ int __get_mtd_device(struct mtd_info *mt | @@ -1236,6 +1236,34 @@ int __get_mtd_device(struct mtd_info *mt | ||||||
|  EXPORT_SYMBOL_GPL(__get_mtd_device); |  EXPORT_SYMBOL_GPL(__get_mtd_device); | ||||||
|   |   | ||||||
|  /** |  /** | ||||||
|   | |||||||
| @@ -31,7 +31,7 @@ Link: https://lore.kernel.org/linux-mtd/20220629125737.14418-2-kernel@kempniu.pl | |||||||
|  |  | ||||||
| --- a/drivers/mtd/mtdcore.c | --- a/drivers/mtd/mtdcore.c | ||||||
| +++ b/drivers/mtd/mtdcore.c | +++ b/drivers/mtd/mtdcore.c | ||||||
| @@ -1669,6 +1669,9 @@ int mtd_read_oob(struct mtd_info *mtd, l | @@ -1676,6 +1676,9 @@ int mtd_read_oob(struct mtd_info *mtd, l | ||||||
|  	if (!master->_read_oob && (!master->_read || ops->oobbuf)) |  	if (!master->_read_oob && (!master->_read || ops->oobbuf)) | ||||||
|  		return -EOPNOTSUPP; |  		return -EOPNOTSUPP; | ||||||
|   |   | ||||||
| @@ -41,7 +41,7 @@ Link: https://lore.kernel.org/linux-mtd/20220629125737.14418-2-kernel@kempniu.pl | |||||||
|  	if (mtd->flags & MTD_SLC_ON_MLC_EMULATION) |  	if (mtd->flags & MTD_SLC_ON_MLC_EMULATION) | ||||||
|  		ret_code = mtd_io_emulated_slc(mtd, from, true, ops); |  		ret_code = mtd_io_emulated_slc(mtd, from, true, ops); | ||||||
|  	else |  	else | ||||||
| @@ -1686,6 +1689,8 @@ int mtd_read_oob(struct mtd_info *mtd, l | @@ -1693,6 +1696,8 @@ int mtd_read_oob(struct mtd_info *mtd, l | ||||||
|  		return ret_code; |  		return ret_code; | ||||||
|  	if (mtd->ecc_strength == 0) |  	if (mtd->ecc_strength == 0) | ||||||
|  		return 0;	/* device lacks ecc */ |  		return 0;	/* device lacks ecc */ | ||||||
|   | |||||||
| @@ -1,43 +0,0 @@ | |||||||
| From 1cd9ceaa5282ff10ea20a7fbadde5a476a1cc99e Mon Sep 17 00:00:00 2001 |  | ||||||
| From: Michael Walle <michael@walle.cc> |  | ||||||
| Date: Wed, 8 Mar 2023 09:20:18 +0100 |  | ||||||
| Subject: [PATCH] mtd: core: provide unique name for nvmem device, take two |  | ||||||
|  |  | ||||||
| Commit c048b60d39e1 ("mtd: core: provide unique name for nvmem device") |  | ||||||
| tries to give the nvmem device a unique name, but fails badly if the mtd |  | ||||||
| device doesn't have a "struct device" associated with it, i.e. if |  | ||||||
| CONFIG_MTD_PARTITIONED_MASTER is not set. This will result in the name |  | ||||||
| "(null)-user-otp", which is not unique. It seems the best we can do is |  | ||||||
| to use the compatible name together with a unique identifier added by |  | ||||||
| the nvmem subsystem by using NVMEM_DEVID_AUTO. |  | ||||||
|  |  | ||||||
| Fixes: c048b60d39e1 ("mtd: core: provide unique name for nvmem device") |  | ||||||
| Cc: stable@vger.kernel.org |  | ||||||
| Signed-off-by: Michael Walle <michael@walle.cc> |  | ||||||
| Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> |  | ||||||
| Link: https://lore.kernel.org/linux-mtd/20230308082021.870459-1-michael@walle.cc |  | ||||||
| --- |  | ||||||
|  drivers/mtd/mtdcore.c | 5 ++--- |  | ||||||
|  1 file changed, 2 insertions(+), 3 deletions(-) |  | ||||||
|  |  | ||||||
| --- a/drivers/mtd/mtdcore.c |  | ||||||
| +++ b/drivers/mtd/mtdcore.c |  | ||||||
| @@ -895,8 +895,8 @@ static struct nvmem_device *mtd_otp_nvme |  | ||||||
|   |  | ||||||
|  	/* OTP nvmem will be registered on the physical device */ |  | ||||||
|  	config.dev = mtd->dev.parent; |  | ||||||
| -	config.name = kasprintf(GFP_KERNEL, "%s-%s", dev_name(&mtd->dev), compatible); |  | ||||||
| -	config.id = NVMEM_DEVID_NONE; |  | ||||||
| +	config.name = compatible; |  | ||||||
| +	config.id = NVMEM_DEVID_AUTO; |  | ||||||
|  	config.owner = THIS_MODULE; |  | ||||||
|  	config.type = NVMEM_TYPE_OTP; |  | ||||||
|  	config.root_only = true; |  | ||||||
| @@ -912,7 +912,6 @@ static struct nvmem_device *mtd_otp_nvme |  | ||||||
|  		nvmem = NULL; |  | ||||||
|   |  | ||||||
|  	of_node_put(np); |  | ||||||
| -	kfree(config.name); |  | ||||||
|   |  | ||||||
|  	return nvmem; |  | ||||||
|  } |  | ||||||
| @@ -1,47 +0,0 @@ | |||||||
| From 8bd1d24e6ca3c599dd455b0e1b22f77bab8290eb Mon Sep 17 00:00:00 2001 |  | ||||||
| From: Michael Walle <michael@walle.cc> |  | ||||||
| Date: Wed, 8 Mar 2023 09:20:19 +0100 |  | ||||||
| Subject: [PATCH] mtd: core: fix nvmem error reporting |  | ||||||
|  |  | ||||||
| The master MTD will only have an associated device if |  | ||||||
| CONFIG_MTD_PARTITIONED_MASTER is set, thus we cannot use dev_err() on |  | ||||||
| mtd->dev. Instead use the parent device which is the physical flash |  | ||||||
| memory. |  | ||||||
|  |  | ||||||
| Fixes: 4b361cfa8624 ("mtd: core: add OTP nvmem provider support") |  | ||||||
| Cc: stable@vger.kernel.org |  | ||||||
| Signed-off-by: Michael Walle <michael@walle.cc> |  | ||||||
| Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> |  | ||||||
| Link: https://lore.kernel.org/linux-mtd/20230308082021.870459-2-michael@walle.cc |  | ||||||
| --- |  | ||||||
|  drivers/mtd/mtdcore.c | 5 +++-- |  | ||||||
|  1 file changed, 3 insertions(+), 2 deletions(-) |  | ||||||
|  |  | ||||||
| --- a/drivers/mtd/mtdcore.c |  | ||||||
| +++ b/drivers/mtd/mtdcore.c |  | ||||||
| @@ -946,6 +946,7 @@ static int mtd_nvmem_fact_otp_reg_read(v |  | ||||||
|   |  | ||||||
|  static int mtd_otp_nvmem_add(struct mtd_info *mtd) |  | ||||||
|  { |  | ||||||
| +	struct device *dev = mtd->dev.parent; |  | ||||||
|  	struct nvmem_device *nvmem; |  | ||||||
|  	ssize_t size; |  | ||||||
|  	int err; |  | ||||||
| @@ -959,7 +960,7 @@ static int mtd_otp_nvmem_add(struct mtd_ |  | ||||||
|  			nvmem = mtd_otp_nvmem_register(mtd, "user-otp", size, |  | ||||||
|  						       mtd_nvmem_user_otp_reg_read); |  | ||||||
|  			if (IS_ERR(nvmem)) { |  | ||||||
| -				dev_err(&mtd->dev, "Failed to register OTP NVMEM device\n"); |  | ||||||
| +				dev_err(dev, "Failed to register OTP NVMEM device\n"); |  | ||||||
|  				return PTR_ERR(nvmem); |  | ||||||
|  			} |  | ||||||
|  			mtd->otp_user_nvmem = nvmem; |  | ||||||
| @@ -977,7 +978,7 @@ static int mtd_otp_nvmem_add(struct mtd_ |  | ||||||
|  			nvmem = mtd_otp_nvmem_register(mtd, "factory-otp", size, |  | ||||||
|  						       mtd_nvmem_fact_otp_reg_read); |  | ||||||
|  			if (IS_ERR(nvmem)) { |  | ||||||
| -				dev_err(&mtd->dev, "Failed to register OTP NVMEM device\n"); |  | ||||||
| +				dev_err(dev, "Failed to register OTP NVMEM device\n"); |  | ||||||
|  				err = PTR_ERR(nvmem); |  | ||||||
|  				goto err; |  | ||||||
|  			} |  | ||||||
| @@ -1,55 +0,0 @@ | |||||||
| From e0489f6e221f5ddee6cb3bd51b992b790c5fa4b9 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: Michael Walle <michael@walle.cc> |  | ||||||
| Date: Wed, 8 Mar 2023 09:20:20 +0100 |  | ||||||
| Subject: [PATCH] mtd: core: fix error path for nvmem provider |  | ||||||
|  |  | ||||||
| If mtd_otp_nvmem_add() fails, the partitions won't be removed |  | ||||||
| because there is simply no call to del_mtd_partitions(). |  | ||||||
| Unfortunately, add_mtd_partitions() will print all partitions to |  | ||||||
| the kernel console. If mtd_otp_nvmem_add() returns -EPROBE_DEFER |  | ||||||
| this would print the partitions multiple times to the kernel |  | ||||||
| console. Instead move mtd_otp_nvmem_add() to the beginning of the |  | ||||||
| function. |  | ||||||
|  |  | ||||||
| Fixes: 4b361cfa8624 ("mtd: core: add OTP nvmem provider support") |  | ||||||
| Cc: stable@vger.kernel.org |  | ||||||
| Signed-off-by: Michael Walle <michael@walle.cc> |  | ||||||
| Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> |  | ||||||
| Link: https://lore.kernel.org/linux-mtd/20230308082021.870459-3-michael@walle.cc |  | ||||||
| --- |  | ||||||
|  drivers/mtd/mtdcore.c | 13 ++++++++++--- |  | ||||||
|  1 file changed, 10 insertions(+), 3 deletions(-) |  | ||||||
|  |  | ||||||
| --- a/drivers/mtd/mtdcore.c |  | ||||||
| +++ b/drivers/mtd/mtdcore.c |  | ||||||
| @@ -1031,10 +1031,14 @@ int mtd_device_parse_register(struct mtd |  | ||||||
|   |  | ||||||
|  	mtd_set_dev_defaults(mtd); |  | ||||||
|   |  | ||||||
| +	ret = mtd_otp_nvmem_add(mtd); |  | ||||||
| +	if (ret) |  | ||||||
| +		goto out; |  | ||||||
| + |  | ||||||
|  	if (IS_ENABLED(CONFIG_MTD_PARTITIONED_MASTER)) { |  | ||||||
|  		ret = add_mtd_device(mtd); |  | ||||||
|  		if (ret) |  | ||||||
| -			return ret; |  | ||||||
| +			goto out; |  | ||||||
|  	} |  | ||||||
|   |  | ||||||
|  	/* Prefer parsed partitions over driver-provided fallback */ |  | ||||||
| @@ -1069,9 +1073,12 @@ int mtd_device_parse_register(struct mtd |  | ||||||
|  		register_reboot_notifier(&mtd->reboot_notifier); |  | ||||||
|  	} |  | ||||||
|   |  | ||||||
| -	ret = mtd_otp_nvmem_add(mtd); |  | ||||||
| - |  | ||||||
|  out: |  | ||||||
| +	if (ret) { |  | ||||||
| +		nvmem_unregister(mtd->otp_user_nvmem); |  | ||||||
| +		nvmem_unregister(mtd->otp_factory_nvmem); |  | ||||||
| +	} |  | ||||||
| + |  | ||||||
|  	if (ret && device_is_registered(&mtd->dev)) |  | ||||||
|  		del_mtd_device(mtd); |  | ||||||
|   |  | ||||||
| @@ -901,7 +901,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  static void axienet_mac_pcs_get_state(struct phylink_config *config, |  static void axienet_mac_pcs_get_state(struct phylink_config *config, | ||||||
| --- a/drivers/net/pcs/pcs-xpcs.c | --- a/drivers/net/pcs/pcs-xpcs.c | ||||||
| +++ b/drivers/net/pcs/pcs-xpcs.c | +++ b/drivers/net/pcs/pcs-xpcs.c | ||||||
| @@ -646,7 +646,7 @@ void xpcs_validate(struct dw_xpcs *xpcs, | @@ -637,7 +637,7 @@ void xpcs_validate(struct dw_xpcs *xpcs, | ||||||
|  	if (state->interface == PHY_INTERFACE_MODE_NA) |  	if (state->interface == PHY_INTERFACE_MODE_NA) | ||||||
|  		return; |  		return; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -71,7 +71,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  	ret = stmmac_hw_setup(dev, true); |  	ret = stmmac_hw_setup(dev, true); | ||||||
|  	if (ret < 0) { |  	if (ret < 0) { | ||||||
|  		netdev_err(priv->dev, "%s: Hw setup failed\n", __func__); |  		netdev_err(priv->dev, "%s: Hw setup failed\n", __func__); | ||||||
| @@ -6424,6 +6417,7 @@ void stmmac_enable_rx_queue(struct stmma | @@ -6430,6 +6423,7 @@ void stmmac_enable_rx_queue(struct stmma | ||||||
|  		return; |  		return; | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -79,7 +79,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  	stmmac_clear_rx_descriptors(priv, queue); |  	stmmac_clear_rx_descriptors(priv, queue); | ||||||
|   |   | ||||||
|  	stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, |  	stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, | ||||||
| @@ -6485,6 +6479,7 @@ void stmmac_enable_tx_queue(struct stmma | @@ -6491,6 +6485,7 @@ void stmmac_enable_tx_queue(struct stmma | ||||||
|  		return; |  		return; | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -87,7 +87,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  	stmmac_clear_tx_descriptors(priv, queue); |  	stmmac_clear_tx_descriptors(priv, queue); | ||||||
|   |   | ||||||
|  	stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, |  	stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, | ||||||
| @@ -7411,6 +7406,25 @@ int stmmac_suspend(struct device *dev) | @@ -7417,6 +7412,25 @@ int stmmac_suspend(struct device *dev) | ||||||
|  } |  } | ||||||
|  EXPORT_SYMBOL_GPL(stmmac_suspend); |  EXPORT_SYMBOL_GPL(stmmac_suspend); | ||||||
|   |   | ||||||
| @@ -113,7 +113,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  /** |  /** | ||||||
|   * stmmac_reset_queues_param - reset queue parameters |   * stmmac_reset_queues_param - reset queue parameters | ||||||
|   * @priv: device pointer |   * @priv: device pointer | ||||||
| @@ -7421,22 +7435,11 @@ static void stmmac_reset_queues_param(st | @@ -7427,22 +7441,11 @@ static void stmmac_reset_queues_param(st | ||||||
|  	u32 tx_cnt = priv->plat->tx_queues_to_use; |  	u32 tx_cnt = priv->plat->tx_queues_to_use; | ||||||
|  	u32 queue; |  	u32 queue; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -1116,7 +1116,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  		} |  		} | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -6398,7 +6402,7 @@ void stmmac_disable_rx_queue(struct stmm | @@ -6404,7 +6408,7 @@ void stmmac_disable_rx_queue(struct stmm | ||||||
|   |   | ||||||
|  void stmmac_enable_rx_queue(struct stmmac_priv *priv, u32 queue) |  void stmmac_enable_rx_queue(struct stmmac_priv *priv, u32 queue) | ||||||
|  { |  { | ||||||
| @@ -1125,7 +1125,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  	struct stmmac_channel *ch = &priv->channel[queue]; |  	struct stmmac_channel *ch = &priv->channel[queue]; | ||||||
|  	unsigned long flags; |  	unsigned long flags; | ||||||
|  	u32 buf_size; |  	u32 buf_size; | ||||||
| @@ -6435,7 +6439,7 @@ void stmmac_enable_rx_queue(struct stmma | @@ -6441,7 +6445,7 @@ void stmmac_enable_rx_queue(struct stmma | ||||||
|  				      rx_q->queue_index); |  				      rx_q->queue_index); | ||||||
|  	} else { |  	} else { | ||||||
|  		stmmac_set_dma_bfsize(priv, priv->ioaddr, |  		stmmac_set_dma_bfsize(priv, priv->ioaddr, | ||||||
| @@ -1134,7 +1134,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  				      rx_q->queue_index); |  				      rx_q->queue_index); | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -6461,7 +6465,7 @@ void stmmac_disable_tx_queue(struct stmm | @@ -6467,7 +6471,7 @@ void stmmac_disable_tx_queue(struct stmm | ||||||
|   |   | ||||||
|  void stmmac_enable_tx_queue(struct stmmac_priv *priv, u32 queue) |  void stmmac_enable_tx_queue(struct stmmac_priv *priv, u32 queue) | ||||||
|  { |  { | ||||||
| @@ -1143,7 +1143,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  	struct stmmac_channel *ch = &priv->channel[queue]; |  	struct stmmac_channel *ch = &priv->channel[queue]; | ||||||
|  	unsigned long flags; |  	unsigned long flags; | ||||||
|  	int ret; |  	int ret; | ||||||
| @@ -6511,7 +6515,7 @@ void stmmac_xdp_release(struct net_devic | @@ -6517,7 +6521,7 @@ void stmmac_xdp_release(struct net_devic | ||||||
|  	stmmac_disable_all_queues(priv); |  	stmmac_disable_all_queues(priv); | ||||||
|   |   | ||||||
|  	for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) |  	for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) | ||||||
| @@ -1152,7 +1152,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|   |   | ||||||
|  	/* Free the IRQ lines */ |  	/* Free the IRQ lines */ | ||||||
|  	stmmac_free_irq(dev, REQ_IRQ_ERR_ALL, 0); |  	stmmac_free_irq(dev, REQ_IRQ_ERR_ALL, 0); | ||||||
| @@ -6570,7 +6574,7 @@ int stmmac_xdp_open(struct net_device *d | @@ -6576,7 +6580,7 @@ int stmmac_xdp_open(struct net_device *d | ||||||
|   |   | ||||||
|  	/* DMA RX Channel Configuration */ |  	/* DMA RX Channel Configuration */ | ||||||
|  	for (chan = 0; chan < rx_cnt; chan++) { |  	for (chan = 0; chan < rx_cnt; chan++) { | ||||||
| @@ -1161,7 +1161,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|   |   | ||||||
|  		stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, |  		stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, | ||||||
|  				    rx_q->dma_rx_phy, chan); |  				    rx_q->dma_rx_phy, chan); | ||||||
| @@ -6588,7 +6592,7 @@ int stmmac_xdp_open(struct net_device *d | @@ -6594,7 +6598,7 @@ int stmmac_xdp_open(struct net_device *d | ||||||
|  					      rx_q->queue_index); |  					      rx_q->queue_index); | ||||||
|  		} else { |  		} else { | ||||||
|  			stmmac_set_dma_bfsize(priv, priv->ioaddr, |  			stmmac_set_dma_bfsize(priv, priv->ioaddr, | ||||||
| @@ -1170,7 +1170,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  					      rx_q->queue_index); |  					      rx_q->queue_index); | ||||||
|  		} |  		} | ||||||
|   |   | ||||||
| @@ -6597,7 +6601,7 @@ int stmmac_xdp_open(struct net_device *d | @@ -6603,7 +6607,7 @@ int stmmac_xdp_open(struct net_device *d | ||||||
|   |   | ||||||
|  	/* DMA TX Channel Configuration */ |  	/* DMA TX Channel Configuration */ | ||||||
|  	for (chan = 0; chan < tx_cnt; chan++) { |  	for (chan = 0; chan < tx_cnt; chan++) { | ||||||
| @@ -1179,7 +1179,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|   |   | ||||||
|  		stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, |  		stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, | ||||||
|  				    tx_q->dma_tx_phy, chan); |  				    tx_q->dma_tx_phy, chan); | ||||||
| @@ -6630,7 +6634,7 @@ int stmmac_xdp_open(struct net_device *d | @@ -6636,7 +6640,7 @@ int stmmac_xdp_open(struct net_device *d | ||||||
|   |   | ||||||
|  irq_error: |  irq_error: | ||||||
|  	for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) |  	for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) | ||||||
| @@ -1188,7 +1188,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|   |   | ||||||
|  	stmmac_hw_teardown(dev); |  	stmmac_hw_teardown(dev); | ||||||
|  init_error: |  init_error: | ||||||
| @@ -6657,8 +6661,8 @@ int stmmac_xsk_wakeup(struct net_device | @@ -6663,8 +6667,8 @@ int stmmac_xsk_wakeup(struct net_device | ||||||
|  	    queue >= priv->plat->tx_queues_to_use) |  	    queue >= priv->plat->tx_queues_to_use) | ||||||
|  		return -EINVAL; |  		return -EINVAL; | ||||||
|   |   | ||||||
| @@ -1199,7 +1199,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  	ch = &priv->channel[queue]; |  	ch = &priv->channel[queue]; | ||||||
|   |   | ||||||
|  	if (!rx_q->xsk_pool && !tx_q->xsk_pool) |  	if (!rx_q->xsk_pool && !tx_q->xsk_pool) | ||||||
| @@ -6918,8 +6922,8 @@ int stmmac_reinit_ringparam(struct net_d | @@ -6924,8 +6928,8 @@ int stmmac_reinit_ringparam(struct net_d | ||||||
|  	if (netif_running(dev)) |  	if (netif_running(dev)) | ||||||
|  		stmmac_release(dev); |  		stmmac_release(dev); | ||||||
|   |   | ||||||
| @@ -1210,7 +1210,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|   |   | ||||||
|  	if (netif_running(dev)) |  	if (netif_running(dev)) | ||||||
|  		ret = stmmac_open(dev); |  		ret = stmmac_open(dev); | ||||||
| @@ -7357,7 +7361,7 @@ int stmmac_suspend(struct device *dev) | @@ -7363,7 +7367,7 @@ int stmmac_suspend(struct device *dev) | ||||||
|  	stmmac_disable_all_queues(priv); |  	stmmac_disable_all_queues(priv); | ||||||
|   |   | ||||||
|  	for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) |  	for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++) | ||||||
| @@ -1219,7 +1219,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|   |   | ||||||
|  	if (priv->eee_enabled) { |  	if (priv->eee_enabled) { | ||||||
|  		priv->tx_path_in_lpi_mode = false; |  		priv->tx_path_in_lpi_mode = false; | ||||||
| @@ -7408,7 +7412,7 @@ EXPORT_SYMBOL_GPL(stmmac_suspend); | @@ -7414,7 +7418,7 @@ EXPORT_SYMBOL_GPL(stmmac_suspend); | ||||||
|   |   | ||||||
|  static void stmmac_reset_rx_queue(struct stmmac_priv *priv, u32 queue) |  static void stmmac_reset_rx_queue(struct stmmac_priv *priv, u32 queue) | ||||||
|  { |  { | ||||||
| @@ -1228,7 +1228,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|   |   | ||||||
|  	rx_q->cur_rx = 0; |  	rx_q->cur_rx = 0; | ||||||
|  	rx_q->dirty_rx = 0; |  	rx_q->dirty_rx = 0; | ||||||
| @@ -7416,7 +7420,7 @@ static void stmmac_reset_rx_queue(struct | @@ -7422,7 +7426,7 @@ static void stmmac_reset_rx_queue(struct | ||||||
|   |   | ||||||
|  static void stmmac_reset_tx_queue(struct stmmac_priv *priv, u32 queue) |  static void stmmac_reset_tx_queue(struct stmmac_priv *priv, u32 queue) | ||||||
|  { |  { | ||||||
|   | |||||||
| @@ -1045,7 +1045,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|   |   | ||||||
|  	/* Disable the MAC Rx/Tx */ |  	/* Disable the MAC Rx/Tx */ | ||||||
|  	stmmac_mac_set(priv, priv->ioaddr, false); |  	stmmac_mac_set(priv, priv->ioaddr, false); | ||||||
| @@ -6397,7 +6513,7 @@ void stmmac_disable_rx_queue(struct stmm | @@ -6403,7 +6519,7 @@ void stmmac_disable_rx_queue(struct stmm | ||||||
|  	spin_unlock_irqrestore(&ch->lock, flags); |  	spin_unlock_irqrestore(&ch->lock, flags); | ||||||
|   |   | ||||||
|  	stmmac_stop_rx_dma(priv, queue); |  	stmmac_stop_rx_dma(priv, queue); | ||||||
| @@ -1054,7 +1054,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  void stmmac_enable_rx_queue(struct stmmac_priv *priv, u32 queue) |  void stmmac_enable_rx_queue(struct stmmac_priv *priv, u32 queue) | ||||||
| @@ -6408,21 +6524,21 @@ void stmmac_enable_rx_queue(struct stmma | @@ -6414,21 +6530,21 @@ void stmmac_enable_rx_queue(struct stmma | ||||||
|  	u32 buf_size; |  	u32 buf_size; | ||||||
|  	int ret; |  	int ret; | ||||||
|   |   | ||||||
| @@ -1080,7 +1080,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|   |   | ||||||
|  	stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, |  	stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, | ||||||
|  			    rx_q->dma_rx_phy, rx_q->queue_index); |  			    rx_q->dma_rx_phy, rx_q->queue_index); | ||||||
| @@ -6460,7 +6576,7 @@ void stmmac_disable_tx_queue(struct stmm | @@ -6466,7 +6582,7 @@ void stmmac_disable_tx_queue(struct stmm | ||||||
|  	spin_unlock_irqrestore(&ch->lock, flags); |  	spin_unlock_irqrestore(&ch->lock, flags); | ||||||
|   |   | ||||||
|  	stmmac_stop_tx_dma(priv, queue); |  	stmmac_stop_tx_dma(priv, queue); | ||||||
| @@ -1089,7 +1089,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  void stmmac_enable_tx_queue(struct stmmac_priv *priv, u32 queue) |  void stmmac_enable_tx_queue(struct stmmac_priv *priv, u32 queue) | ||||||
| @@ -6470,21 +6586,21 @@ void stmmac_enable_tx_queue(struct stmma | @@ -6476,21 +6592,21 @@ void stmmac_enable_tx_queue(struct stmma | ||||||
|  	unsigned long flags; |  	unsigned long flags; | ||||||
|  	int ret; |  	int ret; | ||||||
|   |   | ||||||
| @@ -1115,7 +1115,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|   |   | ||||||
|  	stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, |  	stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg, | ||||||
|  			    tx_q->dma_tx_phy, tx_q->queue_index); |  			    tx_q->dma_tx_phy, tx_q->queue_index); | ||||||
| @@ -6524,7 +6640,7 @@ void stmmac_xdp_release(struct net_devic | @@ -6530,7 +6646,7 @@ void stmmac_xdp_release(struct net_devic | ||||||
|  	stmmac_stop_all_dma(priv); |  	stmmac_stop_all_dma(priv); | ||||||
|   |   | ||||||
|  	/* Release and free the Rx/Tx resources */ |  	/* Release and free the Rx/Tx resources */ | ||||||
| @@ -1124,7 +1124,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|   |   | ||||||
|  	/* Disable the MAC Rx/Tx */ |  	/* Disable the MAC Rx/Tx */ | ||||||
|  	stmmac_mac_set(priv, priv->ioaddr, false); |  	stmmac_mac_set(priv, priv->ioaddr, false); | ||||||
| @@ -6549,14 +6665,14 @@ int stmmac_xdp_open(struct net_device *d | @@ -6555,14 +6671,14 @@ int stmmac_xdp_open(struct net_device *d | ||||||
|  	u32 chan; |  	u32 chan; | ||||||
|  	int ret; |  	int ret; | ||||||
|   |   | ||||||
| @@ -1141,7 +1141,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  	if (ret < 0) { |  	if (ret < 0) { | ||||||
|  		netdev_err(dev, "%s: DMA descriptors initialization failed\n", |  		netdev_err(dev, "%s: DMA descriptors initialization failed\n", | ||||||
|  			   __func__); |  			   __func__); | ||||||
| @@ -6638,7 +6754,7 @@ irq_error: | @@ -6644,7 +6760,7 @@ irq_error: | ||||||
|   |   | ||||||
|  	stmmac_hw_teardown(dev); |  	stmmac_hw_teardown(dev); | ||||||
|  init_error: |  init_error: | ||||||
| @@ -1150,7 +1150,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org> | |||||||
|  dma_desc_error: |  dma_desc_error: | ||||||
|  	return ret; |  	return ret; | ||||||
|  } |  } | ||||||
| @@ -7503,7 +7619,7 @@ int stmmac_resume(struct device *dev) | @@ -7509,7 +7625,7 @@ int stmmac_resume(struct device *dev) | ||||||
|  	stmmac_reset_queues_param(priv); |  	stmmac_reset_queues_param(priv); | ||||||
|   |   | ||||||
|  	stmmac_free_tx_skbufs(priv); |  	stmmac_free_tx_skbufs(priv); | ||||||
|   | |||||||
| @@ -26,7 +26,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |||||||
|  		return -ENODEV; |  		return -ENODEV; | ||||||
|   |   | ||||||
|  	/* Name & Type */ |  	/* Name & Type */ | ||||||
| @@ -369,7 +369,7 @@ int of_device_uevent_modalias(struct dev | @@ -372,7 +372,7 @@ int of_device_uevent_modalias(struct dev | ||||||
|  { |  { | ||||||
|  	int sl; |  	int sl; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -18,7 +18,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |||||||
|  |  | ||||||
| --- a/drivers/of/device.c | --- a/drivers/of/device.c | ||||||
| +++ b/drivers/of/device.c | +++ b/drivers/of/device.c | ||||||
| @@ -378,6 +378,8 @@ int of_device_uevent_modalias(struct dev | @@ -381,6 +381,8 @@ int of_device_uevent_modalias(struct dev | ||||||
|   |   | ||||||
|  	sl = of_device_get_modalias(dev, &env->buf[env->buflen-1], |  	sl = of_device_get_modalias(dev, &env->buf[env->buflen-1], | ||||||
|  				    sizeof(env->buf) - env->buflen); |  				    sizeof(env->buf) - env->buflen); | ||||||
|   | |||||||
| @@ -1,70 +0,0 @@ | |||||||
| From b19a4266c52de78496fe40f0b37580a3b762e67d Mon Sep 17 00:00:00 2001 |  | ||||||
| From: Miquel Raynal <miquel.raynal@bootlin.com> |  | ||||||
| Date: Tue, 4 Apr 2023 18:21:09 +0100 |  | ||||||
| Subject: [PATCH] of: Fix modalias string generation |  | ||||||
|  |  | ||||||
| The helper generating an OF based modalias (of_device_get_modalias()) |  | ||||||
| works fine, but due to the use of snprintf() internally it needs a |  | ||||||
| buffer one byte longer than what should be needed just for the entire |  | ||||||
| string (excluding the '\0'). Most users of this helper are sysfs hooks |  | ||||||
| providing the modalias string to users. They all provide a PAGE_SIZE |  | ||||||
| buffer which is way above the number of bytes required to fit the |  | ||||||
| modalias string and hence do not suffer from this issue. |  | ||||||
|  |  | ||||||
| There is another user though, of_device_request_module(), which is only |  | ||||||
| called by drivers/usb/common/ulpi.c. This request module function is |  | ||||||
| faulty, but maybe because in most cases there is an alternative, ULPI |  | ||||||
| driver users have not noticed it. |  | ||||||
|  |  | ||||||
| In this function, of_device_get_modalias() is called twice. The first |  | ||||||
| time without buffer just to get the number of bytes required by the |  | ||||||
| modalias string (excluding the null byte), and a second time, after |  | ||||||
| buffer allocation, to fill the buffer. The allocation asks for an |  | ||||||
| additional byte, in order to store the trailing '\0'. However, the |  | ||||||
| buffer *length* provided to of_device_get_modalias() excludes this extra |  | ||||||
| byte. The internal use of snprintf() with a length that is exactly the |  | ||||||
| number of bytes to be written has the effect of using the last available |  | ||||||
| byte to store a '\0', which then smashes the last character of the |  | ||||||
| modalias string. |  | ||||||
|  |  | ||||||
| Provide the actual size of the buffer to of_device_get_modalias() to fix |  | ||||||
| this issue. |  | ||||||
|  |  | ||||||
| Note: the "str[size - 1] = '\0';" line is not really needed as snprintf |  | ||||||
| will anyway end the string with a null byte, but there is a possibility |  | ||||||
| that this function might be called on a struct device_node without |  | ||||||
| compatible, in this case snprintf() would not be executed. So we keep it |  | ||||||
| just to avoid possible unbounded strings. |  | ||||||
|  |  | ||||||
| Cc: Stephen Boyd <sboyd@kernel.org> |  | ||||||
| Cc: Peter Chen <peter.chen@kernel.org> |  | ||||||
| Fixes: 9c829c097f2f ("of: device: Support loading a module with OF based modalias") |  | ||||||
| Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> |  | ||||||
| Reviewed-by: Rob Herring <robh@kernel.org> |  | ||||||
| Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |  | ||||||
| Link: https://lore.kernel.org/r/20230404172148.82422-2-srinivas.kandagatla@linaro.org |  | ||||||
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |  | ||||||
| --- |  | ||||||
|  drivers/of/device.c | 7 +++++-- |  | ||||||
|  1 file changed, 5 insertions(+), 2 deletions(-) |  | ||||||
|  |  | ||||||
| --- a/drivers/of/device.c |  | ||||||
| +++ b/drivers/of/device.c |  | ||||||
| @@ -290,12 +290,15 @@ int of_device_request_module(struct devi |  | ||||||
|  	if (size < 0) |  | ||||||
|  		return size; |  | ||||||
|   |  | ||||||
| -	str = kmalloc(size + 1, GFP_KERNEL); |  | ||||||
| +	/* Reserve an additional byte for the trailing '\0' */ |  | ||||||
| +	size++; |  | ||||||
| + |  | ||||||
| +	str = kmalloc(size, GFP_KERNEL); |  | ||||||
|  	if (!str) |  | ||||||
|  		return -ENOMEM; |  | ||||||
|   |  | ||||||
|  	of_device_get_modalias(dev, str, size); |  | ||||||
| -	str[size] = '\0'; |  | ||||||
| +	str[size - 1] = '\0'; |  | ||||||
|  	ret = request_module(str); |  | ||||||
|  	kfree(str); |  | ||||||
|   |  | ||||||
| @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  #define PACKET_FANOUT_LB		1 |  #define PACKET_FANOUT_LB		1 | ||||||
| --- a/net/packet/af_packet.c | --- a/net/packet/af_packet.c | ||||||
| +++ b/net/packet/af_packet.c | +++ b/net/packet/af_packet.c | ||||||
| @@ -1825,6 +1825,7 @@ static int packet_rcv_spkt(struct sk_buf | @@ -1826,6 +1826,7 @@ static int packet_rcv_spkt(struct sk_buf | ||||||
|  { |  { | ||||||
|  	struct sock *sk; |  	struct sock *sk; | ||||||
|  	struct sockaddr_pkt *spkt; |  	struct sockaddr_pkt *spkt; | ||||||
| @@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|   |   | ||||||
|  	/* |  	/* | ||||||
|  	 *	When we registered the protocol we saved the socket in the data |  	 *	When we registered the protocol we saved the socket in the data | ||||||
| @@ -1832,6 +1833,7 @@ static int packet_rcv_spkt(struct sk_buf | @@ -1833,6 +1834,7 @@ static int packet_rcv_spkt(struct sk_buf | ||||||
|  	 */ |  	 */ | ||||||
|   |   | ||||||
|  	sk = pt->af_packet_priv; |  	sk = pt->af_packet_priv; | ||||||
| @@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|   |   | ||||||
|  	/* |  	/* | ||||||
|  	 *	Yank back the headers [hope the device set this |  	 *	Yank back the headers [hope the device set this | ||||||
| @@ -1844,7 +1846,7 @@ static int packet_rcv_spkt(struct sk_buf | @@ -1845,7 +1847,7 @@ static int packet_rcv_spkt(struct sk_buf | ||||||
|  	 *	so that this procedure is noop. |  	 *	so that this procedure is noop. | ||||||
|  	 */ |  	 */ | ||||||
|   |   | ||||||
| @@ -55,7 +55,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  		goto out; |  		goto out; | ||||||
|   |   | ||||||
|  	if (!net_eq(dev_net(dev), sock_net(sk))) |  	if (!net_eq(dev_net(dev), sock_net(sk))) | ||||||
| @@ -2092,12 +2094,12 @@ static int packet_rcv(struct sk_buff *sk | @@ -2093,12 +2095,12 @@ static int packet_rcv(struct sk_buff *sk | ||||||
|  	unsigned int snaplen, res; |  	unsigned int snaplen, res; | ||||||
|  	bool is_drop_n_account = false; |  	bool is_drop_n_account = false; | ||||||
|   |   | ||||||
| @@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  	if (!net_eq(dev_net(dev), sock_net(sk))) |  	if (!net_eq(dev_net(dev), sock_net(sk))) | ||||||
|  		goto drop; |  		goto drop; | ||||||
|   |   | ||||||
| @@ -2223,12 +2225,12 @@ static int tpacket_rcv(struct sk_buff *s | @@ -2224,12 +2226,12 @@ static int tpacket_rcv(struct sk_buff *s | ||||||
|  	BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32); |  	BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32); | ||||||
|  	BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48); |  	BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48); | ||||||
|   |   | ||||||
| @@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  	if (!net_eq(dev_net(dev), sock_net(sk))) |  	if (!net_eq(dev_net(dev), sock_net(sk))) | ||||||
|  		goto drop; |  		goto drop; | ||||||
|   |   | ||||||
| @@ -3339,6 +3341,7 @@ static int packet_create(struct net *net | @@ -3342,6 +3344,7 @@ static int packet_create(struct net *net | ||||||
|  	mutex_init(&po->pg_vec_lock); |  	mutex_init(&po->pg_vec_lock); | ||||||
|  	po->rollover = NULL; |  	po->rollover = NULL; | ||||||
|  	po->prot_hook.func = packet_rcv; |  	po->prot_hook.func = packet_rcv; | ||||||
| @@ -96,7 +96,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  	if (sock->type == SOCK_PACKET) |  	if (sock->type == SOCK_PACKET) | ||||||
|  		po->prot_hook.func = packet_rcv_spkt; |  		po->prot_hook.func = packet_rcv_spkt; | ||||||
| @@ -3979,6 +3982,16 @@ packet_setsockopt(struct socket *sock, i | @@ -3979,6 +3982,16 @@ packet_setsockopt(struct socket *sock, i | ||||||
|  		po->xmit = val ? packet_direct_xmit : dev_queue_xmit; |  		WRITE_ONCE(po->xmit, val ? packet_direct_xmit : dev_queue_xmit); | ||||||
|  		return 0; |  		return 0; | ||||||
|  	} |  	} | ||||||
| +	case PACKET_RECV_TYPE: | +	case PACKET_RECV_TYPE: | ||||||
| @@ -128,7 +128,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  		break; |  		break; | ||||||
| --- a/net/packet/internal.h | --- a/net/packet/internal.h | ||||||
| +++ b/net/packet/internal.h | +++ b/net/packet/internal.h | ||||||
| @@ -137,6 +137,7 @@ struct packet_sock { | @@ -136,6 +136,7 @@ struct packet_sock { | ||||||
|  	int			(*xmit)(struct sk_buff *skb); |  	int			(*xmit)(struct sk_buff *skb); | ||||||
|  	struct packet_type	prot_hook ____cacheline_aligned_in_smp; |  	struct packet_type	prot_hook ____cacheline_aligned_in_smp; | ||||||
|  	atomic_t		tp_drops ____cacheline_aligned_in_smp; |  	atomic_t		tp_drops ____cacheline_aligned_in_smp; | ||||||
|   | |||||||
| @@ -1,51 +0,0 @@ | |||||||
| From 8fafb7e5c041814876266259e5e439f93571dcef Mon Sep 17 00:00:00 2001 |  | ||||||
| From: Christian Marangi <ansuelsmth@gmail.com> |  | ||||||
| Date: Thu, 7 Jul 2022 03:09:40 +0200 |  | ||||||
| Subject: [PATCH 6/8] ARM: dts: qcom: ipq8064: reduce pci IO size to 64K |  | ||||||
|  |  | ||||||
| The current value for pci IO is problematic for ath10k wifi card |  | ||||||
| commonly connected to ipq8064 SoC. |  | ||||||
| The current value is probably a typo and is actually uncommon to find |  | ||||||
| 1MB IO space even on a x86 arch. Also with recent changes to the pci |  | ||||||
| driver, pci1 and pci2 now fails to function as any connected device |  | ||||||
| fails any reg read/write. Reduce this to 64K as it should be more than |  | ||||||
| enough and 3 * 64K of total IO space doesn't exceed the IO_SPACE_LIMIT |  | ||||||
| hardcoded for the ARM arch. |  | ||||||
|  |  | ||||||
| Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> |  | ||||||
| Tested-by: Jonathan McDowell <noodles@earth.li> |  | ||||||
| Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> |  | ||||||
| Link: https://lore.kernel.org/r/20220707010943.20857-7-ansuelsmth@gmail.com |  | ||||||
| --- |  | ||||||
|  arch/arm/boot/dts/qcom-ipq8064.dtsi | 6 +++--- |  | ||||||
|  1 file changed, 3 insertions(+), 3 deletions(-) |  | ||||||
|  |  | ||||||
| --- a/arch/arm/boot/dts/qcom-ipq8064.dtsi |  | ||||||
| +++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi |  | ||||||
| @@ -885,7 +885,7 @@ |  | ||||||
|  			#address-cells = <3>; |  | ||||||
|  			#size-cells = <2>; |  | ||||||
|   |  | ||||||
| -			ranges = <0x81000000 0 0x0fe00000 0x0fe00000 0 0x00100000   /* downstream I/O */ |  | ||||||
| +			ranges = <0x81000000 0 0x0fe00000 0x0fe00000 0 0x00010000   /* downstream I/O */ |  | ||||||
|  				  0x82000000 0 0x08000000 0x08000000 0 0x07e00000>; /* non-prefetchable memory */ |  | ||||||
|   |  | ||||||
|  			interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; |  | ||||||
| @@ -936,7 +936,7 @@ |  | ||||||
|  			#address-cells = <3>; |  | ||||||
|  			#size-cells = <2>; |  | ||||||
|   |  | ||||||
| -			ranges = <0x81000000 0 0x31e00000 0x31e00000 0 0x00100000   /* downstream I/O */ |  | ||||||
| +			ranges = <0x81000000 0 0x31e00000 0x31e00000 0 0x00010000   /* downstream I/O */ |  | ||||||
|  				  0x82000000 0 0x2e000000 0x2e000000 0 0x03e00000>; /* non-prefetchable memory */ |  | ||||||
|   |  | ||||||
|  			interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; |  | ||||||
| @@ -987,7 +987,7 @@ |  | ||||||
|  			#address-cells = <3>; |  | ||||||
|  			#size-cells = <2>; |  | ||||||
|   |  | ||||||
| -			ranges = <0x81000000 0 0x35e00000 0x35e00000 0 0x00100000   /* downstream I/O */ |  | ||||||
| +			ranges = <0x81000000 0 0x35e00000 0x35e00000 0 0x00010000   /* downstream I/O */ |  | ||||||
|  				  0x82000000 0 0x32000000 0x32000000 0 0x03e00000>; /* non-prefetchable memory */ |  | ||||||
|   |  | ||||||
|  			interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; |  | ||||||
| @@ -35,7 +35,7 @@ Link: https://lore.kernel.org/r/20220704113318.623102-1-robimarko@gmail.com | |||||||
|  		watchdog: watchdog@b017000 { |  		watchdog: watchdog@b017000 { | ||||||
|  			compatible = "qcom,kpss-wdt"; |  			compatible = "qcom,kpss-wdt"; | ||||||
|  			reg = <0xb017000 0x1000>; |  			reg = <0xb017000 0x1000>; | ||||||
| @@ -857,4 +849,12 @@ | @@ -853,4 +845,12 @@ | ||||||
|  			status = "disabled"; |  			status = "disabled"; | ||||||
|  		}; |  		}; | ||||||
|  	}; |  	}; | ||||||
|   | |||||||
| @@ -37,7 +37,7 @@ Link: https://lore.kernel.org/r/20220818220245.338396-5-robimarko@gmail.com | |||||||
|  		cryptobam: dma-controller@704000 { |  		cryptobam: dma-controller@704000 { | ||||||
|  			compatible = "qcom,bam-v1.7.0"; |  			compatible = "qcom,bam-v1.7.0"; | ||||||
|  			reg = <0x00704000 0x20000>; |  			reg = <0x00704000 0x20000>; | ||||||
| @@ -878,4 +888,90 @@ | @@ -874,4 +884,90 @@ | ||||||
|  			     <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, |  			     <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, | ||||||
|  			     <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; |  			     <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; | ||||||
|  	}; |  	}; | ||||||
|   | |||||||
| @@ -19,7 +19,7 @@ Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> | |||||||
|  |  | ||||||
| --- a/drivers/spmi/spmi.c | --- a/drivers/spmi/spmi.c | ||||||
| +++ b/drivers/spmi/spmi.c | +++ b/drivers/spmi/spmi.c | ||||||
| @@ -387,6 +387,23 @@ static struct bus_type spmi_bus_type = { | @@ -388,6 +388,23 @@ static struct bus_type spmi_bus_type = { | ||||||
|  }; |  }; | ||||||
|   |   | ||||||
|  /** |  /** | ||||||
|   | |||||||
| @@ -30,7 +30,7 @@ Reviewed-by: Stephen Boyd <swboyd@chromium.org> | |||||||
|  struct qcom_pcie { |  struct qcom_pcie { | ||||||
|  	struct dw_pcie *pci; |  	struct dw_pcie *pci; | ||||||
|  	void __iomem *parf;			/* DT parf */ |  	void __iomem *parf;			/* DT parf */ | ||||||
| @@ -1469,6 +1473,38 @@ static const struct qcom_pcie_ops ops_1_ | @@ -1467,6 +1471,38 @@ static const struct qcom_pcie_ops ops_1_ | ||||||
|  	.config_sid = qcom_pcie_config_sid_sm8250, |  	.config_sid = qcom_pcie_config_sid_sm8250, | ||||||
|  }; |  }; | ||||||
|   |   | ||||||
| @@ -69,7 +69,7 @@ Reviewed-by: Stephen Boyd <swboyd@chromium.org> | |||||||
|  static const struct dw_pcie_ops dw_pcie_ops = { |  static const struct dw_pcie_ops dw_pcie_ops = { | ||||||
|  	.link_up = qcom_pcie_link_up, |  	.link_up = qcom_pcie_link_up, | ||||||
|  	.start_link = qcom_pcie_start_link, |  	.start_link = qcom_pcie_start_link, | ||||||
| @@ -1480,6 +1516,7 @@ static int qcom_pcie_probe(struct platfo | @@ -1478,6 +1514,7 @@ static int qcom_pcie_probe(struct platfo | ||||||
|  	struct pcie_port *pp; |  	struct pcie_port *pp; | ||||||
|  	struct dw_pcie *pci; |  	struct dw_pcie *pci; | ||||||
|  	struct qcom_pcie *pcie; |  	struct qcom_pcie *pcie; | ||||||
| @@ -77,7 +77,7 @@ Reviewed-by: Stephen Boyd <swboyd@chromium.org> | |||||||
|  	int ret; |  	int ret; | ||||||
|   |   | ||||||
|  	pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL); |  	pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL); | ||||||
| @@ -1501,7 +1538,13 @@ static int qcom_pcie_probe(struct platfo | @@ -1499,7 +1536,13 @@ static int qcom_pcie_probe(struct platfo | ||||||
|   |   | ||||||
|  	pcie->pci = pci; |  	pcie->pci = pci; | ||||||
|   |   | ||||||
| @@ -92,7 +92,7 @@ Reviewed-by: Stephen Boyd <swboyd@chromium.org> | |||||||
|   |   | ||||||
|  	pcie->reset = devm_gpiod_get_optional(dev, "perst", GPIOD_OUT_HIGH); |  	pcie->reset = devm_gpiod_get_optional(dev, "perst", GPIOD_OUT_HIGH); | ||||||
|  	if (IS_ERR(pcie->reset)) { |  	if (IS_ERR(pcie->reset)) { | ||||||
| @@ -1557,16 +1600,17 @@ err_pm_runtime_put: | @@ -1555,16 +1598,17 @@ err_pm_runtime_put: | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  static const struct of_device_id qcom_pcie_match[] = { |  static const struct of_device_id qcom_pcie_match[] = { | ||||||
|   | |||||||
| @@ -70,7 +70,7 @@ Acked-by: Stanimir Varbanov <svarbanov@mm-sol.com> | |||||||
|  }; |  }; | ||||||
|   |   | ||||||
|  struct qcom_pcie; |  struct qcom_pcie; | ||||||
| @@ -1282,6 +1292,112 @@ static void qcom_pcie_post_deinit_2_7_0( | @@ -1280,6 +1290,112 @@ static void qcom_pcie_post_deinit_2_7_0( | ||||||
|  	clk_disable_unprepare(res->pipe_clk); |  	clk_disable_unprepare(res->pipe_clk); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -183,7 +183,7 @@ Acked-by: Stanimir Varbanov <svarbanov@mm-sol.com> | |||||||
|  static int qcom_pcie_link_up(struct dw_pcie *pci) |  static int qcom_pcie_link_up(struct dw_pcie *pci) | ||||||
|  { |  { | ||||||
|  	u16 offset = dw_pcie_find_capability(pci, PCI_CAP_ID_EXP); |  	u16 offset = dw_pcie_find_capability(pci, PCI_CAP_ID_EXP); | ||||||
| @@ -1473,6 +1589,15 @@ static const struct qcom_pcie_ops ops_1_ | @@ -1471,6 +1587,15 @@ static const struct qcom_pcie_ops ops_1_ | ||||||
|  	.config_sid = qcom_pcie_config_sid_sm8250, |  	.config_sid = qcom_pcie_config_sid_sm8250, | ||||||
|  }; |  }; | ||||||
|   |   | ||||||
| @@ -199,7 +199,7 @@ Acked-by: Stanimir Varbanov <svarbanov@mm-sol.com> | |||||||
|  static const struct qcom_pcie_cfg apq8084_cfg = { |  static const struct qcom_pcie_cfg apq8084_cfg = { | ||||||
|  	.ops = &ops_1_0_0, |  	.ops = &ops_1_0_0, | ||||||
|  }; |  }; | ||||||
| @@ -1505,6 +1630,10 @@ static const struct qcom_pcie_cfg sc7280 | @@ -1503,6 +1628,10 @@ static const struct qcom_pcie_cfg sc7280 | ||||||
|  	.ops = &ops_1_9_0, |  	.ops = &ops_1_9_0, | ||||||
|  }; |  }; | ||||||
|   |   | ||||||
| @@ -210,7 +210,7 @@ Acked-by: Stanimir Varbanov <svarbanov@mm-sol.com> | |||||||
|  static const struct dw_pcie_ops dw_pcie_ops = { |  static const struct dw_pcie_ops dw_pcie_ops = { | ||||||
|  	.link_up = qcom_pcie_link_up, |  	.link_up = qcom_pcie_link_up, | ||||||
|  	.start_link = qcom_pcie_start_link, |  	.start_link = qcom_pcie_start_link, | ||||||
| @@ -1611,6 +1740,7 @@ static const struct of_device_id qcom_pc | @@ -1609,6 +1738,7 @@ static const struct of_device_id qcom_pc | ||||||
|  	{ .compatible = "qcom,pcie-sdm845", .data = &sdm845_cfg }, |  	{ .compatible = "qcom,pcie-sdm845", .data = &sdm845_cfg }, | ||||||
|  	{ .compatible = "qcom,pcie-sm8250", .data = &sm8250_cfg }, |  	{ .compatible = "qcom,pcie-sm8250", .data = &sm8250_cfg }, | ||||||
|  	{ .compatible = "qcom,pcie-sc7280", .data = &sc7280_cfg }, |  	{ .compatible = "qcom,pcie-sc7280", .data = &sc7280_cfg }, | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com> | |||||||
|  |  | ||||||
| --- a/drivers/pci/controller/dwc/pcie-qcom.c | --- a/drivers/pci/controller/dwc/pcie-qcom.c | ||||||
| +++ b/drivers/pci/controller/dwc/pcie-qcom.c | +++ b/drivers/pci/controller/dwc/pcie-qcom.c | ||||||
| @@ -1735,6 +1735,7 @@ static const struct of_device_id qcom_pc | @@ -1733,6 +1733,7 @@ static const struct of_device_id qcom_pc | ||||||
|  	{ .compatible = "qcom,pcie-apq8064", .data = &ipq8064_cfg }, |  	{ .compatible = "qcom,pcie-apq8064", .data = &ipq8064_cfg }, | ||||||
|  	{ .compatible = "qcom,pcie-msm8996", .data = &msm8996_cfg }, |  	{ .compatible = "qcom,pcie-msm8996", .data = &msm8996_cfg }, | ||||||
|  	{ .compatible = "qcom,pcie-ipq8074", .data = &ipq8074_cfg }, |  	{ .compatible = "qcom,pcie-ipq8074", .data = &ipq8074_cfg }, | ||||||
|   | |||||||
| @@ -21,9 +21,9 @@ Signed-off-by: Robert Marko <robimarko@gmail.com> | |||||||
|  				compatible = "arm,gic-v2m-frame"; |  				compatible = "arm,gic-v2m-frame"; | ||||||
|  				msi-controller; |  				msi-controller; | ||||||
|  				reg = <0x0 0xffd>; |  				reg = <0x0 0xffd>; | ||||||
| @@ -813,8 +813,7 @@ | @@ -811,8 +811,7 @@ | ||||||
|  				 <0x82000000 0 0x10220000 0x10220000 |  			ranges = <0x81000000 0x0 0x00000000 0x10200000 0x0 0x10000>,   /* I/O */ | ||||||
|  				  0 0xfde0000>; /* non-prefetchable memory */ |  				 <0x82000000 0x0 0x10220000 0x10220000 0x0 0xfde0000>; /* MEM */ | ||||||
|   |   | ||||||
| -			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; | -			interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; | ||||||
| -			interrupt-names = "msi"; | -			interrupt-names = "msi"; | ||||||
| @@ -31,9 +31,9 @@ Signed-off-by: Robert Marko <robimarko@gmail.com> | |||||||
|  			#interrupt-cells = <1>; |  			#interrupt-cells = <1>; | ||||||
|  			interrupt-map-mask = <0 0 0 0x7>; |  			interrupt-map-mask = <0 0 0 0x7>; | ||||||
|  			interrupt-map = <0 0 0 1 &intc 0 142 |  			interrupt-map = <0 0 0 1 &intc 0 142 | ||||||
| @@ -877,8 +876,7 @@ | @@ -873,8 +872,7 @@ | ||||||
|  				 <0x82000000 0 0x20220000 0x20220000 |  			ranges = <0x81000000 0x0 0x00000000 0x20200000 0x0 0x10000>,   /* I/O */ | ||||||
|  				  0 0xfde0000>; /* non-prefetchable memory */ |  				 <0x82000000 0x0 0x20220000 0x20220000 0x0 0xfde0000>; /* MEM */ | ||||||
|   |   | ||||||
| -			interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; | -			interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; | ||||||
| -			interrupt-names = "msi"; | -			interrupt-names = "msi"; | ||||||
|   | |||||||
| @@ -61,7 +61,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com> | |||||||
|  		spmi_bus: spmi@200f000 { |  		spmi_bus: spmi@200f000 { | ||||||
|  			compatible = "qcom,spmi-pmic-arb"; |  			compatible = "qcom,spmi-pmic-arb"; | ||||||
|  			reg = <0x0200f000 0x001000>, |  			reg = <0x0200f000 0x001000>, | ||||||
| @@ -917,6 +948,56 @@ | @@ -913,6 +944,56 @@ | ||||||
|  				      "axi_s_sticky"; |  				      "axi_s_sticky"; | ||||||
|  			status = "disabled"; |  			status = "disabled"; | ||||||
|  		}; |  		}; | ||||||
|   | |||||||
| @@ -15,7 +15,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com> | |||||||
|  |  | ||||||
| --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi | --- a/arch/arm64/boot/dts/qcom/ipq8074.dtsi | ||||||
| +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi | +++ b/arch/arm64/boot/dts/qcom/ipq8074.dtsi | ||||||
| @@ -998,6 +998,117 @@ | @@ -994,6 +994,117 @@ | ||||||
|  				}; |  				}; | ||||||
|  			}; |  			}; | ||||||
|  		}; |  		}; | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ | |||||||
|  #define UART_BUG_TXEN	BIT(1)	/* UART has buggy TX IIR status */ |  #define UART_BUG_TXEN	BIT(1)	/* UART has buggy TX IIR status */ | ||||||
| --- a/drivers/tty/serial/8250/8250_port.c | --- a/drivers/tty/serial/8250/8250_port.c | ||||||
| +++ b/drivers/tty/serial/8250/8250_port.c | +++ b/drivers/tty/serial/8250/8250_port.c | ||||||
| @@ -288,7 +288,7 @@ static const struct serial8250_config ua | @@ -289,7 +289,7 @@ static const struct serial8250_config ua | ||||||
|  		.tx_loadsz	= 16, |  		.tx_loadsz	= 16, | ||||||
|  		.fcr		= UART_FCR_ENABLE_FIFO | |  		.fcr		= UART_FCR_ENABLE_FIFO | | ||||||
|  				  UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT, |  				  UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT, | ||||||
| @@ -19,7 +19,7 @@ | |||||||
|  	}, |  	}, | ||||||
|  	[PORT_NPCM] = { |  	[PORT_NPCM] = { | ||||||
|  		.name		= "Nuvoton 16550", |  		.name		= "Nuvoton 16550", | ||||||
| @@ -2756,6 +2756,11 @@ serial8250_do_set_termios(struct uart_po | @@ -2760,6 +2760,11 @@ serial8250_do_set_termios(struct uart_po | ||||||
|  	unsigned long flags; |  	unsigned long flags; | ||||||
|  	unsigned int baud, quot, frac = 0; |  	unsigned int baud, quot, frac = 0; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -42,7 +42,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> | |||||||
|   |   | ||||||
|  		/* |  		/* | ||||||
|  		 * The first read of a sensor often contains very high bogus |  		 * The first read of a sensor often contains very high bogus | ||||||
| @@ -1075,6 +1073,11 @@ static int mtk_thermal_probe(struct plat | @@ -1085,6 +1083,11 @@ static int mtk_thermal_probe(struct plat | ||||||
|  		mtk_thermal_release_periodic_ts(mt, auxadc_base); |  		mtk_thermal_release_periodic_ts(mt, auxadc_base); | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
|   | |||||||
| @@ -210,7 +210,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org> | |||||||
|  		.compatible = "mediatek,mt8183-thermal", |  		.compatible = "mediatek,mt8183-thermal", | ||||||
|  		.data = (void *)&mt8183_thermal_data, |  		.data = (void *)&mt8183_thermal_data, | ||||||
|  	}, { |  	}, { | ||||||
| @@ -1068,15 +1186,24 @@ static int mtk_thermal_probe(struct plat | @@ -1078,15 +1196,24 @@ static int mtk_thermal_probe(struct plat | ||||||
|  		goto err_disable_clk_auxadc; |  		goto err_disable_clk_auxadc; | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user