// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * lan966x-pcb8385.dts - Device Tree file for PCB8385
 */
/dts-v1/;

#include "lan966x.dtsi"
#include "dt-bindings/phy/phy-lan966x-serdes.h"

/ {
	model = "Microchip EVB - LAN9668";
	compatible = "microchip,lan9668-pcb8385", "microchip,lan9668", "microchip,lan966";

	aliases {
		serial0 = &usart3;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	gpio-restart {
		compatible = "gpio-restart";
		gpios = <&gpio 59 GPIO_ACTIVE_LOW>;
		open-source;
		priority = <200>;
	};

	leds {
		compatible = "gpio-leds";

		led-p1-green {
			label = "cu0:green";
			gpios = <&sgpio_out 2 0 GPIO_ACTIVE_LOW>;
			default-state = "off";
		};

		led-p1-yellow {
			label = "cu0:yellow";
			gpios = <&sgpio_out 2 1 GPIO_ACTIVE_LOW>;
			default-state = "off";
		};

		led-p2-green {
			label = "cu1:green";
			gpios = <&sgpio_out 3 0 GPIO_ACTIVE_LOW>;
			default-state = "off";
		};

		led-p2-yellow {
			label = "cu1:yellow";
			gpios = <&sgpio_out 3 1 GPIO_ACTIVE_LOW>;
			default-state = "off";
		};
	};
};

&aes {
	status = "reserved"; /* Reserved by secure OS */
};

&flx0 {
	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
	status = "okay";
};

&flx3 {
	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
	status = "okay";
};

&gpio {
	fc0_b_pins: fc0-b-pins {
		/* SCL, SDA */
		pins = "GPIO_25", "GPIO_26";
		function = "fc0_b";
	};

	fc3_b_pins: fc3-b-pins {
		/* RX, TX */
		pins = "GPIO_52", "GPIO_53";
		function = "fc3_b";
	};

	sgpio_a_pins: sgpio-a-pins {
		/* SCK, D0, D1, LD */
		pins = "GPIO_32", "GPIO_33", "GPIO_34", "GPIO_35";
		function = "sgpio_a";
	};
};

&i2c0 {
	pinctrl-0 = <&fc0_b_pins>;
	pinctrl-names = "default";
	dmas = <0>, <0>;
	i2c-analog-filter;
	i2c-digital-filter;
	i2c-digital-filter-width-ns = <35>;
	i2c-sda-hold-time-ns = <1500>;
	status = "okay";

	eeprom@54 {
		compatible = "atmel,24c01";
		reg = <0x54>;
	};

	eeprom@55 {
		compatible = "atmel,24c01";
		reg = <0x55>;
	};
};

&sgpio {
	pinctrl-0 = <&sgpio_a_pins>;
	pinctrl-names = "default";
	microchip,sgpio-port-ranges = <0 3>;
	status = "okay";

	gpio@0 {
		ngpios = <64>;
	};
	gpio@1 {
		ngpios = <64>;
	};
};

&usart3 {
	pinctrl-0 = <&fc3_b_pins>;
	pinctrl-names = "default";
	status = "okay";
};
