1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2724ba675SRob Herring/*
3724ba675SRob Herring * Broadcom BCM470X / BCM5301X ARM platform code.
4724ba675SRob Herring * DTS for Meraki MR26 / Codename: Venom
5724ba675SRob Herring *
6724ba675SRob Herring * Copyright (C) 2022 Christian Lamparter <chunkeey@gmail.com>
7724ba675SRob Herring */
8724ba675SRob Herring
9724ba675SRob Herring/dts-v1/;
10724ba675SRob Herring
11724ba675SRob Herring#include "bcm4708.dtsi"
12724ba675SRob Herring#include "bcm5301x-nand-cs0-bch8.dtsi"
13724ba675SRob Herring#include <dt-bindings/leds/common.h>
14724ba675SRob Herring
15724ba675SRob Herring/ {
16724ba675SRob Herring	compatible = "meraki,mr26", "brcm,bcm53015", "brcm,bcm4708";
17724ba675SRob Herring	model = "Meraki MR26";
18724ba675SRob Herring
19724ba675SRob Herring	memory@0 {
20724ba675SRob Herring		reg = <0x00000000 0x08000000>;
21724ba675SRob Herring		device_type = "memory";
22724ba675SRob Herring	};
23724ba675SRob Herring
24724ba675SRob Herring	leds {
25724ba675SRob Herring		compatible = "gpio-leds";
26724ba675SRob Herring
27724ba675SRob Herring		led-0 {
28724ba675SRob Herring			function = LED_FUNCTION_FAULT;
29724ba675SRob Herring			color = <LED_COLOR_ID_AMBER>;
30724ba675SRob Herring			gpios = <&chipcommon 13 GPIO_ACTIVE_HIGH>;
31724ba675SRob Herring			panic-indicator;
32724ba675SRob Herring		};
33724ba675SRob Herring		led-1 {
34724ba675SRob Herring			function = LED_FUNCTION_INDICATOR;
35724ba675SRob Herring			color = <LED_COLOR_ID_WHITE>;
36724ba675SRob Herring			gpios = <&chipcommon 12 GPIO_ACTIVE_HIGH>;
37724ba675SRob Herring		};
38724ba675SRob Herring	};
39724ba675SRob Herring
40724ba675SRob Herring	keys {
41724ba675SRob Herring		compatible = "gpio-keys";
42724ba675SRob Herring
43724ba675SRob Herring		key-restart {
44724ba675SRob Herring			label = "Reset";
45724ba675SRob Herring			linux,code = <KEY_RESTART>;
46724ba675SRob Herring			gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
47724ba675SRob Herring		};
48724ba675SRob Herring	};
49724ba675SRob Herring};
50724ba675SRob Herring
51724ba675SRob Herring&uart0 {
52724ba675SRob Herring	clock-frequency = <50000000>;
53724ba675SRob Herring	/delete-property/ clocks;
54724ba675SRob Herring};
55724ba675SRob Herring
56724ba675SRob Herring&uart1 {
57724ba675SRob Herring	status = "disabled";
58724ba675SRob Herring};
59724ba675SRob Herring
60724ba675SRob Herring&gmac0 {
61724ba675SRob Herring	status = "okay";
62724ba675SRob Herring};
63724ba675SRob Herring
64724ba675SRob Herring&gmac1 {
65724ba675SRob Herring	status = "disabled";
66724ba675SRob Herring};
67724ba675SRob Herring&gmac2 {
68724ba675SRob Herring	status = "disabled";
69724ba675SRob Herring};
70724ba675SRob Herring&gmac3 {
71724ba675SRob Herring	status = "disabled";
72724ba675SRob Herring};
73724ba675SRob Herring
74724ba675SRob Herring&nandcs {
75724ba675SRob Herring	partitions {
76724ba675SRob Herring		compatible = "fixed-partitions";
77724ba675SRob Herring		#address-cells = <0x1>;
78724ba675SRob Herring		#size-cells = <0x1>;
79724ba675SRob Herring
80724ba675SRob Herring		partition@0 {
81724ba675SRob Herring			label = "u-boot";
82724ba675SRob Herring			reg = <0x0 0x200000>;
83724ba675SRob Herring			read-only;
84724ba675SRob Herring		};
85724ba675SRob Herring
86724ba675SRob Herring		partition@200000 {
87724ba675SRob Herring			label = "u-boot-env";
88724ba675SRob Herring			reg = <0x200000 0x200000>;
89724ba675SRob Herring			/* empty */
90724ba675SRob Herring		};
91724ba675SRob Herring
92724ba675SRob Herring		partition@400000 {
93724ba675SRob Herring			label = "u-boot-backup";
94724ba675SRob Herring			reg = <0x400000 0x200000>;
95724ba675SRob Herring			/* empty */
96724ba675SRob Herring		};
97724ba675SRob Herring
98724ba675SRob Herring		partition@600000 {
99724ba675SRob Herring			label = "u-boot-env-backup";
100724ba675SRob Herring			reg = <0x600000 0x200000>;
101724ba675SRob Herring			/* empty */
102724ba675SRob Herring		};
103724ba675SRob Herring
104724ba675SRob Herring		partition@800000 {
105724ba675SRob Herring			label = "ubi";
106724ba675SRob Herring			reg = <0x800000 0x7780000>;
107724ba675SRob Herring		};
108724ba675SRob Herring	};
109724ba675SRob Herring};
110724ba675SRob Herring
111724ba675SRob Herring&srab {
112724ba675SRob Herring	status = "okay";
113724ba675SRob Herring
114724ba675SRob Herring	ports {
115724ba675SRob Herring		port@0 {
116724ba675SRob Herring			label = "poe";
117724ba675SRob Herring		};
118724ba675SRob Herring
119724ba675SRob Herring		port@5 {
120724ba675SRob Herring			label = "cpu";
121724ba675SRob Herring
122724ba675SRob Herring			fixed-link {
123724ba675SRob Herring				speed = <1000>;
124724ba675SRob Herring				full-duplex;
125724ba675SRob Herring			};
126724ba675SRob Herring		};
127*fca21e13SRafał Miłecki
128*fca21e13SRafał Miłecki		port@7 {
129*fca21e13SRafał Miłecki			status = "disabled";
130*fca21e13SRafał Miłecki		};
131*fca21e13SRafał Miłecki
132*fca21e13SRafał Miłecki		port@8 {
133*fca21e13SRafał Miłecki			status = "disabled";
134*fca21e13SRafał Miłecki		};
135724ba675SRob Herring	};
136724ba675SRob Herring};
137724ba675SRob Herring
138724ba675SRob Herring&i2c0 {
139724ba675SRob Herring	status = "okay";
140724ba675SRob Herring
141724ba675SRob Herring	pinctrl-names = "default";
142724ba675SRob Herring	pinctrl-0 = <&pinmux_i2c>;
143724ba675SRob Herring
144724ba675SRob Herring	clock-frequency = <100000>;
145724ba675SRob Herring
146724ba675SRob Herring	ina219@40 {
147724ba675SRob Herring		compatible = "ti,ina219"; /* PoE power */
148724ba675SRob Herring		reg = <0x40>;
149724ba675SRob Herring		shunt-resistor = <60000>; /* = 60 mOhms */
150724ba675SRob Herring	};
151724ba675SRob Herring
152724ba675SRob Herring	eeprom@56 {
153724ba675SRob Herring		compatible = "atmel,24c64";
154724ba675SRob Herring		reg = <0x56>;
155724ba675SRob Herring		pagesize = <32>;
156724ba675SRob Herring		read-only;
157724ba675SRob Herring		#address-cells = <1>;
158724ba675SRob Herring		#size-cells = <1>;
159724ba675SRob Herring
160724ba675SRob Herring		/* it's empty */
161724ba675SRob Herring	};
162724ba675SRob Herring};
163724ba675SRob Herring
164724ba675SRob Herring&thermal {
165724ba675SRob Herring	status = "disabled";
166724ba675SRob Herring	/* does not work, reads 418 degree Celsius */
167724ba675SRob Herring};
168