11# Architecture identifier.
2- arch = " riscv64 " # str
2+ arch = " loongarch64 " # str
33# Platform package.
4- package = " axplat-riscv64 -qemu-virt" # str
4+ package = " axplat-loongarch64 -qemu-virt" # str
55# Platform identifier.
6- platform = " riscv64 -qemu-virt" # str
6+ platform = " loongarch64 -qemu-virt" # str
77# Stack size of each task.
88task-stack-size = 0x40000 # uint
99# Number of timer ticks per second (Hz). A timer tick may contain several timer
@@ -14,68 +14,74 @@ ticks-per-sec = 100 # uint
1414# Device specifications
1515#
1616[devices ]
17- # IPI interrupt num
18- ipi-irq = " 0x8000_0000_0000_0001" # uint
17+ eiointc-irq = 0x03 # uint
18+ # eiointc@1400 {
19+ # reg = <0x00 0x1400 0x00 0x800>;
20+ # interrupts = <0x03>;
21+ # interrupt-parent = <0x8001>;
22+ # #interrupt-cells = <0x01>;
23+ # interrupt-controller;
24+ # compatible = "loongson,ls2k2000-eiointc";
25+ # phandle = <0x8002>;
26+ # };
27+ eiointc-paddr = 0x1400 # uint
28+ # poweroff {
29+ # value = <0x00000034>;
30+ # offset = <0x00000000>;
31+ # compatible = "syscon-poweroff";
32+ # };
33+ # ged@100e001c {
34+ # reg-io-width = <0x00000001>;
35+ # reg-shift = <0x00000000>;
36+ # reg = <0x00000000 0x100e001c 0x00000000 0x00000003>;
37+ # compatible = "syscon";
38+ # };
39+ ged-paddr = 0x100E001C # uint
1940# MMIO ranges with format (`base_paddr`, `size`).
2041mmio-ranges = [
21- [0x0010_1000 , 0x1000 ],
22- [0x0c00_0000 , 0x21_0000 ],
23- [0x1000_0000 , 0x1000 ],
24- [0x1000_1000 , 0x8000 ],
25- [0x3000_0000 , 0x1000_0000 ],
26- [0x4000_0000 , 0x4000_0000 ]
42+ [0x1000_0000 , 0x0000_0400 ],
43+ [0x100D_0000 , 0x0000_1000 ],
44+ [0x100E_0000 , 0x0000_1000 ],
45+ [0x1FE0_0000 , 0x0000_1000 ],
46+ [0x2000_0000 , 0x1000_0000 ],
47+ [0x4000_0000 , 0x0002_0000 ]
2748] # [(uint, uint)]
28- # End PCI bus number (`bus-range` property in device tree).
29- pci-bus-end = 0xff # uint
49+ # platic@10000000 {
50+ # loongson,pic-base-vec = <0x00>;
51+ # interrupt-parent = <0x8002>;
52+ # #interrupt-cells = <0x02>;
53+ # interrupt-controller;
54+ # reg = <0x00 0x10000000 0x00 0x400>;
55+ # compatible = "loongson,pch-pic-1.0";
56+ # phandle = <0x8003>;
57+ # };
58+ pch-pic-paddr = 0x10000000 # uint
59+ # End PCI bus number.
60+ pci-bus-end = 0x7f # uint
3061# Base physical address of the PCIe ECAM space.
31- pci-ecam-base = 0x3000_0000 # uint
32- # PCI device memory ranges (`ranges` property in device tree) .
62+ pci-ecam-base = 0x2000_0000 # uint
63+ # PCI device memory ranges.
3364pci-ranges = [
34- [0x0300_0000 , 0x1_0000 ],
35- [0x4000_0000 , 0x4000_0000 ],
36- [0x4_0000_0000 , 0x4_0000_0000 ]
65+ [0 , 0 ],
66+ [0x4000_0000 , 0x0002_0000 ]
3767] # [(uint, uint)]
38- # plic@c000000 {
39- # phandle = <0x03>;
40- # riscv,ndev = <0x5f>;
41- # reg = <0x00 0xc000000 0x00 0x600000>;
42- # interrupts-extended = <0x02 0x0b 0x02 0x09>;
43- # interrupt-controller;
44- # compatible = "sifive,plic-1.0.0\0riscv,plic0";
45- # };
46- plic-paddr = 0x0c00_0000 # uint
47- # rtc@101000 {
48- # interrupts = <0x0b>;
49- # interrupt-parent = <0x03>;
50- # reg = <0x00 0x101000 0x00 0x1000>;
51- # compatible = "google,goldfish-rtc";
52- # };
53- # RTC (goldfish) Address
54- rtc-paddr = 0x10_1000 # uint
68+ # RTC (ls7a) Address
69+ rtc-paddr = 0x100d_0100 # uint
5570# Timer interrupt frequency in Hz.
56- timer-frequency = 10_000_000 # uint
57- # Timer interrupt num .
58- timer-irq = " 0x8000_0000_0000_0005 " # uint
59- uart-irq = 0x0a # uint
60- # serial@10000000 {
61- # interrupts = <0x0a >;
62- # interrupt-parent = <0x03 >;
63- # clock-frequency = "\08@" ;
64- # reg = <0x00 0x10000000 0x00 0x100 >;
71+ timer-frequency = 100_000_000 # uint
72+ # Timer interrupt number .
73+ timer-irq = 11 # uint
74+ uart-irq = 0x2 # uint
75+ # serial@1fe001e0 {
76+ # interrupt-parent = <0x00008003 >;
77+ # interrupts = <0x00000002 0x00000004 >;
78+ # clock-frequency = <0x05f5e100> ;
79+ # reg = <0x00000000 0x1fe001e0 0x00000000 0x00000100 >;
6580# compatible = "ns16550a";
6681# };
67- uart-paddr = 0x1000_0000 # uint
82+ uart-paddr = 0x1FE001E0 # uint
6883# VirtIO MMIO ranges with format (`base_paddr`, `size`).
69- virtio-mmio-ranges = [
70- [0x1000_1000 , 0x1000 ],
71- [0x1000_2000 , 0x1000 ],
72- [0x1000_3000 , 0x1000 ],
73- [0x1000_4000 , 0x1000 ],
74- [0x1000_5000 , 0x1000 ],
75- [0x1000_6000 , 0x1000 ],
76- [0x1000_7000 , 0x1000 ],
77- [0x1000_8000 , 0x1000 ]
78- ] # [(uint, uint)]
84+ virtio-mmio-ranges = [] # [(uint, uint)]
7985
8086#
8187# Platform configs
@@ -84,22 +90,28 @@ virtio-mmio-ranges = [
8490# Stack size on bootstrapping. (256K)
8591boot-stack-size = 0x40000 # uint
8692# Number of CPUs.
87- cpu-num = 1 # uint
93+ max-cpu-num = 1 # uint
94+ # Base address of the high physical memory.
95+ high-memory-base = 0x8000_0000 # uint
8896# Kernel address space base.
89- kernel-aspace-base = " 0xffff_ffc0_0000_0000 " # uint
97+ kernel-aspace-base = " 0xffff_8000_0000_0000 " # uint
9098# Kernel address space size.
91- kernel-aspace-size = " 0x0000_003f_ffff_f000 " # uint
99+ kernel-aspace-size = " 0x0000_7fff_ffff_f000 " # uint
92100# Base physical address of the kernel image.
93- kernel-base-paddr = 0x8020_0000 # uint
101+ kernel-base-paddr = 0x0020_0000 # uint
94102# Base virtual address of the kernel image.
95- kernel-base-vaddr = " 0xffff_ffc0_8020_0000" # uint
103+ kernel-base-vaddr = " 0xffff_8000_0020_0000" # uint
104+ # Base address of the low physical memory.
105+ low-memory-base = 0x0 # uint
106+ # Size of the low physical memory. (256M)
107+ low-memory-size = 0x1000_0000 # uint
108+ # Linear mapping offset at boot time.
109+ phys-boot-offset = " 0x9000_0000_0000_0000" # uint
96110# Offset of bus address and phys address. some boards, the bus address is
97111# different from the physical address.
98112phys-bus-offset = 0 # uint
99- # Base address of the whole physical memory.
100- phys-memory-base = 0x8000_0000 # uint
101113# Size of the whole physical memory. (128M)
102114phys-memory-size = 0x800_0000 # uint
103115# Linear mapping offset, for quick conversions between physical and virtual
104116# addresses.
105- phys-virt-offset = " 0xffff_ffc0_0000_0000 " # uint
117+ phys-virt-offset = " 0xffff_8000_0000_0000 " # uint
0 commit comments