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

/dts-v1/;

#include "loongson-2k1000.dtsi"

/ {
	compatible = "loongson,ls2k1000-ref", "loongson,ls2k1000";
	model = "Loongson-2K1000 Reference Board";

	aliases {
		serial0 = &uart0;
	};

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

	memory@200000 {
		device_type = "memory";
		reg = <0x0 0x00200000 0x0 0x06e00000>,
		      <0x0 0x08000000 0x0 0x07000000>,
		      <0x0 0x90000000 0x1 0xe0000000>;
	};

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

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

&gmac0 {
	status = "okay";

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

&gmac1 {
	status = "okay";

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

&i2c2 {
	status = "okay";

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

	#address-cells = <1>;
	#size-cells = <0>;
	eeprom@57 {
		compatible = "atmel,24c16";
		reg = <0x57>;
		pagesize = <16>;
	};
};

&spi0 {
	status = "okay";

	#address-cells = <1>;
	#size-cells = <0>;
	spidev@0 {
		compatible = "rohm,dh2228fv";
		spi-max-frequency = <100000000>;
		reg = <0>;
	};
};

&ehci0 {
	status = "okay";
};

&ohci0 {
	status = "okay";
};

&sata {
	status = "okay";
};

&uart0 {
	status = "okay";
};

&clk {
	status = "okay";
};

&rtc0 {
	status = "okay";
};

&pctrl {
	status = "okay";

	sdio_pins_default: sdio-pins {
		sdio-pinmux {
			groups = "sdio";
			function = "sdio";
		};
		sdio-det-pinmux {
			groups = "pwm2";
			function = "gpio";
		};
	};

	pwm1_pins_default: pwm1-pins {
		pinmux {
			groups = "pwm1";
			function = "pwm1";
		};
	};

	pwm0_pins_default: pwm0-pins {
		pinmux {
			groups = "pwm0";
			function = "pwm0";
		};
	};

	i2c1_pins_default: i2c1-pins {
		pinmux {
			groups = "i2c1";
			function = "i2c1";
		};
	};

	i2c0_pins_default: i2c0-pins {
		pinmux {
			groups = "i2c0";
			function = "i2c0";
		};
	};

	nand_pins_default: nand-pins {
		pinmux {
			groups = "nand";
			function = "nand";
		};
	};

	hda_pins_default: hda-pins {
		grp0-pinmux {
			groups = "hda";
			function = "hda";
		};
		grp1-pinmux {
			groups = "i2s";
			function = "gpio";
		};
	};
};
