// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2017 Moxa Inc. - https://www.moxa.com/
 *
 * Author: Harry YJ Jhou (周亞諄) <harryyj.jhou@moxa.com>
 *         Jimmy Chen (陳永達)    <jimmy.chen@moxa.com>
 *         SZ Lin (林上智)        <sz.lin@moxa.com>
 */

/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "ls1021a.dtsi"

/ {
	model = "Moxa UC-8410A";
	compatible = "fsl,ls1021a-moxa-uc-8410a", "fsl,ls1021a";

	aliases {
		enet0_rgmii_phy = &rgmii_phy0;
		enet1_rgmii_phy = &rgmii_phy1;
		enet2_rgmii_phy = &rgmii_phy2;
	};

	sys_mclk: clock-mclk {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <24576000>;
	};

	reg_3p3v: regulator-3p3v {
		  compatible = "regulator-fixed";
		  regulator-name = "3P3V";
		  regulator-min-microvolt = <3300000>;
		  regulator-max-microvolt = <3300000>;
		  regulator-always-on;
	};

	leds {
		compatible = "gpio-leds";

		cel-pwr {
			label = "UC8410A:CEL-PWR";
			gpios = <&gpio3 27 GPIO_ACTIVE_LOW>;
			default-state = "off";
		};

		cel-reset {
			label = "UC8410A:CEL-RESET";
			gpios = <&gpio3 28 GPIO_ACTIVE_LOW>;
			default-state = "off";
		};

		str-led {
			label = "UC8410A:RED:PROG";
			gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "mmc0";
		};

		sw-ready {
			label = "UC8410A:GREEN:SWRDY";
			gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>;
			default-state = "on";
		};

		beeper {
			label = "UC8410A:BEEP";
			gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		prog-led0 {
			label = "UC8410A:GREEN:PROG2";
			gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		prog-led1 {
			label = "UC8410A:GREEN:PROG1";
			gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		prog-led2 {
			label = "UC8410A:GREEN:PROG0";
			gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		wifi-signal0 {
			label = "UC8410A:GREEN:CEL2";
			gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		wifi-signal1 {
			label = "UC8410A:GREEN:CEL1";
			gpios = <&gpio3 18 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		wifi-signal2 {
			label = "UC8410A:GREEN:CEL0";
			gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		cpu-diag-red {
			label = "UC8410A:RED:DIA";
			gpios = <&gpio3 20 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		cpu-diag-green {
			label = "UC8410A:GREEN:DIA";
			gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};

		cpu-diag-yellow {
			label = "UC8410A:YELLOW:DIA";
			gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
			default-state = "off";
		};
	};

	gpio-keys {
		compatible = "gpio-keys";

		pushbtn-key {
			label = "push button key";
			gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
			linux,code = <BTN_MISC>;
			default-state = "on";
		};
	};
};

&enet0 {
	phy-handle = <&rgmii_phy0>;
	phy-connection-type = "rgmii-id";
	status = "okay";
};

&enet1 {
	phy-handle = <&rgmii_phy1>;
	phy-connection-type = "rgmii-id";
	status = "okay";
};

&enet2 {
	phy-handle = <&rgmii_phy2>;
	phy-connection-type = "rgmii-id";
	status = "okay";
};

&i2c0 {
	clock-frequency = <100000>;
	status = "okay";

	tpm@20 {
		compatible = "infineon,slb9635tt";
		reg = <0x20>;
	};

	rtc@68 {
		compatible = "dallas,ds1374";
		reg = <0x68>;
	};
};

&lpuart0 {
	status = "okay";
};

&mdio0 {
	rgmii_phy0: ethernet-phy@0 {
		compatible = "marvell,88e1118";
		reg = <0x0>;
		marvell,reg-init =
			<3 0x11 0 0x4415>, /* Reg 3,17 */
			<3 0x10 0 0x77>; /* Reg 3,16 */
	};

	rgmii_phy1: ethernet-phy@1 {
		compatible = "marvell,88e1118";
		reg = <0x1>;
		marvell,reg-init =
			<3 0x11 0 0x4415>, /* Reg 3,17 */
			<3 0x10 0 0x77>; /* Reg 3,16 */
	};

	rgmii_phy2: ethernet-phy@2 {
		compatible = "marvell,88e1118";
		reg = <0x2>;
		marvell,reg-init =
			<3 0x11 0 0x4415>, /* Reg 3,17 */
			<3 0x10 0 0x77>; /* Reg 3,16 */
	};
};

&qspi {
	status = "okay";

	flash: flash@0 {
		compatible = "spansion,s25fl064l", "spansion,s25fl164k";
		#address-cells = <1>;
		#size-cells = <1>;
		spi-max-frequency = <20000000>;
		spi-rx-bus-width = <4>;
		spi-tx-bus-width = <4>;
		reg = <0>;

		partitions@0 {
			label = "U-Boot";
			reg = <0x0 0x180000>;
		};

		partitions@180000 {
			label = "U-Boot Env";
			reg = <0x180000 0x680000>;
		};
	};
};

&sata {
	status = "okay";
};

&uart0 {
	status = "okay";
};

&uart1 {
	status = "okay";
};
