1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2*724ba675SRob Herring/*
3*724ba675SRob Herring * Common Bindings for Cisco Meraki MX64 (Kingpin) and MX65 (Alamo) devices.
4*724ba675SRob Herring *
5*724ba675SRob Herring * Copyright (C) 2020-2021 Matthew Hagan <mnhagan88@gmail.com>
6*724ba675SRob Herring */
7*724ba675SRob Herring
8*724ba675SRob Herring#include "bcm-nsp.dtsi"
9*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h>
10*724ba675SRob Herring#include <dt-bindings/input/input.h>
11*724ba675SRob Herring#include <dt-bindings/leds/common.h>
12*724ba675SRob Herring
13*724ba675SRob Herring/ {
14*724ba675SRob Herring	pwm-leds {
15*724ba675SRob Herring		compatible = "pwm-leds";
16*724ba675SRob Herring
17*724ba675SRob Herring		led-1 {
18*724ba675SRob Herring			function = LED_FUNCTION_INDICATOR;
19*724ba675SRob Herring			color = <LED_COLOR_ID_RED>;
20*724ba675SRob Herring			pwms = <&pwm 1 50000>;
21*724ba675SRob Herring			max-brightness = <255>;
22*724ba675SRob Herring		};
23*724ba675SRob Herring
24*724ba675SRob Herring		led-2 {
25*724ba675SRob Herring			function = LED_FUNCTION_POWER;
26*724ba675SRob Herring			color = <LED_COLOR_ID_GREEN>;
27*724ba675SRob Herring			pwms = <&pwm 2 50000>;
28*724ba675SRob Herring			max-brightness = <255>;
29*724ba675SRob Herring		};
30*724ba675SRob Herring
31*724ba675SRob Herring		led-3 {
32*724ba675SRob Herring			function = LED_FUNCTION_INDICATOR;
33*724ba675SRob Herring			color = <LED_COLOR_ID_BLUE>;
34*724ba675SRob Herring			pwms = <&pwm 3 50000>;
35*724ba675SRob Herring			max-brightness = <255>;
36*724ba675SRob Herring		};
37*724ba675SRob Herring	};
38*724ba675SRob Herring};
39*724ba675SRob Herring
40*724ba675SRob Herring&amac2 {
41*724ba675SRob Herring	status = "okay";
42*724ba675SRob Herring	nvmem-cells = <&mac_address>;
43*724ba675SRob Herring	nvmem-cell-names = "mac-address";
44*724ba675SRob Herring};
45*724ba675SRob Herring
46*724ba675SRob Herring&ehci0 {
47*724ba675SRob Herring	status = "okay";
48*724ba675SRob Herring};
49*724ba675SRob Herring
50*724ba675SRob Herring&i2c0 {
51*724ba675SRob Herring	status = "okay";
52*724ba675SRob Herring
53*724ba675SRob Herring	eeprom@50 {
54*724ba675SRob Herring		compatible = "atmel,24c64";
55*724ba675SRob Herring		reg = <0x50>;
56*724ba675SRob Herring		pagesize = <32>;
57*724ba675SRob Herring		read-only;
58*724ba675SRob Herring		#address-cells = <1>;
59*724ba675SRob Herring		#size-cells = <1>;
60*724ba675SRob Herring
61*724ba675SRob Herring		mac_address: mac-address@66 {
62*724ba675SRob Herring			reg = <0x66 0x6>;
63*724ba675SRob Herring		};
64*724ba675SRob Herring	};
65*724ba675SRob Herring};
66*724ba675SRob Herring
67*724ba675SRob Herring&nand_controller {
68*724ba675SRob Herring	nand@0 {
69*724ba675SRob Herring		compatible = "brcm,nandcs";
70*724ba675SRob Herring		reg = <0>;
71*724ba675SRob Herring		nand-on-flash-bbt;
72*724ba675SRob Herring
73*724ba675SRob Herring		#address-cells = <1>;
74*724ba675SRob Herring		#size-cells = <1>;
75*724ba675SRob Herring
76*724ba675SRob Herring		nand-ecc-strength = <24>;
77*724ba675SRob Herring		nand-ecc-step-size = <1024>;
78*724ba675SRob Herring
79*724ba675SRob Herring		brcm,nand-oob-sector-size = <27>;
80*724ba675SRob Herring
81*724ba675SRob Herring		partition@0 {
82*724ba675SRob Herring			label = "u-boot";
83*724ba675SRob Herring			reg = <0x0 0x80000>;
84*724ba675SRob Herring			read-only;
85*724ba675SRob Herring		};
86*724ba675SRob Herring
87*724ba675SRob Herring		partition@80000 {
88*724ba675SRob Herring			label = "shmoo";
89*724ba675SRob Herring			reg = <0x80000 0x80000>;
90*724ba675SRob Herring			read-only;
91*724ba675SRob Herring		};
92*724ba675SRob Herring
93*724ba675SRob Herring		partition@100000 {
94*724ba675SRob Herring			label = "bootkernel1";
95*724ba675SRob Herring			reg = <0x100000 0x300000>;
96*724ba675SRob Herring		};
97*724ba675SRob Herring
98*724ba675SRob Herring		partition@400000 {
99*724ba675SRob Herring			label = "nvram";
100*724ba675SRob Herring			reg = <0x400000 0x100000>;
101*724ba675SRob Herring		};
102*724ba675SRob Herring
103*724ba675SRob Herring		partition@500000 {
104*724ba675SRob Herring			label = "bootkernel2";
105*724ba675SRob Herring			reg = <0x500000 0x300000>;
106*724ba675SRob Herring		};
107*724ba675SRob Herring
108*724ba675SRob Herring		partition@800000 {
109*724ba675SRob Herring			label = "ubi";
110*724ba675SRob Herring			reg = <0x800000 0x3f700000>;
111*724ba675SRob Herring		};
112*724ba675SRob Herring	};
113*724ba675SRob Herring};
114*724ba675SRob Herring
115*724ba675SRob Herring&ohci0 {
116*724ba675SRob Herring	status = "okay";
117*724ba675SRob Herring};
118*724ba675SRob Herring
119*724ba675SRob Herring&pinctrl {
120*724ba675SRob Herring	pinctrl-names = "default";
121*724ba675SRob Herring	pinctrl-0 = <&pwm_leds>;
122*724ba675SRob Herring
123*724ba675SRob Herring	pwm_leds: pwm_leds {
124*724ba675SRob Herring		function = "pwm";
125*724ba675SRob Herring		groups = "pwm1_grp", "pwm2_grp", "pwm3_grp";
126*724ba675SRob Herring	};
127*724ba675SRob Herring};
128*724ba675SRob Herring
129*724ba675SRob Herring&pwm {
130*724ba675SRob Herring	status = "okay";
131*724ba675SRob Herring	#pwm-cells = <2>;
132*724ba675SRob Herring};
133*724ba675SRob Herring
134*724ba675SRob Herring&uart0 {
135*724ba675SRob Herring	clock-frequency = <62500000>;
136*724ba675SRob Herring	status = "okay";
137*724ba675SRob Herring};
138