15 Star 1 Fork 8

src-openEuler/Jailhouse

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
0002-add-phytium-ft2004-d2000-e2000-dts.patch 52.05 KB
一键复制 编辑 原始数据 按行查看 历史
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233
From b5d0e28235d32deefe3b02672cedfb63582c83f7 Mon Sep 17 00:00:00 2001
From: huanglei <[email protected]>
Date: Tue, 27 Dec 2022 19:03:47 -0800
Subject: [PATCH 02/12] add phytium ft2004,d2000,e2000 dts
---
configs/arm64/dts/phytium/e2000-cluster0.dts | 168 ++++++
.../arm64/dts/phytium/ft2004-AMA0-ivshmem.dts | 148 +++++
.../arm64/dts/phytium/ft2004-AMA0-uart.dts | 111 ++++
configs/arm64/dts/phytium/ft2004-AMA0.dts | 148 +++++
.../arm64/dts/phytium/ft2004-AMA1-ivshmem.dts | 148 +++++
.../arm64/dts/phytium/ft2004-AMA1-uart.dts | 111 ++++
.../arm64/dts/phytium/ft2004-guest-eth.dts | 131 +++++
configs/arm64/dts/phytium/ft2004-main-eth.dts | 441 +++++++++++++++
configs/arm64/dts/phytium/ft2004.dts | 506 ++++++++++++++++++
configs/arm64/dts/phytium/ftd2000-AMA0.dts | 111 ++++
configs/arm64/dts/phytium/ftd2000-AMA1.dts | 111 ++++
11 files changed, 2134 insertions(+)
create mode 100644 configs/arm64/dts/phytium/e2000-cluster0.dts
create mode 100644 configs/arm64/dts/phytium/ft2004-AMA0-ivshmem.dts
create mode 100644 configs/arm64/dts/phytium/ft2004-AMA0-uart.dts
create mode 100644 configs/arm64/dts/phytium/ft2004-AMA0.dts
create mode 100644 configs/arm64/dts/phytium/ft2004-AMA1-ivshmem.dts
create mode 100644 configs/arm64/dts/phytium/ft2004-AMA1-uart.dts
create mode 100644 configs/arm64/dts/phytium/ft2004-guest-eth.dts
create mode 100644 configs/arm64/dts/phytium/ft2004-main-eth.dts
create mode 100644 configs/arm64/dts/phytium/ft2004.dts
create mode 100644 configs/arm64/dts/phytium/ftd2000-AMA0.dts
create mode 100644 configs/arm64/dts/phytium/ftd2000-AMA1.dts
diff --git a/configs/arm64/dts/phytium/e2000-cluster0.dts b/configs/arm64/dts/phytium/e2000-cluster0.dts
new file mode 100644
index 00000000..d9337c8d
--- /dev/null
+++ b/configs/arm64/dts/phytium/e2000-cluster0.dts
@@ -0,0 +1,168 @@
+/dts-v1/;
+
+/memreserve/ 0x0000000080000000 0x0000000000010000;
+/ {
+ compatible = "phytium,e2000q";
+ interrupt-parent = <0x1>;
+ #address-cells = <0x2>;
+ #size-cells = <0x2>;
+ model = "E2000Q TESTA DDR4 Board";
+
+ aliases {
+ serial1 = "/soc/uart@2800d000";
+ };
+
+ hypervisor {
+ compatible = "kvisor,domain";
+ };
+
+ psci {
+ compatible = "arm,psci-1.0";
+ method = "smc";
+ cpu_suspend = <0xc4000001>;
+ cpu_off = <0x84000002>;
+ cpu_on = <0xc4000003>;
+ sys_poweroff = <0x84000008>;
+ sys_reset = <0x84000009>;
+ };
+
+ cpus {
+ #address-cells = <0x2>;
+ #size-cells = <0x0>;
+
+ cpu-map {
+
+ cluster0 {
+
+ core0 {
+ cpu = <0x6>;
+ };
+
+ core1 {
+ cpu = <0x7>;
+ };
+ };
+
+ };
+
+ cpu@0 {
+ device_type = "cpu";
+ compatible = "phytium,ftc310", "arm,armv8";
+ reg = <0x0 0x0>;
+ enable-method = "psci";
+ clocks = <0xa 0x0>;
+ phandle = <0x6>;
+ };
+
+ cpu@1 {
+ device_type = "cpu";
+ compatible = "phytium,ftc310", "arm,armv8";
+ reg = <0x0 0x100>;
+ enable-method = "psci";
+ clocks = <0xa 0x1>;
+ phandle = <0x7>;
+ };
+ };
+
+ interrupt-controller@30800000 {
+ compatible = "arm,gic-v3";
+ #interrupt-cells = <0x3>;
+ interrupt-controller;
+ reg = <0x0 0x30800000 0x0 0x20000 0x0 0x30880000 0x0 0x80000 0x0 0x30840000 0x0 0x10000 0x0 0x30850000 0x0 0x10000 0x0 0x30860000 0x0 0x10000>;
+ phandle = <0x1>;
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupts = <0x1 0xd 0x8 0x1 0xe 0x8 0x1 0xb 0x8 0x1 0xa 0x8>;
+ clock-frequency = <0x2faf080>;
+ };
+
+ clocks {
+ #address-cells = <0x2>;
+ #size-cells = <0x2>;
+ ranges;
+
+ clk48mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x0>;
+ clock-frequency = <0x2dc6c00>;
+ phandle = <0xc>;
+ };
+
+ clk100mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x0>;
+ clock-frequency = <0x5f5e100>;
+ phandle = <0xd>;
+ };
+
+ clk200mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x0>;
+ clock-frequency = <0xbebc200>;
+ phandle = <0x10>;
+ };
+
+ clk250mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x0>;
+ clock-frequency = <0xee6b280>;
+ phandle = <0x11>;
+ };
+
+ clk300mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x0>;
+ clock-frequency = <0x11e1a300>;
+ };
+
+ clk600mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x0>;
+ clock-frequency = <0x23c34600>;
+ phandle = <0xf>;
+ };
+
+ clk1200mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x0>;
+ clock-frequency = <0x47868c00>;
+ phandle = <0xb>;
+ };
+ };
+
+ pci@30000000 {
+ compatible = "pci-host-ecam-generic";
+ device_type = "pci";
+ bus-range = <0x0 0x0>;
+ #address-cells = <0x3>;
+ #size-cells = <0x2>;
+ #interrupt-cells = <0x1>;
+ interrupt-map-mask = <0x0 0x0 0x0 0x7>;
+ interrupt-map = <0x0 0x0 0x0 0x1 0x1 0x0 0x66 0x1>;
+ reg = <0x0 0x30000000 0x0 0x100000>;
+ ranges = <0x2000000 0x0 0x10000000 0x0 0x10000000 0x0 0x10000>;
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <0x2>;
+ #size-cells = <0x2>;
+ dma-coherent;
+ ranges;
+
+ uart@2800d000 {
+ compatible = "arm,pl011", "arm,primecell";
+ reg = <0x0 0x2800d000 0x0 0x1000>;
+ interrupts = <0x0 0x54 0x4>;
+ clocks = <0xd 0xd>;
+ clock-names = "uartclk", "apb_pclk";
+ status = "okay";
+ };
+ };
+
+ chosen {
+ stdout-path = "serial1:115200n8";
+ };
+};
diff --git a/configs/arm64/dts/phytium/ft2004-AMA0-ivshmem.dts b/configs/arm64/dts/phytium/ft2004-AMA0-ivshmem.dts
new file mode 100644
index 00000000..284e8ab6
--- /dev/null
+++ b/configs/arm64/dts/phytium/ft2004-AMA0-ivshmem.dts
@@ -0,0 +1,148 @@
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+/dts-v1/;
+
+/memreserve/ 0x0000000080000000 0x0000000000010000;
+/ {
+ compatible = "phytium,ft-2004";
+ interrupt-parent = <&gic>;
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ model = "FT-2000/4-D4-DSK Development Board";
+
+ hypervisor {
+ compatible = "kvisor,domain";
+ };
+
+ psci {
+ compatible = "arm,psci-1.0";
+ method = "smc";
+ cpu_suspend = <0xc4000001>;
+ cpu_off = <0x84000002>;
+ cpu_on = <0xc4000003>;
+ sys_poweroff = <0x84000008>;
+ sys_reset = <0x84000009>;
+ };
+
+ cpus {
+ #address-cells = <0x02>;
+ #size-cells = <0x00>;
+
+ cpu@100 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x00 0x100>;
+ enable-method = "psci";
+ numa-node-id = <0x00>;
+ clocks = <0x02 0x01>;
+ };
+
+ cpu@101 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x00 0x101>;
+ enable-method = "psci";
+ numa-node-id = <0x00>;
+ clocks = <0x02 0x01>;
+ };
+ };
+
+ gic: interrupt-controller@29900000 {
+ compatible = "arm,gic-v3";
+ #interrupt-cells = <0x03>;
+ // #address-cells = <0x02>;
+ // #size-cells = <0x02>;
+ // ranges;
+ interrupt-controller;
+ reg = <0x00 0x29900000 0x00 0x20000 >,
+ <0x00 0x29980000 0x00 0x80000>,
+ < 0x00 0x29c00000 0x00 0x10000>,
+ < 0x00 0x29c10000 0x00 0x10000>,
+ < 0x00 0x29c20000 0x00 0x10000>;
+ //interrupts = <0x01 0x09 0x04>;
+ phandle = <0x01>;
+ };
+
+
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupts = <0x01 0x0d 0x08 0x01 0x0e 0x08 0x01 0x0b 0x08 0x01 0x0a 0x08>;
+ clock-frequency = <0x2dc6c00>;
+ };
+
+ clocks {
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ ranges;
+
+ clk250mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0xee6b280>;
+ phandle = <0x06>;
+ };
+
+ clk48mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0x2dc6c00>;
+ phandle = <0x03>;
+ };
+
+ clk600mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0x23c34600>;
+ phandle = <0x04>;
+ };
+ };
+pci@30000000 {
+ compatible = "pci-host-ecam-generic";
+ device_type = "pci";
+ bus-range = <0 0>;
+ #address-cells = <3>;
+ #size-cells = <2>;
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &gic GIC_SPI 103 IRQ_TYPE_EDGE_RISING>,
+ <0 0 0 2 &gic GIC_SPI 104 IRQ_TYPE_EDGE_RISING>,
+ <0 0 0 3 &gic GIC_SPI 105 IRQ_TYPE_EDGE_RISING>,
+ <0 0 0 4 &gic GIC_SPI 106 IRQ_TYPE_EDGE_RISING>;
+ reg = <0x0 0x30000000 0x0 0x100000>;
+ ranges =
+ <0x02000000 0x00 0x10000000 0x0 0x10000000 0x00 0x10000>;
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ dma-coherent;
+ ranges;
+
+ uart@28000000 {
+ compatible = "arm,pl011\0arm,primecell";
+ reg = <0x00 0x28000000 0x00 0x1000>;
+ baud = <0x1c200>;
+ reg-shift = <0x02>;
+ reg-io-width = <0x04>;
+ interrupts = <0x00 0x06 0x04>;
+ clocks = <0x03 0x03>;
+ clock-names = "uartclk\0apb_pclk";
+ };
+ /* pcie {
+ compatible = "pci-host-ecam-generic";
+ linux,pci-domain = <0x00>;
+ device_type = "pci";
+ #address-cells = <0x03>;
+ #size-cells = <0x02>;
+ #interrupt-cells = <0x01>;
+ reg = <0x00 0x40000000 0x00 0x10000000>;
+ msi-parent = <0x05>;
+ bus-range = <0x00 0xff>;
+ interrupt-map-mask = <0x00 0x00 0x00 0x07>;
+ interrupt-map = <0x00 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x1c 0x04 0x00 0x00 0x00 0x02 0x01 0x00 0x00 0x00 0x1d 0x04 0x00 0x00 0x00 0x03 0x01 0x00 0x00 0x00 0x1e 0x04 0x00 0x00 0x00 0x04 0x01 0x00 0x00 0x00 0x1f 0x04>;
+ ranges = <0x1000000 0x00 0x00 0x00 0x50000000 0x00 0xf00000 0x2000000 0x00 0x58000000 0x00 0x58000000 0x00 0x28000000 0x3000000 0x10 0x00 0x10 0x00 0x10 0x00>;
+ };*/
+ };
+};
diff --git a/configs/arm64/dts/phytium/ft2004-AMA0-uart.dts b/configs/arm64/dts/phytium/ft2004-AMA0-uart.dts
new file mode 100644
index 00000000..228c127a
--- /dev/null
+++ b/configs/arm64/dts/phytium/ft2004-AMA0-uart.dts
@@ -0,0 +1,111 @@
+/dts-v1/;
+
+/memreserve/ 0x0000000080000000 0x0000000000010000;
+/ {
+ compatible = "phytium,ft-2004";
+ interrupt-parent = <0x01>;
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ model = "FT-2000/4-D4-DSK Development Board";
+
+ hypervisor {
+ compatible = "kvisor,domain";
+ };
+
+ psci {
+ compatible = "arm,psci-1.0";
+ method = "smc";
+ cpu_suspend = <0xc4000001>;
+ cpu_off = <0x84000002>;
+ cpu_on = <0xc4000003>;
+ sys_poweroff = <0x84000008>;
+ sys_reset = <0x84000009>;
+ };
+
+ cpus {
+ #address-cells = <0x02>;
+ #size-cells = <0x00>;
+
+ cpu@100 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x00 0x100>;
+ enable-method = "psci";
+ numa-node-id = <0x00>;
+ clocks = <0x02 0x01>;
+ };
+
+ cpu@101 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x00 0x101>;
+ enable-method = "psci";
+ numa-node-id = <0x00>;
+ clocks = <0x02 0x01>;
+ };
+ };
+
+ interrupt-controller@29900000 {
+ compatible = "arm,gic-v3";
+ #interrupt-cells = <0x03>;
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ ranges;
+ interrupt-controller;
+ reg = <0x00 0x29900000 0x00 0x20000 0x00 0x29980000 0x00 0x80000 0x00 0x29c00000 0x00 0x10000 0x00 0x29c10000 0x00 0x10000 0x00 0x29c20000 0x00 0x10000>;
+ interrupts = <0x01 0x09 0x04>;
+ phandle = <0x01>;
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupts = <0x01 0x0d 0x08 0x01 0x0e 0x08 0x01 0x0b 0x08 0x01 0x0a 0x08>;
+ clock-frequency = <0x2dc6c00>;
+ };
+
+ clocks {
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ ranges;
+
+ clk250mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0xee6b280>;
+ phandle = <0x06>;
+ };
+
+ clk48mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0x2dc6c00>;
+ phandle = <0x03>;
+ };
+
+ clk600mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0x23c34600>;
+ phandle = <0x04>;
+ };
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ dma-coherent;
+ ranges;
+
+ uart@28001000 {
+ compatible = "arm,pl011\0arm,primecell";
+ reg = <0x00 0x28001000 0x00 0x1000>;
+ baud = <0x1c200>;
+ reg-shift = <0x02>;
+ reg-io-width = <0x04>;
+ interrupts = <0x00 0x07 0x04>;
+ clocks = <0x03 0x03>;
+ clock-names = "uartclk\0apb_pclk";
+ };
+ };
+};
diff --git a/configs/arm64/dts/phytium/ft2004-AMA0.dts b/configs/arm64/dts/phytium/ft2004-AMA0.dts
new file mode 100644
index 00000000..284e8ab6
--- /dev/null
+++ b/configs/arm64/dts/phytium/ft2004-AMA0.dts
@@ -0,0 +1,148 @@
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+/dts-v1/;
+
+/memreserve/ 0x0000000080000000 0x0000000000010000;
+/ {
+ compatible = "phytium,ft-2004";
+ interrupt-parent = <&gic>;
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ model = "FT-2000/4-D4-DSK Development Board";
+
+ hypervisor {
+ compatible = "kvisor,domain";
+ };
+
+ psci {
+ compatible = "arm,psci-1.0";
+ method = "smc";
+ cpu_suspend = <0xc4000001>;
+ cpu_off = <0x84000002>;
+ cpu_on = <0xc4000003>;
+ sys_poweroff = <0x84000008>;
+ sys_reset = <0x84000009>;
+ };
+
+ cpus {
+ #address-cells = <0x02>;
+ #size-cells = <0x00>;
+
+ cpu@100 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x00 0x100>;
+ enable-method = "psci";
+ numa-node-id = <0x00>;
+ clocks = <0x02 0x01>;
+ };
+
+ cpu@101 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x00 0x101>;
+ enable-method = "psci";
+ numa-node-id = <0x00>;
+ clocks = <0x02 0x01>;
+ };
+ };
+
+ gic: interrupt-controller@29900000 {
+ compatible = "arm,gic-v3";
+ #interrupt-cells = <0x03>;
+ // #address-cells = <0x02>;
+ // #size-cells = <0x02>;
+ // ranges;
+ interrupt-controller;
+ reg = <0x00 0x29900000 0x00 0x20000 >,
+ <0x00 0x29980000 0x00 0x80000>,
+ < 0x00 0x29c00000 0x00 0x10000>,
+ < 0x00 0x29c10000 0x00 0x10000>,
+ < 0x00 0x29c20000 0x00 0x10000>;
+ //interrupts = <0x01 0x09 0x04>;
+ phandle = <0x01>;
+ };
+
+
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupts = <0x01 0x0d 0x08 0x01 0x0e 0x08 0x01 0x0b 0x08 0x01 0x0a 0x08>;
+ clock-frequency = <0x2dc6c00>;
+ };
+
+ clocks {
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ ranges;
+
+ clk250mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0xee6b280>;
+ phandle = <0x06>;
+ };
+
+ clk48mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0x2dc6c00>;
+ phandle = <0x03>;
+ };
+
+ clk600mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0x23c34600>;
+ phandle = <0x04>;
+ };
+ };
+pci@30000000 {
+ compatible = "pci-host-ecam-generic";
+ device_type = "pci";
+ bus-range = <0 0>;
+ #address-cells = <3>;
+ #size-cells = <2>;
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &gic GIC_SPI 103 IRQ_TYPE_EDGE_RISING>,
+ <0 0 0 2 &gic GIC_SPI 104 IRQ_TYPE_EDGE_RISING>,
+ <0 0 0 3 &gic GIC_SPI 105 IRQ_TYPE_EDGE_RISING>,
+ <0 0 0 4 &gic GIC_SPI 106 IRQ_TYPE_EDGE_RISING>;
+ reg = <0x0 0x30000000 0x0 0x100000>;
+ ranges =
+ <0x02000000 0x00 0x10000000 0x0 0x10000000 0x00 0x10000>;
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ dma-coherent;
+ ranges;
+
+ uart@28000000 {
+ compatible = "arm,pl011\0arm,primecell";
+ reg = <0x00 0x28000000 0x00 0x1000>;
+ baud = <0x1c200>;
+ reg-shift = <0x02>;
+ reg-io-width = <0x04>;
+ interrupts = <0x00 0x06 0x04>;
+ clocks = <0x03 0x03>;
+ clock-names = "uartclk\0apb_pclk";
+ };
+ /* pcie {
+ compatible = "pci-host-ecam-generic";
+ linux,pci-domain = <0x00>;
+ device_type = "pci";
+ #address-cells = <0x03>;
+ #size-cells = <0x02>;
+ #interrupt-cells = <0x01>;
+ reg = <0x00 0x40000000 0x00 0x10000000>;
+ msi-parent = <0x05>;
+ bus-range = <0x00 0xff>;
+ interrupt-map-mask = <0x00 0x00 0x00 0x07>;
+ interrupt-map = <0x00 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x1c 0x04 0x00 0x00 0x00 0x02 0x01 0x00 0x00 0x00 0x1d 0x04 0x00 0x00 0x00 0x03 0x01 0x00 0x00 0x00 0x1e 0x04 0x00 0x00 0x00 0x04 0x01 0x00 0x00 0x00 0x1f 0x04>;
+ ranges = <0x1000000 0x00 0x00 0x00 0x50000000 0x00 0xf00000 0x2000000 0x00 0x58000000 0x00 0x58000000 0x00 0x28000000 0x3000000 0x10 0x00 0x10 0x00 0x10 0x00>;
+ };*/
+ };
+};
diff --git a/configs/arm64/dts/phytium/ft2004-AMA1-ivshmem.dts b/configs/arm64/dts/phytium/ft2004-AMA1-ivshmem.dts
new file mode 100644
index 00000000..284e8ab6
--- /dev/null
+++ b/configs/arm64/dts/phytium/ft2004-AMA1-ivshmem.dts
@@ -0,0 +1,148 @@
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+/dts-v1/;
+
+/memreserve/ 0x0000000080000000 0x0000000000010000;
+/ {
+ compatible = "phytium,ft-2004";
+ interrupt-parent = <&gic>;
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ model = "FT-2000/4-D4-DSK Development Board";
+
+ hypervisor {
+ compatible = "kvisor,domain";
+ };
+
+ psci {
+ compatible = "arm,psci-1.0";
+ method = "smc";
+ cpu_suspend = <0xc4000001>;
+ cpu_off = <0x84000002>;
+ cpu_on = <0xc4000003>;
+ sys_poweroff = <0x84000008>;
+ sys_reset = <0x84000009>;
+ };
+
+ cpus {
+ #address-cells = <0x02>;
+ #size-cells = <0x00>;
+
+ cpu@100 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x00 0x100>;
+ enable-method = "psci";
+ numa-node-id = <0x00>;
+ clocks = <0x02 0x01>;
+ };
+
+ cpu@101 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x00 0x101>;
+ enable-method = "psci";
+ numa-node-id = <0x00>;
+ clocks = <0x02 0x01>;
+ };
+ };
+
+ gic: interrupt-controller@29900000 {
+ compatible = "arm,gic-v3";
+ #interrupt-cells = <0x03>;
+ // #address-cells = <0x02>;
+ // #size-cells = <0x02>;
+ // ranges;
+ interrupt-controller;
+ reg = <0x00 0x29900000 0x00 0x20000 >,
+ <0x00 0x29980000 0x00 0x80000>,
+ < 0x00 0x29c00000 0x00 0x10000>,
+ < 0x00 0x29c10000 0x00 0x10000>,
+ < 0x00 0x29c20000 0x00 0x10000>;
+ //interrupts = <0x01 0x09 0x04>;
+ phandle = <0x01>;
+ };
+
+
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupts = <0x01 0x0d 0x08 0x01 0x0e 0x08 0x01 0x0b 0x08 0x01 0x0a 0x08>;
+ clock-frequency = <0x2dc6c00>;
+ };
+
+ clocks {
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ ranges;
+
+ clk250mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0xee6b280>;
+ phandle = <0x06>;
+ };
+
+ clk48mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0x2dc6c00>;
+ phandle = <0x03>;
+ };
+
+ clk600mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0x23c34600>;
+ phandle = <0x04>;
+ };
+ };
+pci@30000000 {
+ compatible = "pci-host-ecam-generic";
+ device_type = "pci";
+ bus-range = <0 0>;
+ #address-cells = <3>;
+ #size-cells = <2>;
+ #interrupt-cells = <1>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &gic GIC_SPI 103 IRQ_TYPE_EDGE_RISING>,
+ <0 0 0 2 &gic GIC_SPI 104 IRQ_TYPE_EDGE_RISING>,
+ <0 0 0 3 &gic GIC_SPI 105 IRQ_TYPE_EDGE_RISING>,
+ <0 0 0 4 &gic GIC_SPI 106 IRQ_TYPE_EDGE_RISING>;
+ reg = <0x0 0x30000000 0x0 0x100000>;
+ ranges =
+ <0x02000000 0x00 0x10000000 0x0 0x10000000 0x00 0x10000>;
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ dma-coherent;
+ ranges;
+
+ uart@28000000 {
+ compatible = "arm,pl011\0arm,primecell";
+ reg = <0x00 0x28000000 0x00 0x1000>;
+ baud = <0x1c200>;
+ reg-shift = <0x02>;
+ reg-io-width = <0x04>;
+ interrupts = <0x00 0x06 0x04>;
+ clocks = <0x03 0x03>;
+ clock-names = "uartclk\0apb_pclk";
+ };
+ /* pcie {
+ compatible = "pci-host-ecam-generic";
+ linux,pci-domain = <0x00>;
+ device_type = "pci";
+ #address-cells = <0x03>;
+ #size-cells = <0x02>;
+ #interrupt-cells = <0x01>;
+ reg = <0x00 0x40000000 0x00 0x10000000>;
+ msi-parent = <0x05>;
+ bus-range = <0x00 0xff>;
+ interrupt-map-mask = <0x00 0x00 0x00 0x07>;
+ interrupt-map = <0x00 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x1c 0x04 0x00 0x00 0x00 0x02 0x01 0x00 0x00 0x00 0x1d 0x04 0x00 0x00 0x00 0x03 0x01 0x00 0x00 0x00 0x1e 0x04 0x00 0x00 0x00 0x04 0x01 0x00 0x00 0x00 0x1f 0x04>;
+ ranges = <0x1000000 0x00 0x00 0x00 0x50000000 0x00 0xf00000 0x2000000 0x00 0x58000000 0x00 0x58000000 0x00 0x28000000 0x3000000 0x10 0x00 0x10 0x00 0x10 0x00>;
+ };*/
+ };
+};
diff --git a/configs/arm64/dts/phytium/ft2004-AMA1-uart.dts b/configs/arm64/dts/phytium/ft2004-AMA1-uart.dts
new file mode 100644
index 00000000..0e073fec
--- /dev/null
+++ b/configs/arm64/dts/phytium/ft2004-AMA1-uart.dts
@@ -0,0 +1,111 @@
+/dts-v1/;
+
+/memreserve/ 0x0000000080000000 0x0000000000010000;
+/ {
+ compatible = "phytium,ft-2004";
+ interrupt-parent = <0x01>;
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ model = "FT-2000/4-D4-DSK Development Board";
+
+ hypervisor {
+ compatible = "kvisor,domain";
+ };
+
+ psci {
+ compatible = "arm,psci-1.0";
+ method = "smc";
+ cpu_suspend = <0xc4000001>;
+ cpu_off = <0x84000002>;
+ cpu_on = <0xc4000003>;
+ sys_poweroff = <0x84000008>;
+ sys_reset = <0x84000009>;
+ };
+
+ cpus {
+ #address-cells = <0x02>;
+ #size-cells = <0x00>;
+
+ cpu@100 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x00 0x100>;
+ enable-method = "psci";
+ numa-node-id = <0x00>;
+ clocks = <0x02 0x01>;
+ };
+
+ cpu@101 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x00 0x101>;
+ enable-method = "psci";
+ numa-node-id = <0x00>;
+ clocks = <0x02 0x01>;
+ };
+ };
+
+ interrupt-controller@29900000 {
+ compatible = "arm,gic-v3";
+ #interrupt-cells = <0x03>;
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ ranges;
+ interrupt-controller;
+ reg = <0x00 0x29900000 0x00 0x20000 0x00 0x29980000 0x00 0x80000 0x00 0x29c00000 0x00 0x10000 0x00 0x29c10000 0x00 0x10000 0x00 0x29c20000 0x00 0x10000>;
+ interrupts = <0x01 0x09 0x04>;
+ phandle = <0x01>;
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupts = <0x01 0x0d 0x08 0x01 0x0e 0x08 0x01 0x0b 0x08 0x01 0x0a 0x08>;
+ clock-frequency = <0x2dc6c00>;
+ };
+
+ clocks {
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ ranges;
+
+ clk250mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0xee6b280>;
+ phandle = <0x06>;
+ };
+
+ clk48mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0x2dc6c00>;
+ phandle = <0x03>;
+ };
+
+ clk600mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0x23c34600>;
+ phandle = <0x04>;
+ };
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ dma-coherent;
+ ranges;
+
+ uart@28000000 {
+ compatible = "arm,pl011\0arm,primecell";
+ reg = <0x00 0x28000000 0x00 0x1000>;
+ baud = <0x1c200>;
+ reg-shift = <0x02>;
+ reg-io-width = <0x04>;
+ interrupts = <0x00 0x06 0x04>;
+ clocks = <0x03 0x03>;
+ clock-names = "uartclk\0apb_pclk";
+ };
+ };
+};
diff --git a/configs/arm64/dts/phytium/ft2004-guest-eth.dts b/configs/arm64/dts/phytium/ft2004-guest-eth.dts
new file mode 100644
index 00000000..6a29d129
--- /dev/null
+++ b/configs/arm64/dts/phytium/ft2004-guest-eth.dts
@@ -0,0 +1,131 @@
+/dts-v1/;
+
+/memreserve/ 0x0000000080000000 0x0000000000010000;
+/ {
+ compatible = "phytium,ft-2004";
+ interrupt-parent = <0x1>;
+ #address-cells = <0x2>;
+ #size-cells = <0x2>;
+ model = "FT-2000/4-D4-DSK Development Board";
+
+ hypervisor {
+ compatible = "kvisor,domain";
+ };
+
+ psci {
+ compatible = "arm,psci-1.0";
+ method = "smc";
+ cpu_suspend = <0xc4000001>;
+ cpu_off = <0x84000002>;
+ cpu_on = <0xc4000003>;
+ sys_poweroff = <0x84000008>;
+ sys_reset = <0x84000009>;
+ };
+
+ cpus {
+ #address-cells = <0x2>;
+ #size-cells = <0x0>;
+
+ cpu@100 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x0 0x100>;
+ enable-method = "psci";
+ numa-node-id = <0x0>;
+ clocks = <0x2 0x1>;
+ };
+
+ cpu@101 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x0 0x101>;
+ enable-method = "psci";
+ numa-node-id = <0x0>;
+ clocks = <0x2 0x1>;
+ };
+ };
+
+ interrupt-controller@29900000 {
+ compatible = "arm,gic-v3";
+ #interrupt-cells = <0x3>;
+ #address-cells = <0x2>;
+ #size-cells = <0x2>;
+ ranges;
+ interrupt-controller;
+ reg = <0x0 0x29900000 0x0 0x20000 0x0 0x29980000 0x0 0x80000 0x0 0x29c00000 0x0 0x10000 0x0 0x29c10000 0x0 0x10000 0x0 0x29c20000 0x0 0x10000>;
+ interrupts = <0x1 0x9 0x4>;
+ phandle = <0x1>;
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupts = <0x1 0xd 0x8 0x1 0xe 0x8 0x1 0xb 0x8 0x1 0xa 0x8>;
+ clock-frequency = <0x2dc6c00>;
+ };
+
+ clocks {
+ #address-cells = <0x2>;
+ #size-cells = <0x2>;
+ ranges;
+
+ clk250mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x0>;
+ clock-frequency = <0xee6b280>;
+ phandle = <0x6>;
+ };
+
+ clk48mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x0>;
+ clock-frequency = <0x2dc6c00>;
+ phandle = <0x3>;
+ };
+
+ clk600mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x0>;
+ clock-frequency = <0x23c34600>;
+ phandle = <0x4>;
+ };
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <0x2>;
+ #size-cells = <0x2>;
+ dma-coherent;
+ ranges;
+
+ uart@28000000 {
+ compatible = "arm,pl011", "arm,primecell";
+ reg = <0x0 0x28000000 0x0 0x1000>;
+ baud = <0x1c200>;
+ reg-shift = <0x2>;
+ reg-io-width = <0x4>;
+ interrupts = <0x0 0x6 0x4>;
+ clocks = <0x3 0x3>;
+ clock-names = "uartclk", "apb_pclk";
+ };
+
+ eth@2820c000 {
+ compatible = "snps,dwmac";
+ reg = <0x0 0x2820c000 0x0 0x2000>;
+ interrupts = <0x0 0x31 0x4>;
+ interrupt-names = "macirq";
+ clocks = <0x6>;
+ clock-names = "stmmaceth";
+ status = "ok";
+ snps,pbl = <0x10>;
+ snps,fixed-burst;
+ snps,axi-config = <0x7>;
+ snps,force_sf_dma_mode;
+ snps,multicast-filter-bins = <0x40>;
+ snps,perfect-filter-entries = <0x80>;
+ tx-fifo-depth = <0x1000>;
+ rx-fifo-depth = <0x1000>;
+ max-frame-size = <0x2328>;
+ phy-mode = "rgmii-rxid";
+ };
+ };
+};
diff --git a/configs/arm64/dts/phytium/ft2004-main-eth.dts b/configs/arm64/dts/phytium/ft2004-main-eth.dts
new file mode 100644
index 00000000..a547a600
--- /dev/null
+++ b/configs/arm64/dts/phytium/ft2004-main-eth.dts
@@ -0,0 +1,441 @@
+/dts-v1/;
+
+/memreserve/ 0x0000000080000000 0x0000000000010000;
+/ {
+ compatible = "phytium,ft-2004";
+ interrupt-parent = <0x1>;
+ #address-cells = <0x2>;
+ #size-cells = <0x2>;
+ model = "FT-2000/4-D4-DSK Development Board";
+
+ aliases {
+ ethernet0 = "/soc/eth@2820c000";
+ ethernet1 = "/soc/eth@28210000";
+ };
+
+ reserved-memory {
+ #address-cells = <0x2>;
+ #size-cells = <0x2>;
+ ranges;
+
+ reserved@b0000000 {
+ reg = <0x0 0xb0000000 0x0 0x40000000>;
+ no-map;
+ };
+ reserved@2300000000 {
+ reg = <0x23 0x00 0x0 0x10000000>;
+ no-map;
+ };
+ };
+
+ psci {
+ compatible = "arm,psci-1.0";
+ method = "smc";
+ cpu_suspend = <0xc4000001>;
+ cpu_off = <0x84000002>;
+ cpu_on = <0xc4000003>;
+ sys_poweroff = <0x84000008>;
+ sys_reset = <0x84000009>;
+ };
+
+ cpus {
+ #address-cells = <0x2>;
+ #size-cells = <0x0>;
+
+ cpu@0 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x0 0x0>;
+ enable-method = "psci";
+ numa-node-id = <0x0>;
+ };
+
+ cpu@1 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x0 0x1>;
+ enable-method = "psci";
+ numa-node-id = <0x0>;
+ };
+
+ cpu@100 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x0 0x100>;
+ enable-method = "psci";
+ numa-node-id = <0x0>;
+ };
+
+ cpu@101 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x0 0x101>;
+ enable-method = "psci";
+ numa-node-id = <0x0>;
+ };
+ };
+
+ interrupt-controller@29900000 {
+ compatible = "arm,gic-v3";
+ #interrupt-cells = <0x3>;
+ #address-cells = <0x2>;
+ #size-cells = <0x2>;
+ ranges;
+ interrupt-controller;
+ reg = <0x0 0x29900000 0x0 0x20000 0x0 0x29980000 0x0 0x80000 0x0 0x29c00000 0x0 0x10000 0x0 0x29c10000 0x0 0x10000 0x0 0x29c20000 0x0 0x10000>;
+ interrupts = <0x1 0x9 0x4>;
+ phandle = <0x1>;
+
+ gic-its@29920000 {
+ compatible = "arm,gic-v3-its";
+ msi-controller;
+ reg = <0x0 0x29920000 0x0 0x20000>;
+ phandle = <0x4>;
+ };
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupts = <0x1 0xd 0x8 0x1 0xe 0x8 0x1 0xb 0x8 0x1 0xa 0x8>;
+ clock-frequency = <0x2dc6c00>;
+ };
+
+ clocks {
+ #address-cells = <0x2>;
+ #size-cells = <0x2>;
+ ranges;
+
+ clk250mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x0>;
+ clock-frequency = <0xee6b280>;
+ phandle = <0x5>;
+ };
+
+ clk48mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x0>;
+ clock-frequency = <0x2dc6c00>;
+ phandle = <0x2>;
+ };
+
+ clk600mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x0>;
+ clock-frequency = <0x23c34600>;
+ phandle = <0x3>;
+ };
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <0x2>;
+ #size-cells = <0x2>;
+ dma-coherent;
+ ranges;
+
+ gpio@28004000 {
+ compatible = "phytium,gpio";
+ reg = <0x0 0x28004000 0x0 0x1000>;
+ interrupts = <0x0 0xa 0x4>;
+ gpio-controller;
+ #gpio-cells = <0x2>;
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+ phandle = <0x7>;
+
+ porta {
+ compatible = "phytium,gpio-port";
+ reg = <0x0>;
+ nr-gpios = <0x8>;
+ };
+
+ portb {
+ compatible = "phytium,gpio-port";
+ reg = <0x1>;
+ nr-gpios = <0x8>;
+ };
+ };
+
+ gpio@28005000 {
+ compatible = "phytium,gpio";
+ reg = <0x0 0x28005000 0x0 0x1000>;
+ interrupts = <0x0 0xb 0x4>;
+ gpio-controller;
+ #gpio-cells = <0x2>;
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+
+ porta {
+ compatible = "phytium,gpio-port";
+ reg = <0x0>;
+ nr-gpios = <0x8>;
+ };
+
+ portb {
+ compatible = "phytium,gpio-port";
+ reg = <0x1>;
+ nr-gpios = <0x8>;
+ };
+ };
+
+ uart@28000000 {
+ compatible = "arm,pl011", "arm,primecell";
+ reg = <0x0 0x28000000 0x0 0x1000>;
+ baud = <0x1c200>;
+ reg-shift = <0x2>;
+ reg-io-width = <0x4>;
+ interrupts = <0x0 0x6 0x4>;
+ clocks = <0x2 0x2>;
+ clock-names = "uartclk", "apb_pclk";
+ };
+
+ uart@28001000 {
+ compatible = "arm,pl011", "arm,primecell";
+ reg = <0x0 0x28001000 0x0 0x1000>;
+ baud = <0x1c200>;
+ reg-shift = <0x2>;
+ reg-io-width = <0x4>;
+ interrupts = <0x0 0x7 0x4>;
+ clocks = <0x2 0x2>;
+ clock-names = "uartclk", "apb_pclk";
+ status = "ok";
+ };
+
+ uart@28002000 {
+ compatible = "arm,pl011", "arm,primecell";
+ reg = <0x0 0x28002000 0x0 0x1000>;
+ baud = <0x1c200>;
+ reg-shift = <0x2>;
+ reg-io-width = <0x4>;
+ interrupts = <0x0 0x8 0x4>;
+ clocks = <0x2 0x2>;
+ clock-names = "uartclk", "apb_pclk";
+ };
+
+ uart@28003000 {
+ compatible = "arm,pl011", "arm,primecell";
+ reg = <0x0 0x28003000 0x0 0x1000>;
+ baud = <0x1c200>;
+ reg-shift = <0x2>;
+ reg-io-width = <0x4>;
+ interrupts = <0x0 0x9 0x4>;
+ clocks = <0x2 0x2>;
+ clock-names = "uartclk", "apb_pclk";
+ };
+
+ sdci@28207c00 {
+ compatible = "phytium,sdci";
+ reg = <0x0 0x28207c00 0x0 0x100>;
+ interrupts = <0x0 0x14 0x4 0x0 0x15 0x4 0x0 0x16 0x4>;
+ clocks = <0x3 0x3>;
+ clock-names = "phytium_sdc_clk";
+ no-sdio;
+ no-mmc;
+ no-dma-coherent;
+ };
+
+ watchdog@2800a000 {
+ compatible = "arm,sbsa-gwdt";
+ reg = <0x0 0x2800b000 0x0 0x1000 0x0 0x2800a000 0x0 0x1000>;
+ interrupts = <0x0 0x10 0x4>;
+ timeout-sec = <0x1e>;
+ };
+
+ watchdog@28016000 {
+ compatible = "arm,sbsa-gwdt";
+ reg = <0x0 0x28017000 0x0 0x1000 0x0 0x28016000 0x0 0x1000>;
+ interrupts = <0x0 0x11 0x4>;
+ timeout-sec = <0x1e>;
+ };
+
+ rtc@2800d000 {
+ compatible = "phytium,rtc";
+ reg = <0x0 0x2800d000 0x0 0x1000>;
+ clocks = <0x2>;
+ clock-names = "rtc_pclk";
+ interrupts = <0x0 0x4 0x4>;
+ status = "disabled";
+ };
+
+ i2c@28006000 {
+ compatible = "snps,designware-i2c";
+ reg = <0x0 0x28006000 0x0 0x1000>;
+ interrupts = <0x0 0xc 0x4>;
+ clocks = <0x2>;
+ status = "ok";
+ };
+
+ i2c@28007000 {
+ compatible = "snps,designware-i2c";
+ reg = <0x0 0x28007000 0x0 0x1000>;
+ interrupts = <0x0 0xd 0x4>;
+ clocks = <0x2>;
+ status = "ok";
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+
+ rtc@68 {
+ compatible = "dallas,ds1339";
+ reg = <0x68>;
+ };
+ };
+
+ i2c@28008000 {
+ compatible = "snps,designware-i2c";
+ reg = <0x0 0x28008000 0x0 0x1000>;
+ interrupts = <0x0 0xe 0x4>;
+ clocks = <0x2>;
+ status = "disabled";
+ };
+
+ i2c@28009000 {
+ compatible = "snps,designware-i2c";
+ reg = <0x0 0x28009000 0x0 0x1000>;
+ interrupts = <0x0 0xf 0x4>;
+ clocks = <0x2>;
+ status = "disabled";
+ };
+
+ spi@2800c000 {
+ compatible = "phytium,spi";
+ interrupts = <0x0 0x12 0x4>;
+ reg = <0x0 0x2800c000 0x0 0x1000>;
+ clocks = <0x2>;
+ num-cs = <0x4>;
+ status = "ok";
+ #address-cells = <0x1>;
+ #size-cells = <0x0>;
+
+ spidev@0 {
+ compatible = "rohm,dh2228fv";
+ spi-max-frequency = <0x7a1200>;
+ reg = <0x0>;
+ };
+ };
+
+ spi@28013000 {
+ compatible = "phytium,spi";
+ interrupts = <0x0 0x13 0x4>;
+ reg = <0x0 0x28013000 0x0 0x1000>;
+ clocks = <0x2>;
+ num-cs = <0x4>;
+ };
+
+ qspi@28014000 {
+ compatible = "phytium,qspi";
+ reg = <0x0 0x28014000 0x0 0x1000 0x0 0x0 0x0 0x2000000>;
+ reg-names = "qspi", "qspi_mm";
+ clocks = <0x3>;
+ status = "disabled";
+
+ flash@0 {
+ spi-rx-bus-width = <0x1>;
+ spi-max-frequency = <0x23c34600>;
+ };
+ };
+
+ pcie {
+ compatible = "pci-host-ecam-generic";
+ device_type = "pci";
+ #address-cells = <0x3>;
+ #size-cells = <0x2>;
+ #interrupt-cells = <0x1>;
+ reg = <0x0 0x40000000 0x0 0x10000000>;
+ msi-parent = <0x4>;
+ bus-range = <0x0 0xff>;
+ interrupt-map-mask = <0x0 0x0 0x0 0x7>;
+ interrupt-map = <0x0 0x0 0x0 0x1 0x1 0x0 0x0 0x0 0x1c 0x4 0x0 0x0 0x0 0x2 0x1 0x0 0x0 0x0 0x1d 0x4 0x0 0x0 0x0 0x3 0x1 0x0 0x0 0x0 0x1e 0x4 0x0 0x0 0x0 0x4 0x1 0x0 0x0 0x0 0x1f 0x4>;
+ ranges = <0x1000000 0x0 0x0 0x0 0x50000000 0x0 0xf00000 0x2000000 0x0 0x58000000 0x0 0x58000000 0x0 0x28000000 0x3000000 0x10 0x0 0x10 0x0 0x10 0x0>;
+ };
+
+ stmmac-axi-config {
+ snps,wr_osr_lmt = <0x0>;
+ snps,rd_osr_lmt = <0x0>;
+ snps,blen = <0x0 0x0 0x0 0x0 0x10 0x8 0x4>;
+ phandle = <0x6>;
+ };
+
+ eth@28210000 {
+ compatible = "snps,dwmac";
+ reg = <0x0 0x28210000 0x0 0x2000>;
+ interrupts = <0x0 0x32 0x4>;
+ interrupt-names = "macirq";
+ clocks = <0x5>;
+ clock-names = "stmmaceth";
+ status = "ok";
+ snps,pbl = <0x10>;
+ snps,fixed-burst;
+ snps,axi-config = <0x6>;
+ snps,force_sf_dma_mode;
+ snps,multicast-filter-bins = <0x40>;
+ snps,perfect-filter-entries = <0x80>;
+ snps,rx-queues-to-use = <0x2>;
+ tx-fifo-depth = <0x1000>;
+ rx-fifo-depth = <0x1000>;
+ max-frame-size = <0x2328>;
+ phy-mode = "rgmii-id";
+ };
+
+ can@28207000 {
+ compatible = "phytium,can";
+ reg = <0x0 0x28207000 0x0 0x400>;
+ interrupts = <0x0 0x57 0x4>;
+ clocks = <0x3>;
+ clock-names = "phytium_can_clk";
+ tx-fifo-depth = <0x40>;
+ rx-fifo-depth = <0x40>;
+ status = "ok";
+ };
+
+ can@28207400 {
+ compatible = "phytium,can";
+ reg = <0x0 0x28207400 0x0 0x400>;
+ interrupts = <0x0 0x5b 0x4>;
+ clocks = <0x3>;
+ clock-names = "phytium_can_clk";
+ tx-fifo-depth = <0x40>;
+ rx-fifo-depth = <0x40>;
+ };
+
+ can@028207800 {
+ compatible = "phytium,can";
+ reg = <0x0 0x28207800 0x0 0x400>;
+ interrupts = <0x0 0x5c 0x4>;
+ clocks = <0x3>;
+ clock-names = "phytium_can_clk";
+ tx-fifo-depth = <0x40>;
+ rx-fifo-depth = <0x40>;
+ };
+
+ hda@28206000 {
+ compatible = "phytium,hda";
+ reg = <0x0 0x28206000 0x0 0x1000>;
+ interrupts = <0x0 0x17 0x4>;
+ clocks = <0x2>;
+ clock-names = "phytium_hda_clk";
+ };
+ };
+
+ chosen {
+ stdout-path = "uart1:115200n8";
+ };
+
+ memory@00 {
+ device_type = "memory";
+ reg = <0x0 0x80000000 0x0 0x80000000>;
+ };
+
+ memory@01 {
+ device_type = "memory";
+ reg = <0x20 0x0 0x3 0x80000000>;
+ };
+
+ firmware {
+
+ optee {
+ compatible = "linaro,optee-tz";
+ method = "smc";
+ };
+ };
+};
diff --git a/configs/arm64/dts/phytium/ft2004.dts b/configs/arm64/dts/phytium/ft2004.dts
new file mode 100644
index 00000000..8ed2be02
--- /dev/null
+++ b/configs/arm64/dts/phytium/ft2004.dts
@@ -0,0 +1,506 @@
+/dts-v1/;
+
+/memreserve/ 0x0000000080000000 0x0000000000010000;
+/ {
+ compatible = "phytium,ft-2004";
+ interrupt-parent = <0x01>;
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ model = "FT-2000/4-D4-DSK Development Board";
+
+ aliases {
+ ethernet0 = "/soc/eth@2820c000";
+ ethernet1 = "/soc/eth@28210000";
+ };
+
+ reserved-memory {
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ ranges;
+
+ reserved@b0000000 {
+ reg = <0x00 0xb0000000 0x00 0x40000000>;
+ no-map;
+ };
+
+ };
+
+ psci {
+ compatible = "arm,psci-1.0";
+ method = "smc";
+ cpu_suspend = <0xc4000001>;
+ cpu_off = <0x84000002>;
+ cpu_on = <0xc4000003>;
+ sys_poweroff = <0x84000008>;
+ sys_reset = <0x84000009>;
+ };
+
+ cpus {
+ #address-cells = <0x02>;
+ #size-cells = <0x00>;
+
+ cpu@0 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x00 0x00>;
+ enable-method = "psci";
+ numa-node-id = <0x00>;
+ clocks = <0x02 0x00>;
+ };
+
+ cpu@1 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x00 0x01>;
+ enable-method = "psci";
+ numa-node-id = <0x00>;
+ clocks = <0x02 0x00>;
+ };
+
+ cpu@100 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x00 0x100>;
+ enable-method = "psci";
+ numa-node-id = <0x00>;
+ clocks = <0x02 0x01>;
+ };
+
+ cpu@101 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x00 0x101>;
+ enable-method = "psci";
+ numa-node-id = <0x00>;
+ clocks = <0x02 0x01>;
+ };
+ };
+
+ interrupt-controller@29900000 {
+ compatible = "arm,gic-v3";
+ #interrupt-cells = <0x03>;
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ ranges;
+ interrupt-controller;
+ reg = <0x00 0x29900000 0x00 0x20000 0x00 0x29980000 0x00 0x80000 0x00 0x29c00000 0x00 0x10000 0x00 0x29c10000 0x00 0x10000 0x00 0x29c20000 0x00 0x10000>;
+ interrupts = <0x01 0x09 0x04>;
+ phandle = <0x01>;
+
+ gic-its@29920000 {
+ compatible = "arm,gic-v3-its";
+ msi-controller;
+ reg = <0x00 0x29920000 0x00 0x20000>;
+ phandle = <0x05>;
+ };
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupts = <0x01 0x0d 0x08 0x01 0x0e 0x08 0x01 0x0b 0x08 0x01 0x0a 0x08>;
+ clock-frequency = <0x2dc6c00>;
+ };
+
+ pmu {
+ compatible = "arm,armv8-pmuv3";
+ interrupts = <0x01 0x07 0x08>;
+ };
+
+ clocks {
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ ranges;
+
+ clk250mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0xee6b280>;
+ phandle = <0x06>;
+ };
+
+ clk48mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0x2dc6c00>;
+ phandle = <0x03>;
+ };
+
+ clk600mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0x23c34600>;
+ phandle = <0x04>;
+ };
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ dma-coherent;
+ ranges;
+
+ gpio@28004000 {
+ compatible = "phytium,gpio";
+ reg = <0x00 0x28004000 0x00 0x1000>;
+ interrupts = <0x00 0x0a 0x04>;
+ gpio-controller;
+ #gpio-cells = <0x02>;
+ #address-cells = <0x01>;
+ #size-cells = <0x00>;
+
+ porta {
+ compatible = "phytium,gpio-port";
+ reg = <0x00>;
+ nr-gpios = <0x08>;
+ };
+
+ portb {
+ compatible = "phytium,gpio-port";
+ reg = <0x01>;
+ nr-gpios = <0x08>;
+ };
+ };
+
+ gpio@28005000 {
+ compatible = "phytium,gpio";
+ reg = <0x00 0x28005000 0x00 0x1000>;
+ interrupts = <0x00 0x0b 0x04>;
+ gpio-controller;
+ #gpio-cells = <0x02>;
+ #address-cells = <0x01>;
+ #size-cells = <0x00>;
+
+ porta {
+ compatible = "phytium,gpio-port";
+ reg = <0x00>;
+ nr-gpios = <0x08>;
+ };
+
+ portb {
+ compatible = "phytium,gpio-port";
+ reg = <0x01>;
+ nr-gpios = <0x08>;
+ };
+ };
+
+ uart@28000000 {
+ compatible = "arm,pl011\0arm,primecell";
+ reg = <0x00 0x28000000 0x00 0x1000>;
+ baud = <0x1c200>;
+ reg-shift = <0x02>;
+ reg-io-width = <0x04>;
+ interrupts = <0x00 0x06 0x04>;
+ clocks = <0x03 0x03>;
+ clock-names = "uartclk\0apb_pclk";
+ };
+
+ uart@28001000 {
+ compatible = "arm,pl011\0arm,primecell";
+ reg = <0x00 0x28001000 0x00 0x1000>;
+ baud = <0x1c200>;
+ reg-shift = <0x02>;
+ reg-io-width = <0x04>;
+ interrupts = <0x00 0x07 0x04>;
+ clocks = <0x03 0x03>;
+ clock-names = "uartclk\0apb_pclk";
+ status = "ok";
+ };
+
+ uart@28002000 {
+ compatible = "arm,pl011\0arm,primecell";
+ reg = <0x00 0x28002000 0x00 0x1000>;
+ baud = <0x1c200>;
+ reg-shift = <0x02>;
+ reg-io-width = <0x04>;
+ interrupts = <0x00 0x08 0x04>;
+ clocks = <0x03 0x03>;
+ clock-names = "uartclk\0apb_pclk";
+ };
+
+ uart@28003000 {
+ compatible = "arm,pl011\0arm,primecell";
+ reg = <0x00 0x28003000 0x00 0x1000>;
+ baud = <0x1c200>;
+ reg-shift = <0x02>;
+ reg-io-width = <0x04>;
+ interrupts = <0x00 0x09 0x04>;
+ clocks = <0x03 0x03>;
+ clock-names = "uartclk\0apb_pclk";
+ };
+
+ sdci@28207c00 {
+ compatible = "phytium,sdci";
+ reg = <0x00 0x28207c00 0x00 0x100>;
+ interrupts = <0x00 0x14 0x04 0x00 0x15 0x04 0x00 0x16 0x04>;
+ clocks = <0x04 0x04>;
+ clock-names = "phytium_sdc_clk";
+ no-sdio;
+ no-mmc;
+ no-dma-coherent;
+ };
+
+ watchdog@2800a000 {
+ compatible = "arm,sbsa-gwdt";
+ reg = <0x00 0x2800b000 0x00 0x1000 0x00 0x2800a000 0x00 0x1000>;
+ interrupts = <0x00 0x10 0x04>;
+ timeout-sec = <0x1e>;
+ };
+
+ watchdog@28016000 {
+ compatible = "arm,sbsa-gwdt";
+ reg = <0x00 0x28017000 0x00 0x1000 0x00 0x28016000 0x00 0x1000>;
+ interrupts = <0x00 0x11 0x04>;
+ timeout-sec = <0x1e>;
+ };
+
+ i2c@28006000 {
+ compatible = "snps,designware-i2c";
+ reg = <0x00 0x28006000 0x00 0x1000>;
+ interrupts = <0x00 0x0c 0x04>;
+ clocks = <0x03>;
+ status = "ok";
+ };
+
+ i2c@28007000 {
+ compatible = "snps,designware-i2c";
+ reg = <0x00 0x28007000 0x00 0x1000>;
+ interrupts = <0x00 0x0d 0x04>;
+ clocks = <0x03>;
+ status = "ok";
+ #address-cells = <0x01>;
+ #size-cells = <0x00>;
+
+ rtc@68 {
+ compatible = "dallas,ds1339";
+ reg = <0x68>;
+ };
+ };
+
+ i2c@28008000 {
+ compatible = "snps,designware-i2c";
+ reg = <0x00 0x28008000 0x00 0x1000>;
+ interrupts = <0x00 0x0e 0x04>;
+ clocks = <0x03>;
+ status = "disabled";
+ };
+
+ i2c@28009000 {
+ compatible = "snps,designware-i2c";
+ reg = <0x00 0x28009000 0x00 0x1000>;
+ interrupts = <0x00 0x0f 0x04>;
+ clocks = <0x03>;
+ status = "disabled";
+ };
+
+ spi@2800c000 {
+ compatible = "phytium,spi";
+ interrupts = <0x00 0x12 0x04>;
+ reg = <0x00 0x2800c000 0x00 0x1000>;
+ clocks = <0x03>;
+ num-cs = <0x04>;
+ status = "ok";
+ };
+
+ spi@28013000 {
+ compatible = "phytium,spi";
+ interrupts = <0x00 0x13 0x04>;
+ reg = <0x00 0x28013000 0x00 0x1000>;
+ clocks = <0x03>;
+ num-cs = <0x04>;
+ };
+
+ qspi@28014000 {
+ compatible = "phytium,qspi";
+ reg = <0x00 0x28014000 0x00 0x1000 0x00 0x00 0x00 0x2000000>;
+ reg-names = "qspi\0qspi_mm";
+ clocks = <0x04>;
+ status = "ok";
+
+ flash@0 {
+ spi-rx-bus-width = <0x01>;
+ spi-max-frequency = <0x23c34600>;
+ };
+ };
+
+ pcie {
+ compatible = "pci-host-ecam-generic";
+ linux,pci-domain = <0x00>;
+ device_type = "pci";
+ #address-cells = <0x03>;
+ #size-cells = <0x02>;
+ #interrupt-cells = <0x01>;
+ reg = <0x00 0x40000000 0x00 0x10000000>;
+ msi-parent = <0x05>;
+ bus-range = <0x00 0xff>;
+ interrupt-map-mask = <0x00 0x00 0x00 0x07>;
+ interrupt-map = <0x00 0x00 0x00 0x01 0x01 0x00 0x00 0x00 0x1c 0x04 0x00 0x00 0x00 0x02 0x01 0x00 0x00 0x00 0x1d 0x04 0x00 0x00 0x00 0x03 0x01 0x00 0x00 0x00 0x1e 0x04 0x00 0x00 0x00 0x04 0x01 0x00 0x00 0x00 0x1f 0x04>;
+ ranges = <0x1000000 0x00 0x00 0x00 0x50000000 0x00 0xf00000 0x2000000 0x00 0x58000000 0x00 0x58000000 0x00 0x28000000 0x3000000 0x10 0x00 0x10 0x00 0x10 0x00>;
+ };
+
+ stmmac-axi-config {
+ snps,wr_osr_lmt = <0x00>;
+ snps,rd_osr_lmt = <0x00>;
+ snps,blen = <0x00 0x00 0x00 0x00 0x10 0x08 0x04>;
+ phandle = <0x07>;
+ };
+
+ eth@2820c000 {
+ compatible = "snps,dwmac";
+ reg = <0x00 0x2820c000 0x00 0x2000>;
+ interrupts = <0x00 0x31 0x04>;
+ interrupt-names = "macirq";
+ clocks = <0x06>;
+ clock-names = "stmmaceth";
+ status = "ok";
+ snps,pbl = <0x10>;
+ snps,fixed-burst;
+ snps,axi-config = <0x07>;
+ snps,force_sf_dma_mode;
+ snps,multicast-filter-bins = <0x40>;
+ snps,perfect-filter-entries = <0x80>;
+ tx-fifo-depth = <0x1000>;
+ rx-fifo-depth = <0x1000>;
+ max-frame-size = <0x2328>;
+ phy-mode = "rgmii-rxid";
+ };
+
+ eth@28210000 {
+ compatible = "snps,dwmac";
+ reg = <0x00 0x28210000 0x00 0x2000>;
+ interrupts = <0x00 0x32 0x04>;
+ interrupt-names = "macirq";
+ clocks = <0x06>;
+ clock-names = "stmmaceth";
+ status = "ok";
+ snps,pbl = <0x10>;
+ snps,fixed-burst;
+ snps,axi-config = <0x07>;
+ snps,force_sf_dma_mode;
+ snps,multicast-filter-bins = <0x40>;
+ snps,perfect-filter-entries = <0x80>;
+ snps,rx-queues-to-use = <0x02>;
+ tx-fifo-depth = <0x1000>;
+ rx-fifo-depth = <0x1000>;
+ max-frame-size = <0x2328>;
+ phy-mode = "rgmii-rxid";
+ };
+
+ can@28207000 {
+ compatible = "phytium,can";
+ reg = <0x00 0x28207000 0x00 0x400>;
+ interrupts = <0x00 0x57 0x04>;
+ clocks = <0x04>;
+ clock-names = "phytium_can_clk";
+ tx-fifo-depth = <0x40>;
+ rx-fifo-depth = <0x40>;
+ };
+
+ can@28207400 {
+ compatible = "phytium,can";
+ reg = <0x00 0x28207400 0x00 0x400>;
+ interrupts = <0x00 0x5b 0x04>;
+ clocks = <0x04>;
+ clock-names = "phytium_can_clk";
+ tx-fifo-depth = <0x40>;
+ rx-fifo-depth = <0x40>;
+ };
+
+ can@028207800 {
+ compatible = "phytium,can";
+ reg = <0x00 0x28207800 0x00 0x400>;
+ interrupts = <0x00 0x5c 0x04>;
+ clocks = <0x04>;
+ clock-names = "phytium_can_clk";
+ tx-fifo-depth = <0x40>;
+ rx-fifo-depth = <0x40>;
+ };
+
+ hda@28206000 {
+ compatible = "phytium,hda";
+ reg = <0x00 0x28206000 0x00 0x1000>;
+ interrupts = <0x00 0x17 0x04>;
+ clocks = <0x03>;
+ clock-names = "phytium_hda_clk";
+ };
+
+ mailbox@2a000000 {
+ compatible = "phytium,mbox";
+ reg = <0x00 0x2a000000 0x00 0x1000>;
+ interrupts = <0x00 0x30 0x04>;
+ #mbox-cells = <0x01>;
+ clocks = <0x03>;
+ clock-names = "apb_pclk";
+ phandle = <0x08>;
+ };
+
+ sram@2a006000 {
+ compatible = "phytium,ft2004-sram-ns\0mmio-sram";
+ reg = <0x00 0x2a006000 0x00 0x2000>;
+ #address-cells = <0x01>;
+ #size-cells = <0x01>;
+ ranges = <0x00 0x00 0x2a006000 0x2000>;
+
+ scpi-shmem@0 {
+ compatible = "phytium,ft2004-scpi-shmem";
+ reg = <0x1000 0x800>;
+ phandle = <0x09>;
+ };
+ };
+
+ scpi {
+ compatible = "arm,scpi";
+ mboxes = <0x08 0x00>;
+ shmem = <0x09>;
+
+ clocks {
+ compatible = "arm,scpi-clocks";
+
+ scpi_clocks@0 {
+ compatible = "arm,scpi-dvfs-clocks";
+ #clock-cells = <0x01>;
+ clock-indices = <0x00 0x01>;
+ clock-output-names = "c0\0c1";
+ phandle = <0x02>;
+ };
+ };
+
+ sensors {
+ compatible = "arm,scpi-sensors";
+ #thermal-sensor-cells = <0x01>;
+ };
+ };
+
+ lpc@0x20000000 {
+ compatible = "phytium,i8042";
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ reg = <0x00 0x20000000 0x00 0x100>;
+ interrupts = <0x00 0x05 0x04>;
+ lpc_version = <0x01>;
+ status = "ok";
+ };
+ };
+
+ chosen {
+ stdout-path = "uart1:115200n8";
+ };
+
+ memory@00 {
+ device_type = "memory";
+ reg = <0x00 0x80000000 0x00 0x80000000>;
+ };
+
+ memory@01 {
+ device_type = "memory";
+ reg = <0x20 0x00 0x03 0x80000000>;
+ };
+
+ firmware {
+
+ optee {
+ compatible = "linaro,optee-tz";
+ method = "smc";
+ };
+ };
+};
diff --git a/configs/arm64/dts/phytium/ftd2000-AMA0.dts b/configs/arm64/dts/phytium/ftd2000-AMA0.dts
new file mode 100644
index 00000000..e80385b7
--- /dev/null
+++ b/configs/arm64/dts/phytium/ftd2000-AMA0.dts
@@ -0,0 +1,111 @@
+/dts-v1/;
+
+/memreserve/ 0x0000000080000000 0x0000000000010000;
+/ {
+ compatible = "phytium,ft-2004";
+ interrupt-parent = <0x01>;
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ model = "FT-2000/4-D4-DSK Development Board";
+
+ hypervisor {
+ compatible = "kvisor,domain";
+ };
+
+ psci {
+ compatible = "arm,psci-1.0";
+ method = "smc";
+ cpu_suspend = <0xc4000001>;
+ cpu_off = <0x84000002>;
+ cpu_on = <0xc4000003>;
+ sys_poweroff = <0x84000008>;
+ sys_reset = <0x84000009>;
+ };
+
+ cpus {
+ #address-cells = <0x02>;
+ #size-cells = <0x00>;
+
+ cpu@100 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x00 0x100>;
+ enable-method = "psci";
+ numa-node-id = <0x00>;
+ clocks = <0x02 0x01>;
+ };
+
+ cpu@101 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x00 0x101>;
+ enable-method = "psci";
+ numa-node-id = <0x00>;
+ clocks = <0x02 0x01>;
+ };
+ };
+
+ interrupt-controller@29a00000 {
+ compatible = "arm,gic-v3";
+ #interrupt-cells = <0x03>;
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ ranges;
+ interrupt-controller;
+ reg = <0x00 0x29a00000 0x00 0x20000 0x00 0x29b00000 0x00 0x100000 0x00 0x29c00000 0x00 0x10000 0x00 0x29c10000 0x00 0x10000 0x00 0x29c20000 0x00 0x10000>;
+ interrupts = <0x01 0x09 0x04>;
+ phandle = <0x01>;
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupts = <0x01 0x0d 0x08 0x01 0x0e 0x08 0x01 0x0b 0x08 0x01 0x0a 0x08>;
+ clock-frequency = <0x2dc6c00>;
+ };
+
+ clocks {
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ ranges;
+
+ clk250mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0xee6b280>;
+ phandle = <0x06>;
+ };
+
+ clk48mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0x2dc6c00>;
+ phandle = <0x03>;
+ };
+
+ clk600mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0x23c34600>;
+ phandle = <0x04>;
+ };
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ dma-coherent;
+ ranges;
+
+ uart@28000000 {
+ compatible = "arm,pl011\0arm,primecell";
+ reg = <0x00 0x28000000 0x00 0x1000>;
+ baud = <0x1c200>;
+ reg-shift = <0x02>;
+ reg-io-width = <0x04>;
+ interrupts = <0x00 0x06 0x04>;
+ clocks = <0x03 0x03>;
+ clock-names = "uartclk\0apb_pclk";
+ };
+ };
+};
diff --git a/configs/arm64/dts/phytium/ftd2000-AMA1.dts b/configs/arm64/dts/phytium/ftd2000-AMA1.dts
new file mode 100644
index 00000000..b30a448a
--- /dev/null
+++ b/configs/arm64/dts/phytium/ftd2000-AMA1.dts
@@ -0,0 +1,111 @@
+/dts-v1/;
+
+/memreserve/ 0x0000000080000000 0x0000000000010000;
+/ {
+ compatible = "phytium,ft-2004";
+ interrupt-parent = <0x01>;
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ model = "FT-2000/4-D4-DSK Development Board";
+
+ hypervisor {
+ compatible = "kvisor,domain";
+ };
+
+ psci {
+ compatible = "arm,psci-1.0";
+ method = "smc";
+ cpu_suspend = <0xc4000001>;
+ cpu_off = <0x84000002>;
+ cpu_on = <0xc4000003>;
+ sys_poweroff = <0x84000008>;
+ sys_reset = <0x84000009>;
+ };
+
+ cpus {
+ #address-cells = <0x02>;
+ #size-cells = <0x00>;
+
+ cpu@100 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x00 0x100>;
+ enable-method = "psci";
+ numa-node-id = <0x00>;
+ clocks = <0x02 0x01>;
+ };
+
+ cpu@101 {
+ device_type = "cpu";
+ compatible = "arm,armv8";
+ reg = <0x00 0x101>;
+ enable-method = "psci";
+ numa-node-id = <0x00>;
+ clocks = <0x02 0x01>;
+ };
+ };
+
+ interrupt-controller@29a00000 {
+ compatible = "arm,gic-v3";
+ #interrupt-cells = <0x03>;
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ ranges;
+ interrupt-controller;
+ reg = <0x00 0x29a00000 0x00 0x20000 0x00 0x29b00000 0x00 0x100000 0x00 0x29c00000 0x00 0x10000 0x00 0x29c10000 0x00 0x10000 0x00 0x29c20000 0x00 0x10000>;
+ interrupts = <0x01 0x09 0x04>;
+ phandle = <0x01>;
+ };
+
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupts = <0x01 0x0d 0x08 0x01 0x0e 0x08 0x01 0x0b 0x08 0x01 0x0a 0x08>;
+ clock-frequency = <0x2dc6c00>;
+ };
+
+ clocks {
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ ranges;
+
+ clk250mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0xee6b280>;
+ phandle = <0x06>;
+ };
+
+ clk48mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0x2dc6c00>;
+ phandle = <0x03>;
+ };
+
+ clk600mhz {
+ compatible = "fixed-clock";
+ #clock-cells = <0x00>;
+ clock-frequency = <0x23c34600>;
+ phandle = <0x04>;
+ };
+ };
+
+ soc {
+ compatible = "simple-bus";
+ #address-cells = <0x02>;
+ #size-cells = <0x02>;
+ dma-coherent;
+ ranges;
+
+ uart@28001000 {
+ compatible = "arm,pl011\0arm,primecell";
+ reg = <0x00 0x28001000 0x00 0x1000>;
+ baud = <0x1c200>;
+ reg-shift = <0x02>;
+ reg-io-width = <0x04>;
+ interrupts = <0x00 0x07 0x04>;
+ clocks = <0x03 0x03>;
+ clock-names = "uartclk\0apb_pclk";
+ };
+ };
+};
--
2.25.1
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/src-openeuler/Jailhouse.git
[email protected]:src-openeuler/Jailhouse.git
src-openeuler
Jailhouse
Jailhouse
master

搜索帮助