[RFC PATCH v1 4/8] bcm53xx: enable PWM for bcm53xx
Christian Lamparter
chunkeey at gmail.com
Sat Aug 29 23:04:03 EDT 2020
The Meraki MR32 (BCM53016A1) uses the pwm to drive the
tricolor LED. The driver has been available in upstream
for a long time. Only the Device-Tree definition was
missing, but it has been queued recently.
Signed-off-by: Christian Lamparter <chunkeey at gmail.com>
---
target/linux/bcm53xx/Makefile | 2 +-
target/linux/bcm53xx/config-5.4 | 3 ++
...M-dts-BCM5301X-Specify-PWM-in-the-DT.patch | 45 +++++++++++++++++++
3 files changed, 49 insertions(+), 1 deletion(-)
create mode 100644 target/linux/bcm53xx/patches-5.4/033-v5.10-ARM-dts-BCM5301X-Specify-PWM-in-the-DT.patch
diff --git a/target/linux/bcm53xx/Makefile b/target/linux/bcm53xx/Makefile
index 35f8513801..f980f8a8fb 100644
--- a/target/linux/bcm53xx/Makefile
+++ b/target/linux/bcm53xx/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
ARCH:=arm
BOARD:=bcm53xx
BOARDNAME:=Broadcom BCM47xx/53xx (ARM)
-FEATURES:=squashfs nand usb pci pcie gpio
+FEATURES:=squashfs nand usb pci pcie gpio pwm
CPU_TYPE:=cortex-a9
SUBTARGETS:=generic
diff --git a/target/linux/bcm53xx/config-5.4 b/target/linux/bcm53xx/config-5.4
index eacfcb620e..8c7cdf45d5 100644
--- a/target/linux/bcm53xx/config-5.4
+++ b/target/linux/bcm53xx/config-5.4
@@ -308,6 +308,9 @@ CONFIG_PINCTRL=y
# CONFIG_PINCTRL_IPROC_GPIO is not set
CONFIG_PINCTRL_NS=y
# CONFIG_PINCTRL_NS2_MUX is not set
+CONFIG_PWM=y
+CONFIG_PWM_BCM_IPROC=y
+CONFIG_PWM_SYSFS=y
CONFIG_RATIONAL=y
CONFIG_RCU_NEED_SEGCBLIST=y
CONFIG_RCU_STALL_COMMON=y
diff --git a/target/linux/bcm53xx/patches-5.4/033-v5.10-ARM-dts-BCM5301X-Specify-PWM-in-the-DT.patch b/target/linux/bcm53xx/patches-5.4/033-v5.10-ARM-dts-BCM5301X-Specify-PWM-in-the-DT.patch
new file mode 100644
index 0000000000..d7b871bde4
--- /dev/null
+++ b/target/linux/bcm53xx/patches-5.4/033-v5.10-ARM-dts-BCM5301X-Specify-PWM-in-the-DT.patch
@@ -0,0 +1,45 @@
+From 9bd34833986d4af180c6d75a326edb933a17de31 Mon Sep 17 00:00:00 2001
+From: Christian Lamparter <chunkeey at gmail.com>
+Date: Wed, 6 Jun 2018 21:01:59 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Specify PWM in the DT
+
+The BCM53016 in the Meraki MR32 uses the on-chip PWM
+controller to drive a tri-color RGB LED. Since I plan
+to use the PWM, I made a label for the pwm's pinmux
+node. This way, it can be easily referenced.
+
+Signed-off-by: Christian Lamparter <chunkeey at gmail.com>
+Acked-by: Scott Branden <scott.branden at broadcom.com>
+
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -350,6 +350,14 @@
+ };
+ };
+
++ pwm: pwm at 18002000 {
++ compatible = "brcm,iproc-pwm";
++ reg = <0x18002000 0x28>;
++ clocks = <&osc>;
++ #pwm-cells = <3>;
++ status = "disabled";
++ };
++
+ mdio: mdio at 18003000 {
+ compatible = "brcm,iproc-mdio";
+ reg = <0x18003000 0x8>;
+@@ -417,12 +425,12 @@
+ function = "spi";
+ };
+
+- i2c {
++ pinmux_i2c: i2c {
+ groups = "i2c_grp";
+ function = "i2c";
+ };
+
+- pwm {
++ pinmux_pwm: pwm {
+ groups = "pwm0_grp", "pwm1_grp",
+ "pwm2_grp", "pwm3_grp";
+ function = "pwm";
--
2.28.0
More information about the openwrt-devel
mailing list