// SPDX-License-Identifier: GPL-2.0+
/*
 * Device Tree File for the Kontron KBox A-230-LS.
 *
 * This consists of a Kontron SMARC-sAL28 (Dual PHY) and a special
 * carrier (s1914).
 *
 * Copyright (C) 2019 Michael Walle <michael@walle.cc>
 *
 */

/dts-v1/;
#include "fsl-ls1028a-kontron-sl28-var4.dts"
#include <dt-bindings/leds/common.h>

/ {
	model = "Kontron KBox A-230-LS";
	compatible = "kontron,kbox-a-230-ls", "kontron,sl28-var4",
		     "kontron,sl28", "fsl,ls1028a";

	leds {
		compatible = "gpio-leds";

		alarm-led {
			function = LED_FUNCTION_ALARM;
			color = <LED_COLOR_ID_YELLOW>;
			gpios = <&sl28cpld_gpio0 0 GPIO_ACTIVE_HIGH>;
		};

		power-led {
			linux,default-trigger = "default-on";
			function = LED_FUNCTION_POWER;
			color = <LED_COLOR_ID_GREEN>;
			gpios = <&sl28cpld_gpio1 3 GPIO_ACTIVE_HIGH>;
		};
	};
};

&enetc_mdio_pf3 {
	/* BCM54140 QSGMII quad PHY */
	qsgmii_phy0: ethernet-phy@7 {
		reg = <7>;
	};

	qsgmii_phy1: ethernet-phy@8 {
		reg = <8>;
	};

	qsgmii_phy2: ethernet-phy@9 {
		reg = <9>;
	};

	qsgmii_phy3: ethernet-phy@10 {
		reg = <10>;
	};
};

&enetc_port2 {
	nvmem-cells = <&base_mac_address 2>;
	nvmem-cell-names = "mac-address";
	status = "okay";
};

&enetc_port3 {
	nvmem-cells = <&base_mac_address 3>;
	nvmem-cell-names = "mac-address";
	status = "okay";
};

&i2c3 {
	eeprom@57 {
		compatible = "atmel,24c32";
		reg = <0x57>;
		pagesize = <32>;
	};
};

&mscc_felix {
	status = "okay";
};

&mscc_felix_port0 {
	label = "swp0";
	managed = "in-band-status";
	phy-handle = <&qsgmii_phy0>;
	phy-mode = "qsgmii";
	nvmem-cells = <&base_mac_address 4>;
	nvmem-cell-names = "mac-address";
	status = "okay";
};

&mscc_felix_port1 {
	label = "swp1";
	managed = "in-band-status";
	phy-handle = <&qsgmii_phy1>;
	phy-mode = "qsgmii";
	nvmem-cells = <&base_mac_address 5>;
	nvmem-cell-names = "mac-address";
	status = "okay";
};

&mscc_felix_port2 {
	label = "swp2";
	managed = "in-band-status";
	phy-handle = <&qsgmii_phy2>;
	phy-mode = "qsgmii";
	nvmem-cells = <&base_mac_address 6>;
	nvmem-cell-names = "mac-address";
	status = "okay";
};

&mscc_felix_port3 {
	label = "swp3";
	managed = "in-band-status";
	phy-handle = <&qsgmii_phy3>;
	phy-mode = "qsgmii";
	nvmem-cells = <&base_mac_address 7>;
	nvmem-cell-names = "mac-address";
	status = "okay";
};

&mscc_felix_port4 {
	status = "okay";
};

&mscc_felix_port5 {
	status = "okay";
};

&sata {
	status = "okay";
};