From: Rafał Miłecki Date: Thu, 25 Feb 2021 18:34:21 +0000 (+0100) Subject: bcm53xx: group dts backports by upstream kernel version X-Git-Tag: v21.02.0-rc1~140 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=7d03fdb004e70ed80b3b7484870454d165aacec4;p=openwrt%2Fstaging%2Fpepe2k.git bcm53xx: group dts backports by upstream kernel version It's a simple renaming thing. Signed-off-by: Rafał Miłecki (cherry picked from commit d0ee398c36983ccb2ee514e71f10d3c274546f17) --- 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 index 0000000000..335378656c --- /dev/null +++ b/target/linux/bcm53xx/patches-5.4/033-v5.10-0001-ARM-dts-BCM5301X-Specify-PWM-in-the-DT.patch @@ -0,0 +1,48 @@ +From 0ea4b29d149586667d96767f1fc8e57ee942c1b0 Mon Sep 17 00:00:00 2001 +From: Christian Lamparter +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 +Acked-by: Scott Branden +Signed-off-by: Florian Fainelli + +--- 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 index 0000000000..8cee6745ee --- /dev/null +++ b/target/linux/bcm53xx/patches-5.4/033-v5.10-0002-ARM-dts-BCM5301X-Specify-uart2-in-the-DT.patch @@ -0,0 +1,30 @@ +From 5e396bb05b89e23e98e6d75749b77502e68210a4 Mon Sep 17 00:00:00 2001 +From: Christian Lamparter +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 +Reviewed-by: Scott Branden +Signed-off-by: Florian Fainelli + +--- 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 = ; ++ 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 index 0000000000..d3e2fbcc9e --- /dev/null +++ b/target/linux/bcm53xx/patches-5.4/033-v5.10-0003-ARM-dts-BCM5301X-Specify-pcie2-in-the-DT.patch @@ -0,0 +1,26 @@ +From c4cd6fcae46fd14aed8665b7cf66d0954765a873 Mon Sep 17 00:00:00 2001 +From: Christian Lamparter +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 +Reviewed-by: Scott Branden +Signed-off-by: Florian Fainelli + +--- 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 index 0000000000..e96815ba38 --- /dev/null +++ b/target/linux/bcm53xx/patches-5.4/033-v5.10-0004-ARM-BCM5301X-Add-DT-for-Meraki-MR32.patch @@ -0,0 +1,266 @@ +From ec88a9c344d9fd8c3b11bff1f99a0b6248ae256d Mon Sep 17 00:00:00 2001 +From: Christian Lamparter +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 +Signed-off-by: Florian Fainelli +--- + 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 ++ */ ++ ++/dts-v1/; ++ ++#include "bcm4708.dtsi" ++#include "bcm5301x-nand-cs0-bch8.dtsi" ++#include ++ ++/ { ++ 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 = ; ++ gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>; ++ panic-indicator; ++ }; ++ sysled2 { ++ function = LED_FUNCTION_INDICATOR; ++ color = ; ++ gpios = <&chipcommon 19 GPIO_ACTIVE_HIGH>; ++ }; ++ }; ++ ++ keys { ++ compatible = "gpio-keys"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ restart { ++ label = "Reset"; ++ linux,code = ; ++ gpios = <&chipcommon 21 GPIO_ACTIVE_LOW>; ++ }; ++ }; ++ ++ pwm-leds { ++ compatible = "pwm-leds"; ++ ++ red { ++ /* SYS-LED 1 - Tricolor */ ++ function = LED_FUNCTION_INDICATOR; ++ color = ; ++ pwms = <&pwm 0 50000 0>; ++ max-brightness = <255>; ++ }; ++ ++ green { ++ /* SYS-LED 1 - Tricolor */ ++ function = LED_FUNCTION_POWER; ++ color = ; ++ pwms = <&pwm 1 50000 0>; ++ max-brightness = <255>; ++ }; ++ ++ blue { ++ /* SYS-LED 1 - Tricolor */ ++ function = LED_FUNCTION_INDICATOR; ++ color = ; ++ 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 index 335378656c..0000000000 --- a/target/linux/bcm53xx/patches-5.4/033-v5.10-ARM-dts-BCM5301X-Specify-PWM-in-the-DT.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 0ea4b29d149586667d96767f1fc8e57ee942c1b0 Mon Sep 17 00:00:00 2001 -From: Christian Lamparter -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 -Acked-by: Scott Branden -Signed-off-by: Florian Fainelli - ---- 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 index 8cee6745ee..0000000000 --- a/target/linux/bcm53xx/patches-5.4/034-v5.10-ARM-dts-BCM5301X-Specify-uart2-in-the-DT.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 5e396bb05b89e23e98e6d75749b77502e68210a4 Mon Sep 17 00:00:00 2001 -From: Christian Lamparter -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 -Reviewed-by: Scott Branden -Signed-off-by: Florian Fainelli - ---- 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 = ; -+ 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 index d3e2fbcc9e..0000000000 --- a/target/linux/bcm53xx/patches-5.4/035-v5.10-ARM-dts-BCM5301X-Specify-pcie2-in-the-DT.patch +++ /dev/null @@ -1,26 +0,0 @@ -From c4cd6fcae46fd14aed8665b7cf66d0954765a873 Mon Sep 17 00:00:00 2001 -From: Christian Lamparter -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 -Reviewed-by: Scott Branden -Signed-off-by: Florian Fainelli - ---- 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 index 29329eb3f0..0000000000 --- a/target/linux/bcm53xx/patches-5.4/330-ARM-BCM5301X-Add-DT-for-Meraki-MR32.patch +++ /dev/null @@ -1,261 +0,0 @@ -From ec88a9c344d9fd8c3b11bff1f99a0b6248ae256d Mon Sep 17 00:00:00 2001 -From: Christian Lamparter -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 -Signed-off-by: Florian Fainelli - ---- 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 -+ */ -+ -+/dts-v1/; -+ -+#include "bcm4708.dtsi" -+#include "bcm5301x-nand-cs0-bch8.dtsi" -+#include -+ -+/ { -+ 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 = ; -+ gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>; -+ panic-indicator; -+ }; -+ sysled2 { -+ function = LED_FUNCTION_INDICATOR; -+ color = ; -+ gpios = <&chipcommon 19 GPIO_ACTIVE_HIGH>; -+ }; -+ }; -+ -+ keys { -+ compatible = "gpio-keys"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ restart { -+ label = "Reset"; -+ linux,code = ; -+ gpios = <&chipcommon 21 GPIO_ACTIVE_LOW>; -+ }; -+ }; -+ -+ pwm-leds { -+ compatible = "pwm-leds"; -+ -+ red { -+ /* SYS-LED 1 - Tricolor */ -+ function = LED_FUNCTION_INDICATOR; -+ color = ; -+ pwms = <&pwm 0 50000 0>; -+ max-brightness = <255>; -+ }; -+ -+ green { -+ /* SYS-LED 1 - Tricolor */ -+ function = LED_FUNCTION_POWER; -+ color = ; -+ pwms = <&pwm 1 50000 0>; -+ max-brightness = <255>; -+ }; -+ -+ blue { -+ /* SYS-LED 1 - Tricolor */ -+ function = LED_FUNCTION_INDICATOR; -+ color = ; -+ 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>; -+ }; -+ }; -+};