1ec88a9c3SChristian Lamparter// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2ec88a9c3SChristian Lamparter/* 3ec88a9c3SChristian Lamparter * Broadcom BCM470X / BCM5301X ARM platform code. 4ec88a9c3SChristian Lamparter * DTS for Meraki MR32 / Codename: Espresso 5ec88a9c3SChristian Lamparter * 6ec88a9c3SChristian Lamparter * Copyright (C) 2018-2020 Christian Lamparter <chunkeey@gmail.com> 7ec88a9c3SChristian Lamparter */ 8ec88a9c3SChristian Lamparter 9ec88a9c3SChristian Lamparter/dts-v1/; 10ec88a9c3SChristian Lamparter 11ec88a9c3SChristian Lamparter#include "bcm4708.dtsi" 12ec88a9c3SChristian Lamparter#include "bcm5301x-nand-cs0-bch8.dtsi" 13ec88a9c3SChristian Lamparter#include <dt-bindings/leds/common.h> 14ec88a9c3SChristian Lamparter 15ec88a9c3SChristian Lamparter/ { 1669bb5c6fSArınç ÜNAL compatible = "meraki,mr32", "brcm,bcm53016", "brcm,bcm4708"; 17ec88a9c3SChristian Lamparter model = "Meraki MR32"; 18ec88a9c3SChristian Lamparter 19ec88a9c3SChristian Lamparter chosen { 20ec88a9c3SChristian Lamparter bootargs = " console=ttyS0,115200n8 earlycon"; 21ec88a9c3SChristian Lamparter }; 22ec88a9c3SChristian Lamparter 23c5e1df32SRafał Miłecki memory@0 { 24ec88a9c3SChristian Lamparter reg = <0x00000000 0x08000000>; 25ec88a9c3SChristian Lamparter device_type = "memory"; 26ec88a9c3SChristian Lamparter }; 27ec88a9c3SChristian Lamparter 28ec88a9c3SChristian Lamparter aliases { 29ec88a9c3SChristian Lamparter serial1 = &uart2; 30ec88a9c3SChristian Lamparter }; 31ec88a9c3SChristian Lamparter 32ec88a9c3SChristian Lamparter leds { 33ec88a9c3SChristian Lamparter compatible = "gpio-leds"; 34ec88a9c3SChristian Lamparter 35ec88a9c3SChristian Lamparter sysled3 { 36ec88a9c3SChristian Lamparter function = LED_FUNCTION_FAULT; 37ec88a9c3SChristian Lamparter color = <LED_COLOR_ID_AMBER>; 38ec88a9c3SChristian Lamparter gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>; 39ec88a9c3SChristian Lamparter panic-indicator; 40ec88a9c3SChristian Lamparter }; 41ec88a9c3SChristian Lamparter sysled2 { 42ec88a9c3SChristian Lamparter function = LED_FUNCTION_INDICATOR; 43ec88a9c3SChristian Lamparter color = <LED_COLOR_ID_WHITE>; 44ec88a9c3SChristian Lamparter gpios = <&chipcommon 19 GPIO_ACTIVE_HIGH>; 45ec88a9c3SChristian Lamparter }; 46ec88a9c3SChristian Lamparter }; 47ec88a9c3SChristian Lamparter 48ec88a9c3SChristian Lamparter keys { 49ec88a9c3SChristian Lamparter compatible = "gpio-keys"; 50ec88a9c3SChristian Lamparter 51c5aec561SKrzysztof Kozlowski button-restart { 52ec88a9c3SChristian Lamparter label = "Reset"; 53ec88a9c3SChristian Lamparter linux,code = <KEY_RESTART>; 54ec88a9c3SChristian Lamparter gpios = <&chipcommon 21 GPIO_ACTIVE_LOW>; 55ec88a9c3SChristian Lamparter }; 56ec88a9c3SChristian Lamparter }; 57ec88a9c3SChristian Lamparter 58ec88a9c3SChristian Lamparter pwm-leds { 59ec88a9c3SChristian Lamparter compatible = "pwm-leds"; 60ec88a9c3SChristian Lamparter 61af84101eSKrzysztof Kozlowski led-0 { 62ec88a9c3SChristian Lamparter /* SYS-LED 1 - Tricolor */ 63ec88a9c3SChristian Lamparter function = LED_FUNCTION_INDICATOR; 64ec88a9c3SChristian Lamparter color = <LED_COLOR_ID_RED>; 65ec88a9c3SChristian Lamparter pwms = <&pwm 0 50000 0>; 66ec88a9c3SChristian Lamparter max-brightness = <255>; 67ec88a9c3SChristian Lamparter }; 68ec88a9c3SChristian Lamparter 69af84101eSKrzysztof Kozlowski led-1 { 70ec88a9c3SChristian Lamparter /* SYS-LED 1 - Tricolor */ 71ec88a9c3SChristian Lamparter function = LED_FUNCTION_POWER; 72ec88a9c3SChristian Lamparter color = <LED_COLOR_ID_GREEN>; 73ec88a9c3SChristian Lamparter pwms = <&pwm 1 50000 0>; 74ec88a9c3SChristian Lamparter max-brightness = <255>; 75ec88a9c3SChristian Lamparter }; 76ec88a9c3SChristian Lamparter 77af84101eSKrzysztof Kozlowski led-2 { 78ec88a9c3SChristian Lamparter /* SYS-LED 1 - Tricolor */ 79ec88a9c3SChristian Lamparter function = LED_FUNCTION_INDICATOR; 80ec88a9c3SChristian Lamparter color = <LED_COLOR_ID_BLUE>; 81ec88a9c3SChristian Lamparter pwms = <&pwm 2 50000 0>; 82ec88a9c3SChristian Lamparter max-brightness = <255>; 83ec88a9c3SChristian Lamparter }; 84ec88a9c3SChristian Lamparter }; 85ec88a9c3SChristian Lamparter}; 86ec88a9c3SChristian Lamparter 87ec88a9c3SChristian Lamparter&uart0 { 88ec88a9c3SChristian Lamparter clock-frequency = <62500000>; 89ec88a9c3SChristian Lamparter /delete-property/ clocks; 90ec88a9c3SChristian Lamparter}; 91ec88a9c3SChristian Lamparter 92ec88a9c3SChristian Lamparter&uart1 { 93ec88a9c3SChristian Lamparter status = "disabled"; 94ec88a9c3SChristian Lamparter}; 95ec88a9c3SChristian Lamparter 96ec88a9c3SChristian Lamparter&uart2 { 97ec88a9c3SChristian Lamparter status = "okay"; 98ec88a9c3SChristian Lamparter /* 99ec88a9c3SChristian Lamparter * bluetooth-le { 100ec88a9c3SChristian Lamparter * compatible = "brcm,bcm20732"; 101ec88a9c3SChristian Lamparter * enable-gpios = <&chipcommon 20 GPIO_ACTIVE_HIGH>; 102ec88a9c3SChristian Lamparter *}; 103ec88a9c3SChristian Lamparter */ 104ec88a9c3SChristian Lamparter}; 105ec88a9c3SChristian Lamparter 106477ffdbdSChristian Lamparter&gmac0 { 107477ffdbdSChristian Lamparter nvmem-cell-names = "mac-address"; 108477ffdbdSChristian Lamparter nvmem-cells = <&mac_address>; 109477ffdbdSChristian Lamparter}; 110477ffdbdSChristian Lamparter 111ec88a9c3SChristian Lamparter&gmac1 { 112ec88a9c3SChristian Lamparter status = "disabled"; 113ec88a9c3SChristian Lamparter}; 114ec88a9c3SChristian Lamparter&gmac2 { 115ec88a9c3SChristian Lamparter status = "disabled"; 116ec88a9c3SChristian Lamparter}; 117ec88a9c3SChristian Lamparter&gmac3 { 118ec88a9c3SChristian Lamparter status = "disabled"; 119ec88a9c3SChristian Lamparter}; 120ec88a9c3SChristian Lamparter 121ec88a9c3SChristian Lamparter&pwm { 122ec88a9c3SChristian Lamparter status = "okay"; 123ec88a9c3SChristian Lamparter pinctrl-names = "default"; 124ec88a9c3SChristian Lamparter pinctrl-0 = <&pinmux_pwm>; 125ec88a9c3SChristian Lamparter}; 126ec88a9c3SChristian Lamparter 127ec88a9c3SChristian Lamparter&nandcs { 128ec88a9c3SChristian Lamparter partitions { 129ec88a9c3SChristian Lamparter /* 130ec88a9c3SChristian Lamparter * The partition autodetection does not work for this device. 131ec88a9c3SChristian Lamparter * It will only detect the "nvram" partition with an incorrect size. 132ec88a9c3SChristian Lamparter * [ 1.721667] 1 bcm47xxpart partitions found on MTD device brcmnand.0 133ec88a9c3SChristian Lamparter * [ 1.727962] Creating 1 MTD partitions on "brcmnand.0": 134ec88a9c3SChristian Lamparter * [ 1.733117] 0x000000400000-0x000008000000 : "nvram" 135ec88a9c3SChristian Lamparter */ 136ec88a9c3SChristian Lamparter 137ec88a9c3SChristian Lamparter compatible = "fixed-partitions"; 138ec88a9c3SChristian Lamparter #address-cells = <0x1>; 139ec88a9c3SChristian Lamparter #size-cells = <0x1>; 140ec88a9c3SChristian Lamparter 141d68b2f7dSChristian Lamparter partition@0 { 142ec88a9c3SChristian Lamparter label = "u-boot"; 143ec88a9c3SChristian Lamparter reg = <0x0 0x100000>; 144ec88a9c3SChristian Lamparter read-only; 145ec88a9c3SChristian Lamparter }; 146ec88a9c3SChristian Lamparter 147d68b2f7dSChristian Lamparter partition@100000 { 148ec88a9c3SChristian Lamparter label = "bootkernel1"; 149ec88a9c3SChristian Lamparter reg = <0x100000 0x300000>; 150ec88a9c3SChristian Lamparter read-only; 151ec88a9c3SChristian Lamparter }; 152ec88a9c3SChristian Lamparter 153d68b2f7dSChristian Lamparter partition@400000 { 154ec88a9c3SChristian Lamparter label = "nvram"; 155ec88a9c3SChristian Lamparter reg = <0x400000 0x100000>; 156ec88a9c3SChristian Lamparter read-only; 157ec88a9c3SChristian Lamparter }; 158ec88a9c3SChristian Lamparter 159d68b2f7dSChristian Lamparter partition@500000 { 160ec88a9c3SChristian Lamparter label = "bootkernel2"; 161ec88a9c3SChristian Lamparter reg = <0x500000 0x300000>; 162ec88a9c3SChristian Lamparter read-only; 163ec88a9c3SChristian Lamparter }; 164ec88a9c3SChristian Lamparter 165d68b2f7dSChristian Lamparter partition@800000 { 166ec88a9c3SChristian Lamparter label = "ubi"; 167ec88a9c3SChristian Lamparter reg = <0x800000 0x7780000>; 168ec88a9c3SChristian Lamparter }; 169ec88a9c3SChristian Lamparter }; 170ec88a9c3SChristian Lamparter}; 1716abc4ca5SChristian Lamparter 1726abc4ca5SChristian Lamparter&srab { 1736abc4ca5SChristian Lamparter status = "okay"; 1746abc4ca5SChristian Lamparter 1756abc4ca5SChristian Lamparter ports { 1766abc4ca5SChristian Lamparter port@0 { 1776abc4ca5SChristian Lamparter label = "poe"; 1786abc4ca5SChristian Lamparter }; 1796abc4ca5SChristian Lamparter 1806abc4ca5SChristian Lamparter port@5 { 1816abc4ca5SChristian Lamparter label = "cpu"; 1826abc4ca5SChristian Lamparter 1836abc4ca5SChristian Lamparter fixed-link { 1846abc4ca5SChristian Lamparter speed = <1000>; 185fd274b73SChristian Lamparter full-duplex; 1866abc4ca5SChristian Lamparter }; 1876abc4ca5SChristian Lamparter }; 188473baeabSRafał Miłecki 189473baeabSRafał Miłecki port@7 { 190473baeabSRafał Miłecki status = "disabled"; 191473baeabSRafał Miłecki }; 192473baeabSRafał Miłecki 193473baeabSRafał Miłecki port@8 { 194473baeabSRafał Miłecki status = "disabled"; 195473baeabSRafał Miłecki }; 1966abc4ca5SChristian Lamparter }; 1976abc4ca5SChristian Lamparter}; 198de788001SChristian Lamparter 199de788001SChristian Lamparter&i2c0 { 200de788001SChristian Lamparter status = "okay"; 201de788001SChristian Lamparter 202de788001SChristian Lamparter pinctrl-names = "default"; 203de788001SChristian Lamparter pinctrl-0 = <&pinmux_i2c>; 204de788001SChristian Lamparter 205de788001SChristian Lamparter clock-frequency = <100000>; 206de788001SChristian Lamparter 207de788001SChristian Lamparter current_sense: ina219@45 { 208de788001SChristian Lamparter compatible = "ti,ina219"; 209de788001SChristian Lamparter reg = <0x45>; 210de788001SChristian Lamparter shunt-resistor = <60000>; /* = 60 mOhms */ 211de788001SChristian Lamparter }; 212de788001SChristian Lamparter 213de788001SChristian Lamparter eeprom: eeprom@50 { 214de788001SChristian Lamparter compatible = "atmel,24c64"; 215de788001SChristian Lamparter reg = <0x50>; 216de788001SChristian Lamparter pagesize = <32>; 217de788001SChristian Lamparter read-only; 218ed0d78c7SRafał Miłecki 219ed0d78c7SRafał Miłecki nvmem-layout { 220ed0d78c7SRafał Miłecki compatible = "fixed-layout"; 221de788001SChristian Lamparter #address-cells = <1>; 222de788001SChristian Lamparter #size-cells = <1>; 223de788001SChristian Lamparter 224de788001SChristian Lamparter mac_address: mac-address@66 { 225de788001SChristian Lamparter reg = <0x66 0x6>; 226de788001SChristian Lamparter }; 227de788001SChristian Lamparter }; 228de788001SChristian Lamparter }; 229ed0d78c7SRafał Miłecki}; 230