xref: /freebsd/sys/contrib/device-tree/src/loongarch/loongson-2k1000.dtsi (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
18d13bc63SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
28d13bc63SEmmanuel Vadot/*
38d13bc63SEmmanuel Vadot * Copyright (C) 2023 Loongson Technology Corporation Limited
48d13bc63SEmmanuel Vadot */
58d13bc63SEmmanuel Vadot
68d13bc63SEmmanuel Vadot/dts-v1/;
78d13bc63SEmmanuel Vadot
88d13bc63SEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
98d13bc63SEmmanuel Vadot#include <dt-bindings/clock/loongson,ls2k-clk.h>
108d13bc63SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
118d13bc63SEmmanuel Vadot
128d13bc63SEmmanuel Vadot/ {
138d13bc63SEmmanuel Vadot	#address-cells = <2>;
148d13bc63SEmmanuel Vadot	#size-cells = <2>;
158d13bc63SEmmanuel Vadot
168d13bc63SEmmanuel Vadot	cpus {
178d13bc63SEmmanuel Vadot		#address-cells = <1>;
188d13bc63SEmmanuel Vadot		#size-cells = <0>;
198d13bc63SEmmanuel Vadot
208d13bc63SEmmanuel Vadot		cpu0: cpu@0 {
218d13bc63SEmmanuel Vadot			compatible = "loongson,la264";
228d13bc63SEmmanuel Vadot			device_type = "cpu";
238d13bc63SEmmanuel Vadot			reg= <0x0>;
248d13bc63SEmmanuel Vadot			clocks = <&clk LOONGSON2_NODE_CLK>;
258d13bc63SEmmanuel Vadot		};
268d13bc63SEmmanuel Vadot
278d13bc63SEmmanuel Vadot		cpu1: cpu@1 {
288d13bc63SEmmanuel Vadot			compatible = "loongson,la264";
298d13bc63SEmmanuel Vadot			device_type = "cpu";
308d13bc63SEmmanuel Vadot			reg = <0x1>;
318d13bc63SEmmanuel Vadot			clocks = <&clk LOONGSON2_NODE_CLK>;
328d13bc63SEmmanuel Vadot		};
338d13bc63SEmmanuel Vadot	};
348d13bc63SEmmanuel Vadot
358d13bc63SEmmanuel Vadot	ref_100m: clock-ref-100m {
368d13bc63SEmmanuel Vadot		compatible = "fixed-clock";
378d13bc63SEmmanuel Vadot		#clock-cells = <0>;
388d13bc63SEmmanuel Vadot		clock-frequency = <100000000>;
398d13bc63SEmmanuel Vadot		clock-output-names = "ref_100m";
408d13bc63SEmmanuel Vadot	};
418d13bc63SEmmanuel Vadot
428d13bc63SEmmanuel Vadot	cpuintc: interrupt-controller {
438d13bc63SEmmanuel Vadot		compatible = "loongson,cpu-interrupt-controller";
448d13bc63SEmmanuel Vadot		#interrupt-cells = <1>;
458d13bc63SEmmanuel Vadot		interrupt-controller;
468d13bc63SEmmanuel Vadot	};
478d13bc63SEmmanuel Vadot
488d13bc63SEmmanuel Vadot	/* i2c of the dvi eeprom edid */
498d13bc63SEmmanuel Vadot	i2c-gpio-0 {
508d13bc63SEmmanuel Vadot		compatible = "i2c-gpio";
518d13bc63SEmmanuel Vadot		scl-gpios = <&gpio0 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
528d13bc63SEmmanuel Vadot		sda-gpios = <&gpio0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
538d13bc63SEmmanuel Vadot		i2c-gpio,delay-us = <5>;        /* ~100 kHz */
548d13bc63SEmmanuel Vadot		#address-cells = <1>;
558d13bc63SEmmanuel Vadot		#size-cells = <0>;
568d13bc63SEmmanuel Vadot		status = "disabled";
578d13bc63SEmmanuel Vadot	};
588d13bc63SEmmanuel Vadot
598d13bc63SEmmanuel Vadot	/* i2c of the eeprom edid */
608d13bc63SEmmanuel Vadot	i2c-gpio-1 {
618d13bc63SEmmanuel Vadot		compatible = "i2c-gpio";
628d13bc63SEmmanuel Vadot		scl-gpios = <&gpio0 33 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
638d13bc63SEmmanuel Vadot		sda-gpios = <&gpio0 32 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
648d13bc63SEmmanuel Vadot		i2c-gpio,delay-us = <5>;        /* ~100 kHz */
658d13bc63SEmmanuel Vadot		#address-cells = <1>;
668d13bc63SEmmanuel Vadot		#size-cells = <0>;
678d13bc63SEmmanuel Vadot		status = "disabled";
688d13bc63SEmmanuel Vadot	};
698d13bc63SEmmanuel Vadot
708d13bc63SEmmanuel Vadot	thermal-zones {
718d13bc63SEmmanuel Vadot		cpu-thermal {
728d13bc63SEmmanuel Vadot			polling-delay-passive = <1000>;
738d13bc63SEmmanuel Vadot			polling-delay = <5000>;
748d13bc63SEmmanuel Vadot			thermal-sensors = <&tsensor 0>;
758d13bc63SEmmanuel Vadot
768d13bc63SEmmanuel Vadot			trips {
778d13bc63SEmmanuel Vadot				cpu_alert: cpu-alert {
788d13bc63SEmmanuel Vadot					temperature = <33000>;
798d13bc63SEmmanuel Vadot					hysteresis = <2000>;
808d13bc63SEmmanuel Vadot					type = "active";
818d13bc63SEmmanuel Vadot				};
828d13bc63SEmmanuel Vadot
838d13bc63SEmmanuel Vadot				cpu_crit: cpu-crit {
848d13bc63SEmmanuel Vadot					temperature = <85000>;
858d13bc63SEmmanuel Vadot					hysteresis = <5000>;
868d13bc63SEmmanuel Vadot					type = "critical";
878d13bc63SEmmanuel Vadot				};
888d13bc63SEmmanuel Vadot			};
898d13bc63SEmmanuel Vadot		};
908d13bc63SEmmanuel Vadot	};
918d13bc63SEmmanuel Vadot
928d13bc63SEmmanuel Vadot	bus@10000000 {
938d13bc63SEmmanuel Vadot		compatible = "simple-bus";
948d13bc63SEmmanuel Vadot		ranges = <0x0 0x10000000 0x0 0x10000000 0x0 0x10000000>,
958d13bc63SEmmanuel Vadot			 <0x0 0x02000000 0x0 0x02000000 0x0 0x02000000>,
968d13bc63SEmmanuel Vadot			 <0x0 0x20000000 0x0 0x20000000 0x0 0x10000000>,
978d13bc63SEmmanuel Vadot			 <0x0 0x40000000 0x0 0x40000000 0x0 0x40000000>,
988d13bc63SEmmanuel Vadot			 <0xfe 0x0 0xfe 0x0 0x0 0x40000000>;
998d13bc63SEmmanuel Vadot		#address-cells = <2>;
1008d13bc63SEmmanuel Vadot		#size-cells = <2>;
1018d13bc63SEmmanuel Vadot		dma-coherent;
1028d13bc63SEmmanuel Vadot
103*01950c46SEmmanuel Vadot		isa@18000000 {
104*01950c46SEmmanuel Vadot			compatible = "isa";
105*01950c46SEmmanuel Vadot			#size-cells = <1>;
106*01950c46SEmmanuel Vadot			#address-cells = <2>;
107*01950c46SEmmanuel Vadot			ranges = <1 0x0 0x0 0x18000000 0x4000>;
108*01950c46SEmmanuel Vadot		};
109*01950c46SEmmanuel Vadot
1108d13bc63SEmmanuel Vadot		liointc0: interrupt-controller@1fe01400 {
1118d13bc63SEmmanuel Vadot			compatible = "loongson,liointc-2.0";
1128d13bc63SEmmanuel Vadot			reg = <0x0 0x1fe01400 0x0 0x40>,
1138d13bc63SEmmanuel Vadot			      <0x0 0x1fe01040 0x0 0x8>,
1148d13bc63SEmmanuel Vadot			      <0x0 0x1fe01140 0x0 0x8>;
1158d13bc63SEmmanuel Vadot			reg-names = "main", "isr0", "isr1";
1168d13bc63SEmmanuel Vadot			interrupt-controller;
1178d13bc63SEmmanuel Vadot			#interrupt-cells = <2>;
1188d13bc63SEmmanuel Vadot			interrupt-parent = <&cpuintc>;
1198d13bc63SEmmanuel Vadot			interrupts = <2>;
1208d13bc63SEmmanuel Vadot			interrupt-names = "int0";
1218d13bc63SEmmanuel Vadot			loongson,parent_int_map = <0xffffffff>, /* int0 */
1228d13bc63SEmmanuel Vadot						  <0x00000000>, /* int1 */
1238d13bc63SEmmanuel Vadot						  <0x00000000>, /* int2 */
1248d13bc63SEmmanuel Vadot						  <0x00000000>; /* int3 */
1258d13bc63SEmmanuel Vadot		};
1268d13bc63SEmmanuel Vadot
1278d13bc63SEmmanuel Vadot		liointc1: interrupt-controller@1fe01440 {
1288d13bc63SEmmanuel Vadot			compatible = "loongson,liointc-2.0";
1298d13bc63SEmmanuel Vadot			reg = <0x0 0x1fe01440 0x0 0x40>,
1308d13bc63SEmmanuel Vadot			      <0x0 0x1fe01048 0x0 0x8>,
1318d13bc63SEmmanuel Vadot			      <0x0 0x1fe01148 0x0 0x8>;
1328d13bc63SEmmanuel Vadot			reg-names = "main", "isr0", "isr1";
1338d13bc63SEmmanuel Vadot			interrupt-controller;
1348d13bc63SEmmanuel Vadot			#interrupt-cells = <2>;
1358d13bc63SEmmanuel Vadot			interrupt-parent = <&cpuintc>;
1368d13bc63SEmmanuel Vadot			interrupts = <3>;
1378d13bc63SEmmanuel Vadot			interrupt-names = "int1";
1388d13bc63SEmmanuel Vadot			loongson,parent_int_map = <0x00000000>, /* int0 */
1398d13bc63SEmmanuel Vadot						  <0xffffffff>, /* int1 */
1408d13bc63SEmmanuel Vadot						  <0x00000000>, /* int2 */
1418d13bc63SEmmanuel Vadot						  <0x00000000>; /* int3 */
1428d13bc63SEmmanuel Vadot		};
1438d13bc63SEmmanuel Vadot
1448d13bc63SEmmanuel Vadot		chipid@1fe00000 {
1458d13bc63SEmmanuel Vadot			compatible = "loongson,ls2k-chipid";
1468d13bc63SEmmanuel Vadot			reg = <0x0 0x1fe00000 0x0 0x30>;
1478d13bc63SEmmanuel Vadot			little-endian;
1488d13bc63SEmmanuel Vadot		};
1498d13bc63SEmmanuel Vadot
1508d13bc63SEmmanuel Vadot		pctrl: pinctrl@1fe00420 {
1518d13bc63SEmmanuel Vadot			compatible = "loongson,ls2k-pinctrl";
1528d13bc63SEmmanuel Vadot			reg = <0x0 0x1fe00420 0x0 0x18>;
1538d13bc63SEmmanuel Vadot			status = "disabled";
1548d13bc63SEmmanuel Vadot		};
1558d13bc63SEmmanuel Vadot
1568d13bc63SEmmanuel Vadot		clk: clock-controller@1fe00480 {
1578d13bc63SEmmanuel Vadot			compatible = "loongson,ls2k-clk";
1588d13bc63SEmmanuel Vadot			reg = <0x0 0x1fe00480 0x0 0x58>;
1598d13bc63SEmmanuel Vadot			#clock-cells = <1>;
1608d13bc63SEmmanuel Vadot			clocks = <&ref_100m>;
1618d13bc63SEmmanuel Vadot			clock-names = "ref_100m";
1628d13bc63SEmmanuel Vadot		};
1638d13bc63SEmmanuel Vadot
1648d13bc63SEmmanuel Vadot		gpio0: gpio@1fe00500 {
1658d13bc63SEmmanuel Vadot			compatible = "loongson,ls2k-gpio";
1668d13bc63SEmmanuel Vadot			reg = <0x0 0x1fe00500 0x0 0x38>;
1678d13bc63SEmmanuel Vadot			ngpios = <64>;
1688d13bc63SEmmanuel Vadot			#gpio-cells = <2>;
1698d13bc63SEmmanuel Vadot			gpio-controller;
1708d13bc63SEmmanuel Vadot			gpio-ranges = <&pctrl 0x0 0x0 15>,
1718d13bc63SEmmanuel Vadot				      <&pctrl 16 16 15>,
1728d13bc63SEmmanuel Vadot				      <&pctrl 32 32 10>,
1738d13bc63SEmmanuel Vadot				      <&pctrl 44 44 20>;
1748d13bc63SEmmanuel Vadot			interrupt-parent = <&liointc1>;
1758d13bc63SEmmanuel Vadot			interrupts = <28 IRQ_TYPE_LEVEL_HIGH>,
1768d13bc63SEmmanuel Vadot				     <29 IRQ_TYPE_LEVEL_HIGH>,
1778d13bc63SEmmanuel Vadot				     <30 IRQ_TYPE_LEVEL_HIGH>,
1788d13bc63SEmmanuel Vadot				     <30 IRQ_TYPE_LEVEL_HIGH>,
1798d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
1808d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
1818d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
1828d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
1838d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
1848d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
1858d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
1868d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
1878d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
1888d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
1898d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
1908d13bc63SEmmanuel Vadot				     <>,
1918d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
1928d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
1938d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
1948d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
1958d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
1968d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
1978d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
1988d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
1998d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
2008d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
2018d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
2028d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
2038d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
2048d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
2058d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
2068d13bc63SEmmanuel Vadot				     <26 IRQ_TYPE_LEVEL_HIGH>,
2078d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2088d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2098d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2108d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2118d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2128d13bc63SEmmanuel Vadot				     <>,
2138d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2148d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2158d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2168d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2178d13bc63SEmmanuel Vadot				     <>,
2188d13bc63SEmmanuel Vadot				     <>,
2198d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2208d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2218d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2228d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2238d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2248d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2258d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2268d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2278d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2288d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2298d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2308d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2318d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2328d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2338d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2348d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2358d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2368d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2378d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>,
2388d13bc63SEmmanuel Vadot				     <27 IRQ_TYPE_LEVEL_HIGH>;
2398d13bc63SEmmanuel Vadot		};
2408d13bc63SEmmanuel Vadot
2418d13bc63SEmmanuel Vadot		tsensor: thermal-sensor@1fe01500 {
2428d13bc63SEmmanuel Vadot			compatible = "loongson,ls2k1000-thermal";
2438d13bc63SEmmanuel Vadot			reg = <0x0 0x1fe01500 0x0 0x30>;
2448d13bc63SEmmanuel Vadot			interrupt-parent = <&liointc0>;
2458d13bc63SEmmanuel Vadot			interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
2468d13bc63SEmmanuel Vadot			#thermal-sensor-cells = <1>;
2478d13bc63SEmmanuel Vadot		};
2488d13bc63SEmmanuel Vadot
2498d13bc63SEmmanuel Vadot		dma-controller@1fe00c00 {
2508d13bc63SEmmanuel Vadot			compatible = "loongson,ls2k1000-apbdma";
2518d13bc63SEmmanuel Vadot			reg = <0x0 0x1fe00c00 0x0 0x8>;
2528d13bc63SEmmanuel Vadot			interrupt-parent = <&liointc1>;
2538d13bc63SEmmanuel Vadot			interrupts = <12 IRQ_TYPE_LEVEL_HIGH>;
2548d13bc63SEmmanuel Vadot			clocks = <&clk LOONGSON2_APB_CLK>;
2558d13bc63SEmmanuel Vadot			#dma-cells = <1>;
2568d13bc63SEmmanuel Vadot			status = "disabled";
2578d13bc63SEmmanuel Vadot		};
2588d13bc63SEmmanuel Vadot
2598d13bc63SEmmanuel Vadot		dma-controller@1fe00c10 {
2608d13bc63SEmmanuel Vadot			compatible = "loongson,ls2k1000-apbdma";
2618d13bc63SEmmanuel Vadot			reg = <0x0 0x1fe00c10 0x0 0x8>;
2628d13bc63SEmmanuel Vadot			interrupt-parent = <&liointc1>;
2638d13bc63SEmmanuel Vadot			interrupts = <13 IRQ_TYPE_LEVEL_HIGH>;
2648d13bc63SEmmanuel Vadot			clocks = <&clk LOONGSON2_APB_CLK>;
2658d13bc63SEmmanuel Vadot			#dma-cells = <1>;
2668d13bc63SEmmanuel Vadot			status = "disabled";
2678d13bc63SEmmanuel Vadot		};
2688d13bc63SEmmanuel Vadot
2698d13bc63SEmmanuel Vadot		dma-controller@1fe00c20 {
2708d13bc63SEmmanuel Vadot			compatible = "loongson,ls2k1000-apbdma";
2718d13bc63SEmmanuel Vadot			reg = <0x0 0x1fe00c20 0x0 0x8>;
2728d13bc63SEmmanuel Vadot			interrupt-parent = <&liointc1>;
2738d13bc63SEmmanuel Vadot			interrupts = <14 IRQ_TYPE_LEVEL_HIGH>;
2748d13bc63SEmmanuel Vadot			clocks = <&clk LOONGSON2_APB_CLK>;
2758d13bc63SEmmanuel Vadot			#dma-cells = <1>;
2768d13bc63SEmmanuel Vadot			status = "disabled";
2778d13bc63SEmmanuel Vadot		};
2788d13bc63SEmmanuel Vadot
2798d13bc63SEmmanuel Vadot		dma-controller@1fe00c30 {
2808d13bc63SEmmanuel Vadot			compatible = "loongson,ls2k1000-apbdma";
2818d13bc63SEmmanuel Vadot			reg = <0x0 0x1fe00c30 0x0 0x8>;
2828d13bc63SEmmanuel Vadot			interrupt-parent = <&liointc1>;
2838d13bc63SEmmanuel Vadot			interrupts = <15 IRQ_TYPE_LEVEL_HIGH>;
2848d13bc63SEmmanuel Vadot			clocks = <&clk LOONGSON2_APB_CLK>;
2858d13bc63SEmmanuel Vadot			#dma-cells = <1>;
2868d13bc63SEmmanuel Vadot			status = "disabled";
2878d13bc63SEmmanuel Vadot		};
2888d13bc63SEmmanuel Vadot
2898d13bc63SEmmanuel Vadot		dma-controller@1fe00c40 {
2908d13bc63SEmmanuel Vadot			compatible = "loongson,ls2k1000-apbdma";
2918d13bc63SEmmanuel Vadot			reg = <0x0 0x1fe00c40 0x0 0x8>;
2928d13bc63SEmmanuel Vadot			interrupt-parent = <&liointc1>;
2938d13bc63SEmmanuel Vadot			interrupts = <16 IRQ_TYPE_LEVEL_HIGH>;
2948d13bc63SEmmanuel Vadot			clocks = <&clk LOONGSON2_APB_CLK>;
2958d13bc63SEmmanuel Vadot			#dma-cells = <1>;
2968d13bc63SEmmanuel Vadot			status = "disabled";
2978d13bc63SEmmanuel Vadot		};
2988d13bc63SEmmanuel Vadot
2998d13bc63SEmmanuel Vadot		uart0: serial@1fe20000 {
3008d13bc63SEmmanuel Vadot			compatible = "ns16550a";
3018d13bc63SEmmanuel Vadot			reg = <0x0 0x1fe20000 0x0 0x10>;
3028d13bc63SEmmanuel Vadot			clock-frequency = <125000000>;
3038d13bc63SEmmanuel Vadot			interrupt-parent = <&liointc0>;
3048d13bc63SEmmanuel Vadot			interrupts = <0x0 IRQ_TYPE_LEVEL_HIGH>;
3058d13bc63SEmmanuel Vadot			no-loopback-test;
3068d13bc63SEmmanuel Vadot			status = "disabled";
3078d13bc63SEmmanuel Vadot		};
3088d13bc63SEmmanuel Vadot
3098d13bc63SEmmanuel Vadot		i2c2: i2c@1fe21000 {
3108d13bc63SEmmanuel Vadot			compatible = "loongson,ls2k-i2c";
3118d13bc63SEmmanuel Vadot			reg = <0x0 0x1fe21000 0x0 0x8>;
3128d13bc63SEmmanuel Vadot			interrupt-parent = <&liointc0>;
3138d13bc63SEmmanuel Vadot			interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;
3148d13bc63SEmmanuel Vadot			status = "disabled";
3158d13bc63SEmmanuel Vadot		};
3168d13bc63SEmmanuel Vadot
3178d13bc63SEmmanuel Vadot		i2c3: i2c@1fe21800 {
3188d13bc63SEmmanuel Vadot			compatible = "loongson,ls2k-i2c";
3198d13bc63SEmmanuel Vadot			reg = <0x0 0x1fe21800 0x0 0x8>;
3208d13bc63SEmmanuel Vadot			interrupt-parent = <&liointc0>;
3218d13bc63SEmmanuel Vadot			interrupts = <23 IRQ_TYPE_LEVEL_HIGH>;
3228d13bc63SEmmanuel Vadot			status = "disabled";
3238d13bc63SEmmanuel Vadot		};
3248d13bc63SEmmanuel Vadot
3258d13bc63SEmmanuel Vadot		pmc: power-management@1fe27000 {
3268d13bc63SEmmanuel Vadot			compatible = "loongson,ls2k1000-pmc", "loongson,ls2k0500-pmc", "syscon";
3278d13bc63SEmmanuel Vadot			reg = <0x0 0x1fe27000 0x0 0x58>;
3288d13bc63SEmmanuel Vadot			interrupt-parent = <&liointc1>;
3298d13bc63SEmmanuel Vadot			interrupts = <11 IRQ_TYPE_LEVEL_HIGH>;
3308d13bc63SEmmanuel Vadot			loongson,suspend-address = <0x0 0x1c000500>;
3318d13bc63SEmmanuel Vadot
3328d13bc63SEmmanuel Vadot			syscon-reboot {
3338d13bc63SEmmanuel Vadot				compatible = "syscon-reboot";
3348d13bc63SEmmanuel Vadot				offset = <0x30>;
3358d13bc63SEmmanuel Vadot				mask = <0x1>;
3368d13bc63SEmmanuel Vadot			};
3378d13bc63SEmmanuel Vadot
3388d13bc63SEmmanuel Vadot			syscon-poweroff {
3398d13bc63SEmmanuel Vadot				compatible = "syscon-poweroff";
3408d13bc63SEmmanuel Vadot				regmap = <&pmc>;
3418d13bc63SEmmanuel Vadot				offset = <0x14>;
3428d13bc63SEmmanuel Vadot				mask = <0x3c00>;
3438d13bc63SEmmanuel Vadot				value = <0x3c00>;
3448d13bc63SEmmanuel Vadot			};
3458d13bc63SEmmanuel Vadot		};
3468d13bc63SEmmanuel Vadot
3478d13bc63SEmmanuel Vadot		rtc0: rtc@1fe27800 {
3488d13bc63SEmmanuel Vadot			compatible = "loongson,ls2k1000-rtc";
3498d13bc63SEmmanuel Vadot			reg = <0x0 0x1fe27800 0x0 0x100>;
3508d13bc63SEmmanuel Vadot			interrupt-parent = <&liointc1>;
3518d13bc63SEmmanuel Vadot			interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
3528d13bc63SEmmanuel Vadot			status = "disabled";
3538d13bc63SEmmanuel Vadot		};
3548d13bc63SEmmanuel Vadot
3558d13bc63SEmmanuel Vadot		spi0: spi@1fff0220 {
3568d13bc63SEmmanuel Vadot			compatible = "loongson,ls2k1000-spi";
3578d13bc63SEmmanuel Vadot			reg = <0x0 0x1fff0220 0x0 0x10>;
3588d13bc63SEmmanuel Vadot			clocks = <&clk LOONGSON2_BOOT_CLK>;
3598d13bc63SEmmanuel Vadot			status = "disabled";
3608d13bc63SEmmanuel Vadot		};
3618d13bc63SEmmanuel Vadot
3628d13bc63SEmmanuel Vadot		pcie@1a000000 {
3638d13bc63SEmmanuel Vadot			compatible = "loongson,ls2k-pci";
3648d13bc63SEmmanuel Vadot			reg = <0x0 0x1a000000 0x0 0x02000000>,
3658d13bc63SEmmanuel Vadot			      <0xfe 0x0 0x0 0x20000000>;
3668d13bc63SEmmanuel Vadot			#address-cells = <3>;
3678d13bc63SEmmanuel Vadot			#size-cells = <2>;
3688d13bc63SEmmanuel Vadot			device_type = "pci";
3698d13bc63SEmmanuel Vadot			bus-range = <0x0 0xff>;
3708d13bc63SEmmanuel Vadot			ranges = <0x01000000 0x0 0x00008000 0x0 0x18008000 0x0 0x00008000>,
3718d13bc63SEmmanuel Vadot				 <0x02000000 0x0 0x60000000 0x0 0x60000000 0x0 0x20000000>;
3728d13bc63SEmmanuel Vadot
3738d13bc63SEmmanuel Vadot			gmac0: ethernet@3,0 {
3748d13bc63SEmmanuel Vadot				reg = <0x1800 0x0 0x0 0x0 0x0>;
3758d13bc63SEmmanuel Vadot				interrupt-parent = <&liointc0>;
3768d13bc63SEmmanuel Vadot				interrupts = <12 IRQ_TYPE_LEVEL_HIGH>,
3778d13bc63SEmmanuel Vadot					     <13 IRQ_TYPE_LEVEL_HIGH>;
3788d13bc63SEmmanuel Vadot				interrupt-names = "macirq", "eth_lpi";
3798d13bc63SEmmanuel Vadot				status = "disabled";
3808d13bc63SEmmanuel Vadot			};
3818d13bc63SEmmanuel Vadot
3828d13bc63SEmmanuel Vadot			gmac1: ethernet@3,1 {
3838d13bc63SEmmanuel Vadot				reg = <0x1900 0x0 0x0 0x0 0x0>;
3848d13bc63SEmmanuel Vadot				interrupt-parent = <&liointc0>;
3858d13bc63SEmmanuel Vadot				interrupts = <14 IRQ_TYPE_LEVEL_HIGH>,
3868d13bc63SEmmanuel Vadot					     <15 IRQ_TYPE_LEVEL_HIGH>;
3878d13bc63SEmmanuel Vadot				interrupt-names = "macirq", "eth_lpi";
3888d13bc63SEmmanuel Vadot				status = "disabled";
3898d13bc63SEmmanuel Vadot			};
3908d13bc63SEmmanuel Vadot
3918d13bc63SEmmanuel Vadot			ehci0: usb@4,1 {
3928d13bc63SEmmanuel Vadot				reg = <0x2100 0x0 0x0 0x0 0x0>;
3938d13bc63SEmmanuel Vadot				interrupt-parent = <&liointc1>;
3948d13bc63SEmmanuel Vadot				interrupts = <18 IRQ_TYPE_LEVEL_HIGH>;
3958d13bc63SEmmanuel Vadot				status = "disabled";
3968d13bc63SEmmanuel Vadot			};
3978d13bc63SEmmanuel Vadot
3988d13bc63SEmmanuel Vadot			ohci0: usb@4,2 {
3998d13bc63SEmmanuel Vadot				reg = <0x2200 0x0 0x0 0x0 0x0>;
4008d13bc63SEmmanuel Vadot				interrupt-parent = <&liointc1>;
4018d13bc63SEmmanuel Vadot				interrupts = <19 IRQ_TYPE_LEVEL_HIGH>;
4028d13bc63SEmmanuel Vadot				status = "disabled";
4038d13bc63SEmmanuel Vadot			};
4048d13bc63SEmmanuel Vadot
4058d13bc63SEmmanuel Vadot			display@6,0 {
4068d13bc63SEmmanuel Vadot				reg = <0x3000 0x0 0x0 0x0 0x0>;
4078d13bc63SEmmanuel Vadot				interrupt-parent = <&liointc0>;
4088d13bc63SEmmanuel Vadot				interrupts = <28 IRQ_TYPE_LEVEL_HIGH>;
4098d13bc63SEmmanuel Vadot				status = "disabled";
4108d13bc63SEmmanuel Vadot			};
4118d13bc63SEmmanuel Vadot
4128d13bc63SEmmanuel Vadot			hda@7,0 {
4138d13bc63SEmmanuel Vadot				reg = <0x3800 0x0 0x0 0x0 0x0>;
4148d13bc63SEmmanuel Vadot				interrupt-parent = <&liointc0>;
4158d13bc63SEmmanuel Vadot				interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
4168d13bc63SEmmanuel Vadot				status = "disabled";
4178d13bc63SEmmanuel Vadot			};
4188d13bc63SEmmanuel Vadot
4198d13bc63SEmmanuel Vadot			sata: sata@8,0 {
4208d13bc63SEmmanuel Vadot				reg = <0x4000 0x0 0x0 0x0 0x0>;
4218d13bc63SEmmanuel Vadot				interrupt-parent = <&liointc0>;
4228d13bc63SEmmanuel Vadot				interrupts = <19 IRQ_TYPE_LEVEL_HIGH>;
4238d13bc63SEmmanuel Vadot				status = "disabled";
4248d13bc63SEmmanuel Vadot			};
4258d13bc63SEmmanuel Vadot
4268d13bc63SEmmanuel Vadot			pcie@9,0 {
4278d13bc63SEmmanuel Vadot				reg = <0x4800 0x0 0x0 0x0 0x0>;
4288d13bc63SEmmanuel Vadot				#address-cells = <3>;
4298d13bc63SEmmanuel Vadot				#size-cells = <2>;
4308d13bc63SEmmanuel Vadot				device_type = "pci";
4318d13bc63SEmmanuel Vadot				#interrupt-cells = <1>;
4328d13bc63SEmmanuel Vadot				interrupt-map-mask = <0x0 0x0 0x0 0x0>;
4338d13bc63SEmmanuel Vadot				interrupt-map = <0x0 0x0 0x0 0x0 &liointc1 0x0 IRQ_TYPE_LEVEL_HIGH>;
4348d13bc63SEmmanuel Vadot				ranges;
4358d13bc63SEmmanuel Vadot			};
4368d13bc63SEmmanuel Vadot
4378d13bc63SEmmanuel Vadot			pcie@a,0 {
4388d13bc63SEmmanuel Vadot				reg = <0x5000 0x0 0x0 0x0 0x0>;
4398d13bc63SEmmanuel Vadot				#address-cells = <3>;
4408d13bc63SEmmanuel Vadot				#size-cells = <2>;
4418d13bc63SEmmanuel Vadot				device_type = "pci";
4428d13bc63SEmmanuel Vadot				interrupt-parent = <&liointc1>;
4438d13bc63SEmmanuel Vadot				#interrupt-cells = <1>;
4448d13bc63SEmmanuel Vadot				interrupt-map-mask = <0x0 0x0 0x0 0x0>;
4458d13bc63SEmmanuel Vadot				interrupt-map = <0x0 0x0 0x0 0x0 &liointc1 1 IRQ_TYPE_LEVEL_HIGH>;
4468d13bc63SEmmanuel Vadot				ranges;
4478d13bc63SEmmanuel Vadot			};
4488d13bc63SEmmanuel Vadot
4498d13bc63SEmmanuel Vadot			pcie@b,0 {
4508d13bc63SEmmanuel Vadot				reg = <0x5800 0x0 0x0 0x0 0x0>;
4518d13bc63SEmmanuel Vadot				#address-cells = <3>;
4528d13bc63SEmmanuel Vadot				#size-cells = <2>;
4538d13bc63SEmmanuel Vadot				device_type = "pci";
4548d13bc63SEmmanuel Vadot				interrupt-parent = <&liointc1>;
4558d13bc63SEmmanuel Vadot				#interrupt-cells = <1>;
4568d13bc63SEmmanuel Vadot				interrupt-map-mask = <0x0 0x0 0x0 0x0>;
4578d13bc63SEmmanuel Vadot				interrupt-map = <0x0 0x0 0x0 0x0 &liointc1 2 IRQ_TYPE_LEVEL_HIGH>;
4588d13bc63SEmmanuel Vadot				ranges;
4598d13bc63SEmmanuel Vadot			};
4608d13bc63SEmmanuel Vadot
4618d13bc63SEmmanuel Vadot			pcie@c,0 {
4628d13bc63SEmmanuel Vadot				reg = <0x6000 0x0 0x0 0x0 0x0>;
4638d13bc63SEmmanuel Vadot				#address-cells = <3>;
4648d13bc63SEmmanuel Vadot				#size-cells = <2>;
4658d13bc63SEmmanuel Vadot				device_type = "pci";
4668d13bc63SEmmanuel Vadot				interrupt-parent = <&liointc1>;
4678d13bc63SEmmanuel Vadot				#interrupt-cells = <1>;
4688d13bc63SEmmanuel Vadot				interrupt-map-mask = <0x0 0x0 0x0 0x0>;
4698d13bc63SEmmanuel Vadot				interrupt-map = <0x0 0x0 0x0 0x0 &liointc1 3 IRQ_TYPE_LEVEL_HIGH>;
4708d13bc63SEmmanuel Vadot				ranges;
4718d13bc63SEmmanuel Vadot			};
4728d13bc63SEmmanuel Vadot
4738d13bc63SEmmanuel Vadot			pcie@d,0 {
4748d13bc63SEmmanuel Vadot				reg = <0x6800 0x0 0x0 0x0 0x0>;
4758d13bc63SEmmanuel Vadot				#address-cells = <3>;
4768d13bc63SEmmanuel Vadot				#size-cells = <2>;
4778d13bc63SEmmanuel Vadot				device_type = "pci";
4788d13bc63SEmmanuel Vadot				interrupt-parent = <&liointc1>;
4798d13bc63SEmmanuel Vadot				#interrupt-cells = <1>;
4808d13bc63SEmmanuel Vadot				interrupt-map-mask = <0x0 0x0 0x0 0x0>;
4818d13bc63SEmmanuel Vadot				interrupt-map = <0x0 0x0 0x0 0x0 &liointc1 4 IRQ_TYPE_LEVEL_HIGH>;
4828d13bc63SEmmanuel Vadot				ranges;
4838d13bc63SEmmanuel Vadot			};
4848d13bc63SEmmanuel Vadot
4858d13bc63SEmmanuel Vadot			pcie@e,0 {
4868d13bc63SEmmanuel Vadot				reg = <0x7000 0x0 0x0 0x0 0x0>;
4878d13bc63SEmmanuel Vadot				#address-cells = <3>;
4888d13bc63SEmmanuel Vadot				#size-cells = <2>;
4898d13bc63SEmmanuel Vadot				device_type = "pci";
4908d13bc63SEmmanuel Vadot				interrupt-parent = <&liointc1>;
4918d13bc63SEmmanuel Vadot				#interrupt-cells = <1>;
4928d13bc63SEmmanuel Vadot				interrupt-map-mask = <0x0 0x0 0x0 0x0>;
4938d13bc63SEmmanuel Vadot				interrupt-map = <0x0 0x0 0x0 0x0 &liointc1 5 IRQ_TYPE_LEVEL_HIGH>;
4948d13bc63SEmmanuel Vadot				ranges;
4958d13bc63SEmmanuel Vadot			};
4968d13bc63SEmmanuel Vadot		};
4978d13bc63SEmmanuel Vadot	};
4988d13bc63SEmmanuel Vadot};
499