// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) 2023 Loongson Technology Corporation Limited
 */

/dts-v1/;

#include "loongson-2k2000.dtsi"

/ {
	compatible = "loongson,ls2k2000-ref", "loongson,ls2k2000";
	model = "Loongson-2K2000 Reference Board";

	aliases {
		serial0 = &uart0;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	memory@200000 {
		device_type = "memory";
		reg = <0x0 0x00200000 0x0 0x0ee00000>,
		      <0x0 0x90000000 0x0 0x70000000>;
	};

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

		linux,cma {
			compatible = "shared-dma-pool";
			reusable;
			size = <0x0 0x2000000>;
			linux,cma-default;
		};
	};
};

&sata {
	status = "okay";
};

&uart0 {
	status = "okay";
};

&rtc0 {
	status = "okay";
};

&xhci0 {
	status = "okay";
};

&xhci1 {
	status = "okay";
};

&gmac0 {
	status = "okay";

	phy-mode = "gmii";
	phy-handle = <&phy0>;
	mdio {
		compatible = "snps,dwmac-mdio";
		#address-cells = <1>;
		#size-cells = <0>;
		phy0: ethernet-phy@0 {
			reg = <2>;
		};
	};
};

&gmac1 {
	status = "okay";

	phy-mode = "gmii";
	phy-handle = <&phy1>;
	mdio {
		compatible = "snps,dwmac-mdio";
		#address-cells = <1>;
		#size-cells = <0>;
		phy1: ethernet-phy@1 {
			reg = <2>;
		};
	};
};

&gmac2 {
	status = "okay";

	phy-mode = "rgmii";
	phy-handle = <&phy2>;
	mdio {
		compatible = "snps,dwmac-mdio";
		#address-cells = <1>;
		#size-cells = <0>;
		phy2: ethernet-phy@2 {
			reg = <0>;
		};
	};
};
