linux/arch/loongarch/boot/dts/loongson-2k1000-ref.dts

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

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