Linux-6.18.2/arch/mips/boot/dts/loongson/loongson1.dtsi
2025-12-23 20:06:59 +08:00

137 lines
2.8 KiB
Plaintext

// SPDX-License-Identifier: GPL-2.0
/*
* Copyright (c) 2023-2025 Keguang Zhang <keguang.zhang@gmail.com>
*/
/dts-v1/;
#include <dt-bindings/clock/loongson,ls1x-clk.h>
#include <dt-bindings/interrupt-controller/irq.h>
/ {
#address-cells = <1>;
#size-cells = <1>;
xtal: clock {
compatible = "fixed-clock";
clock-output-names = "xtal";
#clock-cells = <0>;
};
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu0: cpu@0 {
reg = <0>;
device_type = "cpu";
clocks = <&clkc LS1X_CLKID_CPU>;
#clock-cells = <1>;
};
};
cpu_intc: interrupt-controller {
compatible = "mti,cpu-interrupt-controller";
interrupt-controller;
#interrupt-cells = <1>;
#address-cells = <0>;
};
soc: bus@1fd00000 {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0x1fd00000 0x130000>;
intc0: interrupt-controller@1040 {
compatible = "loongson,ls1x-intc";
reg = <0x1040 0x18>;
interrupt-controller;
interrupt-parent = <&cpu_intc>;
interrupts = <2>;
#interrupt-cells = <2>;
};
intc1: interrupt-controller@1058 {
compatible = "loongson,ls1x-intc";
reg = <0x1058 0x18>;
interrupt-controller;
interrupt-parent = <&cpu_intc>;
interrupts = <3>;
#interrupt-cells = <2>;
};
intc2: interrupt-controller@1070 {
compatible = "loongson,ls1x-intc";
reg = <0x1070 0x18>;
interrupt-controller;
interrupt-parent = <&cpu_intc>;
interrupts = <4>;
#interrupt-cells = <2>;
};
intc3: interrupt-controller@1088 {
compatible = "loongson,ls1x-intc";
reg = <0x1088 0x18>;
interrupt-controller;
interrupt-parent = <&cpu_intc>;
interrupts = <5>;
#interrupt-cells = <2>;
};
gpio0: gpio@10c0 {
compatible = "loongson,ls1x-gpio";
reg = <0x10c0 0x4>;
gpio-controller;
#gpio-cells = <2>;
};
gpio1: gpio@10c4 {
compatible = "loongson,ls1x-gpio";
reg = <0x10c4 0x4>;
gpio-controller;
#gpio-cells = <2>;
};
};
apb: bus@1fe40000 {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0x1fe40000 0xc0000>;
uart0: serial@0 {
compatible = "ns16550a";
reg = <0x0 0x8>;
clocks = <&clkc LS1X_CLKID_APB>;
interrupt-parent = <&intc0>;
interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
};
uart1: serial@4000 {
compatible = "ns16550a";
reg = <0x4000 0x8>;
clocks = <&clkc LS1X_CLKID_APB>;
interrupt-parent = <&intc0>;
status = "disabled";
};
uart2: serial@8000 {
compatible = "ns16550a";
reg = <0x8000 0x8>;
clocks = <&clkc LS1X_CLKID_APB>;
interrupt-parent = <&intc0>;
status = "disabled";
};
uart3: serial@c000 {
compatible = "ns16550a";
reg = <0xc000 0x8>;
clocks = <&clkc LS1X_CLKID_APB>;
interrupt-parent = <&intc0>;
status = "disabled";
};
};
};