// SPDX-License-Identifier: GPL-2.0-or-later
// Copyright 2022 Facebook Inc.

/dts-v1/;
#include "aspeed-g6.dtsi"
#include <dt-bindings/gpio/aspeed-gpio.h>
#include <dt-bindings/leds/leds-pca955x.h>
#include <dt-bindings/i2c/i2c.h>

/ {
	model = "Facebook Yosemite 4 BMC";
	compatible = "facebook,yosemite4-bmc", "aspeed,ast2600";

	aliases {
		serial4 = &uart5;
		serial5 = &uart6;
		serial6 = &uart7;
		serial7 = &uart8;
		serial8 = &uart9;
	};

	chosen {
		stdout-path = "serial4: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>;
	};
};

&uart1 {
	status = "okay";
};

&uart2 {
	status = "okay";
};

&uart3 {
	status = "okay";
};

&uart4 {
	status = "okay";
};

&uart5 {
	status = "okay";
};

&uart6 {
	status = "okay";
};

&uart7 {
	status = "okay";
};

&uart8 {
	status = "okay";
};

&uart9 {
	status = "okay";
};

&wdt1 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_wdtrst1_default>;
	aspeed,reset-type = "soc";
	aspeed,external-signal;
	aspeed,ext-push-pull;
	aspeed,ext-active-high;
	aspeed,ext-pulse-duration = <256>;
};

&mac2 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_rmii3_default>;
	use-ncsi;
	mlx,multi-host;
};

&mac3 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_rmii4_default>;
	use-ncsi;
	mlx,multi-host;
};

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

&i2c0 {
	status = "okay";
	mctp-controller;
	bus-frequency = <400000>;
	multi-master;

	mctp@10 {
		compatible = "mctp-i2c-controller";
		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
	};

	power-sensor@40 {
		compatible = "adi,adm1278";
		reg = <0x40>;
	};
};

&i2c1 {
	status = "okay";
	mctp-controller;
	bus-frequency = <400000>;
	multi-master;

	mctp@10 {
		compatible = "mctp-i2c-controller";
		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
	};

	power-sensor@40 {
		compatible = "adi,adm1278";
		reg = <0x40>;
	};
};

&i2c2 {
	status = "okay";
	mctp-controller;
	bus-frequency = <400000>;
	multi-master;

	mctp@10 {
		compatible = "mctp-i2c-controller";
		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
	};

	power-sensor@40 {
		compatible = "adi,adm1278";
		reg = <0x40>;
	};
};

&i2c3 {
	status = "okay";
	mctp-controller;
	bus-frequency = <400000>;
	multi-master;

	mctp@10 {
		compatible = "mctp-i2c-controller";
		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
	};

	power-sensor@40 {
		compatible = "adi,adm1278";
		reg = <0x40>;
	};
};

&i2c4 {
	status = "okay";
	mctp-controller;
	bus-frequency = <400000>;
	multi-master;

	mctp@10 {
		compatible = "mctp-i2c-controller";
		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
	};

	power-sensor@40 {
		compatible = "adi,adm1278";
		reg = <0x40>;
	};
};

&i2c5 {
	status = "okay";
	mctp-controller;
	bus-frequency = <400000>;
	multi-master;

	mctp@10 {
		compatible = "mctp-i2c-controller";
		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
	};

	power-sensor@40 {
		compatible = "adi,adm1278";
		reg = <0x40>;
	};
};

&i2c6 {
	status = "okay";
	mctp-controller;
	bus-frequency = <400000>;
	multi-master;

	mctp@10 {
		compatible = "mctp-i2c-controller";
		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
	};

	power-sensor@40 {
		compatible = "adi,adm1278";
		reg = <0x40>;
	};
};

&i2c7 {
	status = "okay";
	mctp-controller;
	bus-frequency = <400000>;
	multi-master;

	mctp@10 {
		compatible = "mctp-i2c-controller";
		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
	};

	power-sensor@40 {
		compatible = "adi,adm1278";
		reg = <0x40>;
	};
};

&i2c8 {
	status = "okay";
	bus-frequency = <400000>;
	i2c-mux@70 {
		compatible = "nxp,pca9544";
		idle-state = <0>;
		i2c-mux-idle-disconnect;
		reg = <0x70>;
	};
};

&i2c9 {
	status = "okay";
	bus-frequency = <400000>;
	i2c-mux@71 {
		compatible = "nxp,pca9544";
		idle-state = <0>;
		i2c-mux-idle-disconnect;
		reg = <0x71>;
	};
};

&i2c10 {
	status = "okay";
	bus-frequency = <400000>;
};

&i2c11 {
	status = "okay";
	power-sensor@10 {
		compatible = "adi, adm1272";
		reg = <0x10>;
	};

	power-sensor@12 {
		compatible = "adi, adm1272";
		reg = <0x12>;
	};

	gpio@20 {
		compatible = "nxp,pca9555";
		reg = <0x20>;
		gpio-controller;
		#gpio-cells = <2>;
	};

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

	gpio@22 {
		compatible = "nxp,pca9555";
		reg = <0x22>;
		gpio-controller;
		#gpio-cells = <2>;
	};

	gpio@23 {
		compatible = "nxp,pca9555";
		reg = <0x23>;
		gpio-controller;
		#gpio-cells = <2>;
	};

	temperature-sensor@48 {
		compatible = "ti,tmp75";
		reg = <0x48>;
	};

	temperature-sensor@49 {
		compatible = "ti,tmp75";
		reg = <0x49>;
	};

	temperature-sensor@4a {
		compatible = "ti,tmp75";
		reg = <0x4a>;
	};

	temperature-sensor@4b {
		compatible = "ti,tmp75";
		reg = <0x4b>;
	};

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

&i2c12 {
	status = "okay";
	bus-frequency = <400000>;

	temperature-sensor@48 {
		compatible = "ti,tmp75";
		reg = <0x48>;
	};

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

	rtc@6f {
		compatible = "nuvoton,nct3018y";
		reg = <0x6f>;
	};
};

&i2c13 {
	status = "okay";
	bus-frequency = <400000>;
};

&i2c14 {
	status = "okay";
	bus-frequency = <400000>;
	adc@1d {
		compatible = "ti,adc128d818";
		reg = <0x1d>;
		ti,mode = /bits/ 8 <2>;
	};

	adc@35 {
		compatible = "ti,adc128d818";
		reg = <0x35>;
		ti,mode = /bits/ 8 <2>;
	};

	adc@37 {
		compatible = "ti,adc128d818";
		reg = <0x37>;
		ti,mode = /bits/ 8 <2>;
	};

	power-sensor@40 {
		compatible = "ti,ina230";
		reg = <0x40>;
	};

	power-sensor@41 {
		compatible = "ti,ina230";
		reg = <0x41>;
	};

	power-sensor@42 {
		compatible = "ti,ina230";
		reg = <0x42>;
	};

	power-sensor@43 {
		compatible = "ti,ina230";
		reg = <0x43>;
	};

	power-sensor@44 {
		compatible = "ti,ina230";
		reg = <0x44>;
	};

	temperature-sensor@4e {
		compatible = "ti,tmp75";
		reg = <0x4e>;
	};

	temperature-sensor@4f {
		compatible = "ti,tmp75";
		reg = <0x4f>;
	};

	eeprom@51 {
		compatible = "atmel,24c128";
		reg = <0x51>;
	};

	i2c-mux@71 {
		compatible = "nxp,pca9846";
		#address-cells = <1>;
		#size-cells = <0>;

		idle-state = <0>;
		i2c-mux-idle-disconnect;
		reg = <0x71>;

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

			adc@1f {
				compatible = "ti,adc128d818";
				reg = <0x1f>;
				ti,mode = /bits/ 8 <2>;
			};

			pwm@20{
				compatible = "max31790";
				reg = <0x20>;
				#address-cells = <1>;
				#size-cells = <0>;
			};

			gpio@22{
				compatible = "ti,tca6424";
				reg = <0x22>;
			};

			pwm@23{
				compatible = "max31790";
				reg = <0x23>;
				#address-cells = <1>;
				#size-cells = <0>;
			};

			adc@33 {
				compatible = "maxim,max11615";
				reg = <0x33>;
			};

			eeprom@52 {
				compatible = "atmel,24c128";
				reg = <0x52>;
			};

			gpio@61 {
				compatible = "nxp,pca9552";
				reg = <0x61>;
				#address-cells = <1>;
				#size-cells = <0>;
				gpio-controller;
				#gpio-cells = <2>;
			};
		};

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

			adc@1f {
				compatible = "ti,adc128d818";
				reg = <0x1f>;
				ti,mode = /bits/ 8 <2>;
			};

			pwm@20{
				compatible = "max31790";
				reg = <0x20>;
				#address-cells = <1>;
				#size-cells = <0>;
			};

			gpio@22{
				compatible = "ti,tca6424";
				reg = <0x22>;
			};

			pwm@23{
				compatible = "max31790";
				reg = <0x23>;
				#address-cells = <1>;
				#size-cells = <0>;
			};

			adc@33 {
				compatible = "maxim,max11615";
				reg = <0x33>;
			};

			eeprom@52 {
				compatible = "atmel,24c128";
				reg = <0x52>;
			};

			gpio@61 {
				compatible = "nxp,pca9552";
				reg = <0x61>;
				#address-cells = <1>;
				#size-cells = <0>;
				gpio-controller;
				#gpio-cells = <2>;
			};
		};
	};

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

		idle-state = <0>;
		i2c-mux-idle-disconnect;
		reg = <0x73>;

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

			adc@35 {
				compatible = "maxim,max11617";
				reg = <0x35>;
			};
		};

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

			adc@35 {
				compatible = "maxim,max11617";
				reg = <0x35>;
			};
		};
	};
};

&i2c15 {
	status = "okay";
	mctp-controller;
	multi-master;
	bus-frequency = <400000>;

	mctp@10 {
		compatible = "mctp-i2c-controller";
		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
	};

	i2c-mux@72 {
		compatible = "nxp,pca9544";
		idle-state = <0>;
		i2c-mux-idle-disconnect;
		reg = <0x72>;
	};
};

&adc0 {
	ref_voltage = <2500>;
	status = "okay";
	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 {
	ref_voltage = <2500>;
	status = "okay";
	pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default>;
};


&ehci0 {
	status = "okay";
};

&ehci1 {
	status = "okay";
};

&uhci {
	status = "okay";
};
