| // 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@0 { |
| 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>; |
| }; |
| }; |
| }; |
| |
| &srab { |
| status = "okay"; |
| |
| ports { |
| port@0 { |
| reg = <0>; |
| label = "poe"; |
| }; |
| |
| port@5 { |
| reg = <5>; |
| label = "cpu"; |
| ethernet = <&gmac0>; |
| |
| fixed-link { |
| speed = <1000>; |
| duplex-full; |
| }; |
| }; |
| }; |
| }; |