1// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2/* 3 * Broadcom BCM470X / BCM5301X ARM platform code. 4 * DTS for Meraki MR32 / Codename: Espresso 5 * 6 * Copyright (C) 2018-2020 Christian Lamparter <chunkeey@gmail.com> 7 */ 8 9/dts-v1/; 10 11#include "bcm4708.dtsi" 12#include "bcm5301x-nand-cs0-bch8.dtsi" 13#include <dt-bindings/leds/common.h> 14 15/ { 16 compatible = "meraki,mr32", "brcm,brcm53016", "brcm,bcm4708"; 17 model = "Meraki MR32"; 18 19 chosen { 20 bootargs = " console=ttyS0,115200n8 earlycon"; 21 }; 22 23 memory { 24 reg = <0x00000000 0x08000000>; 25 device_type = "memory"; 26 }; 27 28 aliases { 29 serial1 = &uart2; 30 }; 31 32 leds { 33 compatible = "gpio-leds"; 34 35 sysled3 { 36 function = LED_FUNCTION_FAULT; 37 color = <LED_COLOR_ID_AMBER>; 38 gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>; 39 panic-indicator; 40 }; 41 sysled2 { 42 function = LED_FUNCTION_INDICATOR; 43 color = <LED_COLOR_ID_WHITE>; 44 gpios = <&chipcommon 19 GPIO_ACTIVE_HIGH>; 45 }; 46 }; 47 48 keys { 49 compatible = "gpio-keys"; 50 #address-cells = <1>; 51 #size-cells = <0>; 52 53 restart { 54 label = "Reset"; 55 linux,code = <KEY_RESTART>; 56 gpios = <&chipcommon 21 GPIO_ACTIVE_LOW>; 57 }; 58 }; 59 60 pwm-leds { 61 compatible = "pwm-leds"; 62 63 red { 64 /* SYS-LED 1 - Tricolor */ 65 function = LED_FUNCTION_INDICATOR; 66 color = <LED_COLOR_ID_RED>; 67 pwms = <&pwm 0 50000 0>; 68 max-brightness = <255>; 69 }; 70 71 green { 72 /* SYS-LED 1 - Tricolor */ 73 function = LED_FUNCTION_POWER; 74 color = <LED_COLOR_ID_GREEN>; 75 pwms = <&pwm 1 50000 0>; 76 max-brightness = <255>; 77 }; 78 79 blue { 80 /* SYS-LED 1 - Tricolor */ 81 function = LED_FUNCTION_INDICATOR; 82 color = <LED_COLOR_ID_BLUE>; 83 pwms = <&pwm 2 50000 0>; 84 max-brightness = <255>; 85 }; 86 }; 87 88 i2c { 89 /* 90 * The platform provided I2C does not budge. 91 * This is a replacement until I can figure 92 * out what are the missing bits... 93 */ 94 95 compatible = "i2c-gpio"; 96 sda-gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>; 97 scl-gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>; 98 i2c-gpio,delay-us = <10>; /* close to 100 kHz */ 99 #address-cells = <1>; 100 #size-cells = <0>; 101 102 current_sense: ina219@45 { 103 compatible = "ti,ina219"; 104 reg = <0x45>; 105 shunt-resistor = <60000>; /* = 60 mOhms */ 106 }; 107 108 eeprom: eeprom@50 { 109 compatible = "atmel,24c64"; 110 reg = <0x50>; 111 pagesize = <32>; 112 read-only; 113 }; 114 }; 115}; 116 117&uart0 { 118 clock-frequency = <62500000>; 119 /delete-property/ clocks; 120}; 121 122&uart1 { 123 status = "disabled"; 124}; 125 126&uart2 { 127 status = "okay"; 128 /* 129 * bluetooth-le { 130 * compatible = "brcm,bcm20732"; 131 * enable-gpios = <&chipcommon 20 GPIO_ACTIVE_HIGH>; 132 *}; 133 */ 134}; 135 136&gmac1 { 137 status = "disabled"; 138}; 139&gmac2 { 140 status = "disabled"; 141}; 142&gmac3 { 143 status = "disabled"; 144}; 145 146&pwm { 147 status = "okay"; 148 pinctrl-names = "default"; 149 pinctrl-0 = <&pinmux_pwm>; 150}; 151 152&nandcs { 153 nand-ecc-algo = "hw"; 154 155 partitions { 156 /* 157 * The partition autodetection does not work for this device. 158 * It will only detect the "nvram" partition with an incorrect size. 159 * [ 1.721667] 1 bcm47xxpart partitions found on MTD device brcmnand.0 160 * [ 1.727962] Creating 1 MTD partitions on "brcmnand.0": 161 * [ 1.733117] 0x000000400000-0x000008000000 : "nvram" 162 */ 163 164 compatible = "fixed-partitions"; 165 #address-cells = <0x1>; 166 #size-cells = <0x1>; 167 168 partition0@0 { 169 label = "u-boot"; 170 reg = <0x0 0x100000>; 171 read-only; 172 }; 173 174 partition1@100000 { 175 label = "bootkernel1"; 176 reg = <0x100000 0x300000>; 177 read-only; 178 }; 179 180 partition2@400000 { 181 label = "nvram"; 182 reg = <0x400000 0x100000>; 183 read-only; 184 }; 185 186 partition3@500000 { 187 label = "bootkernel2"; 188 reg = <0x500000 0x300000>; 189 read-only; 190 }; 191 192 partition4@800000 { 193 label = "ubi"; 194 reg = <0x800000 0x7780000>; 195 }; 196 }; 197}; 198