Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/loongarch/boot/dts/loongson-2k1000-ref.dts
26481 views
// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) 2023 Loongson Technology Corporation Limited
 */

/dts-v1/;

#include "dt-bindings/thermal/thermal.h"
#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;
		};
	};

	fan0: pwm-fan {
		compatible = "pwm-fan";
		cooling-levels = <255 153 85 25>;
		pwms = <&pwm1 0 100000 0>;
		#cooling-cells = <2>;
	};
};

&apbdma1 {
	status = "okay";
};

&mmc {
	status = "okay";

	pinctrl-0 = <&sdio_pins_default>;
	pinctrl-names = "default";
	bus-width = <4>;
	cd-gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
};

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

&pwm1 {
	status = "okay";

	pinctrl-0 = <&pwm1_pins_default>;
	pinctrl-names = "default";
};

&cpu_thermal {
	cooling-maps {
		map0 {
			trip = <&cpu_alert>;
			cooling-device = <&fan0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
		};
	};
};

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