1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Broadcom BCM470X / BCM5301X ARM platform code. 4*4882a593Smuzhiyun * DTS for Meraki MR26 / Codename: Venom 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * Copyright (C) 2022 Christian Lamparter <chunkeey@gmail.com> 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun/dts-v1/; 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun#include "bcm4708.dtsi" 12*4882a593Smuzhiyun#include "bcm5301x-nand-cs0-bch8.dtsi" 13*4882a593Smuzhiyun#include <dt-bindings/leds/common.h> 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun/ { 16*4882a593Smuzhiyun compatible = "meraki,mr26", "brcm,bcm53015", "brcm,bcm4708"; 17*4882a593Smuzhiyun model = "Meraki MR26"; 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun memory@0 { 20*4882a593Smuzhiyun reg = <0x00000000 0x08000000>; 21*4882a593Smuzhiyun device_type = "memory"; 22*4882a593Smuzhiyun }; 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun leds { 25*4882a593Smuzhiyun compatible = "gpio-leds"; 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun led-0 { 28*4882a593Smuzhiyun function = LED_FUNCTION_FAULT; 29*4882a593Smuzhiyun color = <LED_COLOR_ID_AMBER>; 30*4882a593Smuzhiyun gpios = <&chipcommon 13 GPIO_ACTIVE_HIGH>; 31*4882a593Smuzhiyun panic-indicator; 32*4882a593Smuzhiyun }; 33*4882a593Smuzhiyun led-1 { 34*4882a593Smuzhiyun function = LED_FUNCTION_INDICATOR; 35*4882a593Smuzhiyun color = <LED_COLOR_ID_WHITE>; 36*4882a593Smuzhiyun gpios = <&chipcommon 12 GPIO_ACTIVE_HIGH>; 37*4882a593Smuzhiyun }; 38*4882a593Smuzhiyun }; 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun keys { 41*4882a593Smuzhiyun compatible = "gpio-keys"; 42*4882a593Smuzhiyun #address-cells = <1>; 43*4882a593Smuzhiyun #size-cells = <0>; 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun key-restart { 46*4882a593Smuzhiyun label = "Reset"; 47*4882a593Smuzhiyun linux,code = <KEY_RESTART>; 48*4882a593Smuzhiyun gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>; 49*4882a593Smuzhiyun }; 50*4882a593Smuzhiyun }; 51*4882a593Smuzhiyun}; 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun&uart0 { 54*4882a593Smuzhiyun clock-frequency = <50000000>; 55*4882a593Smuzhiyun /delete-property/ clocks; 56*4882a593Smuzhiyun}; 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun&uart1 { 59*4882a593Smuzhiyun status = "disabled"; 60*4882a593Smuzhiyun}; 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun&gmac0 { 63*4882a593Smuzhiyun status = "okay"; 64*4882a593Smuzhiyun}; 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun&gmac1 { 67*4882a593Smuzhiyun status = "disabled"; 68*4882a593Smuzhiyun}; 69*4882a593Smuzhiyun&gmac2 { 70*4882a593Smuzhiyun status = "disabled"; 71*4882a593Smuzhiyun}; 72*4882a593Smuzhiyun&gmac3 { 73*4882a593Smuzhiyun status = "disabled"; 74*4882a593Smuzhiyun}; 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun&nandcs { 77*4882a593Smuzhiyun nand-ecc-algo = "hw"; 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun partitions { 80*4882a593Smuzhiyun compatible = "fixed-partitions"; 81*4882a593Smuzhiyun #address-cells = <0x1>; 82*4882a593Smuzhiyun #size-cells = <0x1>; 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun partition@0 { 85*4882a593Smuzhiyun label = "u-boot"; 86*4882a593Smuzhiyun reg = <0x0 0x200000>; 87*4882a593Smuzhiyun read-only; 88*4882a593Smuzhiyun }; 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun partition@200000 { 91*4882a593Smuzhiyun label = "u-boot-env"; 92*4882a593Smuzhiyun reg = <0x200000 0x200000>; 93*4882a593Smuzhiyun /* empty */ 94*4882a593Smuzhiyun }; 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun partition@400000 { 97*4882a593Smuzhiyun label = "u-boot-backup"; 98*4882a593Smuzhiyun reg = <0x400000 0x200000>; 99*4882a593Smuzhiyun /* empty */ 100*4882a593Smuzhiyun }; 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun partition@600000 { 103*4882a593Smuzhiyun label = "u-boot-env-backup"; 104*4882a593Smuzhiyun reg = <0x600000 0x200000>; 105*4882a593Smuzhiyun /* empty */ 106*4882a593Smuzhiyun }; 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun partition@800000 { 109*4882a593Smuzhiyun label = "ubi"; 110*4882a593Smuzhiyun reg = <0x800000 0x7780000>; 111*4882a593Smuzhiyun }; 112*4882a593Smuzhiyun }; 113*4882a593Smuzhiyun}; 114*4882a593Smuzhiyun 115*4882a593Smuzhiyun&srab { 116*4882a593Smuzhiyun status = "okay"; 117*4882a593Smuzhiyun 118*4882a593Smuzhiyun ports { 119*4882a593Smuzhiyun port@0 { 120*4882a593Smuzhiyun reg = <0>; 121*4882a593Smuzhiyun label = "poe"; 122*4882a593Smuzhiyun }; 123*4882a593Smuzhiyun 124*4882a593Smuzhiyun port@5 { 125*4882a593Smuzhiyun reg = <5>; 126*4882a593Smuzhiyun label = "cpu"; 127*4882a593Smuzhiyun ethernet = <&gmac0>; 128*4882a593Smuzhiyun 129*4882a593Smuzhiyun fixed-link { 130*4882a593Smuzhiyun speed = <1000>; 131*4882a593Smuzhiyun duplex-full; 132*4882a593Smuzhiyun }; 133*4882a593Smuzhiyun }; 134*4882a593Smuzhiyun }; 135*4882a593Smuzhiyun}; 136*4882a593Smuzhiyun 137*4882a593Smuzhiyun&i2c0 { 138*4882a593Smuzhiyun status = "okay"; 139*4882a593Smuzhiyun 140*4882a593Smuzhiyun pinctrl-names = "default"; 141*4882a593Smuzhiyun pinctrl-0 = <&pinmux_i2c>; 142*4882a593Smuzhiyun 143*4882a593Smuzhiyun clock-frequency = <100000>; 144*4882a593Smuzhiyun 145*4882a593Smuzhiyun ina219@40 { 146*4882a593Smuzhiyun compatible = "ti,ina219"; /* PoE power */ 147*4882a593Smuzhiyun reg = <0x40>; 148*4882a593Smuzhiyun shunt-resistor = <60000>; /* = 60 mOhms */ 149*4882a593Smuzhiyun }; 150*4882a593Smuzhiyun 151*4882a593Smuzhiyun eeprom@56 { 152*4882a593Smuzhiyun compatible = "atmel,24c64"; 153*4882a593Smuzhiyun reg = <0x56>; 154*4882a593Smuzhiyun pagesize = <32>; 155*4882a593Smuzhiyun read-only; 156*4882a593Smuzhiyun #address-cells = <1>; 157*4882a593Smuzhiyun #size-cells = <1>; 158*4882a593Smuzhiyun 159*4882a593Smuzhiyun /* it's empty */ 160*4882a593Smuzhiyun }; 161*4882a593Smuzhiyun}; 162*4882a593Smuzhiyun 163*4882a593Smuzhiyun&thermal { 164*4882a593Smuzhiyun status = "disabled"; 165*4882a593Smuzhiyun /* does not work, reads 418 degree Celsius */ 166*4882a593Smuzhiyun}; 167