162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Common Bindings for Cisco Meraki MX64 (Kingpin) and MX65 (Alamo) devices.
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2020-2021 Matthew Hagan <mnhagan88@gmail.com>
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#include "bcm-nsp.dtsi"
962306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
1062306a36Sopenharmony_ci#include <dt-bindings/input/input.h>
1162306a36Sopenharmony_ci#include <dt-bindings/leds/common.h>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci/ {
1462306a36Sopenharmony_ci	pwm-leds {
1562306a36Sopenharmony_ci		compatible = "pwm-leds";
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci		led-1 {
1862306a36Sopenharmony_ci			function = LED_FUNCTION_INDICATOR;
1962306a36Sopenharmony_ci			color = <LED_COLOR_ID_RED>;
2062306a36Sopenharmony_ci			pwms = <&pwm 1 50000>;
2162306a36Sopenharmony_ci			max-brightness = <255>;
2262306a36Sopenharmony_ci		};
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci		led-2 {
2562306a36Sopenharmony_ci			function = LED_FUNCTION_POWER;
2662306a36Sopenharmony_ci			color = <LED_COLOR_ID_GREEN>;
2762306a36Sopenharmony_ci			pwms = <&pwm 2 50000>;
2862306a36Sopenharmony_ci			max-brightness = <255>;
2962306a36Sopenharmony_ci		};
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci		led-3 {
3262306a36Sopenharmony_ci			function = LED_FUNCTION_INDICATOR;
3362306a36Sopenharmony_ci			color = <LED_COLOR_ID_BLUE>;
3462306a36Sopenharmony_ci			pwms = <&pwm 3 50000>;
3562306a36Sopenharmony_ci			max-brightness = <255>;
3662306a36Sopenharmony_ci		};
3762306a36Sopenharmony_ci	};
3862306a36Sopenharmony_ci};
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci&amac2 {
4162306a36Sopenharmony_ci	status = "okay";
4262306a36Sopenharmony_ci	nvmem-cells = <&mac_address>;
4362306a36Sopenharmony_ci	nvmem-cell-names = "mac-address";
4462306a36Sopenharmony_ci};
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci&ehci0 {
4762306a36Sopenharmony_ci	status = "okay";
4862306a36Sopenharmony_ci};
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci&i2c0 {
5162306a36Sopenharmony_ci	status = "okay";
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci	eeprom@50 {
5462306a36Sopenharmony_ci		compatible = "atmel,24c64";
5562306a36Sopenharmony_ci		reg = <0x50>;
5662306a36Sopenharmony_ci		pagesize = <32>;
5762306a36Sopenharmony_ci		read-only;
5862306a36Sopenharmony_ci		#address-cells = <1>;
5962306a36Sopenharmony_ci		#size-cells = <1>;
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci		mac_address: mac-address@66 {
6262306a36Sopenharmony_ci			reg = <0x66 0x6>;
6362306a36Sopenharmony_ci		};
6462306a36Sopenharmony_ci	};
6562306a36Sopenharmony_ci};
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci&nand_controller {
6862306a36Sopenharmony_ci	nand@0 {
6962306a36Sopenharmony_ci		compatible = "brcm,nandcs";
7062306a36Sopenharmony_ci		reg = <0>;
7162306a36Sopenharmony_ci		nand-on-flash-bbt;
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci		#address-cells = <1>;
7462306a36Sopenharmony_ci		#size-cells = <1>;
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ci		nand-ecc-strength = <24>;
7762306a36Sopenharmony_ci		nand-ecc-step-size = <1024>;
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci		brcm,nand-oob-sector-size = <27>;
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci		partition@0 {
8262306a36Sopenharmony_ci			label = "u-boot";
8362306a36Sopenharmony_ci			reg = <0x0 0x80000>;
8462306a36Sopenharmony_ci			read-only;
8562306a36Sopenharmony_ci		};
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci		partition@80000 {
8862306a36Sopenharmony_ci			label = "shmoo";
8962306a36Sopenharmony_ci			reg = <0x80000 0x80000>;
9062306a36Sopenharmony_ci			read-only;
9162306a36Sopenharmony_ci		};
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ci		partition@100000 {
9462306a36Sopenharmony_ci			label = "bootkernel1";
9562306a36Sopenharmony_ci			reg = <0x100000 0x300000>;
9662306a36Sopenharmony_ci		};
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci		partition@400000 {
9962306a36Sopenharmony_ci			label = "nvram";
10062306a36Sopenharmony_ci			reg = <0x400000 0x100000>;
10162306a36Sopenharmony_ci		};
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci		partition@500000 {
10462306a36Sopenharmony_ci			label = "bootkernel2";
10562306a36Sopenharmony_ci			reg = <0x500000 0x300000>;
10662306a36Sopenharmony_ci		};
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci		partition@800000 {
10962306a36Sopenharmony_ci			label = "ubi";
11062306a36Sopenharmony_ci			reg = <0x800000 0x3f700000>;
11162306a36Sopenharmony_ci		};
11262306a36Sopenharmony_ci	};
11362306a36Sopenharmony_ci};
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ci&ohci0 {
11662306a36Sopenharmony_ci	status = "okay";
11762306a36Sopenharmony_ci};
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci&pinctrl {
12062306a36Sopenharmony_ci	pinctrl-names = "default";
12162306a36Sopenharmony_ci	pinctrl-0 = <&pwm_leds>;
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ci	pwm_leds: pwm_leds {
12462306a36Sopenharmony_ci		function = "pwm";
12562306a36Sopenharmony_ci		groups = "pwm1_grp", "pwm2_grp", "pwm3_grp";
12662306a36Sopenharmony_ci	};
12762306a36Sopenharmony_ci};
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_ci&pwm {
13062306a36Sopenharmony_ci	status = "okay";
13162306a36Sopenharmony_ci	#pwm-cells = <2>;
13262306a36Sopenharmony_ci};
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci&uart0 {
13562306a36Sopenharmony_ci	clock-frequency = <62500000>;
13662306a36Sopenharmony_ci	status = "okay";
13762306a36Sopenharmony_ci};
138