// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (C) 2016 Marvell Technology Group Ltd.
 * Copyright (C) 2020 Sartura Ltd.
 *
 * Device Tree file for IEI Puzzle-M801
 */

#include "armada-8040.dtsi"

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>

/ {
	model = "IEI-Puzzle-M801";
	compatible = "marvell,armada8040", "marvell,armada-ap806-quad", "marvell,armada-ap806";

	aliases {
		ethernet0 = &cp0_eth0;
		ethernet1 = &cp1_eth0;
		ethernet2 = &cp0_eth1;
		ethernet3 = &cp0_eth2;
		ethernet4 = &cp1_eth1;
		ethernet5 = &cp1_eth2;
	};

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

	memory@0 {
		device_type = "memory";
		reg = <0x0 0x0 0x0 0x80000000>;
	};

	/* Regulator labels correspond with schematics */
	v_3_3: regulator-3-3v {
		compatible = "regulator-fixed";
		regulator-name = "v_3_3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-always-on;
		status = "okay";
	};

	v_5v0_usb3_hst_vbus: regulator-usb3-vbus0 {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <&cp0_gpio2 15 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&cp0_xhci_vbus_pins>;
		regulator-name = "v_5v0_usb3_hst_vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		status = "okay";
	};

	v_vddo_h: regulator-1-8v {
		compatible = "regulator-fixed";
		regulator-name = "v_vddo_h";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		regulator-always-on;
		status = "okay";
	};

	sfp_cp0_eth0: sfp-cp0-eth0 {
		compatible = "sff,sfp";
		i2c-bus = <&sfpplus0_i2c>;
		los-gpios = <&sfpplus_gpio 11 GPIO_ACTIVE_HIGH>;
		mod-def0-gpios = <&sfpplus_gpio 10 GPIO_ACTIVE_LOW>;
		tx-disable-gpios = <&sfpplus_gpio 9 GPIO_ACTIVE_HIGH>;
		tx-fault-gpios = <&sfpplus_gpio 8 GPIO_ACTIVE_HIGH>;
		maximum-power-milliwatt = <3000>;
	};

	sfp_cp1_eth0: sfp-cp1-eth0 {
		compatible = "sff,sfp";
		i2c-bus = <&sfpplus1_i2c>;
		los-gpios = <&sfpplus_gpio 3 GPIO_ACTIVE_HIGH>;
		mod-def0-gpios = <&sfpplus_gpio 2 GPIO_ACTIVE_LOW>;
		tx-disable-gpios = <&sfpplus_gpio 1 GPIO_ACTIVE_HIGH>;
		tx-fault-gpios = <&sfpplus_gpio 0 GPIO_ACTIVE_HIGH>;
		maximum-power-milliwatt = <3000>;
	};

	leds {
		compatible = "gpio-leds";
		status = "okay";
		pinctrl-0 = <&cp0_sfpplus_led_pins &cp1_sfpplus_led_pins>;
		pinctrl-names = "default";

		led-0 {
			/* SFP+ port 2: Activity */
			function = LED_FUNCTION_LAN;
			function-enumerator = <0>;
			gpios = <&cp1_gpio1 6 GPIO_ACTIVE_LOW>;
		};

		led-1 {
			/* SFP+ port 1: Activity */
			function = LED_FUNCTION_LAN;
			function-enumerator = <1>;
			gpios = <&cp1_gpio1 14 GPIO_ACTIVE_LOW>;
		};

		led-2 {
			/* SFP+ port 2: 10 Gbps indicator */
			function = LED_FUNCTION_LAN;
			function-enumerator = <2>;
			gpios = <&cp1_gpio1 7 GPIO_ACTIVE_LOW>;
		};

		led-3 {
			/* SFP+ port 2: 1 Gbps indicator */
			function = LED_FUNCTION_LAN;
			function-enumerator = <3>;
			gpios = <&cp1_gpio1 8 GPIO_ACTIVE_LOW>;
		};

		led-4 {
			/* SFP+ port 1: 10 Gbps indicator */
			function = LED_FUNCTION_LAN;
			function-enumerator = <4>;
			gpios = <&cp1_gpio1 10 GPIO_ACTIVE_LOW>;
		};

		led-5 {
			/* SFP+ port 1: 1 Gbps indicator */
			function = LED_FUNCTION_LAN;
			function-enumerator = <5>;
			gpios = <&cp1_gpio1 31 GPIO_ACTIVE_LOW>;
		};

		led-6 {
			function = LED_FUNCTION_DISK;
			linux,default-trigger = "disk-activity";
			gpios = <&cp0_gpio2 22 GPIO_ACTIVE_HIGH>;
		};

	};
};

&ap_sdhci0 {
	bus-width = <8>;
	/*
	 * Not stable in HS modes - phy needs "more calibration", so add
	 * the "slow-mode" and disable SDR104, SDR50 and DDR50 modes.
	 */
	marvell,xenon-phy-slow-mode;
	no-1-8-v;
	no-sd;
	no-sdio;
	non-removable;
	status = "okay";
	vqmmc-supply = <&v_vddo_h>;
};

&ap_thermal_cpu1 {
	trips {
		cpu_active: cpu-active {
			temperature = <44000>;
			hysteresis = <2000>;
			type = "active";
		};
	};
	cooling-maps {
		fan-map {
			trip = <&cpu_active>;
			cooling-device = <&chassis_fan_group0 64 THERMAL_NO_LIMIT>,
					<&chassis_fan_group1 64 THERMAL_NO_LIMIT>;
		};
	};
};

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

	rtc@32 {
		compatible = "epson,rx8010";
		reg = <0x32>;
	};
};

&spi0 {
	status = "okay";
	flash@0 {
		#address-cells = <0x1>;
		#size-cells = <0x1>;
		compatible = "jedec,spi-nor";
		reg = <0x0>;
		spi-max-frequency = <20000000>;
		partition@u-boot {
			label = "u-boot";
			reg = <0x00000000 0x001f0000>;
		};
		partition@u-boot-env {
			label = "u-boot-env";
			reg = <0x001f0000 0x00010000>;
		};
		partition@ubi1 {
			label = "ubi1";
			reg = <0x00200000 0x03f00000>;
		};
		partition@ubi2 {
			label = "ubi2";
			reg = <0x04100000 0x03f00000>;
		};
	};
};

&uart0 {
	status = "okay";
	pinctrl-0 = <&uart0_pins>;
	pinctrl-names = "default";
};

&uart1 {
	status = "okay";
	/* IEI WT61P803 PUZZLE MCU Controller */
	mcu {
		compatible = "iei,wt61p803-puzzle";
		current-speed = <115200>;
		enable-beep;

		leds {
			compatible = "iei,wt61p803-puzzle-leds";
			#address-cells = <1>;
			#size-cells = <0>;

			led@0 {
				reg = <0>;
				function = LED_FUNCTION_POWER;
				color = <LED_COLOR_ID_BLUE>;
			};
		};

		hwmon {
			compatible = "iei,wt61p803-puzzle-hwmon";
			#address-cells = <1>;
			#size-cells = <0>;

			chassis_fan_group0:fan-group@0 {
				#cooling-cells = <2>;
				reg = <0x00>;
				cooling-levels = <64 102 170 230 250>;
			};

			chassis_fan_group1:fan-group@1 {
				#cooling-cells = <2>;
				reg = <0x01>;
				cooling-levels = <64 102 170 230 250>;
			};
		};
	};
};

&cp0_rtc {
	status = "disabled";
};

&cp0_i2c0 {
	clock-frequency = <100000>;
	pinctrl-names = "default";
	pinctrl-0 = <&cp0_i2c0_pins>;
	status = "okay";

	sfpplus_gpio: gpio@21 {
		compatible = "nxp,pca9555";
		reg = <0x21>;
		gpio-controller;
		#gpio-cells = <2>;
	};

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

&cp0_i2c1 {
	clock-frequency = <100000>;
	pinctrl-names = "default";
	pinctrl-0 = <&cp0_i2c1_pins>;
	status = "okay";

	i2c-mux@70 {
		compatible = "nxp,pca9544";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x70>;

		sfpplus0_i2c: i2c@0 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0>;
		};

		sfpplus1_i2c: i2c@1 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <1>;
		};
	};
};

&cp0_uart1 {
	pinctrl-names = "default";
	pinctrl-0 = <&cp0_uart1_pins>;
	status = "okay";
};

&cp0_mdio {
	#address-cells = <1>;
	#size-cells = <0>;

	status = "okay";

	ge_phy2: ethernet-phy@0 {
		reg = <0>;
	};

	ge_phy3: ethernet-phy@1 {
		reg = <1>;
	};
};

&cp0_pcie0 {
	pinctrl-names = "default";
	pinctrl-0 = <&cp0_pcie_pins>;
	num-lanes = <1>;
	num-viewport = <8>;
	reset-gpios = <&cp0_gpio2 20 GPIO_ACTIVE_LOW>;
	ranges = <0x82000000 0x0 0xc0000000 0x0 0xc0000000 0x0 0x20000000>;
	phys = <&cp0_comphy0 0>;
	phy-names = "cp0-pcie0-x1-phy";
	status = "okay";
};

&cp0_pinctrl {
	cp0_ge_mdio_pins: ge-mdio-pins {
		marvell,pins = "mpp32", "mpp34";
		marvell,function = "ge";
	};
	cp0_i2c1_pins: i2c1-pins {
		marvell,pins = "mpp35", "mpp36";
		marvell,function = "i2c1";
	};
	cp0_i2c0_pins: i2c0-pins {
		marvell,pins = "mpp37", "mpp38";
		marvell,function = "i2c0";
	};
	cp0_uart1_pins: uart1-pins {
		marvell,pins = "mpp40", "mpp41";
		marvell,function = "uart1";
	};
	cp0_xhci_vbus_pins: xhci0-vbus-pins {
		marvell,pins = "mpp47";
		marvell,function = "gpio";
	};
	cp0_pcie_pins: pcie-pins {
		marvell,pins = "mpp52";
		marvell,function = "gpio";
	};
	cp0_sdhci_pins: sdhci-pins {
		marvell,pins = "mpp55", "mpp56", "mpp57", "mpp58", "mpp59",
			       "mpp60", "mpp61";
		marvell,function = "sdio";
	};
	cp0_sfpplus_led_pins: sfpplus-led-pins {
		marvell,pins = "mpp54";
		marvell,function = "gpio";
	};
};

&cp0_ethernet {
	status = "okay";
};

&cp0_eth0 {
	status = "okay";
	phy-mode = "10gbase-r";
	phys = <&cp0_comphy4 0>;
	local-mac-address = [ae 00 00 00 ff 00];
	sfp = <&sfp_cp0_eth0>;
	managed = "in-band-status";
};

&cp0_eth1 {
	status = "okay";
	phy = <&ge_phy2>;
	phy-mode = "sgmii";
	local-mac-address = [ae 00 00 00 ff 01];
	phys = <&cp0_comphy3 1>;
};

&cp0_eth2 {
	status = "okay";
	phy-mode = "sgmii";
	phys = <&cp0_comphy1 2>;
	local-mac-address = [ae 00 00 00 ff 02];
	phy = <&ge_phy3>;
};

&cp0_sata0 {
	status = "okay";

	sata-port@0 {
		phys = <&cp0_comphy2 0>;
		phy-names = "cp0-sata0-0-phy";
	};

	sata-port@1 {
		phys = <&cp0_comphy5 1>;
		phy-names = "cp0-sata0-1-phy";
	};
};

&cp0_sdhci0 {
	broken-cd;
	bus-width = <4>;
	pinctrl-names = "default";
	pinctrl-0 = <&cp0_sdhci_pins>;
	status = "okay";
	vqmmc-supply = <&v_3_3>;
};

&cp0_usb3_0 {
	status = "okay";
};

&cp0_usb3_1 {
	status = "okay";
};

&cp1_i2c0 {
	clock-frequency = <100000>;
	status = "disabled";
};

&cp1_i2c1 {
	clock-frequency = <100000>;
	status = "disabled";
};

&cp1_rtc {
	status = "disabled";
};

&cp1_ethernet {
	status = "okay";
};

&cp1_eth0 {
	status = "okay";
	phy-mode = "10gbase-r";
	phys = <&cp1_comphy4 0>;
	local-mac-address = [ae 00 00 00 ff 03];
	sfp = <&sfp_cp1_eth0>;
	managed = "in-band-status";
};

&cp1_eth1 {
	status = "okay";
	phy = <&ge_phy4>;
	phy-mode = "sgmii";
	local-mac-address = [ae 00 00 00 ff 04];
	phys = <&cp1_comphy3 1>;
};

&cp1_eth2 {
	status = "okay";
	phy-mode = "sgmii";
	local-mac-address = [ae 00 00 00 ff 05];
	phys = <&cp1_comphy5 2>;
	phy = <&ge_phy5>;
};

&cp1_pinctrl {
	cp1_sfpplus_led_pins: sfpplus-led-pins {
		marvell,pins = "mpp6", "mpp7", "mpp8", "mpp10", "mpp14", "mpp31";
		marvell,function = "gpio";
	};
};

&cp1_uart0 {
	status = "disabled";
};

&cp1_comphy2 {
	cp1_usbh0_con: connector {
		compatible = "usb-a-connector";
		phy-supply = <&v_5v0_usb3_hst_vbus>;
	};
};

&cp1_usb3_0 {
	phys = <&cp1_comphy2 0>;
	phy-names = "cp1-usb3h0-comphy";
	status = "okay";
};

&cp1_mdio {
	#address-cells = <1>;
	#size-cells = <0>;

	status = "okay";

	ge_phy4: ethernet-phy@1 {
		reg = <1>;
	};
	ge_phy5: ethernet-phy@0 {
		reg = <0>;
	};
};

&cp1_pcie0 {
	num-lanes = <2>;
	phys = <&cp1_comphy0 0>, <&cp1_comphy1 0>;
	phy-names = "cp1-pcie0-x2-lane0-phy", "cp1-pcie0-x2-lane1-phy";
	status = "okay";
};
