// SPDX-License-Identifier: GPL-2.0-or-later
// Copyright 2022 Quanta Corp.
/dts-v1/;

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

/ {
	model = "Quanta S6Q BMC";
	compatible = "quanta,s6q-bmc", "aspeed,ast2600";

	aliases {
		// bus 0
		i2c20 = &SMB_HOST_DB2000_3V3AUX_SCL;
		i2c21 = &U12_PCA9546_CH1;
		i2c22 = &SMB_HOST_DB800_B_SCL;
		i2c23 = &SMB_HOST_DB800_C_SCL;

		// bus 1
		i2c24 = &SMB_M2_P0_1V8AUX_SCL;
		i2c25 = &SMB_M2_P1_1V8AUX_SCL;
		i2c26 = &SMB_CPU_PIROM_3V3AUX_SCL;
		i2c27 = &SMB_TEMP_3V3AUX_SCL;
		i2c28 = &SMB_IPMB_3V3AUX_SSDSB_SCL;
		i2c29 = &SMB_IPMB_3V3AUX_SCL;
		i2c31 = &SMB_FB_SCL;

		// bus 1 - Fan board
		i2c32 = &SMB_IOEXP_SCL;
		i2c33 = &SMB_PROGRAM_SCL;
		i2c34 = &SMB_FB_SCL_CH2;
		i2c35 = &SMB_FAN_SENSE_SCL;

		// bus 6
		i2c36 = &U197_PCA9546_CH0;
		i2c37 = &U197_PCA9546_CH1;
		i2c38 = &U197_PCA9546_CH2;
		i2c39 = &U197_PCA9546_CH3;

		//bus 7
		i2c40 = &SMB_OCP_SFF_3V3AUX_SCL; //OCP1
		i2c41 = &SMB_OCP_LFF_3V3AUX_SCL; //OCP2
	};

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

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

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

	leds {
		compatible = "gpio-leds";

		BMC_HEARTBEAT_N {
			label = "BMC_HEARTBEAT_N";
			gpios = <&gpio0 ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>;
			linux,default-trigger = "heartbeat";
		};

		BMC_LED_STATUS_AMBER_N {
			label = "BMC_LED_STATUS_AMBER_N";
			gpios = <&gpio0 ASPEED_GPIO(S, 6) GPIO_ACTIVE_LOW>;
			default-state = "off";
		};

		FM_ID_LED_N {
			label = "FM_ID_LED_N";
			gpios = <&gpio0 ASPEED_GPIO(B, 5) GPIO_ACTIVE_LOW>;
			default-state = "off";
		};
	};
};

&gpio0 {
	gpio-line-names =
	/*A0 - A7*/	"", "", "", "", "", "", "", "",
	/*B0 - B7*/	"", "", "", "", "", "", "", "",
	/*C0 - C7*/	"", "", "", "", "", "", "", "",
	/*D0 - D7*/	"", "", "", "", "", "", "", "",
	/*E0 - E7*/	"", "", "", "", "", "", "", "",
	/*F0 - F7*/	"PLTRST_N", "", "PWR_DEBUG_N", "", "", "", "", "",
	/*G0 - G7*/	"", "", "", "", "", "", "", "",
	/*H0 - H7*/	"", "", "", "", "", "", "", "",
	/*I0 - I7*/	"", "", "", "", "", "", "", "",
	/*J0 - J7*/	"", "", "", "", "", "", "", "",
	/*K0 - K7*/	"", "", "", "", "", "", "", "",
	/*L0 - L7*/	"", "", "", "", "PREQ_N", "TCK_MUX_SEL", "", "",
	/*M0 - M7*/	"", "", "", "PWRGD_SYS_PWROK", "", "PRDY_N", "", "",
	/*N0 - N7*/	"", "", "", "", "", "", "", "",
	/*O0 - O7*/	"", "", "", "", "", "", "", "",
	/*P0 - P7*/	"SYS_BMC_PWRBTN_R_N", "SYS_PWRBTN_N", "FM_MB_RST_BTN", "RST_BMC_RSTBTN_OUT_N", "", "", "", "",
	/*Q0 - Q7*/	"", "", "", "", "", "", "", "",
	/*R0 - R7*/	"", "", "", "", "", "", "", "",
	/*S0 - S7*/	"", "", "", "FP_ID_BTN_SCM_N", "", "", "", "",
	/*T0 - T7*/	"", "", "", "", "", "", "", "",
	/*U0 - U7*/	"", "", "", "", "", "", "", "",
	/*V0 - V7*/	"", "", "", "", "", "SMI", "", "",
	/*W0 - W7*/	"", "", "", "", "", "", "", "",
	/*X0 - X7*/	"", "", "", "", "", "", "", "",
	/*Y0 - Y7*/	"", "", "", "", "", "", "", "",
	/*Z0 - Z7*/	"FM_BMC_READY_N", "", "", "", "", "", "", "",
	/*AA0 - AA7*/	"", "", "", "", "", "", "", "",
	/*AB0 - AB7*/	"", "", "", "", "", "", "", "",
	/*AC0 - AC7*/	"", "", "", "", "", "", "", "";
};

&sgpiom0 {
	status = "okay";
	ngpios = <128>;
	bus-frequency = <48000>;
	gpio-line-names =
	/* SGPIO input lines */
	/*IOA0-IOA7*/	"","", "SIO_POWER_GOOD","OA1", "XDP_PRST_N","", "","", "FM_SLPS3_PLD_N","", "FM_SLPS4_PLD_N","", "FM_BIOS_POST_CMPLT_BMC_N","", "FM_ADR_TRIGGER_N","OA7",
	/*IOB0-IOB7*/	"FM_ADR_COMPLETE","", "FM_PMBUS_ALERT_B_EN","", "PSU0_PRESENT_N","", "PSU1_PRESENT_N","", "PSU0_VIN_BUF_GOOD","", "PSU01_VIN_BUF_GOOD","", "PWRGD_PS0_PWROK_R","", "PWRGD_PS1_PWROK_R","",
	/*IOC0-IOC7*/	"PWRGD_PS_PWROK_PLD_R","", "CHASSIS_INTRUSION","", "BMC_MFG_MODE","", "FM_BMC_EN_DET_R","", "FM_ME_BT_DONE","", "CPU1_PRESENCE","", "CPU2_PRESENCE","", "IRQ_PSYS_CRIT_N","",
	/*IOD0-IOD7*/	"","", "CPU1_THERMTRIP","", "CPU2_THERMTRIP","", "CPU1_MEM_THERM_EVENT","", "CPU2_MEM_THERM_EVENT","", "CPU1_VRHOT","", "CPU2_VRHOT","", "","",
	/*IOE0-IOE7*/	"","", "CPU1_MEM_VRHOT","", "CPU2_MEM_VRHOT","", "","", "PCH_BMC_THERMTRIP","", "","", "","", "","",
	/*IOF0-IOF7*/	"CPU_ERR0","", "CPU_ERR1","", "CPU_ERR2","", "","", "","", "CPU_CATERR","", "","", "","",
	/*IOG0-IOG7*/	"","", "","", "","", "","", "","", "","", "","", "","",
	/*IOH0-IOH7*/	"","", "FP_ID_BTN_R1_N","", "FP_RST_BTN_N","", "","", "","", "FP_PWR_BTN_PLD_N_R","", "","", "","",
	/*IOI0-IOI7*/	"","", "","", "","", "","", "","", "","", "","", "","",
	/*IOJ0-IOJ7*/	"","", "","", "","", "","", "","", "","", "","", "","",
	/*IOK0-IOK7*/	"","", "","", "","", "","", "","", "","", "","", "","",
	/*IOL0-IOL7*/	"","", "","", "","", "","", "","", "","", "","", "","",
	/*IOM0-IOM7*/	"","", "","", "","", "","", "","", "","", "","", "","",
	/*ION0-ION7*/	"","BMC_SW_HEARTBEAT_N_R", "","FP_LED_FAULT_N", "","FP_ID_LED_N", "","FM_BMC_RSTBTN_OUT_N", "","FM_THERMTRIP_DLY_LVC1_R_N", "","", "","RST_PCA9548_SENSOR_PLD_N", "","USB_OC1_REAR_N",
	/*IOO0-IOO7*/	"","IRQ_TPM_SPI_N", "","", "","IRQ_PCH_SCI_WHEA_R_N", "","IRQ_BMC_PCH_NMI_R", "","H_CPU_NMI_LVC1_R_N", "","", "","", "","FM_JTAG_BMC_PLD_MUX_SEL",
	/*IOP0-IOP7*/	"IP0","OP0", "","", "","", "","", "","", "","", "","", "IP7","OP7";
};

&adc0 {
	vref = <2500>;
	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>;
};

&mdio2 {
	status = "okay";

	ethphy2: ethernet-phy@0 {
		compatible = "ethernet-phy-ieee802.3-c22";
		reg = <0>;
	};
};

&mac2 {
	status = "okay";

	phy-mode = "rgmii";
	phy-handle = <&ethphy2>;

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

&mac3 {
	status = "okay";

	phy-mode = "rmii";
	use-ncsi;

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

&fmc {
	status = "okay";

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

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

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

&kcs1 {
	status = "okay";
	aspeed,lpc-io-reg = <0xCA0>;
};

&kcs2 {
	status = "okay";
	aspeed,lpc-io-reg = <0xCA8>;
};

&kcs3 {
	status = "okay";
	aspeed,lpc-io-reg = <0xCA2>;
};

&emmc_controller {
	status = "okay";
};

&emmc {
	non-removable;
	bus-width = <4>;
	max-frequency = <100000000>;
};

&vhub {
	status = "okay";
};

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

&uart1 {
	status = "okay";
};

&uart2 {
	status = "okay";
};

&uart4 {
	status = "okay";
};

&uart5 {
	status = "okay";
};

&uart_routing {
	status = "okay";
};

&i2c0 {
	status = "okay";

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

	U35_PWR_ADC@4b {
		compatible = "ti,ads7830";
		reg = <0x4b>;
	};

	i2c-switch@70 {
		compatible = "nxp,pca9546";
		reg = <0x70>;
		#address-cells = <1>;
		#size-cells = <0>;
		i2c-mux-idle-disconnect;

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

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

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

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

&i2c1 {
	status = "okay";

	i2c-switch@59 {
		compatible = "nxp,pca9848";
		reg = <0x59>;
		#address-cells = <1>;
		#size-cells = <0>;
		i2c-mux-idle-disconnect;

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

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

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

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

			U163_tmp75@48 {
				compatible = "ti,tmp75";
				reg = <0x48>;
			};
			U114_tmp75@49 {
				compatible = "ti,tmp75";
				reg = <0x49>;
			};
		};

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

			U4_tmp75@4c {
				compatible = "ti,tmp75";
				reg = <0x4c>;
			};
			U73_tmp75@4d {
				compatible = "ti,tmp75";
				reg = <0x4d>;
			};
		};

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

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

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

			i2c-switch@77 {
				compatible = "nxp,pca9546";
				reg = <0x77>;
				#address-cells = <1>;
				#size-cells = <0>;
				i2c-mux-idle-disconnect;

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

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

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

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

					Current_Meter_U2@45 {
						compatible = "ti,ina219";
						reg = <0x45>;
						shunt-resistor = <1000>; /* = 1 mOhm */
					};

					Current_Meter_U3@44 {
						compatible = "ti,ina219";
						reg = <0x44>;
						shunt-resistor = <1000>; /* = 1 mOhm */
					};

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

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

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

&i2c3 {
	status = "okay";

	/* MB FRU (U173) @ 0xA2 */
	mb_fru: mb_fru@51 {
		compatible = "atmel,24c128";
		reg = <0x51>;
		pagesize = <32>;
	};

	/* FP_U1 Inlet */
	FP_U1_tmp75@4a {
		compatible = "ti,tmp75";
		reg = <0x4a>;
	};

	FP_U4_fru@52 {
		compatible = "atmel,24c02";
		reg = <0x52>;
		pagesize = <16>;
	};
};

&i2c4 {
	status = "okay";
};

&i2c5 {
	status = "okay";
};

&i2c6 {
	status = "okay";

	i2c-switch@77 {
		compatible = "nxp,pca9548";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x77>;
		i2c-mux-idle-disconnect;

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

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

			cpu0_pvccin@60 {
				compatible = "isil,raa229004";
				reg = <0x60>;
			};

			cpu0_pvccinfaon@61 {
				compatible = "isil,isl69260";
				reg = <0x61>;
			};

			cpu0_pvccd_hv@63 {
				compatible = "isil,isl69260";
				reg = <0x63>;
			};
		};

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

			cpu1_pvccin@72 {
				compatible = "isil,raa229004";
				reg = <0x72>;
			};

			cpu1_pvccinfaon@74 {
				compatible = "isil,isl69260";
				reg = <0x74>;
			};

			cpu1_pvccd_hv@76 {
				compatible = "isil,isl69260";
				reg = <0x76>;
			};
		};

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

&i2c7 {
	status = "okay";

	i2c-switch@75 {
		compatible = "nxp,pca9546";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x75>;
		i2c-mux-idle-disconnect;

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

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

&i2c8 {
	status = "okay";
};

&i2c9 {
	status = "okay";
};

&i2c11 {
	status = "okay";
};

&i2c14 {
	status = "okay";

	/* SCM FRU (U19) @ 0xA2 */
	scm_fru: scm_fru@51 {
		compatible = "atmel,24c128";
		reg = <0x51>;
		pagesize = <32>;
	};

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

&i2c15 {
	status = "okay";
};
