bcm53xx: group dts backports by upstream kernel version
authorRafał Miłecki <rafal@milecki.pl>
Thu, 25 Feb 2021 18:34:21 +0000 (19:34 +0100)
committerRafał Miłecki <rafal@milecki.pl>
Wed, 17 Mar 2021 22:26:12 +0000 (23:26 +0100)
It's a simple renaming thing.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit d0ee398c36983ccb2ee514e71f10d3c274546f17)

target/linux/bcm53xx/patches-5.4/033-v5.10-0001-ARM-dts-BCM5301X-Specify-PWM-in-the-DT.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.4/033-v5.10-0002-ARM-dts-BCM5301X-Specify-uart2-in-the-DT.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.4/033-v5.10-0003-ARM-dts-BCM5301X-Specify-pcie2-in-the-DT.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.4/033-v5.10-0004-ARM-BCM5301X-Add-DT-for-Meraki-MR32.patch [new file with mode: 0644]
target/linux/bcm53xx/patches-5.4/033-v5.10-ARM-dts-BCM5301X-Specify-PWM-in-the-DT.patch [deleted file]
target/linux/bcm53xx/patches-5.4/034-v5.10-ARM-dts-BCM5301X-Specify-uart2-in-the-DT.patch [deleted file]
target/linux/bcm53xx/patches-5.4/035-v5.10-ARM-dts-BCM5301X-Specify-pcie2-in-the-DT.patch [deleted file]
target/linux/bcm53xx/patches-5.4/330-ARM-BCM5301X-Add-DT-for-Meraki-MR32.patch [deleted file]

diff --git a/target/linux/bcm53xx/patches-5.4/033-v5.10-0001-ARM-dts-BCM5301X-Specify-PWM-in-the-DT.patch b/target/linux/bcm53xx/patches-5.4/033-v5.10-0001-ARM-dts-BCM5301X-Specify-PWM-in-the-DT.patch
new file mode 100644 (file)
index 0000000..3353786
--- /dev/null
@@ -0,0 +1,48 @@
+From 0ea4b29d149586667d96767f1fc8e57ee942c1b0 Mon Sep 17 00:00:00 2001
+From: Christian Lamparter <chunkeey@gmail.com>
+Date: Sat, 22 Aug 2020 18:19:19 +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.... 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>
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -350,6 +350,14 @@
+               };
+       };
++      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 @@
+                                       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";
diff --git a/target/linux/bcm53xx/patches-5.4/033-v5.10-0002-ARM-dts-BCM5301X-Specify-uart2-in-the-DT.patch b/target/linux/bcm53xx/patches-5.4/033-v5.10-0002-ARM-dts-BCM5301X-Specify-uart2-in-the-DT.patch
new file mode 100644 (file)
index 0000000..8cee674
--- /dev/null
@@ -0,0 +1,30 @@
+From 5e396bb05b89e23e98e6d75749b77502e68210a4 Mon Sep 17 00:00:00 2001
+From: Christian Lamparter <chunkeey@gmail.com>
+Date: Sat, 22 Aug 2020 18:19:20 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Specify uart2 in the DT
+
+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>
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -392,6 +392,15 @@
+               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>;
diff --git a/target/linux/bcm53xx/patches-5.4/033-v5.10-0003-ARM-dts-BCM5301X-Specify-pcie2-in-the-DT.patch b/target/linux/bcm53xx/patches-5.4/033-v5.10-0003-ARM-dts-BCM5301X-Specify-pcie2-in-the-DT.patch
new file mode 100644 (file)
index 0000000..d3e2fbc
--- /dev/null
@@ -0,0 +1,26 @@
+From c4cd6fcae46fd14aed8665b7cf66d0954765a873 Mon Sep 17 00:00:00 2001
+From: Christian Lamparter <chunkeey@gmail.com>
+Date: Sat, 22 Aug 2020 18:19:21 +0200
+Subject: [PATCH] ARM: dts: BCM5301X: Specify pcie2 in the DT
+
+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>
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+
+--- a/arch/arm/boot/dts/bcm5301x.dtsi
++++ b/arch/arm/boot/dts/bcm5301x.dtsi
+@@ -252,6 +252,10 @@
+                       reg = <0x00013000 0x1000>;
+               };
++              pcie2: pcie@14000 {
++                      reg = <0x00014000 0x1000>;
++              };
++
+               usb2: usb2@21000 {
+                       reg = <0x00021000 0x1000>;
diff --git a/target/linux/bcm53xx/patches-5.4/033-v5.10-0004-ARM-BCM5301X-Add-DT-for-Meraki-MR32.patch b/target/linux/bcm53xx/patches-5.4/033-v5.10-0004-ARM-BCM5301X-Add-DT-for-Meraki-MR32.patch
new file mode 100644 (file)
index 0000000..e96815b
--- /dev/null
@@ -0,0 +1,266 @@
+From ec88a9c344d9fd8c3b11bff1f99a0b6248ae256d Mon Sep 17 00:00:00 2001
+From: Christian Lamparter <chunkeey@gmail.com>
+Date: Sat, 22 Aug 2020 18:19:23 +0200
+Subject: [PATCH] ARM: BCM5301X: Add DT for Meraki MR32
+
+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>
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+---
+ arch/arm/boot/dts/Makefile                 |   1 +
+ arch/arm/boot/dts/bcm53016-meraki-mr32.dts | 197 +++++++++++++++++++++
+ 2 files changed, 198 insertions(+)
+ create mode 100644 arch/arm/boot/dts/bcm53016-meraki-mr32.dts
+
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -118,6 +118,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 \
+--- /dev/null
++++ b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
+@@ -0,0 +1,197 @@
++// 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;
++              };
++      };
++};
++
++&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>;
++              };
++      };
++};
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
deleted file mode 100644 (file)
index 3353786..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-From 0ea4b29d149586667d96767f1fc8e57ee942c1b0 Mon Sep 17 00:00:00 2001
-From: Christian Lamparter <chunkeey@gmail.com>
-Date: Sat, 22 Aug 2020 18:19:19 +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.... 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>
-Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
-
---- a/arch/arm/boot/dts/bcm5301x.dtsi
-+++ b/arch/arm/boot/dts/bcm5301x.dtsi
-@@ -350,6 +350,14 @@
-               };
-       };
-+      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 @@
-                                       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";
diff --git a/target/linux/bcm53xx/patches-5.4/034-v5.10-ARM-dts-BCM5301X-Specify-uart2-in-the-DT.patch b/target/linux/bcm53xx/patches-5.4/034-v5.10-ARM-dts-BCM5301X-Specify-uart2-in-the-DT.patch
deleted file mode 100644 (file)
index 8cee674..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-From 5e396bb05b89e23e98e6d75749b77502e68210a4 Mon Sep 17 00:00:00 2001
-From: Christian Lamparter <chunkeey@gmail.com>
-Date: Sat, 22 Aug 2020 18:19:20 +0200
-Subject: [PATCH] ARM: dts: BCM5301X: Specify uart2 in the DT
-
-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>
-Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
-
---- a/arch/arm/boot/dts/bcm5301x.dtsi
-+++ b/arch/arm/boot/dts/bcm5301x.dtsi
-@@ -392,6 +392,15 @@
-               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>;
diff --git a/target/linux/bcm53xx/patches-5.4/035-v5.10-ARM-dts-BCM5301X-Specify-pcie2-in-the-DT.patch b/target/linux/bcm53xx/patches-5.4/035-v5.10-ARM-dts-BCM5301X-Specify-pcie2-in-the-DT.patch
deleted file mode 100644 (file)
index d3e2fbc..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From c4cd6fcae46fd14aed8665b7cf66d0954765a873 Mon Sep 17 00:00:00 2001
-From: Christian Lamparter <chunkeey@gmail.com>
-Date: Sat, 22 Aug 2020 18:19:21 +0200
-Subject: [PATCH] ARM: dts: BCM5301X: Specify pcie2 in the DT
-
-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>
-Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
-
---- a/arch/arm/boot/dts/bcm5301x.dtsi
-+++ b/arch/arm/boot/dts/bcm5301x.dtsi
-@@ -252,6 +252,10 @@
-                       reg = <0x00013000 0x1000>;
-               };
-+              pcie2: pcie@14000 {
-+                      reg = <0x00014000 0x1000>;
-+              };
-+
-               usb2: usb2@21000 {
-                       reg = <0x00021000 0x1000>;
diff --git a/target/linux/bcm53xx/patches-5.4/330-ARM-BCM5301X-Add-DT-for-Meraki-MR32.patch b/target/linux/bcm53xx/patches-5.4/330-ARM-BCM5301X-Add-DT-for-Meraki-MR32.patch
deleted file mode 100644 (file)
index 29329eb..0000000
+++ /dev/null
@@ -1,261 +0,0 @@
-From ec88a9c344d9fd8c3b11bff1f99a0b6248ae256d Mon Sep 17 00:00:00 2001
-From: Christian Lamparter <chunkeey@gmail.com>
-Date: Sat, 22 Aug 2020 18:19:23 +0200
-Subject: [PATCH] ARM: BCM5301X: Add DT for Meraki MR32
-
-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>
-Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
-
---- a/arch/arm/boot/dts/Makefile
-+++ b/arch/arm/boot/dts/Makefile
-@@ -119,6 +119,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 \
---- /dev/null
-+++ b/arch/arm/boot/dts/bcm53016-meraki-mr32.dts
-@@ -0,0 +1,197 @@
-+// 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;
-+              };
-+      };
-+};
-+
-+&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>;
-+              };
-+      };
-+};