From ed00387dc550695f2b9d690b7a8e5a1567e175ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Mon, 7 May 2018 07:48:39 +0200 Subject: [PATCH] bcm53xx: switch to the new/alternative SPI controller driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- target/linux/bcm53xx/config-4.14 | 3 +- ...M-dts-BCM5301X-convert-to-iProc-QSPI.patch | 110 ------------------ ...x-cfe-partitions-binding-for-Broadco.patch | 20 ++-- 3 files changed, 12 insertions(+), 121 deletions(-) delete mode 100644 target/linux/bcm53xx/patches-4.14/390-Revert-ARM-dts-BCM5301X-convert-to-iProc-QSPI.patch diff --git a/target/linux/bcm53xx/config-4.14 b/target/linux/bcm53xx/config-4.14 index 38738a468d..be062dc7f2 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 6180c88e5e..0000000000 --- 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?= -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 ---- - ---- 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 = , -- , -- , -- , -- , -- , -- ; -- 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"; - }; 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 edb0ed1fdd..d3b8e4079a 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