// SPDX-License-Identifier: GPL-2.0+
// Copyright (c) 2018 Facebook Inc.
// Author: Vijay Khemka <vijaykhemka@fb.com>
/dts-v1/;

#include "aspeed-g5.dtsi"
#include <dt-bindings/gpio/aspeed-gpio.h>

/ {
	model = "Facebook TiogaPass BMC";
	compatible = "facebook,tiogapass-bmc", "aspeed,ast2500";
	aliases {
		serial0 = &uart1;
		serial4 = &uart5;
	};
	chosen {
		stdout-path = &uart5;
		bootargs = "console=ttyS4,115200 earlyprintk";
	};

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

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

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

&fmc {
	status = "okay";
	flash@0 {
		status = "okay";
		m25p,fast-read;
#include "openbmc-flash-layout.dtsi"
	};
};

&spi1 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_spi1_default>;
	flash@0 {
		status = "okay";
		m25p,fast-read;
		label = "pnor";
	};
};

&lpc_snoop {
	status = "okay";
	snoop-ports = <0x80>;
};

&lpc_ctrl {
	// Enable lpc clock
	status = "okay";
};

&vuart {
	// VUART Host Console
	status = "okay";
};

&uart1 {
	// Host Console
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_txd1_default
		     &pinctrl_rxd1_default>;
};

&uart2 {
	// SoL Host Console
	status = "okay";
};

&uart3 {
	// SoL BMC Console
	status = "okay";
};

&uart5 {
	// BMC Console
	status = "okay";
};

&kcs2 {
	// BMC KCS channel 2
	status = "okay";
	kcs_addr = <0xca8>;
};

&kcs3 {
	// BMC KCS channel 3
	status = "okay";
	kcs_addr = <0xca2>;
};

&mac0 {
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_rmii1_default>;
	use-ncsi;
};

&adc {
	status = "okay";
};

&i2c0 {
	status = "okay";
	//Airmax Conn B, CPU0 PIROM, CPU1 PIROM
};

&i2c1 {
	status = "okay";
	//X24 Riser
};

&i2c2 {
	status = "okay";
	// Mezz Management SMBus
};

&i2c3 {
	status = "okay";
	// SMBus to Board ID EEPROM
};

&i2c4 {
	status = "okay";
	// BMC Debug Header
};

&i2c5 {
	status = "okay";
	// CPU Voltage regulators
};

&i2c6 {
	status = "okay";
	tpm@20 {
		compatible = "infineon,slb9645tt";
		reg = <0x20>;
	};
	tmp421@4e {
		compatible = "ti,tmp421";
		reg = <0x4e>;
	};
	tmp421@4f {
		compatible = "ti,tmp421";
		reg = <0x4f>;
	};
	eeprom@54 {
		compatible = "atmel,24c64";
		reg = <0x54>;
		pagesize = <32>;
	};
};

&i2c7 {
	status = "okay";
	//HSC, AirMax Conn A
};

&i2c8 {
	status = "okay";
	tmp421@1f {
		compatible = "ti,tmp421";
		reg = <0x1f>;
	};
	//Mezz Sensor SMBus
};

&i2c9 {
	status = "okay";
	//USB Debug Connector
};

&pwm_tacho {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default>;
	fan@0 {
		reg = <0x00>;
		aspeed,fan-tach-ch = /bits/ 8 <0x00>;
	};

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