// 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_HIGH>;
		};
	};

	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>;
		};
	};
};

&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>;

		connector {
			compatible = "usb-c-connector";
			label = "USB-C";
			power-role = "dual";
			try-power-role = "sink";
			data-role = "dual";
			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
			sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
					PDO_VAR(3000, 12000, 3000)
					PDO_PPS_APDO(3000, 11000, 3000)>;
			op-sink-microwatt = <10000000>;
		};
	};

	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>;

		connector {
			compatible = "usb-c-connector";
			label = "USB-C";
			power-role = "dual";
			try-power-role = "sink";
			data-role = "dual";
			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
			sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
					PDO_VAR(3000, 12000, 3000)
					PDO_PPS_APDO(3000, 11000, 3000)>;
			op-sink-microwatt = <10000000>;
		};
	};

	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>;

		connector {
			compatible = "usb-c-connector";
			label = "USB-C";
			power-role = "dual";
			try-power-role = "sink";
			data-role = "dual";
			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
			sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
					PDO_VAR(3000, 12000, 3000)
					PDO_PPS_APDO(3000, 11000, 3000)>;
			op-sink-microwatt = <10000000>;
		};
	};

	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>;

		connector {
			compatible = "usb-c-connector";
			label = "USB-C";
			power-role = "dual";
			try-power-role = "sink";
			data-role = "dual";
			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
			sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
					PDO_VAR(3000, 12000, 3000)
					PDO_PPS_APDO(3000, 11000, 3000)>;
			op-sink-microwatt = <10000000>;
		};
	};

	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>;

		connector {
			compatible = "usb-c-connector";
			label = "USB-C";
			power-role = "dual";
			try-power-role = "sink";
			data-role = "dual";
			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
			sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
					PDO_VAR(3000, 12000, 3000)
					PDO_PPS_APDO(3000, 11000, 3000)>;
			op-sink-microwatt = <10000000>;
		};
	};

	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>;

		connector {
			compatible = "usb-c-connector";
			label = "USB-C";
			power-role = "dual";
			try-power-role = "sink";
			data-role = "dual";
			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
			sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)
					PDO_VAR(3000, 12000, 3000)
					PDO_PPS_APDO(3000, 11000, 3000)>;
			op-sink-microwatt = <10000000>;
		};
	};

	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 {
	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",
			"","",
	/*N0-N7*/	"LED_POSTCODE_0","LED_POSTCODE_1",
			"LED_POSTCODE_2","LED_POSTCODE_3",
			"LED_POSTCODE_4","LED_POSTCODE_5",
			"LED_POSTCODE_5","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";
};
