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