[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