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

#include "ast2600-u-boot.dtsi"

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

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

	chosen {
		stdout-path = &uart5;
	};

	aliases {
		spi0 = &fmc;
		spi2 = &spi2;
		ethernet0 = &mac2;
		ethernet1 = &mac3;
	};

	cpus {
		cpu@0 {
			clock-frequency = <800000000>;
		};
		cpu@1 {
			clock-frequency = <800000000>;
		};
	};
};

&uart5 {
	u-boot,dm-pre-reloc;
	status = "okay";
};

&sdrammc {
	clock-frequency = <400000000>;
};

&wdt1 {
	u-boot,dm-pre-reloc;
	status = "okay";
};

&wdt2 {
	u-boot,dm-pre-reloc;
	status = "okay";
};

&wdt3 {
	u-boot,dm-pre-reloc;
	status = "okay";
};

&mdio {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_mdio3_default>;
	#address-cells = <1>;
	#size-cells = <0>;

	ethphy2: ethernet-phy@2 {
		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";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_rmii4_default>;
};

&fmc {
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_fmcquad_default>;

	flash@0 {
		status = "okay";
		spi-max-frequency = <50000000>;
		spi-tx-bus-width = <4>;
		spi-rx-bus-width = <4>;
	};
};

&spi2 {
	status = "okay";

	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_spi2_default &pinctrl_spi2cs1_default
			&pinctrl_spi2cs2_default &pinctrl_spi2quad_default>;

	flash@0 {
		status = "okay";
		spi-max-frequency = <50000000>;
		spi-tx-bus-width = <4>;
		spi-rx-bus-width = <4>;
	};
};

&i2c0 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c1_default>;
};

&i2c1 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c2_default>;
};

&i2c2 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c3_default>;
};

&i2c3 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c4_default>;
};

&i2c4 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c5_default>;
};

&i2c5 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c6_default>;
};

&i2c6 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c7_default>;
};

&i2c7 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c8_default>;
};

&i2c8 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c9_default>;
};

&i2c9 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c10_default>;
};

&i2c11 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c12_default>;
};

&i2c14 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c15_default>;
};

&i2c15 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c16_default>;
};

&display_port {
	status = "okay";
};

&scu {
	mac2-clk-delay = <0x08 0x04
			  0x08 0x04
			  0x08 0x04>;
	mac3-clk-delay = <0x08 0x04
			  0x08 0x04
			  0x08 0x04>;
};

&hace {
	u-boot,dm-pre-reloc;
	status = "okay";
};

&acry {
	u-boot,dm-pre-reloc;
	status = "okay";
};