// SPDX-License-Identifier: GPL-2.0+
// Copyright (c) 2021 Facebook Inc.
/dts-v1/;

#include "aspeed-g6.dtsi"
#include <dt-bindings/gpio/aspeed-gpio.h>
#include <dt-bindings/usb/pd.h>
#include <dt-bindings/leds/leds-pca955x.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/i2c/i2c.h>

/ {
	model = "Facebook Bletchley BMC";
	compatible = "facebook,bletchley-bmc", "aspeed,ast2600";

	aliases {
		serial4 = &uart5;
	};

	chosen {
		bootargs = "console=ttyS4,57600n8";
	};

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

	iio-hwmon {
		compatible = "iio-hwmon";
		io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
			<&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
			<&adc1 0>, <&adc1 1>, <&adc1 2>, <&adc1 3>,
			<&adc1 4>, <&adc1 5>, <&adc1 6>, <&adc1 7>;
	};

	spi1_gpio: spi1-gpio {
		compatible = "spi-gpio";
		#address-cells = <1>;
		#size-cells = <0>;

		gpio-sck = <&gpio0 ASPEED_GPIO(Z, 3) GPIO_ACTIVE_HIGH>;
		gpio-mosi = <&gpio0 ASPEED_GPIO(Z, 4) GPIO_ACTIVE_HIGH>;
		gpio-miso = <&gpio0 ASPEED_GPIO(Z, 5) GPIO_ACTIVE_HIGH>;
		num-chipselects = <1>;
		cs-gpios = <&gpio0 ASPEED_GPIO(Z, 0) GPIO_ACTIVE_LOW>;

		tpmdev@0 {
			compatible = "tcg,tpm_tis-spi";
			spi-max-frequency = <33000000>;
			reg = <0>;
		};
	};

	switchphy: ethernet-phy@0 {
		// Fixed link
	};

	front_gpio_leds {
		compatible = "gpio-leds";
		sys_log_id {
			default-state = "off";
			gpios = <&front_leds 0 GPIO_ACTIVE_LOW>;
		};
	};

	fan_gpio_leds {
		compatible = "gpio-leds";
		fan0_blue {
			retain-state-shutdown;
			default-state = "on";
			gpios = <&fan_leds 8 GPIO_ACTIVE_HIGH>;
		};
		fan1_blue {
			retain-state-shutdown;
			default-state = "on";
			gpios = <&fan_leds 9 GPIO_ACTIVE_HIGH>;
		};
		fan2_blue {
			retain-state-shutdown;
			default-state = "on";
			gpios = <&fan_leds 10 GPIO_ACTIVE_HIGH>;
		};
		fan3_blue {
			retain-state-shutdown;
			default-state = "on";
			gpios = <&fan_leds 11 GPIO_ACTIVE_HIGH>;
		};
		fan0_amber {
			retain-state-shutdown;
			default-state = "off";
			gpios = <&fan_leds 12 GPIO_ACTIVE_HIGH>;
		};
		fan1_amber {
			retain-state-shutdown;
			default-state = "off";
			gpios = <&fan_leds 13 GPIO_ACTIVE_HIGH>;
		};
		fan2_amber {
			retain-state-shutdown;
			default-state = "off";
			gpios = <&fan_leds 14 GPIO_ACTIVE_HIGH>;
		};
		fan3_amber {
			retain-state-shutdown;
			default-state = "off";
			gpios = <&fan_leds 15 GPIO_ACTIVE_HIGH>;
		};
	};

	sled1_gpio_leds {
		compatible = "gpio-leds";
		sled1_amber {
			retain-state-shutdown;
			default-state = "keep";
			gpios = <&sled1_leds 0 GPIO_ACTIVE_LOW>;
		};
		sled1_blue {
			retain-state-shutdown;
			default-state = "keep";
			gpios = <&sled1_leds 1 GPIO_ACTIVE_LOW>;
		};
	};

	sled2_gpio_leds {
		compatible = "gpio-leds";
		sled2_amber {
			retain-state-shutdown;
			default-state = "keep";
			gpios = <&sled2_leds 0 GPIO_ACTIVE_LOW>;
		};
		sled2_blue {
			retain-state-shutdown;
			default-state = "keep";
			gpios = <&sled2_leds 1 GPIO_ACTIVE_LOW>;
		};
	};

	sled3_gpio_leds {
		compatible = "gpio-leds";
		sled3_amber {
			retain-state-shutdown;
			default-state = "keep";
			gpios = <&sled3_leds 0 GPIO_ACTIVE_LOW>;
		};
		sled3_blue {
			retain-state-shutdown;
			default-state = "keep";
			gpios = <&sled3_leds 1 GPIO_ACTIVE_LOW>;
		};
	};

	sled4_gpio_leds {
		compatible = "gpio-leds";
		sled4_amber {
			retain-state-shutdown;
			default-state = "keep";
			gpios = <&sled4_leds 0 GPIO_ACTIVE_LOW>;
		};
		sled4_blue {
			retain-state-shutdown;
			default-state = "keep";
			gpios = <&sled4_leds 1 GPIO_ACTIVE_LOW>;
		};
	};

	sled5_gpio_leds {
		compatible = "gpio-leds";
		sled5_amber {
			retain-state-shutdown;
			default-state = "keep";
			gpios = <&sled5_leds 0 GPIO_ACTIVE_LOW>;
		};
		sled5_blue {
			retain-state-shutdown;
			default-state = "keep";
			gpios = <&sled5_leds 1 GPIO_ACTIVE_LOW>;
		};
	};

	sled6_gpio_leds {
		compatible = "gpio-leds";
		sled6_amber {
			retain-state-shutdown;
			default-state = "keep";
			gpios = <&sled6_leds 0 GPIO_ACTIVE_LOW>;
		};
		sled6_blue {
			retain-state-shutdown;
			default-state = "keep";
			gpios = <&sled6_leds 1 GPIO_ACTIVE_LOW>;
		};
	};

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

		presence-sled1 {
			label = "presence-sled1";
			gpios = <&gpio0 ASPEED_GPIO(H, 2) GPIO_ACTIVE_LOW>;
			linux,code = <ASPEED_GPIO(H, 2)>;
		};
		presence-sled2 {
			label = "presence-sled2";
			gpios = <&gpio0 ASPEED_GPIO(H, 3) GPIO_ACTIVE_LOW>;
			linux,code = <ASPEED_GPIO(H, 3)>;
		};
		presence-sled3 {
			label = "presence-sled3";
			gpios = <&gpio0 ASPEED_GPIO(H, 4) GPIO_ACTIVE_LOW>;
			linux,code = <ASPEED_GPIO(H, 4)>;
		};
		presence-sled4 {
			label = "presence-sled4";
			gpios = <&gpio0 ASPEED_GPIO(H, 5) GPIO_ACTIVE_LOW>;
			linux,code = <ASPEED_GPIO(H, 5)>;
		};
		presence-sled5 {
			label = "presence-sled5";
			gpios = <&gpio0 ASPEED_GPIO(H, 6) GPIO_ACTIVE_LOW>;
			linux,code = <ASPEED_GPIO(H, 6)>;
		};
		presence-sled6 {
			label = "presence-sled6";
			gpios = <&gpio0 ASPEED_GPIO(H, 7) GPIO_ACTIVE_LOW>;
			linux,code = <ASPEED_GPIO(H, 7)>;
		};
	};

	vbus_sled1: vbus_sled1 {
		compatible = "regulator-fixed";
		regulator-name = "vbus_sled1";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&sled1_ioexp 1 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	vbus_sled2: vbus_sled2 {
		compatible = "regulator-fixed";
		regulator-name = "vbus_sled2";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&sled2_ioexp 1 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	vbus_sled3: vbus_sled3 {
		compatible = "regulator-fixed";
		regulator-name = "vbus_sled3";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&sled3_ioexp 1 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	vbus_sled4: vbus_sled4 {
		compatible = "regulator-fixed";
		regulator-name = "vbus_sled4";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&sled4_ioexp 1 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	vbus_sled5: vbus_sled5 {
		compatible = "regulator-fixed";
		regulator-name = "vbus_sled5";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&sled5_ioexp 1 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	vbus_sled6: vbus_sled6 {
		compatible = "regulator-fixed";
		regulator-name = "vbus_sled6";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&sled6_ioexp 1 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};
};

&mac2 {
	status = "okay";
	phy-mode = "rgmii";
	phy-handle = <&switchphy>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_rgmii3_default>;

	fixed-link {
		speed = <1000>;
		full-duplex;
	};
};

&fmc {
	status = "okay";
	flash@0 {
		status = "okay";
		m25p,fast-read;
		label = "bmc";
		spi-max-frequency = <50000000>;
#include "openbmc-flash-layout-128.dtsi"
	};
	flash@1 {
		status = "okay";
		m25p,fast-read;
		label = "flash1";
		spi-max-frequency = <50000000>;
	};
};

&spi2 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_spi2_default>;

	flash@0 {
		status = "okay";
		m25p,fast-read;
		label = "pnor";
		spi-max-frequency = <50000000>;
	};
};

&i2c0 {
	status = "okay";
	ina230@45 {
		compatible = "ti,ina230";
		reg = <0x45>;
		shunt-resistor = <2000>;
	};

	mp5023@40 {
		compatible = "mps,mp5023";
		reg = <0x40>;
	};

	tmp421@4f {
		compatible = "ti,tmp421";
		reg = <0x4f>;
	};

	sled1_ioexp41: pca9536@41 {
		compatible = "nxp,pca9536";
		reg = <0x41>;
		gpio-controller;
		#gpio-cells = <2>;

		gpio-line-names =
		"SLED1_SWD_MUX", "SLED1_XRES_SWD_N",
		"SLED1_CLKREQ_N", "SLED1_PCIE_PWR_EN";
	};

	sled1_ioexp: pca9539@76 {
		compatible = "nxp,pca9539";
		reg = <0x76>;
		#address-cells = <1>;
		#size-cells = <0>;
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-parent = <&gpio0>;
		interrupts = <ASPEED_GPIO(M, 0) IRQ_TYPE_LEVEL_LOW>;

		gpio-line-names =
		"SLED1_MS_DETECT1","SLED1_VBUS_BMC_EN","SLED1_INA230_ALERT","SLED1_P12V_STBY_ALERT",
		"SLED1_SSD_ALERT","SLED1_MS_DETECT0","SLED1_RST_CCG5","SLED1_FUSB302_INT",
		"SLED1_MD_STBY_RESET","SLED1_MD_IOEXP_EN_FAULT","SLED1_MD_DIR","SLED1_MD_DECAY",
		"SLED1_MD_MODE1","SLED1_MD_MODE2","SLED1_MD_MODE3","power-host1";
	};

	sled1_leds: pca9552@67 {
		compatible = "nxp,pca9552";
		reg = <0x67>;
		#address-cells = <1>;
		#size-cells = <0>;
		gpio-controller;
		#gpio-cells = <2>;

		gpio-line-names =
		"led-sled1-amber","led-sled1-blue","SLED1_RST_IOEXP","SLED1_MD_REF_PWM",
		"","","","",
		"","","","",
		"","","","";
	};

	sled1_fusb302: typec-portc@22 {
		compatible = "fcs,fusb302";
		reg = <0x22>;

		interrupt-parent = <&gpio0>;
		interrupts = <ASPEED_GPIO(B, 0) IRQ_TYPE_LEVEL_LOW>;
		vbus-supply = <&vbus_sled1>;

		connector {
			compatible = "usb-c-connector";
			label = "USB-C";
			power-role = "source";
			data-role = "host";
			pd-disable;
			typec-power-opmode = "default";
		};
	};

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

&i2c1 {
	status = "okay";
	ina230@45 {
		compatible = "ti,ina230";
		reg = <0x45>;
		shunt-resistor = <2000>;
	};

	mp5023@40 {
		compatible = "mps,mp5023";
		reg = <0x40>;
	};

	tmp421@4f {
		compatible = "ti,tmp421";
		reg = <0x4f>;
	};

	sled2_ioexp41: pca9536@41 {
		compatible = "nxp,pca9536";
		reg = <0x41>;
		gpio-controller;
		#gpio-cells = <2>;

		gpio-line-names =
		"SLED2_SWD_MUX", "SLED2_XRES_SWD_N",
		"SLED2_CLKREQ_N", "SLED2_PCIE_PWR_EN";
	};

	sled2_ioexp: pca9539@76 {
		compatible = "nxp,pca9539";
		reg = <0x76>;
		#address-cells = <1>;
		#size-cells = <0>;
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-parent = <&gpio0>;
		interrupts = <ASPEED_GPIO(M, 1) IRQ_TYPE_LEVEL_LOW>;

		gpio-line-names =
		"SLED2_MS_DETECT1","SLED2_VBUS_BMC_EN","SLED2_INA230_ALERT","SLED2_P12V_STBY_ALERT",
		"SLED2_SSD_ALERT","SLED2_MS_DETECT0","SLED2_RST_CCG5","SLED2_FUSB302_INT",
		"SLED2_MD_STBY_RESET","SLED2_MD_IOEXP_EN_FAULT","SLED2_MD_DIR","SLED2_MD_DECAY",
		"SLED2_MD_MODE1","SLED2_MD_MODE2","SLED2_MD_MODE3","power-host2";
	};

	sled2_leds: pca9552@67 {
		compatible = "nxp,pca9552";
		reg = <0x67>;
		#address-cells = <1>;
		#size-cells = <0>;
		gpio-controller;
		#gpio-cells = <2>;

		gpio-line-names =
		"led-sled2-amber","led-sled2-blue","SLED2_RST_IOEXP","SLED2_MD_REF_PWM",
		"","","","",
		"","","","",
		"","","","";
	};

	sled2_fusb302: typec-portc@22 {
		compatible = "fcs,fusb302";
		reg = <0x22>;

		interrupt-parent = <&gpio0>;
		interrupts = <ASPEED_GPIO(B, 1) IRQ_TYPE_LEVEL_LOW>;
		vbus-supply = <&vbus_sled2>;

		connector {
			compatible = "usb-c-connector";
			label = "USB-C";
			power-role = "source";
			data-role = "host";
			pd-disable;
			typec-power-opmode = "default";
		};
	};

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

&i2c2 {
	status = "okay";
	ina230@45 {
		compatible = "ti,ina230";
		reg = <0x45>;
		shunt-resistor = <2000>;
	};

	mp5023@40 {
		compatible = "mps,mp5023";
		reg = <0x40>;
	};

	tmp421@4f {
		compatible = "ti,tmp421";
		reg = <0x4f>;
	};

	sled3_ioexp41: pca9536@41 {
		compatible = "nxp,pca9536";
		reg = <0x41>;
		gpio-controller;
		#gpio-cells = <2>;

		gpio-line-names =
		"SLED3_SWD_MUX", "SLED3_XRES_SWD_N",
		"SLED3_CLKREQ_N", "SLED3_PCIE_PWR_EN";
	};

	sled3_ioexp: pca9539@76 {
		compatible = "nxp,pca9539";
		reg = <0x76>;
		#address-cells = <1>;
		#size-cells = <0>;
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-parent = <&gpio0>;
		interrupts = <ASPEED_GPIO(M, 2) IRQ_TYPE_LEVEL_LOW>;

		gpio-line-names =
		"SLED3_MS_DETECT1","SLED3_VBUS_BMC_EN","SLED3_INA230_ALERT","SLED3_P12V_STBY_ALERT",
		"SLED3_SSD_ALERT","SLED3_MS_DETECT0","SLED3_RST_CCG5","SLED3_FUSB302_INT",
		"SLED3_MD_STBY_RESET","SLED3_MD_IOEXP_EN_FAULT","SLED3_MD_DIR","SLED3_MD_DECAY",
		"SLED3_MD_MODE1","SLED3_MD_MODE2","SLED3_MD_MODE3","power-host3";
	};

	sled3_leds: pca9552@67 {
		compatible = "nxp,pca9552";
		reg = <0x67>;
		#address-cells = <1>;
		#size-cells = <0>;
		gpio-controller;
		#gpio-cells = <2>;

		gpio-line-names =
		"led-sled3-amber","led-sled3-blue","SLED3_RST_IOEXP","SLED3_MD_REF_PWM",
		"","","","",
		"","","","",
		"","","","";
	};

	sled3_fusb302: typec-portc@22 {
		compatible = "fcs,fusb302";
		reg = <0x22>;

		interrupt-parent = <&gpio0>;
		interrupts = <ASPEED_GPIO(B, 7) IRQ_TYPE_LEVEL_LOW>;
		vbus-supply = <&vbus_sled3>;

		connector {
			compatible = "usb-c-connector";
			label = "USB-C";
			power-role = "source";
			data-role = "host";
			pd-disable;
			typec-power-opmode = "default";
		};
	};

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

&i2c3 {
	status = "okay";
	ina230@45 {
		compatible = "ti,ina230";
		reg = <0x45>;
		shunt-resistor = <2000>;
	};

	mp5023@40 {
		compatible = "mps,mp5023";
		reg = <0x40>;
	};

	tmp421@4f {
		compatible = "ti,tmp421";
		reg = <0x4f>;
	};

	sled4_ioexp41: pca9536@41 {
		compatible = "nxp,pca9536";
		reg = <0x41>;
		gpio-controller;
		#gpio-cells = <2>;

		gpio-line-names =
		"SLED4_SWD_MUX", "SLED4_XRES_SWD_N",
		"SLED4_CLKREQ_N", "SLED4_PCIE_PWR_EN";
	};

	sled4_ioexp: pca9539@76 {
		compatible = "nxp,pca9539";
		reg = <0x76>;
		#address-cells = <1>;
		#size-cells = <0>;
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-parent = <&gpio0>;
		interrupts = <ASPEED_GPIO(M, 3) IRQ_TYPE_LEVEL_LOW>;

		gpio-line-names =
		"SLED4_MS_DETECT1","SLED4_VBUS_BMC_EN","SLED4_INA230_ALERT","SLED4_P12V_STBY_ALERT",
		"SLED4_SSD_ALERT","SLED4_MS_DETECT0","SLED4_RST_CCG5","SLED4_FUSB302_INT",
		"SLED4_MD_STBY_RESET","SLED4_MD_IOEXP_EN_FAULT","SLED4_MD_DIR","SLED4_MD_DECAY",
		"SLED4_MD_MODE1","SLED4_MD_MODE2","SLED4_MD_MODE3","power-host4";
	};

	sled4_leds: pca9552@67 {
		compatible = "nxp,pca9552";
		reg = <0x67>;
		#address-cells = <1>;
		#size-cells = <0>;
		gpio-controller;
		#gpio-cells = <2>;

		gpio-line-names =
		"led-sled4-amber","led-sled4-blue","SLED4_RST_IOEXP","SLED4_MD_REF_PWM",
		"","","","",
		"","","","",
		"","","","";
	};

	sled4_fusb302: typec-portc@22 {
		compatible = "fcs,fusb302";
		reg = <0x22>;

		interrupt-parent = <&gpio0>;
		interrupts = <ASPEED_GPIO(S, 7) IRQ_TYPE_LEVEL_LOW>;
		vbus-supply = <&vbus_sled4>;

		connector {
			compatible = "usb-c-connector";
			label = "USB-C";
			power-role = "source";
			data-role = "host";
			pd-disable;
			typec-power-opmode = "default";
		};
	};

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

&i2c4 {
	status = "okay";
	ina230@45 {
		compatible = "ti,ina230";
		reg = <0x45>;
		shunt-resistor = <2000>;
	};

	mp5023@40 {
		compatible = "mps,mp5023";
		reg = <0x40>;
	};

	tmp421@4f {
		compatible = "ti,tmp421";
		reg = <0x4f>;
	};

	sled5_ioexp41: pca9536@41 {
		compatible = "nxp,pca9536";
		reg = <0x41>;
		gpio-controller;
		#gpio-cells = <2>;

		gpio-line-names =
		"SLED5_SWD_MUX", "SLED5_XRES_SWD_N",
		"SLED5_CLKREQ_N", "SLED5_PCIE_PWR_EN";
	};

	sled5_ioexp: pca9539@76 {
		compatible = "nxp,pca9539";
		reg = <0x76>;
		#address-cells = <1>;
		#size-cells = <0>;
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-parent = <&gpio0>;
		interrupts = <ASPEED_GPIO(M, 4) IRQ_TYPE_LEVEL_LOW>;

		gpio-line-names =
		"SLED5_MS_DETECT1","SLED5_VBUS_BMC_EN","SLED5_INA230_ALERT","SLED5_P12V_STBY_ALERT",
		"SLED5_SSD_ALERT","SLED5_MS_DETECT0","SLED5_RST_CCG5","SLED5_FUSB302_INT",
		"SLED5_MD_STBY_RESET","SLED5_MD_IOEXP_EN_FAULT","SLED5_MD_DIR","SLED5_MD_DECAY",
		"SLED5_MD_MODE1","SLED5_MD_MODE2","SLED5_MD_MODE3","power-host5";
	};

	sled5_leds: pca9552@67 {
		compatible = "nxp,pca9552";
		reg = <0x67>;
		#address-cells = <1>;
		#size-cells = <0>;
		gpio-controller;
		#gpio-cells = <2>;

		gpio-line-names =
		"led-sled5-amber","led-sled5-blue","SLED5_RST_IOEXP","SLED5_MD_REF_PWM",
		"","","","",
		"","","","",
		"","","","";
	};

	sled5_fusb302: typec-portc@22 {
		compatible = "fcs,fusb302";
		reg = <0x22>;

		interrupt-parent = <&gpio0>;
		interrupts = <ASPEED_GPIO(Y, 3) IRQ_TYPE_LEVEL_LOW>;
		vbus-supply = <&vbus_sled5>;

		connector {
			compatible = "usb-c-connector";
			label = "USB-C";
			power-role = "source";
			data-role = "host";
			pd-disable;
			typec-power-opmode = "default";
		};
	};

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

&i2c5 {
	status = "okay";
	ina230@45 {
		compatible = "ti,ina230";
		reg = <0x45>;
		shunt-resistor = <2000>;
	};

	mp5023@40 {
		compatible = "mps,mp5023";
		reg = <0x40>;
	};

	tmp421@4f {
		compatible = "ti,tmp421";
		reg = <0x4f>;
	};

	sled6_ioexp41: pca9536@41 {
		compatible = "nxp,pca9536";
		reg = <0x41>;
		gpio-controller;
		#gpio-cells = <2>;

		gpio-line-names =
		"SLED6_SWD_MUX", "SLED6_XRES_SWD_N",
		"SLED6_CLKREQ_N", "SLED6_PCIE_PWR_EN";
	};

	sled6_ioexp: pca9539@76 {
		compatible = "nxp,pca9539";
		reg = <0x76>;
		#address-cells = <1>;
		#size-cells = <0>;
		gpio-controller;
		#gpio-cells = <2>;

		interrupt-parent = <&gpio0>;
		interrupts = <ASPEED_GPIO(M, 5) IRQ_TYPE_LEVEL_LOW>;

		gpio-line-names =
		"SLED6_MS_DETECT1","SLED6_VBUS_BMC_EN","SLED6_INA230_ALERT","SLED6_P12V_STBY_ALERT",
		"SLED6_SSD_ALERT","SLED6_MS_DETECT0","SLED6_RST_CCG5","SLED6_FUSB302_INT",
		"SLED6_MD_STBY_RESET","SLED6_MD_IOEXP_EN_FAULT","SLED6_MD_DIR","SLED6_MD_DECAY",
		"SLED6_MD_MODE1","SLED6_MD_MODE2","SLED6_MD_MODE3","power-host6";
	};

	sled6_leds: pca9552@67 {
		compatible = "nxp,pca9552";
		reg = <0x67>;
		#address-cells = <1>;
		#size-cells = <0>;
		gpio-controller;
		#gpio-cells = <2>;

		gpio-line-names =
		"led-sled6-amber","led-sled6-blue","SLED6_RST_IOEXP","SLED6_MD_REF_PWM",
		"","","","",
		"","","","",
		"","","","";
	};

	sled6_fusb302: typec-portc@22 {
		compatible = "fcs,fusb302";
		reg = <0x22>;

		interrupt-parent = <&gpio0>;
		interrupts = <ASPEED_GPIO(I, 7) IRQ_TYPE_LEVEL_LOW>;
		vbus-supply = <&vbus_sled6>;

		connector {
			compatible = "usb-c-connector";
			label = "USB-C";
			power-role = "source";
			data-role = "host";
			pd-disable;
			typec-power-opmode = "default";
		};
	};

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

&i2c6 {
	status = "okay";

	eeprom@56 {
		compatible = "atmel,24c64";
		reg = <0x56>;
	};

	rtc@51 {
		/* in-chip rtc disabled, use external rtc (battery-backed) */
		compatible = "nxp,pcf85263";
		reg = <0x51>;
	};
};

&i2c7 {
	status = "okay";

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

&i2c9 {
	status = "okay";

	tmp421@4f {
		compatible = "ti,tmp421";
		reg = <0x4f>;
	};
};

&i2c10 {
	status = "okay";

	tmp421@4f {
		compatible = "ti,tmp421";
		reg = <0x4f>;
	};

	front_leds: pca9552@67 {
		compatible = "nxp,pca9552";
		reg = <0x67>;
		#address-cells = <1>;
		#size-cells = <0>;
		gpio-controller;
		#gpio-cells = <2>;

		gpio-line-names =
		"led-fault-identify","power-p5v-stby-good",
		"power-p1v0-dvdd-good","power-p1v0-avdd-good",
		"","","","",
		"","","","",
		"","","","";
	};
};

&i2c12 {
	status = "okay";

	adm1278@11 {
		compatible = "adi,adm1278";
		reg = <0x11>;
		shunt-resistor-micro-ohms = <300>;
		adi,volt-curr-sample-average = <128>;
		adi,power-sample-average = <128>;
	};

	tmp421@4c {
		compatible = "ti,tmp421";
		reg = <0x4c>;
	};

	tmp421@4d {
		compatible = "ti,tmp421";
		reg = <0x4d>;
	};

	fan_leds: pca9552@67 {
		compatible = "nxp,pca9552";
		reg = <0x67>;
		#address-cells = <1>;
		#size-cells = <0>;
		gpio-controller;
		#gpio-cells = <2>;

		gpio-line-names =
		"presence-fan0","presence-fan1",
		"presence-fan2","presence-fan3",
		"power-fan0-good","power-fan1-good",
		"power-fan2-good","power-fan3-good",
		"","","","",
		"","","","";
	};
};

&i2c13 {
	multi-master;
	aspeed,hw-timeout-ms = <1000>;
	status = "okay";

	//USB Debug Connector
	ipmb13@10 {
		compatible = "ipmb-dev";
		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
		i2c-protocol;
	};
};

&gpio0 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_gpiov2_unbiased_default>;

	gpio-line-names =
	/*A0-A7*/	"","","","","","","","",
	/*B0-B7*/	"FUSB302_SLED1_INT_N","FUSB302_SLED2_INT_N",
			"SEL_SPI2_MUX","SPI2_MUX1",
			"SPI2_MUX2","SPI2_MUX3",
			"","FUSB302_SLED3_INT_N",
	/*C0-C7*/	"","","","","","","","",
	/*D0-D7*/	"","","","","","","","",
	/*E0-E7*/	"","","","","","","","",
	/*F0-F7*/	"BMC_SLED1_STCK","BMC_SLED2_STCK",
			"BMC_SLED3_STCK","BMC_SLED4_STCK",
			"BMC_SLED5_STCK","BMC_SLED6_STCK",
			"","",
	/*G0-G7*/	"BSM_FRU_WP","SWITCH_FRU_MUX","","FM_SOL_UART_CH_SEL",
			"PWRGD_P1V05_VDDCORE","PWRGD_P1V5_VDD","","",
	/*H0-H7*/	"presence-riser1","presence-riser2",
			"presence-sled1","presence-sled2",
			"presence-sled3","presence-sled4",
			"presence-sled5","presence-sled6",
	/*I0-I7*/	"REV_ID0","",
			"REV_ID1","REV_ID2",
			"","BSM_FLASH_WP_STATUS",
			"BMC_TPM_PRES_N","FUSB302_SLED6_INT_N",
	/*J0-J7*/	"","","","","","","","",
	/*K0-K7*/	"","","","","","","","",
	/*L0-L7*/	"","","","","","BMC_RTC_INT","","",
	/*M0-M7*/	"ALERT_SLED1_N","ALERT_SLED2_N",
			"ALERT_SLED3_N","ALERT_SLED4_N",
			"ALERT_SLED5_N","ALERT_SLED6_N",
			"","USB_DEBUG_PWR_BTN_N",
	/*N0-N7*/	"LED_POSTCODE_0","LED_POSTCODE_1",
			"LED_POSTCODE_2","LED_POSTCODE_3",
			"LED_POSTCODE_4","LED_POSTCODE_5",
			"LED_POSTCODE_6","LED_POSTCODE_7",
	/*O0-O7*/	"","","","",
			"","BOARD_ID0","BOARD_ID1","BOARD_ID2",
	/*P0-P7*/	"","","","","","","","BMC_HEARTBEAT",
	/*Q0-Q7*/	"","","","","","","","",
	/*R0-R7*/	"","","","","","","","",
	/*S0-S7*/	"","","","BAT_DETECT",
			"BMC_BT_WP0_N","BMC_BT_WP1_N","","FUSB302_SLED4_INT_N",
	/*T0-T7*/	"","","","","","","","",
	/*U0-U7*/	"","","","","","","","",
	/*V0-V7*/	"PWRGD_CNS_PSU","RST_BMC_MVL_N",
			"P12V_AUX_ALERT1_N","PSU_PRSNT",
			"USB2_SEL0_A","USB2_SEL1_A",
			"USB2_SEL0_B","USB2_SEL1_B",
	/*W0-W7*/	"RST_FRONT_IOEXP_N","","","","","","","",
	/*X0-X7*/	"","","","","","","","",
	/*Y0-Y7*/	"BMC_SELF_HW_RST","BSM_PRSNT_N",
			"BSM_FLASH_LATCH_N","FUSB302_SLED5_INT_N",
			"","","","",
	/*Z0-Z7*/	"","","","","","","","";
};

&adc0 {
	vref = <1800>;
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
		&pinctrl_adc2_default &pinctrl_adc3_default
		&pinctrl_adc4_default &pinctrl_adc5_default
		&pinctrl_adc6_default &pinctrl_adc7_default>;
};

&adc1 {
	vref = <2500>;
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default
		&pinctrl_adc10_default &pinctrl_adc11_default
		&pinctrl_adc12_default &pinctrl_adc13_default
		&pinctrl_adc14_default &pinctrl_adc15_default>;
};

&mdio0 {
	status = "okay";
	/* TODO: Add Marvell 88E6191X */
};

&mdio3 {
	status = "okay";
	/* TODO: Add Marvell 88X3310 */
};

&ehci0 {
	status = "okay";
};

&ehci1 {
	status = "okay";
};

&emmc_controller {
	status = "okay";
};

&emmc {
	status = "okay";
};

&pinctrl {
	pinctrl_gpiov2_unbiased_default: gpiov2 {
		pins = "AD14";
		bias-disable;
	};
};
