| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 | 
							- // SPDX-License-Identifier: GPL-2.0 OR MIT
 
- #include "qcom-ipq8068-cryptid-common.dtsi"
 
- #include <dt-bindings/input/input.h>
 
- / {
 
- 	model = "Meraki MR42";
 
- 	compatible = "meraki,mr42", "qcom,ipq8064";
 
- 	aliases {
 
- 		serial1 = &gsbi1_serial;
 
- 		ethernet0 = &gmac3;
 
- 		led-boot = &led_active;
 
- 		led-failsafe = &led_power;
 
- 		led-running = &led_active;
 
- 		led-upgrade = &led_active;
 
- 	};
 
- 	keys {
 
- 		compatible = "gpio-keys";
 
- 		pinctrl-0 = <&button_pins>;
 
- 		pinctrl-names = "default";
 
- 		reset {
 
- 			label = "reset";
 
- 			gpios = <&qcom_pinmux 26 GPIO_ACTIVE_LOW>;
 
- 			linux,code = <KEY_RESTART>;
 
- 			debounce-interval = <60>;
 
- 			wakeup-source;
 
- 		};
 
- 	};
 
- 	leds {
 
- 		compatible = "gpio-leds";
 
- 		pinctrl-0 = <&led_pins>;
 
- 		pinctrl-names = "default";
 
- 		led_power: power {
 
- 			label = "orange:power";
 
- 			gpios = <&qcom_pinmux 31 GPIO_ACTIVE_HIGH>;
 
- 		};
 
- 		led_active: active {
 
- 			label = "white:active";
 
- 			gpios = <&qcom_pinmux 32 GPIO_ACTIVE_HIGH>;
 
- 		};
 
- 	};
 
- };
 
- &gmac3 {
 
- 	status = "okay";
 
- 	qcom,id = <3>;
 
- 	mdiobus = <&mdio0>;
 
- 	phy-mode = "sgmii";
 
- 	phy-handle = <&phy2>;
 
- 	nvmem-cells = <&mac_address>;
 
- 	nvmem-cell-names = "mac-address";
 
- };
 
- &gsbi2 {
 
- 	status = "okay";
 
- 	qcom,mode = <GSBI_PROT_I2C>;
 
- };
 
- &gsbi2_i2c {
 
- 	status = "okay";
 
- 	pinctrl-0 = <&i2c0_pins>;
 
- 	pinctrl-names = "default";
 
- 	ina2xx@40 {
 
- 		compatible = "ina219";
 
- 		shunt-resistor = <40000>;
 
- 		reg = <0x40>;
 
- 	};
 
- 	eeprom@56 {
 
- 		compatible = "atmel,24c64";
 
- 		pagesize = <32>;
 
- 		reg = <0x56>;
 
- 		read-only;
 
- 		#address-cells = <1>;
 
- 		#size-cells = <1>;
 
- 		mac_address: mac-address@66 {
 
- 			reg = <0x66 0x6>;
 
- 		};
 
- 	};
 
- };
 
- &gsbi6 {
 
- 	qcom,mode = <GSBI_PROT_I2C>;
 
- 	status = "okay";
 
- };
 
- &gsbi6_i2c {
 
- 	status = "okay";
 
- 	pinctrl-0 = <&i2c1_pins>;
 
- 	pinctrl-names = "default";
 
- 	tlc591xx@40 {
 
- 		#address-cells = <1>;
 
- 		#size-cells = <0>;
 
- 		compatible = "ti,tlc59108";
 
- 		reg = <0x40>;
 
- 		red@0 {
 
- 			label = "red:user";
 
- 			reg = <0x0>;
 
- 		};
 
- 		green@1 {
 
- 			label = "green:user";
 
- 			reg = <0x1>;
 
- 		};
 
- 		blue@2 {
 
- 			label = "blue:user";
 
- 			reg = <0x2>;
 
- 		};
 
- 	};
 
- };
 
- &mdio0 {
 
- 	status = "okay";
 
- 	pinctrl-0 = <&mdio0_pins_active>, <&phy_active>;
 
- 	pinctrl-names = "default";
 
- 	phy2: ethernet-phy2 {
 
- 		reg = <2>;
 
- 		reset-gpios = <&qcom_pinmux 6 GPIO_ACTIVE_LOW>;
 
- 		reset-assert-us = <24000>;
 
- 		eee-broken-100tx;
 
- 		eee-broken-1000t;
 
- 	};
 
- };
 
- &qcom_pinmux {
 
- 	i2c0_pins: i2c0_pins {
 
- 		mux {
 
- 			pins = "gpio24", "gpio25";
 
- 			function = "gsbi2";
 
- 			drive-strength = <2>;
 
- 			bias-pull-up;
 
- 			input;
 
- 		};
 
- 	};
 
- 	button_pins: button_pins {
 
- 		mux {
 
- 			pins = "gpio26";
 
- 			function = "gpio";
 
- 			drive-strength = <2>;
 
- 			bias-pull-up;
 
- 		};
 
- 	};
 
- 	i2c1_pins: i2c1_pins {
 
- 		mux {
 
- 			pins = "gpio29", "gpio30";
 
- 			function = "gsbi6";
 
- 			drive-strength = <2>;
 
- 			bias-pull-up;
 
- 			input;
 
- 		};
 
- 	};
 
- 	led_pins: led_pins {
 
- 		mux {
 
- 			pins = "gpio31", "gpio32";
 
- 			function = "gpio";
 
- 			drive-strength = <12>;
 
- 			bias-pull-down;
 
- 			output-low;
 
- 		};
 
- 	};
 
- };
 
- &wifi0 {
 
- 	nvmem-cells = <&mac_address>;
 
- 	nvmem-cell-names = "mac-address";
 
- 	mac-address-increment = <1>;
 
- };
 
- &wifi1 {
 
- 	nvmem-cells = <&mac_address>;
 
- 	nvmem-cell-names = "mac-address";
 
- 	mac-address-increment = <2>;
 
- };
 
- &wifi2 {
 
- 	nvmem-cells = <&mac_address>;
 
- 	nvmem-cell-names = "mac-address";
 
- 	mac-address-increment = <3>;
 
- };
 
 
  |