// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * lan966x-pcb8290.dts - Device Tree file for LAN966X-PCB8290 board
 *
 * Copyright (C) 2022 Microchip Technology Inc. and its subsidiaries
 *
 * Author: Horatiu Vultur <horatiu.vultur@microchip.com>
 */
/dts-v1/;
#include "lan966x.dtsi"
#include "dt-bindings/phy/phy-lan966x-serdes.h"

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

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

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

&gpio {
	miim_a_pins: mdio-pins {
		/* MDC, MDIO */
		pins =  "GPIO_28", "GPIO_29";
		function = "miim_a";
	};

	pps_out_pins: pps-out-pins {
		/* 1pps output */
		pins = "GPIO_38";
		function = "ptpsync_3";
	};

	ptp_ext_pins: ptp-ext-pins {
		/* 1pps input */
		pins = "GPIO_35";
		function = "ptpsync_0";
	};

	udc_pins: ucd-pins {
		/* VBUS_DET B */
		pins = "GPIO_8";
		function = "usb_slave_b";
	};
};

&mdio0 {
	pinctrl-0 = <&miim_a_pins>;
	pinctrl-names = "default";
	status = "okay";

	ext_phy0: ethernet-phy@7 {
		reg = <7>;
		coma-mode-gpios = <&gpio 60 GPIO_OPEN_DRAIN>;
	};

	ext_phy1: ethernet-phy@8 {
		reg = <8>;
		coma-mode-gpios = <&gpio 60 GPIO_OPEN_DRAIN>;
	};

	ext_phy2: ethernet-phy@9 {
		reg = <9>;
		coma-mode-gpios = <&gpio 60 GPIO_OPEN_DRAIN>;
	};

	ext_phy3: ethernet-phy@10 {
		reg = <10>;
		coma-mode-gpios = <&gpio 60 GPIO_OPEN_DRAIN>;
	};

	ext_phy4: ethernet-phy@15 {
		reg = <15>;
		coma-mode-gpios = <&gpio 60 GPIO_OPEN_DRAIN>;
	};

	ext_phy5: ethernet-phy@16 {
		reg = <16>;
		coma-mode-gpios = <&gpio 60 GPIO_OPEN_DRAIN>;
	};

	ext_phy6: ethernet-phy@17 {
		reg = <17>;
		coma-mode-gpios = <&gpio 60 GPIO_OPEN_DRAIN>;
	};

	ext_phy7: ethernet-phy@18 {
		reg = <18>;
		coma-mode-gpios = <&gpio 60 GPIO_OPEN_DRAIN>;
	};
};

&port0 {
	reg = <2>;
	phy-handle = <&ext_phy2>;
	phy-mode = "qsgmii";
	phys = <&serdes 0 SERDES6G(1)>;
	status = "okay";
};

&port1 {
	reg = <3>;
	phy-handle = <&ext_phy3>;
	phy-mode = "qsgmii";
	phys = <&serdes 1 SERDES6G(1)>;
	status = "okay";
};

&port2 {
	reg = <0>;
	phy-handle = <&ext_phy0>;
	phy-mode = "qsgmii";
	phys = <&serdes 2 SERDES6G(1)>;
	status = "okay";
};

&port3 {
	reg = <1>;
	phy-handle = <&ext_phy1>;
	phy-mode = "qsgmii";
	phys = <&serdes 3 SERDES6G(1)>;
	status = "okay";
};

&port4 {
	reg = <6>;
	phy-handle = <&ext_phy6>;
	phy-mode = "qsgmii";
	phys = <&serdes 4 SERDES6G(2)>;
	status = "okay";
};

&port5 {
	reg = <7>;
	phy-handle = <&ext_phy7>;
	phy-mode = "qsgmii";
	phys = <&serdes 5 SERDES6G(2)>;
	status = "okay";
};

&port6 {
	reg = <4>;
	phy-handle = <&ext_phy4>;
	phy-mode = "qsgmii";
	phys = <&serdes 6 SERDES6G(2)>;
	status = "okay";
};

&port7 {
	reg = <5>;
	phy-handle = <&ext_phy5>;
	phy-mode = "qsgmii";
	phys = <&serdes 7 SERDES6G(2)>;
	status = "okay";
};

&serdes {
	status = "okay";
};

&switch {
	pinctrl-0 = <&pps_out_pins>, <&ptp_ext_pins>;
	pinctrl-names = "default";
	status = "okay";
};

&udc {
	pinctrl-0 = <&udc_pins>;
	pinctrl-names = "default";
	atmel,vbus-gpio = <&gpio 8 GPIO_ACTIVE_HIGH>;
	status = "okay";
};
