[openwrt/openwrt] bcm53xx: switch to the new/alternative SPI controller driver

LEDE Commits lede-commits at lists.infradead.org
Sun May 6 22:57:28 PDT 2018


rmilecki pushed a commit to openwrt/openwrt.git, branch master:
https://git.lede-project.org/ed00387dc550695f2b9d690b7a8e5a1567e175ee

commit ed00387dc550695f2b9d690b7a8e5a1567e175ee
Author: Rafał Miłecki <rafal at milecki.pl>
AuthorDate: Mon May 7 07:48:39 2018 +0200

    bcm53xx: switch to the new/alternative SPI controller driver
    
    This switches bcm53xx from spi-bcm53xx to the spi-bcm-qspi driver. The
    later one was developed by Broadcom and is more advanced one. It
    supports more modes, setting a speed, setting bits per word and uses
    IRQs instead of polling.
    
    This increases kernel size from 1808120 B to the 1811160 B (by 3040 B).
    
    Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
---
 target/linux/bcm53xx/config-4.14                   |   3 +-
 ...rt-ARM-dts-BCM5301X-convert-to-iProc-QSPI.patch | 110 ---------------------
 ...m947xx-cfe-partitions-binding-for-Broadco.patch |  20 ++--
 3 files changed, 12 insertions(+), 121 deletions(-)

diff --git a/target/linux/bcm53xx/config-4.14 b/target/linux/bcm53xx/config-4.14
index 38738a4..be062dc 100644
--- a/target/linux/bcm53xx/config-4.14
+++ b/target/linux/bcm53xx/config-4.14
@@ -320,7 +320,8 @@ CONFIG_SMP=y
 CONFIG_SMP_ON_UP=y
 CONFIG_SPARSE_IRQ=y
 CONFIG_SPI=y
-CONFIG_SPI_BCM53XX=y
+# CONFIG_SPI_BCM53XX is not set
+CONFIG_SPI_BCM_QSPI=y
 CONFIG_SPI_BITBANG=y
 CONFIG_SPI_GPIO=y
 CONFIG_SPI_MASTER=y
diff --git a/target/linux/bcm53xx/patches-4.14/390-Revert-ARM-dts-BCM5301X-convert-to-iProc-QSPI.patch b/target/linux/bcm53xx/patches-4.14/390-Revert-ARM-dts-BCM5301X-convert-to-iProc-QSPI.patch
deleted file mode 100644
index 6180c88..0000000
--- a/target/linux/bcm53xx/patches-4.14/390-Revert-ARM-dts-BCM5301X-convert-to-iProc-QSPI.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal at milecki.pl>
-Date: Fri, 29 Dec 2017 20:26:51 +0100
-Subject: [PATCH] Revert "ARM: dts: BCM5301X: convert to iProc QSPI"
-
-This reverts commit 1c8f4065072387d3b6ee7adcf0dbe3c7ba80c268.
-
-Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
----
-
---- a/arch/arm/boot/dts/bcm5301x.dtsi
-+++ b/arch/arm/boot/dts/bcm5301x.dtsi
-@@ -337,6 +337,20 @@
- 			};
- 		};
- 
-+		spi at 29000 {
-+			reg = <0x00029000 0x1000>;
-+			#address-cells = <1>;
-+			#size-cells = <0>;
-+
-+			spi_nor: spi-nor at 0 {
-+				compatible = "jedec,spi-nor";
-+				reg = <0>;
-+				spi-max-frequency = <20000000>;
-+				linux,part-probe = "ofpart", "bcm47xxpart";
-+				status = "disabled";
-+			};
-+		};
-+
- 		gmac0: ethernet at 24000 {
- 			reg = <0x24000 0x800>;
- 		};
-@@ -425,42 +439,6 @@
- 		brcm,nand-has-wp;
- 	};
- 
--	spi at 18029200 {
--		compatible = "brcm,spi-bcm-qspi", "brcm,spi-nsp-qspi";
--		reg = <0x18029200 0x184>,
--		      <0x18029000 0x124>,
--		      <0x1811b408 0x004>,
--		      <0x180293a0 0x01c>;
--		reg-names = "mspi", "bspi", "intr_regs", "intr_status_reg";
--		interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
--			     <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
--			     <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>,
--			     <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
--			     <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
--			     <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
--			     <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
--		interrupt-names = "spi_lr_fullness_reached",
--				  "spi_lr_session_aborted",
--				  "spi_lr_impatient",
--				  "spi_lr_session_done",
--				  "spi_lr_overhead",
--				  "mspi_done",
--				  "mspi_halted";
--		clocks = <&iprocmed>;
--		clock-names = "iprocmed";
--		num-cs = <2>;
--		#address-cells = <1>;
--		#size-cells = <0>;
--
--		spi_nor: spi-nor at 0 {
--			compatible = "jedec,spi-nor";
--			reg = <0>;
--			spi-max-frequency = <20000000>;
--			linux,part-probe = "ofpart", "bcm47xxpart";
--			status = "disabled";
--		};
--	};
--
- 	thermal-zones {
- 		cpu_thermal: cpu-thermal {
- 			polling-delay-passive = <0>;
---- a/arch/arm/boot/dts/bcm953012k.dts
-+++ b/arch/arm/boot/dts/bcm953012k.dts
-@@ -80,32 +80,6 @@
- 	};
- };
- 
--&spi_nor {
--	status = "okay";
--	spi-max-frequency = <62500000>;
--	m25p,default-addr-width = <3>;
--
--	#address-cells = <1>;
--	#size-cells = <1>;
--
--	partition at 0 {
--		label = "boot";
--		reg = <0x00000000 0x000d0000>;
--	};
--	partition at d000 {
--		label = "env";
--		reg = <0x000d0000 0x00030000>;
--	};
--	partition at 100000 {
--		label = "system";
--		reg = <0x00100000 0x00600000>;
--	};
--	partition at 700000 {
--		label = "rootfs";
--		reg = <0x00700000 0x00900000>;
--	};
--};
--
- &uart0 {
- 	status = "okay";
- };
diff --git a/target/linux/bcm53xx/patches-4.14/410-Use-brcm-bcm947xx-cfe-partitions-binding-for-Broadco.patch b/target/linux/bcm53xx/patches-4.14/410-Use-brcm-bcm947xx-cfe-partitions-binding-for-Broadco.patch
index edb0ed1..d3b8e40 100644
--- a/target/linux/bcm53xx/patches-4.14/410-Use-brcm-bcm947xx-cfe-partitions-binding-for-Broadco.patch
+++ b/target/linux/bcm53xx/patches-4.14/410-Use-brcm-bcm947xx-cfe-partitions-binding-for-Broadco.patch
@@ -19,18 +19,18 @@ Subject: [PATCH] Use "brcm,bcm947xx-cfe-partitions" binding for Broadcom
  };
 --- a/arch/arm/boot/dts/bcm5301x.dtsi
 +++ b/arch/arm/boot/dts/bcm5301x.dtsi
-@@ -346,8 +346,11 @@
- 				compatible = "jedec,spi-nor";
- 				reg = <0>;
- 				spi-max-frequency = <20000000>;
--				linux,part-probe = "ofpart", "bcm47xxpart";
- 				status = "disabled";
+@@ -456,8 +456,11 @@
+ 			compatible = "jedec,spi-nor";
+ 			reg = <0>;
+ 			spi-max-frequency = <20000000>;
+-			linux,part-probe = "ofpart", "bcm47xxpart";
+ 			status = "disabled";
 +
-+				partitions {
-+					compatible = "brcm,bcm947xx-cfe-partitions";
-+				};
- 			};
++			partitions {
++				compatible = "brcm,bcm947xx-cfe-partitions";
++			};
  		};
+ 	};
  
 --- a/drivers/mtd/bcm47xxpart.c
 +++ b/drivers/mtd/bcm47xxpart.c



More information about the lede-commits mailing list