* [PATCH v2 0/6] ARM: BCM5301X: add Meraki MR32 series
@ 2020-08-22 16:19 Christian Lamparter
2020-08-22 16:19 ` [PATCH v2 1/6] dt-bindings: ARM: add bindings for the Meraki MR32 Christian Lamparter
` (6 more replies)
0 siblings, 7 replies; 17+ messages in thread
From: Christian Lamparter @ 2020-08-22 16:19 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Florian Fainelli, Scott Branden, Hauke Mehrtens,
Rafał Miłecki, Chris Blake, Rob Herring,
bcm-kernel-feedback-list, Ray Jui
Hello,
I've been holding on to this devices dts' for a while now.
But since the HW has been running with versions of these
patches for more than a year, I do think I should make it
available in upstream in order to move on.
Hardware-Info of the Meraki MR32:
This is a dual-band enterprise class 802.11ac access point.
The unit was donated by Chris Blake. Thank you!
SoC: Broadcom BCM53016A1 (1 GHz, 2 cores)
RAM: 128 MiB
NAND: 128 MiB Spansion S34ML01G2 (~114 MiB useable)
ETH: 1GBit Ethernet Port - PoE
WIFI1: Broadcom BCM43520 an+ac (2x2:2 - id: 0x4352)
WIFI2: Broadcom BCM43520 bgn (2x2:2 - id: 0x4352)
WIFI3: Broadcom BCM43428 abgn (1x1:1 - id: 43428)
So far, the remaining TODOs center around the pinctrl,
i2c and WIFI. The I2C is implemented with the bit-banged
i2c-gpio driver as the SoC's I2C didn't budge after
many hours of trying.
A patch that included the "meraki" vendor-prefix has
been broken out of the series as recommended by
Florian Fainelli. Here's the link:
<https://lists.ozlabs.org/pipermail/linuxppc-dev/2020-August/216949.html>
Cheers,
Christian
Christian Lamparter (6):
dt-bindings: ARM: add bindings for the Meraki MR32
ARM: dts: BCM5301X: Specify PWM in the DT
ARM: dts: BCM5301X: Specify uart2 in the DT
ARM: dts: BCM5301X: Specify pcie2 in the DT
MAINTAINERS: extend BCM5301X ARM ARCHITECTURE files
ARM: BCM5301X: Add DT for Meraki MR32
.../bindings/arm/bcm/brcm,bcm4708.yaml | 2 +
MAINTAINERS | 2 +-
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/bcm53016-meraki-mr32.dts | 219 ++++++++++++++++++
arch/arm/boot/dts/bcm5301x.dtsi | 25 +-
5 files changed, 246 insertions(+), 3 deletions(-)
create mode 100644 arch/arm/boot/dts/bcm53016-meraki-mr32.dts
--
2.28.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH v2 1/6] dt-bindings: ARM: add bindings for the Meraki MR32
2020-08-22 16:19 [PATCH v2 0/6] ARM: BCM5301X: add Meraki MR32 series Christian Lamparter
@ 2020-08-22 16:19 ` Christian Lamparter
2020-08-27 0:02 ` Florian Fainelli
2020-08-22 16:19 ` [PATCH v2 2/6] ARM: dts: BCM5301X: Specify PWM in the DT Christian Lamparter
` (5 subsequent siblings)
6 siblings, 1 reply; 17+ messages in thread
From: Christian Lamparter @ 2020-08-22 16:19 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Florian Fainelli, Scott Branden, Hauke Mehrtens,
Rafał Miłecki, Chris Blake, Rob Herring,
bcm-kernel-feedback-list, Ray Jui
mark the Meraki MR32 and its SoC (BCM53016) as supported
in the bindings documentation file.
A quick look on Broadcom BCM5301x series umbrella website reveals:
<https://www.broadcom.com/products/embedded-and-networking-processors/communications/bcm5301x>
"BCM53012 and BCM53016 with dual-core Cortex-A9 CPU at 1 GHz, 256KB L2 cache,
16-bit DDR2 interface, USB3 integrated switch, GPHYs and packet accelerator".
As far as I can tell, Broadcom considers the SoC to be
a version of the BCM53012.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Acked-by: Scott Branden <scott.branden@broadcom.com>
---
v1 -> v2:
- reworked commit message (Scott Branden)
---
Documentation/devicetree/bindings/arm/bcm/brcm,bcm4708.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm4708.yaml b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm4708.yaml
index d48313c7ae45..988e0bbb2a62 100644
--- a/Documentation/devicetree/bindings/arm/bcm/brcm,bcm4708.yaml
+++ b/Documentation/devicetree/bindings/arm/bcm/brcm,bcm4708.yaml
@@ -83,6 +83,8 @@ properties:
- brcm,bcm953012er
- brcm,bcm953012hr
- brcm,bcm953012k
+ - meraki,mr32
- const: brcm,brcm53012
+ - const: brcm,brcm53016
- const: brcm,bcm4708
...
--
2.28.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 2/6] ARM: dts: BCM5301X: Specify PWM in the DT
2020-08-22 16:19 [PATCH v2 0/6] ARM: BCM5301X: add Meraki MR32 series Christian Lamparter
2020-08-22 16:19 ` [PATCH v2 1/6] dt-bindings: ARM: add bindings for the Meraki MR32 Christian Lamparter
@ 2020-08-22 16:19 ` Christian Lamparter
2020-08-27 0:02 ` Florian Fainelli
2020-08-22 16:19 ` [PATCH v2 3/6] ARM: dts: BCM5301X: Specify uart2 " Christian Lamparter
` (4 subsequent siblings)
6 siblings, 1 reply; 17+ messages in thread
From: Christian Lamparter @ 2020-08-22 16:19 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Florian Fainelli, Scott Branden, Hauke Mehrtens,
Rafał Miłecki, Chris Blake, Rob Herring,
bcm-kernel-feedback-list, Ray Jui
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.... And
Also included a label for the i2c since I'm going to
need it in the future too.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Acked-by: Scott Branden <scott.branden@broadcom.com>
---
v1 -> v2:
- added labels for pinmux
---
arch/arm/boot/dts/bcm5301x.dtsi | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi
index 2d9b4dd05830..45cd8c7411dd 100644
--- a/arch/arm/boot/dts/bcm5301x.dtsi
+++ b/arch/arm/boot/dts/bcm5301x.dtsi
@@ -350,6 +350,14 @@ gmac3: ethernet@27000 {
};
};
+ pwm: pwm@18002000 {
+ compatible = "brcm,iproc-pwm";
+ reg = <0x18002000 0x28>;
+ clocks = <&osc>;
+ #pwm-cells = <3>;
+ status = "disabled";
+ };
+
mdio: mdio@18003000 {
compatible = "brcm,iproc-mdio";
reg = <0x18003000 0x8>;
@@ -417,12 +425,12 @@ spi-pins {
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
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 3/6] ARM: dts: BCM5301X: Specify uart2 in the DT
2020-08-22 16:19 [PATCH v2 0/6] ARM: BCM5301X: add Meraki MR32 series Christian Lamparter
2020-08-22 16:19 ` [PATCH v2 1/6] dt-bindings: ARM: add bindings for the Meraki MR32 Christian Lamparter
2020-08-22 16:19 ` [PATCH v2 2/6] ARM: dts: BCM5301X: Specify PWM in the DT Christian Lamparter
@ 2020-08-22 16:19 ` Christian Lamparter
2020-08-27 0:02 ` Florian Fainelli
2020-08-22 16:19 ` [PATCH v2 4/6] ARM: dts: BCM5301X: Specify pcie2 " Christian Lamparter
` (3 subsequent siblings)
6 siblings, 1 reply; 17+ messages in thread
From: Christian Lamparter @ 2020-08-22 16:19 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Florian Fainelli, Scott Branden, Hauke Mehrtens,
Rafał Miłecki, Chris Blake, Rob Herring,
bcm-kernel-feedback-list, Ray Jui
The BCM53016 in the Meraki MR32 utilizes the third "uart2"
to connect to a on-board Bluetooth-LE 4.0 BCM20732 chip.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Reviewed-by: Scott Branden <scott.branden@broadcom.com>
---
arch/arm/boot/dts/bcm5301x.dtsi | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi
index 45cd8c7411dd..eb1290fed235 100644
--- a/arch/arm/boot/dts/bcm5301x.dtsi
+++ b/arch/arm/boot/dts/bcm5301x.dtsi
@@ -392,6 +392,15 @@ usb3_dmp: syscon@18105000 {
reg = <0x18105000 0x1000>;
};
+ uart2: serial@18008000 {
+ compatible = "ns16550a";
+ reg = <0x18008000 0x20>;
+ clocks = <&iprocslow>;
+ interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
+ reg-shift = <2>;
+ status = "disabled";
+ };
+
i2c0: i2c@18009000 {
compatible = "brcm,iproc-i2c";
reg = <0x18009000 0x50>;
--
2.28.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 4/6] ARM: dts: BCM5301X: Specify pcie2 in the DT
2020-08-22 16:19 [PATCH v2 0/6] ARM: BCM5301X: add Meraki MR32 series Christian Lamparter
` (2 preceding siblings ...)
2020-08-22 16:19 ` [PATCH v2 3/6] ARM: dts: BCM5301X: Specify uart2 " Christian Lamparter
@ 2020-08-22 16:19 ` Christian Lamparter
2020-08-27 0:03 ` Florian Fainelli
2020-08-22 16:19 ` [PATCH v2 5/6] MAINTAINERS: extend BCM5301X ARM ARCHITECTURE files Christian Lamparter
` (2 subsequent siblings)
6 siblings, 1 reply; 17+ messages in thread
From: Christian Lamparter @ 2020-08-22 16:19 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Florian Fainelli, Scott Branden, Hauke Mehrtens,
Rafał Miłecki, Chris Blake, Rob Herring,
bcm-kernel-feedback-list, Ray Jui
The SoC supports three pcie ports. Currently, only
pcie0 and pcie1 are enabled. This patch adds the
pcie2 port as well.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Reviewed-by: Scott Branden <scott.branden@broadcom.com>
---
arch/arm/boot/dts/bcm5301x.dtsi | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi
index eb1290fed235..9d9e8fe3f6ae 100644
--- a/arch/arm/boot/dts/bcm5301x.dtsi
+++ b/arch/arm/boot/dts/bcm5301x.dtsi
@@ -252,6 +252,10 @@ pcie1: pcie@13000 {
reg = <0x00013000 0x1000>;
};
+ pcie2: pcie@14000 {
+ reg = <0x00014000 0x1000>;
+ };
+
usb2: usb2@21000 {
reg = <0x00021000 0x1000>;
--
2.28.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 5/6] MAINTAINERS: extend BCM5301X ARM ARCHITECTURE files
2020-08-22 16:19 [PATCH v2 0/6] ARM: BCM5301X: add Meraki MR32 series Christian Lamparter
` (3 preceding siblings ...)
2020-08-22 16:19 ` [PATCH v2 4/6] ARM: dts: BCM5301X: Specify pcie2 " Christian Lamparter
@ 2020-08-22 16:19 ` Christian Lamparter
2020-08-27 0:03 ` Florian Fainelli
2020-08-22 16:19 ` [PATCH v2 6/6] ARM: BCM5301X: Add DT for Meraki MR32 Christian Lamparter
2020-08-27 0:04 ` [PATCH v2 0/6] ARM: BCM5301X: add Meraki MR32 series Florian Fainelli
6 siblings, 1 reply; 17+ messages in thread
From: Christian Lamparter @ 2020-08-22 16:19 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Florian Fainelli, Scott Branden, Hauke Mehrtens,
Rafał Miłecki, Chris Blake, Rob Herring,
bcm-kernel-feedback-list, Ray Jui
This patch extends the existing entry for the
"BROADCOM BCM5301X ARM ARCHITECTURE" to include
files belonging to the BCM5301X.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Acked-by: Scott Branden <scott.branden@broadcom.com>
---
MAINTAINERS | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index deaafb617361..eb9b551c5dd8 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3433,7 +3433,7 @@ M: bcm-kernel-feedback-list@broadcom.com
L: linux-arm-kernel@lists.infradead.org
S: Maintained
F: arch/arm/boot/dts/bcm470*
-F: arch/arm/boot/dts/bcm5301x*.dtsi
+F: arch/arm/boot/dts/bcm5301*
F: arch/arm/boot/dts/bcm953012*
F: arch/arm/mach-bcm/bcm_5301x.c
--
2.28.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH v2 6/6] ARM: BCM5301X: Add DT for Meraki MR32
2020-08-22 16:19 [PATCH v2 0/6] ARM: BCM5301X: add Meraki MR32 series Christian Lamparter
` (4 preceding siblings ...)
2020-08-22 16:19 ` [PATCH v2 5/6] MAINTAINERS: extend BCM5301X ARM ARCHITECTURE files Christian Lamparter
@ 2020-08-22 16:19 ` Christian Lamparter
2020-08-27 0:03 ` Florian Fainelli
2020-09-10 20:38 ` Florian Fainelli
2020-08-27 0:04 ` [PATCH v2 0/6] ARM: BCM5301X: add Meraki MR32 series Florian Fainelli
6 siblings, 2 replies; 17+ messages in thread
From: Christian Lamparter @ 2020-08-22 16:19 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Florian Fainelli, Scott Branden, Hauke Mehrtens,
Rafał Miłecki, Chris Blake, Rob Herring, Ray Jui,
bcm-kernel-feedback-list
add support for the Cisco Meraki MR32.
This is a dual-band enterprise class 802.11ac access point.
The unit was donated by Chris Blake. Thank you!
SoC: Broadcom BCM53016A1 (1 GHz, 2 cores)
RAM: 128 MiB
NAND: 128 MiB Spansion S34ML01G2 (~114 MiB useable)
ETH: 1GBit Ethernet Port - PoE
WIFI1: Broadcom BCM43520 an+ac (2x2:2 - id: 0x4352)
WIFI2: Broadcom BCM43520 bgn (2x2:2 - id: 0x4352)
WIFI3: Broadcom BCM43428 abgn (1x1:1 - id: 43428)
BLE: Broadcom BCM20732 (ttyS1)
LEDS: 1 x Programmable RGB Status LED (driven by a PWM)
1 x White LED (GPIO)
1 x Orange LED Fault Indicator (GPIO)
2 x LAN Activity / Speed LEDs (On the RJ45 Port)
BUTTON: one Reset button
MISC: AT24C64 8KiB EEPROM (i2c - stores Ethernet MAC)
ina219 hardware monitor (i2c)
Kensington Lock
SERIAL:
WARNING: The serial port needs a TTL/RS-232 3V3 level converter!
The Serial setting is 115200-8-N-1. The board has a populated
right angle 1x4 0.1" pinheader.
The pinout is: VCC, RX, TX, GND.
Odd stuff:
- uart0 clock frequency is 62.5 MHz.
- The LEDs are labeled as SYS-LED1 through SYS-LED3
because of the silkscreen on the PCB.
- the original u-boot has been compiled with most functions
and commands disabled. The u-boot env isn't setup properly
either and as a result, the bcm47xxpart probing is not
working. Hence, the nand partitions are specified through a
"fixed-partition" binding.
- The "WICED SMART(TM)" Bluetooth LE 4.0 BCM20732 chip is
connected to uart2 of the SoC. The BCM20732 does not
provide a HCI. So the linux' bluetooth stack is useless.
The mock-up node with the compatible binding and
enable-gpios property is provided solely as documentation.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
---
v1 -> v2:
- fixed order of boards in Makefile. (Scott Branden)
- added device_type to memory node. (Florian Fainelli)
- added hw i2c, although doesn't work. (Florian Fainelli)
- renamed gpio-keys to just keys.
- included pinmux configurations for i2c and pwm.
---
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/bcm53016-meraki-mr32.dts | 219 +++++++++++++++++++++
2 files changed, 220 insertions(+)
create mode 100644 arch/arm/boot/dts/bcm53016-meraki-mr32.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 4572db3fa5ae..d254ca2a942d 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -127,6 +127,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
bcm47094-luxul-xwr-3150-v1.dtb \
bcm47094-netgear-r8500.dtb \
bcm47094-phicomm-k3.dtb \
+ bcm53016-meraki-mr32.dtb \
bcm94708.dtb \
bcm94709.dtb \
bcm953012er.dtb \
diff --git a/arch/arm/boot/dts/bcm53016-meraki-mr32.dts b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
new file mode 100644
index 000000000000..7306df7ff704
--- /dev/null
+++ b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
@@ -0,0 +1,219 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Broadcom BCM470X / BCM5301X ARM platform code.
+ * DTS for Meraki MR32 / Codename: Espresso
+ *
+ * Copyright (C) 2018-2020 Christian Lamparter <chunkeey@gmail.com>
+ */
+
+/dts-v1/;
+
+#include "bcm4708.dtsi"
+#include "bcm5301x-nand-cs0-bch8.dtsi"
+#include <dt-bindings/leds/common.h>
+
+/ {
+ compatible = "meraki,mr32", "brcm,brcm53016", "brcm,bcm4708";
+ model = "Meraki MR32";
+
+ chosen {
+ bootargs = " console=ttyS0,115200n8 earlycon";
+ };
+
+ memory {
+ reg = <0x00000000 0x08000000>;
+ device_type = "memory";
+ };
+
+ aliases {
+ serial1 = &uart2;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ sysled3 {
+ function = LED_FUNCTION_FAULT;
+ color = <LED_COLOR_ID_AMBER>;
+ gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
+ panic-indicator;
+ };
+ sysled2 {
+ function = LED_FUNCTION_INDICATOR;
+ color = <LED_COLOR_ID_WHITE>;
+ gpios = <&chipcommon 19 GPIO_ACTIVE_HIGH>;
+ };
+ };
+
+ keys {
+ compatible = "gpio-keys";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ restart {
+ label = "Reset";
+ linux,code = <KEY_RESTART>;
+ gpios = <&chipcommon 21 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ pwm-leds {
+ compatible = "pwm-leds";
+
+ red {
+ /* SYS-LED 1 - Tricolor */
+ function = LED_FUNCTION_INDICATOR;
+ color = <LED_COLOR_ID_RED>;
+ pwms = <&pwm 0 50000 0>;
+ max-brightness = <255>;
+ };
+
+ green {
+ /* SYS-LED 1 - Tricolor */
+ function = LED_FUNCTION_POWER;
+ color = <LED_COLOR_ID_GREEN>;
+ pwms = <&pwm 1 50000 0>;
+ max-brightness = <255>;
+ };
+
+ blue {
+ /* SYS-LED 1 - Tricolor */
+ function = LED_FUNCTION_INDICATOR;
+ color = <LED_COLOR_ID_BLUE>;
+ pwms = <&pwm 2 50000 0>;
+ max-brightness = <255>;
+ };
+ };
+
+ i2c {
+ /*
+ * The platform provided I2C does not budge.
+ * This is a replacement until I can figure
+ * out what are the missing bits...
+ */
+
+ compatible = "i2c-gpio";
+ sda-gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
+ scl-gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
+ i2c-gpio,delay-us = <10>; /* close to 100 kHz */
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ current_sense: ina219@45 {
+ compatible = "ti,ina219";
+ reg = <0x45>;
+ shunt-resistor = <60000>; /* = 60 mOhms */
+ };
+
+ eeprom: eeprom@50 {
+ compatible = "atmel,24c64";
+ reg = <0x50>;
+ pagesize = <32>;
+ read-only;
+ };
+ };
+};
+
+&i2c0 {
+ /* status = "okay"; - can be enabled once it works. */
+
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinmux_i2c>;
+
+ clock-frequency = <100000>;
+
+ current_sense: ina219@45 {
+ compatible = "ti,ina219";
+ reg = <0x45>;
+ shunt-resistor = <60000>; /* = 60 mOhms */
+ };
+
+ eeprom: eeprom@50 {
+ compatible = "atmel,24c64";
+ reg = <0x50>;
+ pagesize = <32>;
+ read-only;
+ };
+};
+
+&uart0 {
+ clock-frequency = <62500000>;
+ /delete-property/ clocks;
+};
+
+&uart1 {
+ status = "disabled";
+};
+
+&uart2 {
+ status = "okay";
+ /*
+ * bluetooth-le {
+ * compatible = "brcm,bcm20732";
+ * enable-gpios = <&chipcommon 20 GPIO_ACTIVE_HIGH>;
+ *};
+ */
+};
+
+&gmac1 {
+ status = "disabled";
+};
+&gmac2 {
+ status = "disabled";
+};
+&gmac3 {
+ status = "disabled";
+};
+
+&pwm {
+ status = "okay";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinmux_pwm>;
+};
+
+&nandcs {
+ nand-ecc-algo = "hw";
+
+ partitions {
+ /*
+ * The partition autodetection does not work for this device.
+ * It will only detect the "nvram" partition with an incorrect size.
+ * [ 1.721667] 1 bcm47xxpart partitions found on MTD device brcmnand.0
+ * [ 1.727962] Creating 1 MTD partitions on "brcmnand.0":
+ * [ 1.733117] 0x000000400000-0x000008000000 : "nvram"
+ */
+
+ compatible = "fixed-partitions";
+ #address-cells = <0x1>;
+ #size-cells = <0x1>;
+
+ partition0@0 {
+ label = "u-boot";
+ reg = <0x0 0x100000>;
+ read-only;
+ };
+
+ partition1@100000 {
+ label = "bootkernel1";
+ reg = <0x100000 0x300000>;
+ read-only;
+ };
+
+ partition2@400000 {
+ label = "nvram";
+ reg = <0x400000 0x100000>;
+ read-only;
+ };
+
+ partition3@500000 {
+ label = "bootkernel2";
+ reg = <0x500000 0x300000>;
+ read-only;
+ };
+
+ partition4@800000 {
+ label = "ubi";
+ reg = <0x800000 0x7780000>;
+ };
+ };
+};
--
2.28.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v2 1/6] dt-bindings: ARM: add bindings for the Meraki MR32
2020-08-22 16:19 ` [PATCH v2 1/6] dt-bindings: ARM: add bindings for the Meraki MR32 Christian Lamparter
@ 2020-08-27 0:02 ` Florian Fainelli
0 siblings, 0 replies; 17+ messages in thread
From: Florian Fainelli @ 2020-08-27 0:02 UTC (permalink / raw)
To: bcm-kernel-feedback-list, Christian Lamparter, linux-arm-kernel
Cc: Scott Branden, Hauke Mehrtens, Rafał Miłecki,
Chris Blake, Rob Herring, Ray Jui
On Sat, 22 Aug 2020 18:19:18 +0200, Christian Lamparter <chunkeey@gmail.com> wrote:
> mark the Meraki MR32 and its SoC (BCM53016) as supported
> in the bindings documentation file.
>
> A quick look on Broadcom BCM5301x series umbrella website reveals:
>
> <https://www.broadcom.com/products/embedded-and-networking-processors/communications/bcm5301x>
>
> "BCM53012 and BCM53016 with dual-core Cortex-A9 CPU at 1 GHz, 256KB L2 cache,
> 16-bit DDR2 interface, USB3 integrated switch, GPHYs and packet accelerator".
>
> As far as I can tell, Broadcom considers the SoC to be
> a version of the BCM53012.
>
> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
> Acked-by: Scott Branden <scott.branden@broadcom.com>
> ---
Applied to devicetree/next, thanks!
--
Florian
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 2/6] ARM: dts: BCM5301X: Specify PWM in the DT
2020-08-22 16:19 ` [PATCH v2 2/6] ARM: dts: BCM5301X: Specify PWM in the DT Christian Lamparter
@ 2020-08-27 0:02 ` Florian Fainelli
0 siblings, 0 replies; 17+ messages in thread
From: Florian Fainelli @ 2020-08-27 0:02 UTC (permalink / raw)
To: bcm-kernel-feedback-list, Christian Lamparter, linux-arm-kernel
Cc: Scott Branden, Hauke Mehrtens, Rafał Miłecki,
Chris Blake, Rob Herring, Ray Jui
On Sat, 22 Aug 2020 18:19:19 +0200, Christian Lamparter <chunkeey@gmail.com> wrote:
> 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.... And
> Also included a label for the i2c since I'm going to
> need it in the future too.
>
> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
> Acked-by: Scott Branden <scott.branden@broadcom.com>
>
> ---
Applied to devicetree/next, thanks!
--
Florian
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 3/6] ARM: dts: BCM5301X: Specify uart2 in the DT
2020-08-22 16:19 ` [PATCH v2 3/6] ARM: dts: BCM5301X: Specify uart2 " Christian Lamparter
@ 2020-08-27 0:02 ` Florian Fainelli
0 siblings, 0 replies; 17+ messages in thread
From: Florian Fainelli @ 2020-08-27 0:02 UTC (permalink / raw)
To: bcm-kernel-feedback-list, Christian Lamparter, linux-arm-kernel
Cc: Scott Branden, Hauke Mehrtens, Rafał Miłecki,
Chris Blake, Rob Herring, Ray Jui
On Sat, 22 Aug 2020 18:19:20 +0200, Christian Lamparter <chunkeey@gmail.com> wrote:
> The BCM53016 in the Meraki MR32 utilizes the third "uart2"
> to connect to a on-board Bluetooth-LE 4.0 BCM20732 chip.
>
> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
> Reviewed-by: Scott Branden <scott.branden@broadcom.com>
> ---
Applied to devicetree/next, thanks!
--
Florian
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 4/6] ARM: dts: BCM5301X: Specify pcie2 in the DT
2020-08-22 16:19 ` [PATCH v2 4/6] ARM: dts: BCM5301X: Specify pcie2 " Christian Lamparter
@ 2020-08-27 0:03 ` Florian Fainelli
0 siblings, 0 replies; 17+ messages in thread
From: Florian Fainelli @ 2020-08-27 0:03 UTC (permalink / raw)
To: bcm-kernel-feedback-list, Christian Lamparter, linux-arm-kernel
Cc: Scott Branden, Hauke Mehrtens, Rafał Miłecki,
Chris Blake, Rob Herring, Ray Jui
On Sat, 22 Aug 2020 18:19:21 +0200, Christian Lamparter <chunkeey@gmail.com> wrote:
> The SoC supports three pcie ports. Currently, only
> pcie0 and pcie1 are enabled. This patch adds the
> pcie2 port as well.
>
> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
> Reviewed-by: Scott Branden <scott.branden@broadcom.com>
> ---
Applied to devicetree/next, thanks!
--
Florian
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 6/6] ARM: BCM5301X: Add DT for Meraki MR32
2020-08-22 16:19 ` [PATCH v2 6/6] ARM: BCM5301X: Add DT for Meraki MR32 Christian Lamparter
@ 2020-08-27 0:03 ` Florian Fainelli
2020-09-10 20:38 ` Florian Fainelli
1 sibling, 0 replies; 17+ messages in thread
From: Florian Fainelli @ 2020-08-27 0:03 UTC (permalink / raw)
To: bcm-kernel-feedback-list, Christian Lamparter, linux-arm-kernel
Cc: Scott Branden, Hauke Mehrtens, Rafał Miłecki,
Chris Blake, Rob Herring, Ray Jui
On Sat, 22 Aug 2020 18:19:23 +0200, Christian Lamparter <chunkeey@gmail.com> wrote:
> add support for the Cisco Meraki MR32.
> This is a dual-band enterprise class 802.11ac access point.
> The unit was donated by Chris Blake. Thank you!
>
> SoC: Broadcom BCM53016A1 (1 GHz, 2 cores)
> RAM: 128 MiB
> NAND: 128 MiB Spansion S34ML01G2 (~114 MiB useable)
> ETH: 1GBit Ethernet Port - PoE
> WIFI1: Broadcom BCM43520 an+ac (2x2:2 - id: 0x4352)
> WIFI2: Broadcom BCM43520 bgn (2x2:2 - id: 0x4352)
> WIFI3: Broadcom BCM43428 abgn (1x1:1 - id: 43428)
>
> BLE: Broadcom BCM20732 (ttyS1)
> LEDS: 1 x Programmable RGB Status LED (driven by a PWM)
> 1 x White LED (GPIO)
> 1 x Orange LED Fault Indicator (GPIO)
> 2 x LAN Activity / Speed LEDs (On the RJ45 Port)
> BUTTON: one Reset button
> MISC: AT24C64 8KiB EEPROM (i2c - stores Ethernet MAC)
> ina219 hardware monitor (i2c)
> Kensington Lock
>
> SERIAL:
> WARNING: The serial port needs a TTL/RS-232 3V3 level converter!
> The Serial setting is 115200-8-N-1. The board has a populated
> right angle 1x4 0.1" pinheader.
> The pinout is: VCC, RX, TX, GND.
>
> Odd stuff:
> - uart0 clock frequency is 62.5 MHz.
> - The LEDs are labeled as SYS-LED1 through SYS-LED3
> because of the silkscreen on the PCB.
> - the original u-boot has been compiled with most functions
> and commands disabled. The u-boot env isn't setup properly
> either and as a result, the bcm47xxpart probing is not
> working. Hence, the nand partitions are specified through a
> "fixed-partition" binding.
> - The "WICED SMART(TM)" Bluetooth LE 4.0 BCM20732 chip is
> connected to uart2 of the SoC. The BCM20732 does not
> provide a HCI. So the linux' bluetooth stack is useless.
> The mock-up node with the compatible binding and
> enable-gpios property is provided solely as documentation.
>
> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
>
> ---
Applied to devicetree/next, thanks!
--
Florian
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 5/6] MAINTAINERS: extend BCM5301X ARM ARCHITECTURE files
2020-08-22 16:19 ` [PATCH v2 5/6] MAINTAINERS: extend BCM5301X ARM ARCHITECTURE files Christian Lamparter
@ 2020-08-27 0:03 ` Florian Fainelli
0 siblings, 0 replies; 17+ messages in thread
From: Florian Fainelli @ 2020-08-27 0:03 UTC (permalink / raw)
To: bcm-kernel-feedback-list, Christian Lamparter, linux-arm-kernel
Cc: Scott Branden, Hauke Mehrtens, Rafał Miłecki,
Chris Blake, Rob Herring, Ray Jui
On Sat, 22 Aug 2020 18:19:22 +0200, Christian Lamparter <chunkeey@gmail.com> wrote:
> This patch extends the existing entry for the
> "BROADCOM BCM5301X ARM ARCHITECTURE" to include
> files belonging to the BCM5301X.
>
> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
> Acked-by: Scott Branden <scott.branden@broadcom.com>
> ---
Applied to maintainers/next, thanks!
--
Florian
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 0/6] ARM: BCM5301X: add Meraki MR32 series
2020-08-22 16:19 [PATCH v2 0/6] ARM: BCM5301X: add Meraki MR32 series Christian Lamparter
` (5 preceding siblings ...)
2020-08-22 16:19 ` [PATCH v2 6/6] ARM: BCM5301X: Add DT for Meraki MR32 Christian Lamparter
@ 2020-08-27 0:04 ` Florian Fainelli
6 siblings, 0 replies; 17+ messages in thread
From: Florian Fainelli @ 2020-08-27 0:04 UTC (permalink / raw)
To: Christian Lamparter, linux-arm-kernel
Cc: Florian Fainelli, Scott Branden, Hauke Mehrtens,
Rafał Miłecki, Chris Blake, Rob Herring,
bcm-kernel-feedback-list, Ray Jui
On 8/22/2020 9:19 AM, Christian Lamparter wrote:
> Hello,
>
> I've been holding on to this devices dts' for a while now.
> But since the HW has been running with versions of these
> patches for more than a year, I do think I should make it
> available in upstream in order to move on.
>
> Hardware-Info of the Meraki MR32:
>
> This is a dual-band enterprise class 802.11ac access point.
> The unit was donated by Chris Blake. Thank you!
>
> SoC: Broadcom BCM53016A1 (1 GHz, 2 cores)
> RAM: 128 MiB
> NAND: 128 MiB Spansion S34ML01G2 (~114 MiB useable)
> ETH: 1GBit Ethernet Port - PoE
> WIFI1: Broadcom BCM43520 an+ac (2x2:2 - id: 0x4352)
> WIFI2: Broadcom BCM43520 bgn (2x2:2 - id: 0x4352)
> WIFI3: Broadcom BCM43428 abgn (1x1:1 - id: 43428)
>
> So far, the remaining TODOs center around the pinctrl,
> i2c and WIFI. The I2C is implemented with the bit-banged
> i2c-gpio driver as the SoC's I2C didn't budge after
> many hours of trying.
>
> A patch that included the "meraki" vendor-prefix has
> been broken out of the series as recommended by
> Florian Fainelli. Here's the link:
> <https://lists.ozlabs.org/pipermail/linuxppc-dev/2020-August/216949.html>
Series applied, thanks Christian, let's work separately on the pinctrl
driver and using the hardware i2c controller. Thanks
--
Florian
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 6/6] ARM: BCM5301X: Add DT for Meraki MR32
2020-08-22 16:19 ` [PATCH v2 6/6] ARM: BCM5301X: Add DT for Meraki MR32 Christian Lamparter
2020-08-27 0:03 ` Florian Fainelli
@ 2020-09-10 20:38 ` Florian Fainelli
2020-09-11 17:27 ` Christian Lamparter
1 sibling, 1 reply; 17+ messages in thread
From: Florian Fainelli @ 2020-09-10 20:38 UTC (permalink / raw)
To: Christian Lamparter, linux-arm-kernel
Cc: Florian Fainelli, Scott Branden, Hauke Mehrtens,
Rafał Miłecki, Chris Blake, Rob Herring, Ray Jui,
bcm-kernel-feedback-list
On 8/22/2020 9:19 AM, Christian Lamparter wrote:
> add support for the Cisco Meraki MR32.
> This is a dual-band enterprise class 802.11ac access point.
> The unit was donated by Chris Blake. Thank you!
>
> SoC: Broadcom BCM53016A1 (1 GHz, 2 cores)
> RAM: 128 MiB
> NAND: 128 MiB Spansion S34ML01G2 (~114 MiB useable)
> ETH: 1GBit Ethernet Port - PoE
> WIFI1: Broadcom BCM43520 an+ac (2x2:2 - id: 0x4352)
> WIFI2: Broadcom BCM43520 bgn (2x2:2 - id: 0x4352)
> WIFI3: Broadcom BCM43428 abgn (1x1:1 - id: 43428)
>
> BLE: Broadcom BCM20732 (ttyS1)
> LEDS: 1 x Programmable RGB Status LED (driven by a PWM)
> 1 x White LED (GPIO)
> 1 x Orange LED Fault Indicator (GPIO)
> 2 x LAN Activity / Speed LEDs (On the RJ45 Port)
> BUTTON: one Reset button
> MISC: AT24C64 8KiB EEPROM (i2c - stores Ethernet MAC)
> ina219 hardware monitor (i2c)
> Kensington Lock
>
> SERIAL:
> WARNING: The serial port needs a TTL/RS-232 3V3 level converter!
> The Serial setting is 115200-8-N-1. The board has a populated
> right angle 1x4 0.1" pinheader.
> The pinout is: VCC, RX, TX, GND.
>
> Odd stuff:
> - uart0 clock frequency is 62.5 MHz.
> - The LEDs are labeled as SYS-LED1 through SYS-LED3
> because of the silkscreen on the PCB.
> - the original u-boot has been compiled with most functions
> and commands disabled. The u-boot env isn't setup properly
> either and as a result, the bcm47xxpart probing is not
> working. Hence, the nand partitions are specified through a
> "fixed-partition" binding.
> - The "WICED SMART(TM)" Bluetooth LE 4.0 BCM20732 chip is
> connected to uart2 of the SoC. The BCM20732 does not
> provide a HCI. So the linux' bluetooth stack is useless.
> The mock-up node with the compatible binding and
> enable-gpios property is provided solely as documentation.
>
> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
>
> ---
>
> v1 -> v2:
> - fixed order of boards in Makefile. (Scott Branden)
> - added device_type to memory node. (Florian Fainelli)
> - added hw i2c, although doesn't work. (Florian Fainelli)
> - renamed gpio-keys to just keys.
> - included pinmux configurations for i2c and pwm.
> ---
> arch/arm/boot/dts/Makefile | 1 +
> arch/arm/boot/dts/bcm53016-meraki-mr32.dts | 219 +++++++++++++++++++++
> 2 files changed, 220 insertions(+)
> create mode 100644 arch/arm/boot/dts/bcm53016-meraki-mr32.dts
>
> diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
> index 4572db3fa5ae..d254ca2a942d 100644
> --- a/arch/arm/boot/dts/Makefile
> +++ b/arch/arm/boot/dts/Makefile
> @@ -127,6 +127,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
> bcm47094-luxul-xwr-3150-v1.dtb \
> bcm47094-netgear-r8500.dtb \
> bcm47094-phicomm-k3.dtb \
> + bcm53016-meraki-mr32.dtb \
> bcm94708.dtb \
> bcm94709.dtb \
> bcm953012er.dtb \
> diff --git a/arch/arm/boot/dts/bcm53016-meraki-mr32.dts b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
> new file mode 100644
> index 000000000000..7306df7ff704
> --- /dev/null
> +++ b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
> @@ -0,0 +1,219 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +/*
> + * Broadcom BCM470X / BCM5301X ARM platform code.
> + * DTS for Meraki MR32 / Codename: Espresso
> + *
> + * Copyright (C) 2018-2020 Christian Lamparter <chunkeey@gmail.com>
> + */
> +
> +/dts-v1/;
> +
> +#include "bcm4708.dtsi"
> +#include "bcm5301x-nand-cs0-bch8.dtsi"
> +#include <dt-bindings/leds/common.h>
> +
> +/ {
> + compatible = "meraki,mr32", "brcm,brcm53016", "brcm,bcm4708";
> + model = "Meraki MR32";
> +
> + chosen {
> + bootargs = " console=ttyS0,115200n8 earlycon";
> + };
> +
> + memory {
> + reg = <0x00000000 0x08000000>;
> + device_type = "memory";
> + };
> +
> + aliases {
> + serial1 = &uart2;
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> +
> + sysled3 {
> + function = LED_FUNCTION_FAULT;
> + color = <LED_COLOR_ID_AMBER>;
> + gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>;
> + panic-indicator;
> + };
> + sysled2 {
> + function = LED_FUNCTION_INDICATOR;
> + color = <LED_COLOR_ID_WHITE>;
> + gpios = <&chipcommon 19 GPIO_ACTIVE_HIGH>;
> + };
> + };
> +
> + keys {
> + compatible = "gpio-keys";
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + restart {
> + label = "Reset";
> + linux,code = <KEY_RESTART>;
> + gpios = <&chipcommon 21 GPIO_ACTIVE_LOW>;
> + };
> + };
> +
> + pwm-leds {
> + compatible = "pwm-leds";
> +
> + red {
> + /* SYS-LED 1 - Tricolor */
> + function = LED_FUNCTION_INDICATOR;
> + color = <LED_COLOR_ID_RED>;
> + pwms = <&pwm 0 50000 0>;
> + max-brightness = <255>;
> + };
> +
> + green {
> + /* SYS-LED 1 - Tricolor */
> + function = LED_FUNCTION_POWER;
> + color = <LED_COLOR_ID_GREEN>;
> + pwms = <&pwm 1 50000 0>;
> + max-brightness = <255>;
> + };
> +
> + blue {
> + /* SYS-LED 1 - Tricolor */
> + function = LED_FUNCTION_INDICATOR;
> + color = <LED_COLOR_ID_BLUE>;
> + pwms = <&pwm 2 50000 0>;
> + max-brightness = <255>;
> + };
> + };
> +
> + i2c {
> + /*
> + * The platform provided I2C does not budge.
> + * This is a replacement until I can figure
> + * out what are the missing bits...
> + */
> +
> + compatible = "i2c-gpio";
> + sda-gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
> + scl-gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
> + i2c-gpio,delay-us = <10>; /* close to 100 kHz */
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + current_sense: ina219@45 {
> + compatible = "ti,ina219";
> + reg = <0x45>;
> + shunt-resistor = <60000>; /* = 60 mOhms */
> + };
> +
> + eeprom: eeprom@50 {
> + compatible = "atmel,24c64";
> + reg = <0x50>;
> + pagesize = <32>;
> + read-only;
> + };
> + };
> +};
> +
> +&i2c0 {
> + /* status = "okay"; - can be enabled once it works. */
> +
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinmux_i2c>;
> +
> + clock-frequency = <100000>;
> +
> + current_sense: ina219@45 {
> + compatible = "ti,ina219";
> + reg = <0x45>;
> + shunt-resistor = <60000>; /* = 60 mOhms */
> + };
> +
> + eeprom: eeprom@50 {
> + compatible = "atmel,24c64";
> + reg = <0x50>;
> + pagesize = <32>;
> + read-only;
> + };
These would create duplicate labels which are hard errors per DTC, so I
took out the entire &i2c0 override here into what I merged into
devicetree/next.
This cannot have built for you unless you run dtc with the force flag,
is that how OpenWrt does it?
--
Florian
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH v2 6/6] ARM: BCM5301X: Add DT for Meraki MR32
2020-09-10 20:38 ` Florian Fainelli
@ 2020-09-11 17:27 ` Christian Lamparter
2020-09-11 17:30 ` Florian Fainelli
0 siblings, 1 reply; 17+ messages in thread
From: Christian Lamparter @ 2020-09-11 17:27 UTC (permalink / raw)
To: Florian Fainelli, linux-arm-kernel
Cc: Scott Branden, Hauke Mehrtens, Rafał Miłecki,
Chris Blake, Rob Herring, Ray Jui, bcm-kernel-feedback-list
Hello,
On 2020-09-10 22:38, Florian Fainelli wrote:
>
>
> On 8/22/2020 9:19 AM, Christian Lamparter wrote:
>> add support for the Cisco Meraki MR32.
>> This is a dual-band enterprise class 802.11ac access point.
>> The unit was donated by Chris Blake. Thank you!
>>
[...]
>> +
>> + i2c {
>> + /*
>> + * The platform provided I2C does not budge.
>> + * This is a replacement until I can figure
>> + * out what are the missing bits...
>> + */
>> +
>> + compatible = "i2c-gpio";
>> + sda-gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
>> + scl-gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
>> + i2c-gpio,delay-us = <10>; /* close to 100 kHz */
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> +
>> + current_sense: ina219@45 {
>> + compatible = "ti,ina219";
>> + reg = <0x45>;
>> + shunt-resistor = <60000>; /* = 60 mOhms */
>> + };
>> +
>> + eeprom: eeprom@50 {
>> + compatible = "atmel,24c64";
>> + reg = <0x50>;
>> + pagesize = <32>;
>> + read-only;
>> + };
>> + };
>> +};
>> +
>> +&i2c0 {
>> + /* status = "okay"; - can be enabled once it works. */
>> +
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&pinmux_i2c>;
>> +
>> + clock-frequency = <100000>;
>> +
>> + current_sense: ina219@45 {
>> + compatible = "ti,ina219";
>> + reg = <0x45>;
>> + shunt-resistor = <60000>; /* = 60 mOhms */
>> + };
>> +
>> + eeprom: eeprom@50 {
>> + compatible = "atmel,24c64";
>> + reg = <0x50>;
>> + pagesize = <32>;
>> + read-only;
>> + };
>
> These would create duplicate labels which are hard errors per DTC,
> so I took out the entire &i2c0 override here into what I merged into devicetree/next.
>
> This cannot have built for you unless you run dtc with the force flag, is that how OpenWrt does it?
I'm sorry for my mistake. Yes, I looked at this now again and my tree had this uncommited change :(.
---
$ git diff
diff --git a/arch/arm/boot/dts/bcm53016-meraki-mr32.dts b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
index 7306df7ff704..35e733b0db62 100644
--- a/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
+++ b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
@@ -122,13 +122,13 @@ &i2c0 {
clock-frequency = <100000>;
- current_sense: ina219@45 {
+ /* current_sense: */ ina219@45 {
compatible = "ti,ina219";
reg = <0x45>;
shunt-resistor = <60000>; /* = 60 mOhms */
};
- eeprom: eeprom@50 {
+ /* eeprom: */ eeprom@50 {
compatible = "atmel,24c64";
reg = <0x50>;
pagesize = <32>;
---
Didn't show up when running make.
In the OpenWrt version (As OpenWrt is currently using a patched 5.4)
the labels on the non-functioning i2c node are commented-out.
<https://patchwork.ozlabs.org/project/openwrt/patch/c647ad56b4adb449cd448a2bc56d58058fd06e6f.1599346205.git.chunkeey@gmail.com/>
|++&i2c0 {
|[...] (Cut)
|++
|++ /* current_sense: */ ina219@45 {
|++ compatible = "ti,ina219";
|++ reg = <0x45>;
|++ shunt-resistor = <60000>; /* = 60 mOhms */
|++ };
|++
|++ /* eeprom: */ eeprom@50 {
|++ compatible = "atmel,24c64";
|++ reg = <0x50>;
|++ pagesize = <32>;
|++ read-only;
|++ };
|++};
Ok, I'll drop the &i2c node as well in my MR32 OpenWrt series.
But I'll keep a patch with the i2c node in my openwrt staging tree.
(I can't find devicetree/next on https://git.kernel.org/ .
Can you please tell me the link to it?)
Cheers,
Christian
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH v2 6/6] ARM: BCM5301X: Add DT for Meraki MR32
2020-09-11 17:27 ` Christian Lamparter
@ 2020-09-11 17:30 ` Florian Fainelli
0 siblings, 0 replies; 17+ messages in thread
From: Florian Fainelli @ 2020-09-11 17:30 UTC (permalink / raw)
To: Christian Lamparter, Florian Fainelli, linux-arm-kernel
Cc: Scott Branden, Hauke Mehrtens, Rafał Miłecki,
Chris Blake, Rob Herring, Ray Jui, bcm-kernel-feedback-list
On 9/11/2020 10:27 AM, Christian Lamparter wrote:
> Hello,
>
> On 2020-09-10 22:38, Florian Fainelli wrote:
>>
>>
>> On 8/22/2020 9:19 AM, Christian Lamparter wrote:
>>> add support for the Cisco Meraki MR32.
>>> This is a dual-band enterprise class 802.11ac access point.
>>> The unit was donated by Chris Blake. Thank you!
>>>
> [...]
>
>>> +
>>> + i2c {
>>> + /*
>>> + * The platform provided I2C does not budge.
>>> + * This is a replacement until I can figure
>>> + * out what are the missing bits...
>>> + */
>>> +
>>> + compatible = "i2c-gpio";
>>> + sda-gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
>>> + scl-gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
>>> + i2c-gpio,delay-us = <10>; /* close to 100 kHz */
>>> + #address-cells = <1>;
>>> + #size-cells = <0>;
>>> +
>>> + current_sense: ina219@45 {
>>> + compatible = "ti,ina219";
>>> + reg = <0x45>;
>>> + shunt-resistor = <60000>; /* = 60 mOhms */
>>> + };
>>> +
>>> + eeprom: eeprom@50 {
>>> + compatible = "atmel,24c64";
>>> + reg = <0x50>;
>>> + pagesize = <32>;
>>> + read-only;
>>> + };
>>> + };
>>> +};
>>> +
>>> +&i2c0 {
>>> + /* status = "okay"; - can be enabled once it works. */
>>> +
>>> + pinctrl-names = "default";
>>> + pinctrl-0 = <&pinmux_i2c>;
>>> +
>>> + clock-frequency = <100000>;
>>> +
>>> + current_sense: ina219@45 {
>>> + compatible = "ti,ina219";
>>> + reg = <0x45>;
>>> + shunt-resistor = <60000>; /* = 60 mOhms */
>>> + };
>>> +
>>> + eeprom: eeprom@50 {
>>> + compatible = "atmel,24c64";
>>> + reg = <0x50>;
>>> + pagesize = <32>;
>>> + read-only;
>>> + };
>>
>> These would create duplicate labels which are hard errors per DTC,
>> so I took out the entire &i2c0 override here into what I merged into
>> devicetree/next.
>>
>> This cannot have built for you unless you run dtc with the force flag,
>> is that how OpenWrt does it?
>
> I'm sorry for my mistake. Yes, I looked at this now again and my tree
> had this uncommited change :(.
>
> ---
> $ git diff
> diff --git a/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
> b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
> index 7306df7ff704..35e733b0db62 100644
> --- a/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
> +++ b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
> @@ -122,13 +122,13 @@ &i2c0 {
>
> clock-frequency = <100000>;
>
> - current_sense: ina219@45 {
> + /* current_sense: */ ina219@45 {
> compatible = "ti,ina219";
> reg = <0x45>;
> shunt-resistor = <60000>; /* = 60 mOhms */
> };
>
> - eeprom: eeprom@50 {
> + /* eeprom: */ eeprom@50 {
> compatible = "atmel,24c64";
> reg = <0x50>;
> pagesize = <32>;
> ---
>
> Didn't show up when running make.
>
> In the OpenWrt version (As OpenWrt is currently using a patched 5.4)
> the labels on the non-functioning i2c node are commented-out.
>
> <https://patchwork.ozlabs.org/project/openwrt/patch/c647ad56b4adb449cd448a2bc56d58058fd06e6f.1599346205.git.chunkeey@gmail.com/>
>
>
> |++&i2c0 {
> |[...] (Cut)
> |++
> |++ /* current_sense: */ ina219@45 {
> |++ compatible = "ti,ina219";
> |++ reg = <0x45>;
> |++ shunt-resistor = <60000>; /* = 60 mOhms */
> |++ };
> |++
> |++ /* eeprom: */ eeprom@50 {
> |++ compatible = "atmel,24c64";
> |++ reg = <0x50>;
> |++ pagesize = <32>;
> |++ read-only;
> |++ };
> |++};
>
> Ok, I'll drop the &i2c node as well in my MR32 OpenWrt series.
> But I'll keep a patch with the i2c node in my openwrt staging tree.
>
> (I can't find devicetree/next on https://git.kernel.org/ .
> Can you please tell me the link to it?)
https://github.com/Broadcom/stblinux/commits/devicetree/next
--
Florian
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2020-09-11 17:31 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-22 16:19 [PATCH v2 0/6] ARM: BCM5301X: add Meraki MR32 series Christian Lamparter
2020-08-22 16:19 ` [PATCH v2 1/6] dt-bindings: ARM: add bindings for the Meraki MR32 Christian Lamparter
2020-08-27 0:02 ` Florian Fainelli
2020-08-22 16:19 ` [PATCH v2 2/6] ARM: dts: BCM5301X: Specify PWM in the DT Christian Lamparter
2020-08-27 0:02 ` Florian Fainelli
2020-08-22 16:19 ` [PATCH v2 3/6] ARM: dts: BCM5301X: Specify uart2 " Christian Lamparter
2020-08-27 0:02 ` Florian Fainelli
2020-08-22 16:19 ` [PATCH v2 4/6] ARM: dts: BCM5301X: Specify pcie2 " Christian Lamparter
2020-08-27 0:03 ` Florian Fainelli
2020-08-22 16:19 ` [PATCH v2 5/6] MAINTAINERS: extend BCM5301X ARM ARCHITECTURE files Christian Lamparter
2020-08-27 0:03 ` Florian Fainelli
2020-08-22 16:19 ` [PATCH v2 6/6] ARM: BCM5301X: Add DT for Meraki MR32 Christian Lamparter
2020-08-27 0:03 ` Florian Fainelli
2020-09-10 20:38 ` Florian Fainelli
2020-09-11 17:27 ` Christian Lamparter
2020-09-11 17:30 ` Florian Fainelli
2020-08-27 0:04 ` [PATCH v2 0/6] ARM: BCM5301X: add Meraki MR32 series Florian Fainelli
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).