bcm53xx: switch to the new/alternative SPI controller driver
authorRafał Miłecki <rafal@milecki.pl>
Mon, 7 May 2018 05:48:39 +0000 (07:48 +0200)
committerRafał Miłecki <rafal@milecki.pl>
Mon, 7 May 2018 05:56:38 +0000 (07:56 +0200)
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@milecki.pl>
target/linux/bcm53xx/config-4.14
target/linux/bcm53xx/patches-4.14/390-Revert-ARM-dts-BCM5301X-convert-to-iProc-QSPI.patch [deleted file]
target/linux/bcm53xx/patches-4.14/410-Use-brcm-bcm947xx-cfe-partitions-binding-for-Broadco.patch

index 38738a4..be062dc 100644 (file)
@@ -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 (file)
index 6180c88..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@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@milecki.pl>
----
-
---- a/arch/arm/boot/dts/bcm5301x.dtsi
-+++ b/arch/arm/boot/dts/bcm5301x.dtsi
-@@ -337,6 +337,20 @@
-                       };
-               };
-+              spi@29000 {
-+                      reg = <0x00029000 0x1000>;
-+                      #address-cells = <1>;
-+                      #size-cells = <0>;
-+
-+                      spi_nor: spi-nor@0 {
-+                              compatible = "jedec,spi-nor";
-+                              reg = <0>;
-+                              spi-max-frequency = <20000000>;
-+                              linux,part-probe = "ofpart", "bcm47xxpart";
-+                              status = "disabled";
-+                      };
-+              };
-+
-               gmac0: ethernet@24000 {
-                       reg = <0x24000 0x800>;
-               };
-@@ -425,42 +439,6 @@
-               brcm,nand-has-wp;
-       };
--      spi@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@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@0 {
--              label = "boot";
--              reg = <0x00000000 0x000d0000>;
--      };
--      partition@d000 {
--              label = "env";
--              reg = <0x000d0000 0x00030000>;
--      };
--      partition@100000 {
--              label = "system";
--              reg = <0x00100000 0x00600000>;
--      };
--      partition@700000 {
--              label = "rootfs";
--              reg = <0x00700000 0x00900000>;
--      };
--};
--
- &uart0 {
-       status = "okay";
- };
index edb0ed1..d3b8e40 100644 (file)
@@ -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