// SPDX-License-Identifier: GPL-2.0+
/dts-v1/;
#include "aspeed-g5.dtsi"
#include <dt-bindings/gpio/aspeed-gpio.h>
#include <dt-bindings/leds/leds-pca955x.h>

/ {
	model = "Mihawk BMC";
	compatible = "ibm,mihawk-bmc", "aspeed,ast2500";

	aliases {
		i2c215 = &bus6_mux215;
		i2c216 = &bus6_mux216;
		i2c217 = &bus6_mux217;
		i2c218 = &bus6_mux218;
		i2c219 = &bus6_mux219;
		i2c220 = &bus6_mux220;
		i2c221 = &bus6_mux221;
		i2c222 = &bus6_mux222;
		i2c223 = &bus7_mux223;
		i2c224 = &bus7_mux224;
		i2c225 = &bus7_mux225;
		i2c226 = &bus7_mux226;
		i2c227 = &bus7_mux227;
		i2c228 = &bus7_mux228;
		i2c229 = &bus7_mux229;
		i2c230 = &bus7_mux230;
		i2c231 = &bus9_mux231;
		i2c232 = &bus9_mux232;
		i2c233 = &bus9_mux233;
		i2c234 = &bus9_mux234;
		i2c235 = &bus9_mux235;
		i2c236 = &bus9_mux236;
		i2c237 = &bus9_mux237;
		i2c238 = &bus9_mux238;
		i2c239 = &bus10_mux239;
		i2c240 = &bus10_mux240;
		i2c241 = &bus10_mux241;
		i2c242 = &bus10_mux242;
		i2c243 = &bus10_mux243;
		i2c244 = &bus10_mux244;
		i2c245 = &bus10_mux245;
		i2c246 = &bus10_mux246;
		i2c247 = &bus12_mux247;
		i2c248 = &bus12_mux248;
		i2c249 = &bus12_mux249;
		i2c250 = &bus12_mux250;
		i2c251 = &bus13_mux251;
		i2c252 = &bus13_mux252;
		i2c253 = &bus13_mux253;
		i2c254 = &bus13_mux254;
		i2c255 = &bus13_mux255;
		i2c256 = &bus13_mux256;
		i2c257 = &bus13_mux257;
		i2c258 = &bus13_mux258;
	};

	chosen {
		stdout-path = &uart5;
		bootargs = "console=ttyS4,115200 earlycon";
	};

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

	reserved-memory {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		flash_memory: region@98000000 {
			no-map;
			reg = <0x98000000 0x04000000>; /* 64M */
		};

		gfx_memory: framebuffer {
			size = <0x01000000>;
			alignment = <0x01000000>;
			compatible = "shared-dma-pool";
			reusable;
		};

		video_engine_memory: jpegbuffer {
			size = <0x02000000>;
			alignment = <0x01000000>;
			compatible = "shared-dma-pool";
			reusable;
		};
	};

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

		event-air-water {
			label = "air-water";
			gpios = <&gpio ASPEED_GPIO(F, 6) GPIO_ACTIVE_LOW>;
			linux,code = <ASPEED_GPIO(F, 6)>;
		};

		event-checkstop {
			label = "checkstop";
			gpios = <&gpio ASPEED_GPIO(J, 2) GPIO_ACTIVE_LOW>;
			linux,code = <ASPEED_GPIO(J, 2)>;
		};

		event-ps0-presence {
			label = "ps0-presence";
			gpios = <&gpio ASPEED_GPIO(Z, 2) GPIO_ACTIVE_LOW>;
			linux,code = <ASPEED_GPIO(Z, 2)>;
		};

		event-ps1-presence {
			label = "ps1-presence";
			gpios = <&gpio ASPEED_GPIO(Z, 0) GPIO_ACTIVE_LOW>;
			linux,code = <ASPEED_GPIO(Z, 0)>;
		};

		button-id {
			label = "id-button";
			gpios = <&gpio ASPEED_GPIO(F, 1) GPIO_ACTIVE_LOW>;
			linux,code = <ASPEED_GPIO(F, 1)>;
		};
	};

	gpio-keys-polled {
		compatible = "gpio-keys-polled";
		poll-interval = <1000>;

		event-fan0-presence {
			label = "fan0-presence";
			gpios = <&pca9552 9 GPIO_ACTIVE_LOW>;
			linux,code = <9>;
		};

		event-fan1-presence {
			label = "fan1-presence";
			gpios = <&pca9552 10 GPIO_ACTIVE_LOW>;
			linux,code = <10>;
		};

		event-fan2-presence {
			label = "fan2-presence";
			gpios = <&pca9552 11 GPIO_ACTIVE_LOW>;
			linux,code = <11>;
		};

		event-fan3-presence {
			label = "fan3-presence";
			gpios = <&pca9552 12 GPIO_ACTIVE_LOW>;
			linux,code = <12>;
		};

		event-fan4-presence {
			label = "fan4-presence";
			gpios = <&pca9552 13 GPIO_ACTIVE_LOW>;
			linux,code = <13>;
		};

		event-fan5-presence {
			label = "fan5-presence";
			gpios = <&pca9552 14 GPIO_ACTIVE_LOW>;
			linux,code = <14>;
		};
	};

	leds {
		compatible = "gpio-leds";

		front-fault {
			retain-state-shutdown;
			default-state = "keep";
			gpios = <&gpio ASPEED_GPIO(AA, 0) GPIO_ACTIVE_LOW>;
		};

		power-button {
			retain-state-shutdown;
			default-state = "keep";
			gpios = <&gpio ASPEED_GPIO(AA, 1) GPIO_ACTIVE_LOW>;
		};

		front-id {
			retain-state-shutdown;
			default-state = "keep";
			gpios = <&gpio ASPEED_GPIO(AA, 2) GPIO_ACTIVE_LOW>;
		};


		fan0 {
			retain-state-shutdown;
			default-state = "keep";
			gpios = <&pca9552 0 GPIO_ACTIVE_LOW>;
		};

		fan1 {
			retain-state-shutdown;
			default-state = "keep";
			gpios = <&pca9552 1 GPIO_ACTIVE_LOW>;
		};

		fan2 {
			retain-state-shutdown;
			default-state = "keep";
			gpios = <&pca9552 2 GPIO_ACTIVE_LOW>;
		};

		fan3 {
			retain-state-shutdown;
			default-state = "keep";
			gpios = <&pca9552 3 GPIO_ACTIVE_LOW>;
		};

		fan4 {
			retain-state-shutdown;
			default-state = "keep";
			gpios = <&pca9552 4 GPIO_ACTIVE_LOW>;
		};

		fan5 {
			retain-state-shutdown;
			default-state = "keep";
			gpios = <&pca9552 5 GPIO_ACTIVE_LOW>;
		};
	};

	fsi: gpio-fsi {
		compatible = "fsi-master-gpio", "fsi-master";
		#address-cells = <2>;
		#size-cells = <0>;
		no-gpio-delays;

		clock-gpios = <&gpio ASPEED_GPIO(E, 6) GPIO_ACTIVE_HIGH>;
		data-gpios = <&gpio ASPEED_GPIO(E, 7) GPIO_ACTIVE_HIGH>;
		mux-gpios = <&gpio ASPEED_GPIO(E, 5) GPIO_ACTIVE_HIGH>;
		enable-gpios = <&gpio ASPEED_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
		trans-gpios = <&gpio ASPEED_GPIO(R, 2) GPIO_ACTIVE_HIGH>;
	};
	iio-hwmon-12v {
		compatible = "iio-hwmon";
		io-channels = <&adc 0>;
	};

	iio-hwmon-5v {
		compatible = "iio-hwmon";
		io-channels = <&adc 1>;
	};

	iio-hwmon-3v {
		compatible = "iio-hwmon";
		io-channels = <&adc 2>;
	};

	iio-hwmon-vdd0 {
		compatible = "iio-hwmon";
		io-channels = <&adc 3>;
	};

	iio-hwmon-vdd1 {
		compatible = "iio-hwmon";
		io-channels = <&adc 4>;
	};

	iio-hwmon-vcs0 {
		compatible = "iio-hwmon";
		io-channels = <&adc 5>;
	};

	iio-hwmon-vcs1 {
		compatible = "iio-hwmon";
		io-channels = <&adc 6>;
	};

	iio-hwmon-vdn0 {
		compatible = "iio-hwmon";
		io-channels = <&adc 7>;
	};

	iio-hwmon-vdn1 {
		compatible = "iio-hwmon";
		io-channels = <&adc 8>;
	};

	iio-hwmon-vio0 {
		compatible = "iio-hwmon";
		io-channels = <&adc 9>;
	};

	iio-hwmon-vio1 {
		compatible = "iio-hwmon";
		io-channels = <&adc 10>;
	};

	iio-hwmon-vddra {
		compatible = "iio-hwmon";
		io-channels = <&adc 11>;
	};

	iio-hwmon-battery {
		compatible = "iio-hwmon";
		io-channels = <&adc 12>;
	};

	iio-hwmon-vddrb {
		compatible = "iio-hwmon";
		io-channels = <&adc 13>;
	};

	iio-hwmon-vddrc {
		compatible = "iio-hwmon";
		io-channels = <&adc 14>;
	};

	iio-hwmon-vddrd {
		compatible = "iio-hwmon";
		io-channels = <&adc 15>;
	};
};

&pwm_tacho {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default
		&pinctrl_pwm2_default &pinctrl_pwm3_default
		&pinctrl_pwm4_default &pinctrl_pwm5_default>;

	fan@0 {
		reg = <0x00>;
		aspeed,fan-tach-ch = /bits/ 8 <0x00>;
	};

	fan@1 {
		reg = <0x01>;
		aspeed,fan-tach-ch = /bits/ 8 <0x01>;
	};

	fan@2 {
		reg = <0x02>;
		aspeed,fan-tach-ch = /bits/ 8 <0x02>;
	};

	fan@3 {
		reg = <0x03>;
		aspeed,fan-tach-ch = /bits/ 8 <0x03>;
	};

	fan@4 {
		reg = <0x04>;
		aspeed,fan-tach-ch = /bits/ 8 <0x04>;
	};

	fan@5 {
		reg = <0x05>;
		aspeed,fan-tach-ch = /bits/ 8 <0x05>;
	};

	fan@6 {
		reg = <0x00>;
		aspeed,fan-tach-ch = /bits/ 8 <0x06>;
	};

	fan@7 {
		reg = <0x01>;
		aspeed,fan-tach-ch = /bits/ 8 <0x07>;
	};

	fan@8 {
		reg = <0x02>;
		aspeed,fan-tach-ch = /bits/ 8 <0x08>;
	};

	fan@9 {
		reg = <0x03>;
		aspeed,fan-tach-ch = /bits/ 8 <0x09>;
	};

	fan@10 {
		reg = <0x04>;
		aspeed,fan-tach-ch = /bits/ 8 <0x0a>;
	};

	fan@11 {
		reg = <0x05>;
		aspeed,fan-tach-ch = /bits/ 8 <0x0b>;
	};
};

&gpio {
	gpio-line-names =
	/*A0-A7*/	"","cfam-reset","","","","","","",
	/*B0-B7*/	"","","","","","","","",
	/*C0-C7*/	"","","","","","","","",
	/*D0-D7*/	"fsi-enable","","","","","","","",
	/*E0-E7*/	"","","","","","fsi-mux","fsi-clock","fsi-data",
	/*F0-F7*/	"","id-button","","","","","air-water","",
	/*G0-G7*/	"","","","","","","","",
	/*H0-H7*/	"","","","","","","","",
	/*I0-I7*/	"","","","","","","","",
	/*J0-J7*/	"","","checkstop","","","","","",
	/*K0-K7*/	"","","","","","","","",
	/*L0-L7*/	"","","","","","","","",
	/*M0-M7*/	"","","","","","","","",
	/*N0-N7*/	"","","","","","","","",
	/*O0-O7*/	"","","","","","","","",
	/*P0-P7*/	"","","","","","","","",
	/*Q0-Q7*/	"","","","","","","","",
	/*R0-R7*/	"","","fsi-trans","","","","","",
	/*S0-S7*/	"","","","","","","","",
	/*T0-T7*/	"","","","","","","","",
	/*U0-U7*/	"","","","","","","","",
	/*V0-V7*/	"","","","","","","","",
	/*W0-W7*/	"","","","","","","","",
	/*X0-X7*/	"","","","","","","","",
	/*Y0-Y7*/	"","","","","","","","",
	/*Z0-Z7*/	"presence-ps1","","presence-ps0","","","","","",
	/*AA0-AA7*/	"led-front-fault","power-button","led-front-id","","","","","",
	/*AB0-AB7*/	"","","","","","","","",
	/*AC0-AC7*/	"","","","","","","","";
};

&fmc {
	status = "okay";
	flash@0 {
		status = "okay";
		label = "bmc";
		m25p,fast-read;
		spi-max-frequency = <50000000>;
		partitions {
			#address-cells = < 1 >;
			#size-cells = < 1 >;
			compatible = "fixed-partitions";
			u-boot@0 {
				reg = < 0 0x60000 >;
				label = "u-boot";
			};
			u-boot-env@60000 {
				reg = < 0x60000 0x20000 >;
				label = "u-boot-env";
			};
			obmc-ubi@80000 {
				reg = < 0x80000 0x1F80000 >;
				label = "obmc-ubi";
			};
		};
	};
	flash@1 {
		status = "okay";
		label = "alt-bmc";
		m25p,fast-read;
		spi-max-frequency = <50000000>;
		partitions {
			#address-cells = < 1 >;
			#size-cells = < 1 >;
			compatible = "fixed-partitions";
			u-boot@0 {
				reg = < 0 0x60000 >;
				label = "alt-u-boot";
			};
			u-boot-env@60000 {
				reg = < 0x60000 0x20000 >;
				label = "alt-u-boot-env";
			};
			obmc-ubi@80000 {
				reg = < 0x80000 0x1F80000 >;
				label = "alt-obmc-ubi";
			};
		};
	};
};

&spi1 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_spi1_default>;

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

&lpc_ctrl {
	status = "okay";
	memory-region = <&flash_memory>;
	flash = <&spi1>;
};

&uart1 {
	/* Rear RS-232 connector */
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_txd1_default
			&pinctrl_rxd1_default
			&pinctrl_nrts1_default
			&pinctrl_ndtr1_default
			&pinctrl_ndsr1_default
			&pinctrl_ncts1_default
			&pinctrl_ndcd1_default
			&pinctrl_nri1_default>;
};

&uart2 {
	/* APSS */
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_txd2_default &pinctrl_rxd2_default>;
};

&uart5 {
	status = "okay";
};

&mac0 {
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_rmii1_default>;
	clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>,
		 <&syscon ASPEED_CLK_MAC1RCLK>;
	clock-names = "MACCLK", "RCLK";
	use-ncsi;
};

&mac1 {
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
};

&i2c0 {
	status = "disabled";
};

&i2c1 {
	status = "disabled";
};

&i2c2 {
	status = "okay";

	/* SAMTEC P0 */
	/* SAMTEC P1 */

};

&i2c3 {
	status = "okay";

	/* APSS */
	/* CPLD */

	/* PCA9516 (repeater) ->
	 *    CLK Buffer 9FGS9092
	 *    CLK Buffer 9DBL0651BKILFT
	 *    CLK Buffer 9DBL0651BKILFT
	 *    Power Supply 0
	 *    Power Supply 1
	 *    PCA 9552 LED
	 */

	power-supply@58 {
		compatible = "ibm,cffps1";
		reg = <0x58>;
	};

	power-supply@5b {
		compatible = "ibm,cffps1";
		reg = <0x5b>;
	};

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

		gpio@0 {
			reg = <0>;
			type = <PCA955X_TYPE_GPIO>;
		};
		gpio@1 {
			reg = <1>;
			type = <PCA955X_TYPE_GPIO>;
		};
		gpio@2 {
			reg = <2>;
			type = <PCA955X_TYPE_GPIO>;
		};
		gpio@3 {
			reg = <3>;
			type = <PCA955X_TYPE_GPIO>;
		};
		gpio@4 {
			reg = <4>;
			type = <PCA955X_TYPE_GPIO>;
		};
		gpio@5 {
			reg = <5>;
			type = <PCA955X_TYPE_GPIO>;
		};
		gpio@6 {
			reg = <6>;
			type = <PCA955X_TYPE_GPIO>;
		};
		gpio@7 {
			reg = <7>;
			type = <PCA955X_TYPE_GPIO>;
		};
		gpio@8 {
			reg = <8>;
			type = <PCA955X_TYPE_GPIO>;
		};
		gpio@9 {
			reg = <9>;
			type = <PCA955X_TYPE_GPIO>;
		};
		gpio@10 {
			reg = <10>;
			type = <PCA955X_TYPE_GPIO>;
		};
		gpio@11 {
			reg = <11>;
			type = <PCA955X_TYPE_GPIO>;
		};
		gpio@12 {
			reg = <12>;
			type = <PCA955X_TYPE_GPIO>;
		};
		gpio@13 {
			reg = <13>;
			type = <PCA955X_TYPE_GPIO>;
		};
		gpio@14 {
			reg = <14>;
			type = <PCA955X_TYPE_GPIO>;
		};
		gpio@15 {
			reg = <15>;
			type = <PCA955X_TYPE_GPIO>;
		};

	};

};

&i2c4 {
	status = "okay";

	/* CP0 VDD & VCS : IR35221 */
	/* CP0 VDN : IR35221 */
	/* CP0 VIO : IR38064 */
	/* CP0 VDDR : PXM1330 */

	ir35221@70 {
		compatible = "infineon,ir35221";
		reg = <0x70>;
	};

	ir35221@72 {
		compatible = "infineon,ir35221";
		reg = <0x72>;
	};

};

&i2c5 {
	status = "okay";

	/* CP0 VDD & VCS : IR35221 */
	/* CP0 VDN : IR35221 */
	/* CP0 VIO : IR38064 */
	/* CP0 VDDR : PXM1330 */

	ir35221@70 {
		compatible = "infineon,ir35221";
		reg = <0x70>;
	};

	ir35221@72 {
		compatible = "infineon,ir35221";
		reg = <0x72>;
	};

};

&i2c6 {
	status = "okay";

	/* pca9548 -> NVMe1 to 8 */

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

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

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

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

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

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

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

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

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

};

&i2c7 {
	status = "okay";

	/* pca9548 -> NVMe9 to 16 */

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

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

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

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

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

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

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

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

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

};

&i2c8 {
	status = "okay";

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

&i2c9 {
	status = "okay";

	/* pca9545 Riser ->
	*	PCIe x8  Slot3
	*	PCIe x16 slot4
	*	PCIe x8  slot5
	*	I2C BMC RISER PCA9554
	*	BMC SCL/SDA PCA9554
	*	PCA9554
	*/

	/* pca9545 ->
	*	PCIe x16 Slot1
	*	PCIe x8  slot2
	*	PEX8748
	*/

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

		i2c-mux-idle-disconnect;
		interrupt-controller;
		#interrupt-cells = <2>;

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

			tca9554@39 {
				compatible = "ti,tca9554";
				reg = <0x39>;
				gpio-controller;
				#gpio-cells = <2>;

				smbus0-hog {
					gpio-hog;
					gpios = <4 GPIO_ACTIVE_HIGH>;
					output-high;
					line-name = "smbus0";
				};
			};

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

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

			tca9554@39 {
				compatible = "ti,tca9554";
				reg = <0x39>;
				gpio-controller;
				#gpio-cells = <2>;

				smbus1-hog {
					gpio-hog;
					gpios = <4 GPIO_ACTIVE_HIGH>;
					output-high;
					line-name = "smbus1";
				};
			};

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

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

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

	pca9545@71 {
		compatible = "nxp,pca9545";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x71>;

		i2c-mux-idle-disconnect;
		interrupt-controller;
		#interrupt-cells = <2>;

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

			tca9554@39 {
				compatible = "ti,tca9554";
				reg = <0x39>;
				gpio-controller;
				#gpio-cells = <2>;

				smbus2-hog {
					gpio-hog;
					gpios = <4 GPIO_ACTIVE_HIGH>;
					output-high;
					line-name = "smbus2";
				};
			};

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

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

			tca9554@39 {
				compatible = "ti,tca9554";
				reg = <0x39>;
				gpio-controller;
				#gpio-cells = <2>;

				smbus3-hog {
					gpio-hog;
					gpios = <4 GPIO_ACTIVE_HIGH>;
					output-high;
					line-name = "smbus3";
				};
			};

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

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

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

&i2c10 {
	status = "okay";

	/* pca9545 Riser ->
	* 	PCIe x8  Slot8
	* 	PCIe x16 slot9
	* 	PCIe x8  slot10
	* 	I2C BMC RISER PCA9554
	* 	BMC SCL/SDA PCA9554
	* 	PCA9554
	*/

	/* pca9545 ->
	*	PCIe x16 Slot1
	*	PCIe x8  slot2
	*	PEX8748
	*/

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

		i2c-mux-idle-disconnect;
		interrupt-controller;
		#interrupt-cells = <2>;

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

			tca9554@39 {
				compatible = "ti,tca9554";
				reg = <0x39>;
				gpio-controller;
				#gpio-cells = <2>;

				smbus4-hog {
					gpio-hog;
					gpios = <4 GPIO_ACTIVE_HIGH>;
					output-high;
					line-name = "smbus4";
				};
			};

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

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

			tca9554@39 {
				compatible = "ti,tca9554";
				reg = <0x39>;
				gpio-controller;
				#gpio-cells = <2>;

				smbus5-hog {
					gpio-hog;
					gpios = <4 GPIO_ACTIVE_HIGH>;
					output-high;
					line-name = "smbus5";
				};
			};

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

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

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

	pca9545@71 {
		compatible = "nxp,pca9545";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x71>;

		i2c-mux-idle-disconnect;
		interrupt-controller;
		#interrupt-cells = <2>;

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

			tca9554@39 {
				compatible = "ti,tca9554";
				reg = <0x39>;
				gpio-controller;
				#gpio-cells = <2>;

				smbus6-hog {
					gpio-hog;
					gpios = <4 GPIO_ACTIVE_HIGH>;
					output-high;
					line-name = "smbus6";
				};
			};

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

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

			tca9554@39 {
				compatible = "ti,tca9554";
				reg = <0x39>;
				gpio-controller;
				#gpio-cells = <2>;

				smbus7-hog {
					gpio-hog;
					gpios = <4 GPIO_ACTIVE_HIGH>;
					output-high;
					line-name = "smbus7";
				};
			};

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

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

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

&i2c11 {
	status = "okay";

	/* TPM */
	/* RTC RX8900CE */
	/* FPGA for power sequence */
	/* TMP275A */
	/* TMP275A */
	/* EMC1462 */

	tpm@57 {
		compatible = "infineon,slb9645tt";
		reg = <0x57>;
	};

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

	tmp275@48 {
		compatible = "ti,tmp275";
		reg = <0x48>;
	};

	tmp275@49 {
		compatible = "ti,tmp275";
		reg = <0x49>;
	};

	/* chip emc1462 use emc1403 driver */
	emc1403@4c {
		compatible = "smsc,emc1403";
		reg = <0x4c>;
	};

};

&i2c12 {
	status = "okay";

	/* pca9545 ->
	*	SAS BP1
	*	SAS BP2
	*	NVMe BP
	*	M.2 riser
	*/

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

		interrupt-controller;
		#interrupt-cells = <2>;

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

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

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

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

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

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

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

			tmp275@48 {
				compatible = "ti,tmp275";
				reg = <0x48>;
			};
		};

	};

};

&i2c13 {
	status = "okay";

	/* pca9548 ->
	*	NVMe BP
	*	NVMe HDD17 to 24
	*/

	pca9548@70 {
		compatible = "nxp,pca9548";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x70>;
		bus13_mux251: i2c@0 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0>;
		};

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

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

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

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

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

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

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

&vuart {
	status = "okay";
};

&gfx {
	status = "okay";
	memory-region = <&gfx_memory>;
};

&adc {
	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
			&pinctrl_adc8_default
			&pinctrl_adc9_default
			&pinctrl_adc10_default
			&pinctrl_adc11_default
			&pinctrl_adc12_default
			&pinctrl_adc13_default
			&pinctrl_adc14_default
			&pinctrl_adc15_default>;
};

&wdt1 {
	aspeed,reset-type = "none";
	aspeed,external-signal;
	aspeed,ext-push-pull;
	aspeed,ext-active-high;

	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_wdtrst1_default>;
};

&wdt2 {
	aspeed,alt-boot;
};

&ibt {
	status = "okay";
};

&vhub {
	status = "okay";
};

&video {
	status = "okay";
	memory-region = <&video_engine_memory>;
};

#include "ibm-power9-dual.dtsi"

