156f37e39SGuodong Xu// SPDX-License-Identifier: (GPL-2.0 OR MIT) 256f37e39SGuodong Xu/* 356f37e39SGuodong Xu * Copyright (c) 2026 SpacemiT (Hangzhou) Technology Co. Ltd 456f37e39SGuodong Xu * Copyright (c) 2026 Guodong Xu <guodong@riscstar.com> 556f37e39SGuodong Xu */ 656f37e39SGuodong Xu 767072c8cSYixun Lan#include <dt-bindings/clock/spacemit,k3-clocks.h> 856f37e39SGuodong Xu#include <dt-bindings/interrupt-controller/irq.h> 9324c9c10SZhengyu He#include <dt-bindings/reset/spacemit,k3-resets.h> 10*46380e4bSInochi Amaoto#include <dt-bindings/phy/phy.h> 11324c9c10SZhengyu He 12324c9c10SZhengyu He#include "k3-pdma.h" 1356f37e39SGuodong Xu 1456f37e39SGuodong Xu/dts-v1/; 1556f37e39SGuodong Xu 1656f37e39SGuodong Xu/ { 1756f37e39SGuodong Xu #address-cells = <2>; 1856f37e39SGuodong Xu #size-cells = <2>; 1956f37e39SGuodong Xu model = "SpacemiT K3"; 2056f37e39SGuodong Xu compatible = "spacemit,k3"; 2156f37e39SGuodong Xu 2256f37e39SGuodong Xu cpus: cpus { 2356f37e39SGuodong Xu #address-cells = <1>; 2456f37e39SGuodong Xu #size-cells = <0>; 2556f37e39SGuodong Xu timebase-frequency = <24000000>; 2656f37e39SGuodong Xu 2756f37e39SGuodong Xu cpu_0: cpu@0 { 2856f37e39SGuodong Xu compatible = "spacemit,x100", "riscv"; 2956f37e39SGuodong Xu device_type = "cpu"; 3056f37e39SGuodong Xu reg = <0>; 3156f37e39SGuodong Xu riscv,isa-base = "rv64i"; 3256f37e39SGuodong Xu riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h", 3356f37e39SGuodong Xu "sha", "shcounterenw", "shgatpa", "shtvala", 3456f37e39SGuodong Xu "shvsatpa", "shvstvala", "shvstvecd", "smaia", 3556f37e39SGuodong Xu "smstateen", "ssaia", "ssccptr", "sscofpmf", 3656f37e39SGuodong Xu "sscounterenw", "ssnpm", "ssstateen", "sstc", 3756f37e39SGuodong Xu "sstvala", "sstvecd", "ssu64xl", "svade", 3856f37e39SGuodong Xu "svinval", "svnapot", "svpbmt", "za64rs", 3956f37e39SGuodong Xu "zawrs", "zba", "zbb", "zbc", "zbs", "zca", 4056f37e39SGuodong Xu "zcb", "zcd", "zcmop", "zfa", "zfbfmin", 4156f37e39SGuodong Xu "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", 42b4a78979SGuodong Xu "ziccamoa", "ziccif", "zicclsm", "ziccrse", "zicntr", 4356f37e39SGuodong Xu "zicond", "zicsr", "zifencei", "zihintntl", 4456f37e39SGuodong Xu "zihintpause", "zihpm", "zimop", "zkt", "zvbb", 4556f37e39SGuodong Xu "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", 4656f37e39SGuodong Xu "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", 4756f37e39SGuodong Xu "zvkned", "zvkng", "zvknha", "zvknhb", "zvks", 4856f37e39SGuodong Xu "zvksc", "zvksed", "zvksg", "zvksh", "zvkt"; 4956f37e39SGuodong Xu riscv,cbom-block-size = <64>; 5056f37e39SGuodong Xu riscv,cbop-block-size = <64>; 5156f37e39SGuodong Xu riscv,cboz-block-size = <64>; 5256f37e39SGuodong Xu i-cache-block-size = <64>; 5356f37e39SGuodong Xu i-cache-size = <65536>; 5456f37e39SGuodong Xu i-cache-sets = <256>; 5556f37e39SGuodong Xu d-cache-block-size = <64>; 5656f37e39SGuodong Xu d-cache-size = <65536>; 5756f37e39SGuodong Xu d-cache-sets = <256>; 5856f37e39SGuodong Xu next-level-cache = <&l2_cache0>; 5956f37e39SGuodong Xu mmu-type = "riscv,sv39"; 6056f37e39SGuodong Xu 6156f37e39SGuodong Xu cpu0_intc: interrupt-controller { 6256f37e39SGuodong Xu compatible = "riscv,cpu-intc"; 6356f37e39SGuodong Xu #interrupt-cells = <1>; 6456f37e39SGuodong Xu interrupt-controller; 6556f37e39SGuodong Xu }; 6656f37e39SGuodong Xu }; 6756f37e39SGuodong Xu 6856f37e39SGuodong Xu cpu_1: cpu@1 { 6956f37e39SGuodong Xu compatible = "spacemit,x100", "riscv"; 7056f37e39SGuodong Xu device_type = "cpu"; 7156f37e39SGuodong Xu reg = <1>; 7256f37e39SGuodong Xu riscv,isa-base = "rv64i"; 7356f37e39SGuodong Xu riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h", 7456f37e39SGuodong Xu "sha", "shcounterenw", "shgatpa", "shtvala", 7556f37e39SGuodong Xu "shvsatpa", "shvstvala", "shvstvecd", "smaia", 7656f37e39SGuodong Xu "smstateen", "ssaia", "ssccptr", "sscofpmf", 7756f37e39SGuodong Xu "sscounterenw", "ssnpm", "ssstateen", "sstc", 7856f37e39SGuodong Xu "sstvala", "sstvecd", "ssu64xl", "svade", 7956f37e39SGuodong Xu "svinval", "svnapot", "svpbmt", "za64rs", 8056f37e39SGuodong Xu "zawrs", "zba", "zbb", "zbc", "zbs", "zca", 8156f37e39SGuodong Xu "zcb", "zcd", "zcmop", "zfa", "zfbfmin", 8256f37e39SGuodong Xu "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", 83b4a78979SGuodong Xu "ziccamoa", "ziccif", "zicclsm", "ziccrse", "zicntr", 8456f37e39SGuodong Xu "zicond", "zicsr", "zifencei", "zihintntl", 8556f37e39SGuodong Xu "zihintpause", "zihpm", "zimop", "zkt", "zvbb", 8656f37e39SGuodong Xu "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", 8756f37e39SGuodong Xu "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", 8856f37e39SGuodong Xu "zvkned", "zvkng", "zvknha", "zvknhb", "zvks", 8956f37e39SGuodong Xu "zvksc", "zvksed", "zvksg", "zvksh", "zvkt"; 9056f37e39SGuodong Xu riscv,cbom-block-size = <64>; 9156f37e39SGuodong Xu riscv,cbop-block-size = <64>; 9256f37e39SGuodong Xu riscv,cboz-block-size = <64>; 9356f37e39SGuodong Xu i-cache-block-size = <64>; 9456f37e39SGuodong Xu i-cache-size = <65536>; 9556f37e39SGuodong Xu i-cache-sets = <256>; 9656f37e39SGuodong Xu d-cache-block-size = <64>; 9756f37e39SGuodong Xu d-cache-size = <65536>; 9856f37e39SGuodong Xu d-cache-sets = <256>; 9956f37e39SGuodong Xu next-level-cache = <&l2_cache0>; 10056f37e39SGuodong Xu mmu-type = "riscv,sv39"; 10156f37e39SGuodong Xu 10256f37e39SGuodong Xu cpu1_intc: interrupt-controller { 10356f37e39SGuodong Xu compatible = "riscv,cpu-intc"; 10456f37e39SGuodong Xu #interrupt-cells = <1>; 10556f37e39SGuodong Xu interrupt-controller; 10656f37e39SGuodong Xu }; 10756f37e39SGuodong Xu }; 10856f37e39SGuodong Xu 10956f37e39SGuodong Xu cpu_2: cpu@2 { 11056f37e39SGuodong Xu compatible = "spacemit,x100", "riscv"; 11156f37e39SGuodong Xu device_type = "cpu"; 11256f37e39SGuodong Xu reg = <2>; 11356f37e39SGuodong Xu riscv,isa-base = "rv64i"; 11456f37e39SGuodong Xu riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h", 11556f37e39SGuodong Xu "sha", "shcounterenw", "shgatpa", "shtvala", 11656f37e39SGuodong Xu "shvsatpa", "shvstvala", "shvstvecd", "smaia", 11756f37e39SGuodong Xu "smstateen", "ssaia", "ssccptr", "sscofpmf", 11856f37e39SGuodong Xu "sscounterenw", "ssnpm", "ssstateen", "sstc", 11956f37e39SGuodong Xu "sstvala", "sstvecd", "ssu64xl", "svade", 12056f37e39SGuodong Xu "svinval", "svnapot", "svpbmt", "za64rs", 12156f37e39SGuodong Xu "zawrs", "zba", "zbb", "zbc", "zbs", "zca", 12256f37e39SGuodong Xu "zcb", "zcd", "zcmop", "zfa", "zfbfmin", 12356f37e39SGuodong Xu "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", 124b4a78979SGuodong Xu "ziccamoa", "ziccif", "zicclsm", "ziccrse", "zicntr", 12556f37e39SGuodong Xu "zicond", "zicsr", "zifencei", "zihintntl", 12656f37e39SGuodong Xu "zihintpause", "zihpm", "zimop", "zkt", "zvbb", 12756f37e39SGuodong Xu "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", 12856f37e39SGuodong Xu "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", 12956f37e39SGuodong Xu "zvkned", "zvkng", "zvknha", "zvknhb", "zvks", 13056f37e39SGuodong Xu "zvksc", "zvksed", "zvksg", "zvksh", "zvkt"; 13156f37e39SGuodong Xu riscv,cbom-block-size = <64>; 13256f37e39SGuodong Xu riscv,cbop-block-size = <64>; 13356f37e39SGuodong Xu riscv,cboz-block-size = <64>; 13456f37e39SGuodong Xu i-cache-block-size = <64>; 13556f37e39SGuodong Xu i-cache-size = <65536>; 13656f37e39SGuodong Xu i-cache-sets = <256>; 13756f37e39SGuodong Xu d-cache-block-size = <64>; 13856f37e39SGuodong Xu d-cache-size = <65536>; 13956f37e39SGuodong Xu d-cache-sets = <256>; 14056f37e39SGuodong Xu next-level-cache = <&l2_cache0>; 14156f37e39SGuodong Xu mmu-type = "riscv,sv39"; 14256f37e39SGuodong Xu 14356f37e39SGuodong Xu cpu2_intc: interrupt-controller { 14456f37e39SGuodong Xu compatible = "riscv,cpu-intc"; 14556f37e39SGuodong Xu #interrupt-cells = <1>; 14656f37e39SGuodong Xu interrupt-controller; 14756f37e39SGuodong Xu }; 14856f37e39SGuodong Xu }; 14956f37e39SGuodong Xu 15056f37e39SGuodong Xu cpu_3: cpu@3 { 15156f37e39SGuodong Xu compatible = "spacemit,x100", "riscv"; 15256f37e39SGuodong Xu device_type = "cpu"; 15356f37e39SGuodong Xu reg = <3>; 15456f37e39SGuodong Xu riscv,isa-base = "rv64i"; 15556f37e39SGuodong Xu riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h", 15656f37e39SGuodong Xu "sha", "shcounterenw", "shgatpa", "shtvala", 15756f37e39SGuodong Xu "shvsatpa", "shvstvala", "shvstvecd", "smaia", 15856f37e39SGuodong Xu "smstateen", "ssaia", "ssccptr", "sscofpmf", 15956f37e39SGuodong Xu "sscounterenw", "ssnpm", "ssstateen", "sstc", 16056f37e39SGuodong Xu "sstvala", "sstvecd", "ssu64xl", "svade", 16156f37e39SGuodong Xu "svinval", "svnapot", "svpbmt", "za64rs", 16256f37e39SGuodong Xu "zawrs", "zba", "zbb", "zbc", "zbs", "zca", 16356f37e39SGuodong Xu "zcb", "zcd", "zcmop", "zfa", "zfbfmin", 16456f37e39SGuodong Xu "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", 165b4a78979SGuodong Xu "ziccamoa", "ziccif", "zicclsm", "ziccrse", "zicntr", 16656f37e39SGuodong Xu "zicond", "zicsr", "zifencei", "zihintntl", 16756f37e39SGuodong Xu "zihintpause", "zihpm", "zimop", "zkt", "zvbb", 16856f37e39SGuodong Xu "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", 16956f37e39SGuodong Xu "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", 17056f37e39SGuodong Xu "zvkned", "zvkng", "zvknha", "zvknhb", "zvks", 17156f37e39SGuodong Xu "zvksc", "zvksed", "zvksg", "zvksh", "zvkt"; 17256f37e39SGuodong Xu riscv,cbom-block-size = <64>; 17356f37e39SGuodong Xu riscv,cbop-block-size = <64>; 17456f37e39SGuodong Xu riscv,cboz-block-size = <64>; 17556f37e39SGuodong Xu i-cache-block-size = <64>; 17656f37e39SGuodong Xu i-cache-size = <65536>; 17756f37e39SGuodong Xu i-cache-sets = <256>; 17856f37e39SGuodong Xu d-cache-block-size = <64>; 17956f37e39SGuodong Xu d-cache-size = <65536>; 18056f37e39SGuodong Xu d-cache-sets = <256>; 18156f37e39SGuodong Xu next-level-cache = <&l2_cache0>; 18256f37e39SGuodong Xu mmu-type = "riscv,sv39"; 18356f37e39SGuodong Xu 18456f37e39SGuodong Xu cpu3_intc: interrupt-controller { 18556f37e39SGuodong Xu compatible = "riscv,cpu-intc"; 18656f37e39SGuodong Xu #interrupt-cells = <1>; 18756f37e39SGuodong Xu interrupt-controller; 18856f37e39SGuodong Xu }; 18956f37e39SGuodong Xu }; 19056f37e39SGuodong Xu 19156f37e39SGuodong Xu cpu_4: cpu@4 { 19256f37e39SGuodong Xu compatible = "spacemit,x100", "riscv"; 19356f37e39SGuodong Xu device_type = "cpu"; 19456f37e39SGuodong Xu reg = <4>; 19556f37e39SGuodong Xu riscv,isa-base = "rv64i"; 19656f37e39SGuodong Xu riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h", 19756f37e39SGuodong Xu "sha", "shcounterenw", "shgatpa", "shtvala", 19856f37e39SGuodong Xu "shvsatpa", "shvstvala", "shvstvecd", "smaia", 19956f37e39SGuodong Xu "smstateen", "ssaia", "ssccptr", "sscofpmf", 20056f37e39SGuodong Xu "sscounterenw", "ssnpm", "ssstateen", "sstc", 20156f37e39SGuodong Xu "sstvala", "sstvecd", "ssu64xl", "svade", 20256f37e39SGuodong Xu "svinval", "svnapot", "svpbmt", "za64rs", 20356f37e39SGuodong Xu "zawrs", "zba", "zbb", "zbc", "zbs", "zca", 20456f37e39SGuodong Xu "zcb", "zcd", "zcmop", "zfa", "zfbfmin", 20556f37e39SGuodong Xu "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", 206b4a78979SGuodong Xu "ziccamoa", "ziccif", "zicclsm", "ziccrse", "zicntr", 20756f37e39SGuodong Xu "zicond", "zicsr", "zifencei", "zihintntl", 20856f37e39SGuodong Xu "zihintpause", "zihpm", "zimop", "zkt", "zvbb", 20956f37e39SGuodong Xu "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", 21056f37e39SGuodong Xu "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", 21156f37e39SGuodong Xu "zvkned", "zvkng", "zvknha", "zvknhb", "zvks", 21256f37e39SGuodong Xu "zvksc", "zvksed", "zvksg", "zvksh", "zvkt"; 21356f37e39SGuodong Xu riscv,cbom-block-size = <64>; 21456f37e39SGuodong Xu riscv,cbop-block-size = <64>; 21556f37e39SGuodong Xu riscv,cboz-block-size = <64>; 21656f37e39SGuodong Xu i-cache-block-size = <64>; 21756f37e39SGuodong Xu i-cache-size = <65536>; 21856f37e39SGuodong Xu i-cache-sets = <256>; 21956f37e39SGuodong Xu d-cache-block-size = <64>; 22056f37e39SGuodong Xu d-cache-size = <65536>; 22156f37e39SGuodong Xu d-cache-sets = <256>; 22256f37e39SGuodong Xu next-level-cache = <&l2_cache1>; 22356f37e39SGuodong Xu mmu-type = "riscv,sv39"; 22456f37e39SGuodong Xu 22556f37e39SGuodong Xu cpu4_intc: interrupt-controller { 22656f37e39SGuodong Xu compatible = "riscv,cpu-intc"; 22756f37e39SGuodong Xu #interrupt-cells = <1>; 22856f37e39SGuodong Xu interrupt-controller; 22956f37e39SGuodong Xu }; 23056f37e39SGuodong Xu }; 23156f37e39SGuodong Xu 23256f37e39SGuodong Xu cpu_5: cpu@5 { 23356f37e39SGuodong Xu compatible = "spacemit,x100", "riscv"; 23456f37e39SGuodong Xu device_type = "cpu"; 23556f37e39SGuodong Xu reg = <5>; 23656f37e39SGuodong Xu riscv,isa-base = "rv64i"; 23756f37e39SGuodong Xu riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h", 23856f37e39SGuodong Xu "sha", "shcounterenw", "shgatpa", "shtvala", 23956f37e39SGuodong Xu "shvsatpa", "shvstvala", "shvstvecd", "smaia", 24056f37e39SGuodong Xu "smstateen", "ssaia", "ssccptr", "sscofpmf", 24156f37e39SGuodong Xu "sscounterenw", "ssnpm", "ssstateen", "sstc", 24256f37e39SGuodong Xu "sstvala", "sstvecd", "ssu64xl", "svade", 24356f37e39SGuodong Xu "svinval", "svnapot", "svpbmt", "za64rs", 24456f37e39SGuodong Xu "zawrs", "zba", "zbb", "zbc", "zbs", "zca", 24556f37e39SGuodong Xu "zcb", "zcd", "zcmop", "zfa", "zfbfmin", 24656f37e39SGuodong Xu "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", 247b4a78979SGuodong Xu "ziccamoa", "ziccif", "zicclsm", "ziccrse", "zicntr", 24856f37e39SGuodong Xu "zicond", "zicsr", "zifencei", "zihintntl", 24956f37e39SGuodong Xu "zihintpause", "zihpm", "zimop", "zkt", "zvbb", 25056f37e39SGuodong Xu "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", 25156f37e39SGuodong Xu "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", 25256f37e39SGuodong Xu "zvkned", "zvkng", "zvknha", "zvknhb", "zvks", 25356f37e39SGuodong Xu "zvksc", "zvksed", "zvksg", "zvksh", "zvkt"; 25456f37e39SGuodong Xu riscv,cbom-block-size = <64>; 25556f37e39SGuodong Xu riscv,cbop-block-size = <64>; 25656f37e39SGuodong Xu riscv,cboz-block-size = <64>; 25756f37e39SGuodong Xu i-cache-block-size = <64>; 25856f37e39SGuodong Xu i-cache-size = <65536>; 25956f37e39SGuodong Xu i-cache-sets = <256>; 26056f37e39SGuodong Xu d-cache-block-size = <64>; 26156f37e39SGuodong Xu d-cache-size = <65536>; 26256f37e39SGuodong Xu d-cache-sets = <256>; 26356f37e39SGuodong Xu next-level-cache = <&l2_cache1>; 26456f37e39SGuodong Xu mmu-type = "riscv,sv39"; 26556f37e39SGuodong Xu 26656f37e39SGuodong Xu cpu5_intc: interrupt-controller { 26756f37e39SGuodong Xu compatible = "riscv,cpu-intc"; 26856f37e39SGuodong Xu #interrupt-cells = <1>; 26956f37e39SGuodong Xu interrupt-controller; 27056f37e39SGuodong Xu }; 27156f37e39SGuodong Xu }; 27256f37e39SGuodong Xu 27356f37e39SGuodong Xu cpu_6: cpu@6 { 27456f37e39SGuodong Xu compatible = "spacemit,x100", "riscv"; 27556f37e39SGuodong Xu device_type = "cpu"; 27656f37e39SGuodong Xu reg = <6>; 27756f37e39SGuodong Xu riscv,isa-base = "rv64i"; 27856f37e39SGuodong Xu riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h", 27956f37e39SGuodong Xu "sha", "shcounterenw", "shgatpa", "shtvala", 28056f37e39SGuodong Xu "shvsatpa", "shvstvala", "shvstvecd", "smaia", 28156f37e39SGuodong Xu "smstateen", "ssaia", "ssccptr", "sscofpmf", 28256f37e39SGuodong Xu "sscounterenw", "ssnpm", "ssstateen", "sstc", 28356f37e39SGuodong Xu "sstvala", "sstvecd", "ssu64xl", "svade", 28456f37e39SGuodong Xu "svinval", "svnapot", "svpbmt", "za64rs", 28556f37e39SGuodong Xu "zawrs", "zba", "zbb", "zbc", "zbs", "zca", 28656f37e39SGuodong Xu "zcb", "zcd", "zcmop", "zfa", "zfbfmin", 28756f37e39SGuodong Xu "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", 288b4a78979SGuodong Xu "ziccamoa", "ziccif", "zicclsm", "ziccrse", "zicntr", 28956f37e39SGuodong Xu "zicond", "zicsr", "zifencei", "zihintntl", 29056f37e39SGuodong Xu "zihintpause", "zihpm", "zimop", "zkt", "zvbb", 29156f37e39SGuodong Xu "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", 29256f37e39SGuodong Xu "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", 29356f37e39SGuodong Xu "zvkned", "zvkng", "zvknha", "zvknhb", "zvks", 29456f37e39SGuodong Xu "zvksc", "zvksed", "zvksg", "zvksh", "zvkt"; 29556f37e39SGuodong Xu riscv,cbom-block-size = <64>; 29656f37e39SGuodong Xu riscv,cbop-block-size = <64>; 29756f37e39SGuodong Xu riscv,cboz-block-size = <64>; 29856f37e39SGuodong Xu i-cache-block-size = <64>; 29956f37e39SGuodong Xu i-cache-size = <65536>; 30056f37e39SGuodong Xu i-cache-sets = <256>; 30156f37e39SGuodong Xu d-cache-block-size = <64>; 30256f37e39SGuodong Xu d-cache-size = <65536>; 30356f37e39SGuodong Xu d-cache-sets = <256>; 30456f37e39SGuodong Xu next-level-cache = <&l2_cache1>; 30556f37e39SGuodong Xu mmu-type = "riscv,sv39"; 30656f37e39SGuodong Xu 30756f37e39SGuodong Xu cpu6_intc: interrupt-controller { 30856f37e39SGuodong Xu compatible = "riscv,cpu-intc"; 30956f37e39SGuodong Xu #interrupt-cells = <1>; 31056f37e39SGuodong Xu interrupt-controller; 31156f37e39SGuodong Xu }; 31256f37e39SGuodong Xu }; 31356f37e39SGuodong Xu 31456f37e39SGuodong Xu cpu_7: cpu@7 { 31556f37e39SGuodong Xu compatible = "spacemit,x100", "riscv"; 31656f37e39SGuodong Xu device_type = "cpu"; 31756f37e39SGuodong Xu reg = <7>; 31856f37e39SGuodong Xu riscv,isa-base = "rv64i"; 31956f37e39SGuodong Xu riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "b", "v", "h", 32056f37e39SGuodong Xu "sha", "shcounterenw", "shgatpa", "shtvala", 32156f37e39SGuodong Xu "shvsatpa", "shvstvala", "shvstvecd", "smaia", 32256f37e39SGuodong Xu "smstateen", "ssaia", "ssccptr", "sscofpmf", 32356f37e39SGuodong Xu "sscounterenw", "ssnpm", "ssstateen", "sstc", 32456f37e39SGuodong Xu "sstvala", "sstvecd", "ssu64xl", "svade", 32556f37e39SGuodong Xu "svinval", "svnapot", "svpbmt", "za64rs", 32656f37e39SGuodong Xu "zawrs", "zba", "zbb", "zbc", "zbs", "zca", 32756f37e39SGuodong Xu "zcb", "zcd", "zcmop", "zfa", "zfbfmin", 32856f37e39SGuodong Xu "zfh", "zfhmin", "zicbom", "zicbop", "zicboz", 329b4a78979SGuodong Xu "ziccamoa", "ziccif", "zicclsm", "ziccrse", "zicntr", 33056f37e39SGuodong Xu "zicond", "zicsr", "zifencei", "zihintntl", 33156f37e39SGuodong Xu "zihintpause", "zihpm", "zimop", "zkt", "zvbb", 33256f37e39SGuodong Xu "zvbc", "zvfbfmin", "zvfbfwma", "zvfh", 33356f37e39SGuodong Xu "zvfhmin", "zvkb", "zvkg", "zvkn", "zvknc", 33456f37e39SGuodong Xu "zvkned", "zvkng", "zvknha", "zvknhb", "zvks", 33556f37e39SGuodong Xu "zvksc", "zvksed", "zvksg", "zvksh", "zvkt"; 33656f37e39SGuodong Xu riscv,cbom-block-size = <64>; 33756f37e39SGuodong Xu riscv,cbop-block-size = <64>; 33856f37e39SGuodong Xu riscv,cboz-block-size = <64>; 33956f37e39SGuodong Xu i-cache-block-size = <64>; 34056f37e39SGuodong Xu i-cache-size = <65536>; 34156f37e39SGuodong Xu i-cache-sets = <256>; 34256f37e39SGuodong Xu d-cache-block-size = <64>; 34356f37e39SGuodong Xu d-cache-size = <65536>; 34456f37e39SGuodong Xu d-cache-sets = <256>; 34556f37e39SGuodong Xu next-level-cache = <&l2_cache1>; 34656f37e39SGuodong Xu mmu-type = "riscv,sv39"; 34756f37e39SGuodong Xu 34856f37e39SGuodong Xu cpu7_intc: interrupt-controller { 34956f37e39SGuodong Xu compatible = "riscv,cpu-intc"; 35056f37e39SGuodong Xu #interrupt-cells = <1>; 35156f37e39SGuodong Xu interrupt-controller; 35256f37e39SGuodong Xu }; 35356f37e39SGuodong Xu }; 35456f37e39SGuodong Xu 35556f37e39SGuodong Xu l2_cache0: cache-controller-0 { 35656f37e39SGuodong Xu compatible = "cache"; 35756f37e39SGuodong Xu cache-block-size = <64>; 35856f37e39SGuodong Xu cache-level = <2>; 35956f37e39SGuodong Xu cache-size = <4194304>; 36056f37e39SGuodong Xu cache-sets = <4096>; 36156f37e39SGuodong Xu cache-unified; 36256f37e39SGuodong Xu }; 36356f37e39SGuodong Xu 36456f37e39SGuodong Xu l2_cache1: cache-controller-1 { 36556f37e39SGuodong Xu compatible = "cache"; 36656f37e39SGuodong Xu cache-block-size = <64>; 36756f37e39SGuodong Xu cache-level = <2>; 36856f37e39SGuodong Xu cache-size = <4194304>; 36956f37e39SGuodong Xu cache-sets = <4096>; 37056f37e39SGuodong Xu cache-unified; 37156f37e39SGuodong Xu }; 37256f37e39SGuodong Xu 37356f37e39SGuodong Xu cpu-map { 37456f37e39SGuodong Xu cluster0 { 37556f37e39SGuodong Xu core0 { 37656f37e39SGuodong Xu cpu = <&cpu_0>; 37756f37e39SGuodong Xu }; 37856f37e39SGuodong Xu core1 { 37956f37e39SGuodong Xu cpu = <&cpu_1>; 38056f37e39SGuodong Xu }; 38156f37e39SGuodong Xu core2 { 38256f37e39SGuodong Xu cpu = <&cpu_2>; 38356f37e39SGuodong Xu }; 38456f37e39SGuodong Xu core3 { 38556f37e39SGuodong Xu cpu = <&cpu_3>; 38656f37e39SGuodong Xu }; 38756f37e39SGuodong Xu }; 38856f37e39SGuodong Xu 38956f37e39SGuodong Xu cluster1 { 39056f37e39SGuodong Xu core0 { 39156f37e39SGuodong Xu cpu = <&cpu_4>; 39256f37e39SGuodong Xu }; 39356f37e39SGuodong Xu core1 { 39456f37e39SGuodong Xu cpu = <&cpu_5>; 39556f37e39SGuodong Xu }; 39656f37e39SGuodong Xu core2 { 39756f37e39SGuodong Xu cpu = <&cpu_6>; 39856f37e39SGuodong Xu }; 39956f37e39SGuodong Xu core3 { 40056f37e39SGuodong Xu cpu = <&cpu_7>; 40156f37e39SGuodong Xu }; 40256f37e39SGuodong Xu }; 40356f37e39SGuodong Xu }; 40456f37e39SGuodong Xu }; 40556f37e39SGuodong Xu 40667072c8cSYixun Lan clocks { 40767072c8cSYixun Lan vctcxo_1m: clock-1m { 40867072c8cSYixun Lan compatible = "fixed-clock"; 40967072c8cSYixun Lan clock-frequency = <1000000>; 41067072c8cSYixun Lan clock-output-names = "vctcxo_1m"; 41167072c8cSYixun Lan #clock-cells = <0>; 41267072c8cSYixun Lan }; 41367072c8cSYixun Lan 41467072c8cSYixun Lan vctcxo_24m: clock-24m { 41567072c8cSYixun Lan compatible = "fixed-clock"; 41667072c8cSYixun Lan clock-frequency = <24000000>; 41767072c8cSYixun Lan clock-output-names = "vctcxo_24m"; 41867072c8cSYixun Lan #clock-cells = <0>; 41967072c8cSYixun Lan }; 42067072c8cSYixun Lan 42167072c8cSYixun Lan vctcxo_3m: clock-3m { 42267072c8cSYixun Lan compatible = "fixed-clock"; 42367072c8cSYixun Lan clock-frequency = <3000000>; 42467072c8cSYixun Lan clock-output-names = "vctcxo_3m"; 42567072c8cSYixun Lan #clock-cells = <0>; 42667072c8cSYixun Lan }; 42767072c8cSYixun Lan 42867072c8cSYixun Lan osc_32k: clock-32k { 42967072c8cSYixun Lan compatible = "fixed-clock"; 4303c350f62SYixun Lan clock-frequency = <32768>; 43167072c8cSYixun Lan clock-output-names = "osc_32k"; 43267072c8cSYixun Lan #clock-cells = <0>; 43367072c8cSYixun Lan }; 43467072c8cSYixun Lan }; 43567072c8cSYixun Lan 43656f37e39SGuodong Xu soc: soc { 43756f37e39SGuodong Xu compatible = "simple-bus"; 43856f37e39SGuodong Xu interrupt-parent = <&saplic>; 43956f37e39SGuodong Xu #address-cells = <2>; 44056f37e39SGuodong Xu #size-cells = <2>; 44156f37e39SGuodong Xu dma-noncoherent; 44256f37e39SGuodong Xu ranges; 44356f37e39SGuodong Xu 444*46380e4bSInochi Amaoto usb3d: usb@81a00000 { 445*46380e4bSInochi Amaoto compatible = "spacemit,k3-dwc3"; 446*46380e4bSInochi Amaoto reg = <0x0 0x81a00000 0x0 0x10000>; 447*46380e4bSInochi Amaoto interrupts = <149 IRQ_TYPE_LEVEL_HIGH>; 448*46380e4bSInochi Amaoto interrupt-parent = <&saplic>; 449*46380e4bSInochi Amaoto clocks = <&syscon_apmu CLK_APMU_USB3_PORTD_BUS>; 450*46380e4bSInochi Amaoto clock-names = "usbdrd30"; 451*46380e4bSInochi Amaoto resets = <&syscon_apmu RESET_APMU_USB3_D_AHB>, 452*46380e4bSInochi Amaoto <&syscon_apmu RESET_APMU_USB3_D_VCC>, 453*46380e4bSInochi Amaoto <&syscon_apmu RESET_APMU_USB3_D_PHY>; 454*46380e4bSInochi Amaoto reset-names = "ahb", "vcc", "phy"; 455*46380e4bSInochi Amaoto phys = <&usb3d_u2phy>, 456*46380e4bSInochi Amaoto <&combophy 4 PHY_TYPE_USB3>; 457*46380e4bSInochi Amaoto phy-names = "usb2-phy", "usb3-phy"; 458*46380e4bSInochi Amaoto phy_type = "utmi"; 459*46380e4bSInochi Amaoto snps,dis_enblslpm_quirk; 460*46380e4bSInochi Amaoto snps,dis_u2_susphy_quirk; 461*46380e4bSInochi Amaoto snps,dis_u3_susphy_quirk; 462*46380e4bSInochi Amaoto snps,dis-del-phy-power-chg-quirk; 463*46380e4bSInochi Amaoto snps,dis-tx-ipgap-linecheck-quirk; 464*46380e4bSInochi Amaoto snps,parkmode-disable-ss-quirk; 465*46380e4bSInochi Amaoto dr_mode = "host"; 466*46380e4bSInochi Amaoto status = "disabled"; 467*46380e4bSInochi Amaoto }; 468*46380e4bSInochi Amaoto 469*46380e4bSInochi Amaoto usb3d_u2phy: phy@81b00000 { 470*46380e4bSInochi Amaoto compatible = "spacemit,k3-usb2-phy"; 471*46380e4bSInochi Amaoto reg = <0x0 0x81b00000 0x0 0x200>; 472*46380e4bSInochi Amaoto clocks = <&syscon_apmu CLK_APMU_USB3_PORTD_BUS>; 473*46380e4bSInochi Amaoto #phy-cells = <0>; 474*46380e4bSInochi Amaoto status = "disabled"; 475*46380e4bSInochi Amaoto }; 476*46380e4bSInochi Amaoto 477*46380e4bSInochi Amaoto combophy: phy@81d00000 { 478*46380e4bSInochi Amaoto compatible = "spacemit,k3-combo-phy"; 479*46380e4bSInochi Amaoto reg = <0x0 0x81d00000 0x0 0x600000>; 480*46380e4bSInochi Amaoto #phy-cells = <2>; 481*46380e4bSInochi Amaoto spacemit,apb-spare = <&pll>; 482*46380e4bSInochi Amaoto status = "disabled"; 483*46380e4bSInochi Amaoto }; 484*46380e4bSInochi Amaoto 485d3bd58f3SYixun Lan usb2_host: usb@c0a00000 { 486d3bd58f3SYixun Lan compatible = "spacemit,k3-dwc3"; 487d3bd58f3SYixun Lan reg = <0x0 0xc0a00000 0x0 0x10000>; 488d3bd58f3SYixun Lan clocks = <&syscon_apmu CLK_APMU_USB2_BUS>; 489d3bd58f3SYixun Lan clock-names = "usbdrd30"; 490d3bd58f3SYixun Lan resets = <&syscon_apmu RESET_APMU_USB2_AHB>, 491d3bd58f3SYixun Lan <&syscon_apmu RESET_APMU_USB2_VCC>, 492d3bd58f3SYixun Lan <&syscon_apmu RESET_APMU_USB2_PHY>; 493d3bd58f3SYixun Lan reset-names = "ahb", "vcc", "phy"; 494d3bd58f3SYixun Lan interrupts = <105 IRQ_TYPE_LEVEL_HIGH>; 495d3bd58f3SYixun Lan interrupt-parent = <&saplic>; 496d3bd58f3SYixun Lan phys = <&usb2_phy>; 497d3bd58f3SYixun Lan phy-names = "usb2-phy"; 498d3bd58f3SYixun Lan phy_type = "utmi"; 499d3bd58f3SYixun Lan snps,dis_enblslpm_quirk; 500d3bd58f3SYixun Lan snps,dis_u2_susphy_quirk; 501d3bd58f3SYixun Lan snps,dis-del-phy-power-chg-quirk; 502d3bd58f3SYixun Lan snps,dis-tx-ipgap-linecheck-quirk; 503d3bd58f3SYixun Lan dr_mode = "host"; 504d3bd58f3SYixun Lan maximum-speed = "high-speed"; 505d3bd58f3SYixun Lan status = "disabled"; 506d3bd58f3SYixun Lan }; 507d3bd58f3SYixun Lan 508d3bd58f3SYixun Lan usb2_phy: phy@c0a20000 { 509d3bd58f3SYixun Lan compatible = "spacemit,k3-usb2-phy"; 510d3bd58f3SYixun Lan reg = <0x0 0xc0a20000 0x0 0x200>; 511d3bd58f3SYixun Lan clocks = <&syscon_apmu CLK_APMU_USB2_BUS>; 512d3bd58f3SYixun Lan #phy-cells = <0>; 513d3bd58f3SYixun Lan status = "disabled"; 514d3bd58f3SYixun Lan }; 515d3bd58f3SYixun Lan 51674657a37SInochi Amaoto eth0: ethernet@cac80000 { 51774657a37SInochi Amaoto compatible = "spacemit,k3-dwmac", "snps,dwmac-5.40a"; 51874657a37SInochi Amaoto reg = <0x0 0xcac80000 0x0 0x2000>; 51974657a37SInochi Amaoto clocks = <&syscon_apmu CLK_APMU_EMAC0_BUS>, 52074657a37SInochi Amaoto <&syscon_apmu CLK_APMU_EMAC0_1588>, 52174657a37SInochi Amaoto <&syscon_apmu CLK_APMU_EMAC0_RGMII_TX>; 52274657a37SInochi Amaoto clock-names = "stmmaceth", "ptp_ref", "tx"; 52374657a37SInochi Amaoto interrupts = <131 IRQ_TYPE_LEVEL_HIGH>, 52474657a37SInochi Amaoto <276 IRQ_TYPE_LEVEL_HIGH>; 52574657a37SInochi Amaoto interrupt-names = "macirq", "eth_wake_irq"; 52674657a37SInochi Amaoto resets = <&syscon_apmu RESET_APMU_EMAC0>; 52774657a37SInochi Amaoto reset-names = "stmmaceth"; 52874657a37SInochi Amaoto rx-fifo-depth = <8192>; 52974657a37SInochi Amaoto tx-fifo-depth = <8192>; 53074657a37SInochi Amaoto snps,multicast-filter-bins = <64>; 53174657a37SInochi Amaoto snps,perfect-filter-entries = <32>; 53274657a37SInochi Amaoto snps,aal; 53374657a37SInochi Amaoto snps,tso; 53474657a37SInochi Amaoto snps,txpbl = <8>; 53574657a37SInochi Amaoto snps,rxpbl = <8>; 53674657a37SInochi Amaoto snps,force_sf_dma_mode; 53774657a37SInochi Amaoto snps,axi-config = <&gmac0_axi_setup>; 53874657a37SInochi Amaoto spacemit,apmu = <&syscon_apmu 0x3e4 0x3e8>; 53974657a37SInochi Amaoto status = "disabled"; 54074657a37SInochi Amaoto 54174657a37SInochi Amaoto mdio { 54274657a37SInochi Amaoto compatible = "snps,dwmac-mdio"; 54374657a37SInochi Amaoto #address-cells = <1>; 54474657a37SInochi Amaoto #size-cells = <0>; 54574657a37SInochi Amaoto }; 54674657a37SInochi Amaoto 54774657a37SInochi Amaoto gmac0_axi_setup: stmmac-axi-config { 54874657a37SInochi Amaoto snps,wr_osr_lmt = <0xf>; 54974657a37SInochi Amaoto snps,rd_osr_lmt = <0xf>; 55074657a37SInochi Amaoto /* max axi burst len is 256 */ 55174657a37SInochi Amaoto snps,blen = <256 128 64 32 16 0 0>; 55274657a37SInochi Amaoto }; 55374657a37SInochi Amaoto }; 55474657a37SInochi Amaoto 55574657a37SInochi Amaoto eth1: ethernet@cac82000 { 55674657a37SInochi Amaoto compatible = "spacemit,k3-dwmac", "snps,dwmac-5.40a"; 55774657a37SInochi Amaoto reg = <0x0 0xcac82000 0x0 0x2000>; 55874657a37SInochi Amaoto clocks = <&syscon_apmu CLK_APMU_EMAC1_BUS>, 55974657a37SInochi Amaoto <&syscon_apmu CLK_APMU_EMAC1_1588>, 56074657a37SInochi Amaoto <&syscon_apmu CLK_APMU_EMAC1_RGMII_TX>; 56174657a37SInochi Amaoto clock-names = "stmmaceth", "ptp_ref", "tx"; 56274657a37SInochi Amaoto interrupts = <133 IRQ_TYPE_LEVEL_HIGH>, 56374657a37SInochi Amaoto <277 IRQ_TYPE_LEVEL_HIGH>; 56474657a37SInochi Amaoto interrupt-names = "macirq", "eth_wake_irq"; 56574657a37SInochi Amaoto resets = <&syscon_apmu RESET_APMU_EMAC1>; 56674657a37SInochi Amaoto reset-names = "stmmaceth"; 56774657a37SInochi Amaoto rx-fifo-depth = <8192>; 56874657a37SInochi Amaoto tx-fifo-depth = <8192>; 56974657a37SInochi Amaoto snps,multicast-filter-bins = <64>; 57074657a37SInochi Amaoto snps,perfect-filter-entries = <32>; 57174657a37SInochi Amaoto snps,aal; 57274657a37SInochi Amaoto snps,tso; 57374657a37SInochi Amaoto snps,txpbl = <8>; 57474657a37SInochi Amaoto snps,rxpbl = <8>; 57574657a37SInochi Amaoto snps,force_sf_dma_mode; 57674657a37SInochi Amaoto snps,axi-config = <&gmac1_axi_setup>; 57774657a37SInochi Amaoto spacemit,apmu = <&syscon_apmu 0x3ec 0x3f0>; 57874657a37SInochi Amaoto status = "disabled"; 57974657a37SInochi Amaoto 58074657a37SInochi Amaoto mdio { 58174657a37SInochi Amaoto compatible = "snps,dwmac-mdio"; 58274657a37SInochi Amaoto #address-cells = <1>; 58374657a37SInochi Amaoto #size-cells = <0>; 58474657a37SInochi Amaoto }; 58574657a37SInochi Amaoto 58674657a37SInochi Amaoto gmac1_axi_setup: stmmac-axi-config { 58774657a37SInochi Amaoto snps,wr_osr_lmt = <0xf>; 58874657a37SInochi Amaoto snps,rd_osr_lmt = <0xf>; 58974657a37SInochi Amaoto /* max axi burst len is 256 */ 59074657a37SInochi Amaoto snps,blen = <256 128 64 32 16 0 0>; 59174657a37SInochi Amaoto }; 59274657a37SInochi Amaoto }; 59374657a37SInochi Amaoto 59474657a37SInochi Amaoto eth2: ethernet@cac8e000 { 59574657a37SInochi Amaoto compatible = "spacemit,k3-dwmac", "snps,dwmac-5.40a"; 59674657a37SInochi Amaoto reg = <0x0 0xcac8e000 0x0 0x2000>; 59774657a37SInochi Amaoto clocks = <&syscon_apmu CLK_APMU_EMAC2_BUS>, 59874657a37SInochi Amaoto <&syscon_apmu CLK_APMU_EMAC2_1588>, 59974657a37SInochi Amaoto <&syscon_apmu CLK_APMU_EMAC2_RGMII_TX>; 60074657a37SInochi Amaoto clock-names = "stmmaceth", "ptp_ref", "tx"; 60174657a37SInochi Amaoto interrupts = <130 IRQ_TYPE_LEVEL_HIGH>, 60274657a37SInochi Amaoto <278 IRQ_TYPE_LEVEL_HIGH>; 60374657a37SInochi Amaoto interrupt-names = "macirq", "eth_wake_irq"; 60474657a37SInochi Amaoto resets = <&syscon_apmu RESET_APMU_EMAC2>; 60574657a37SInochi Amaoto reset-names = "stmmaceth"; 60674657a37SInochi Amaoto rx-fifo-depth = <4096>; 60774657a37SInochi Amaoto tx-fifo-depth = <4096>; 60874657a37SInochi Amaoto snps,multicast-filter-bins = <64>; 60974657a37SInochi Amaoto snps,perfect-filter-entries = <32>; 61074657a37SInochi Amaoto snps,aal; 61174657a37SInochi Amaoto snps,tso; 61274657a37SInochi Amaoto snps,txpbl = <8>; 61374657a37SInochi Amaoto snps,rxpbl = <8>; 61474657a37SInochi Amaoto snps,force_sf_dma_mode; 61574657a37SInochi Amaoto snps,axi-config = <&gmac2_axi_setup>; 61674657a37SInochi Amaoto spacemit,apmu = <&syscon_apmu 0x248 0x24c>; 61774657a37SInochi Amaoto status = "disabled"; 61874657a37SInochi Amaoto 61974657a37SInochi Amaoto mdio { 62074657a37SInochi Amaoto compatible = "snps,dwmac-mdio"; 62174657a37SInochi Amaoto #address-cells = <1>; 62274657a37SInochi Amaoto #size-cells = <0>; 62374657a37SInochi Amaoto }; 62474657a37SInochi Amaoto 62574657a37SInochi Amaoto gmac2_axi_setup: stmmac-axi-config { 62674657a37SInochi Amaoto snps,wr_osr_lmt = <0xf>; 62774657a37SInochi Amaoto snps,rd_osr_lmt = <0xf>; 62874657a37SInochi Amaoto /* max axi burst len is 256 */ 62974657a37SInochi Amaoto snps,blen = <256 128 64 32 16 0 0>; 63074657a37SInochi Amaoto }; 63174657a37SInochi Amaoto }; 63274657a37SInochi Amaoto 6333f47ca8bSTroy Mitchell pdma: dma-controller@d4000000 { 6343f47ca8bSTroy Mitchell compatible = "spacemit,k3-pdma"; 6353f47ca8bSTroy Mitchell reg = <0x0 0xd4000000 0x0 0x4000>; 6363f47ca8bSTroy Mitchell clocks = <&syscon_apmu CLK_APMU_DMA>; 6373f47ca8bSTroy Mitchell resets = <&syscon_apmu RESET_APMU_DMA>; 6383f47ca8bSTroy Mitchell interrupts = <72 IRQ_TYPE_LEVEL_HIGH>; 6393f47ca8bSTroy Mitchell dma-channels = <16>; 6403f47ca8bSTroy Mitchell #dma-cells = <1>; 6413f47ca8bSTroy Mitchell status = "disabled"; 6423f47ca8bSTroy Mitchell }; 6433f47ca8bSTroy Mitchell 644cb322cbfSYixun Lan i2c0: i2c@d4010800 { 645cb322cbfSYixun Lan compatible = "spacemit,k3-i2c", "spacemit,k1-i2c"; 646cb322cbfSYixun Lan reg = <0x0 0xd4010800 0x0 0x38>; 647cb322cbfSYixun Lan #address-cells = <1>; 648cb322cbfSYixun Lan #size-cells = <0>; 649cb322cbfSYixun Lan interrupts = <36 IRQ_TYPE_LEVEL_HIGH>; 650cb322cbfSYixun Lan clocks = <&syscon_apbc CLK_APBC_TWSI0>, 651cb322cbfSYixun Lan <&syscon_apbc CLK_APBC_TWSI0_BUS>; 652cb322cbfSYixun Lan clock-names = "func", "bus"; 653cb322cbfSYixun Lan clock-frequency = <400000>; 654cb322cbfSYixun Lan resets = <&syscon_apbc RESET_APBC_TWSI0>; 655cb322cbfSYixun Lan status = "disabled"; 656cb322cbfSYixun Lan }; 657cb322cbfSYixun Lan 658cb322cbfSYixun Lan i2c1: i2c@d4011000 { 659cb322cbfSYixun Lan compatible = "spacemit,k3-i2c", "spacemit,k1-i2c"; 660cb322cbfSYixun Lan reg = <0x0 0xd4011000 0x0 0x38>; 661cb322cbfSYixun Lan #address-cells = <1>; 662cb322cbfSYixun Lan #size-cells = <0>; 663cb322cbfSYixun Lan interrupts = <37 IRQ_TYPE_LEVEL_HIGH>; 664cb322cbfSYixun Lan clocks = <&syscon_apbc CLK_APBC_TWSI1>, 665cb322cbfSYixun Lan <&syscon_apbc CLK_APBC_TWSI1_BUS>; 666cb322cbfSYixun Lan clock-names = "func", "bus"; 667cb322cbfSYixun Lan clock-frequency = <400000>; 668cb322cbfSYixun Lan resets = <&syscon_apbc RESET_APBC_TWSI1>; 669cb322cbfSYixun Lan status = "disabled"; 670cb322cbfSYixun Lan }; 671cb322cbfSYixun Lan 672cb322cbfSYixun Lan i2c2: i2c@d4012000 { 673cb322cbfSYixun Lan compatible = "spacemit,k3-i2c", "spacemit,k1-i2c"; 674cb322cbfSYixun Lan reg = <0x0 0xd4012000 0x0 0x38>; 675cb322cbfSYixun Lan #address-cells = <1>; 676cb322cbfSYixun Lan #size-cells = <0>; 677cb322cbfSYixun Lan interrupts = <38 IRQ_TYPE_LEVEL_HIGH>; 678cb322cbfSYixun Lan clocks = <&syscon_apbc CLK_APBC_TWSI2>, 679cb322cbfSYixun Lan <&syscon_apbc CLK_APBC_TWSI2_BUS>; 680cb322cbfSYixun Lan clock-names = "func", "bus"; 681cb322cbfSYixun Lan clock-frequency = <400000>; 682cb322cbfSYixun Lan resets = <&syscon_apbc RESET_APBC_TWSI2>; 683cb322cbfSYixun Lan status = "disabled"; 684cb322cbfSYixun Lan }; 685cb322cbfSYixun Lan 686cb322cbfSYixun Lan i2c4: i2c@d4012800 { 687cb322cbfSYixun Lan compatible = "spacemit,k3-i2c", "spacemit,k1-i2c"; 688cb322cbfSYixun Lan reg = <0x0 0xd4012800 0x0 0x38>; 689cb322cbfSYixun Lan #address-cells = <1>; 690cb322cbfSYixun Lan #size-cells = <0>; 691cb322cbfSYixun Lan interrupts = <40 IRQ_TYPE_LEVEL_HIGH>; 692cb322cbfSYixun Lan clocks = <&syscon_apbc CLK_APBC_TWSI4>, 693cb322cbfSYixun Lan <&syscon_apbc CLK_APBC_TWSI4_BUS>; 694cb322cbfSYixun Lan clock-names = "func", "bus"; 695cb322cbfSYixun Lan clock-frequency = <400000>; 696cb322cbfSYixun Lan resets = <&syscon_apbc RESET_APBC_TWSI4>; 697cb322cbfSYixun Lan status = "disabled"; 698cb322cbfSYixun Lan }; 699cb322cbfSYixun Lan 700cb322cbfSYixun Lan i2c5: i2c@d4013800 { 701cb322cbfSYixun Lan compatible = "spacemit,k3-i2c", "spacemit,k1-i2c"; 702cb322cbfSYixun Lan reg = <0x0 0xd4013800 0x0 0x38>; 703cb322cbfSYixun Lan #address-cells = <1>; 704cb322cbfSYixun Lan #size-cells = <0>; 705cb322cbfSYixun Lan interrupts = <41 IRQ_TYPE_LEVEL_HIGH>; 706cb322cbfSYixun Lan clocks = <&syscon_apbc CLK_APBC_TWSI5>, 707cb322cbfSYixun Lan <&syscon_apbc CLK_APBC_TWSI5_BUS>; 708cb322cbfSYixun Lan clock-names = "func", "bus"; 709cb322cbfSYixun Lan clock-frequency = <400000>; 710cb322cbfSYixun Lan resets = <&syscon_apbc RESET_APBC_TWSI5>; 711cb322cbfSYixun Lan status = "disabled"; 712cb322cbfSYixun Lan }; 713cb322cbfSYixun Lan 71467072c8cSYixun Lan syscon_apbc: system-controller@d4015000 { 71567072c8cSYixun Lan compatible = "spacemit,k3-syscon-apbc"; 71667072c8cSYixun Lan reg = <0x0 0xd4015000 0x0 0x1000>; 71767072c8cSYixun Lan clocks = <&osc_32k>, <&vctcxo_1m>, <&vctcxo_3m>, <&vctcxo_24m>; 71867072c8cSYixun Lan clock-names = "osc", "vctcxo_1m", "vctcxo_3m", "vctcxo_24m"; 71967072c8cSYixun Lan #clock-cells = <1>; 72067072c8cSYixun Lan #reset-cells = <1>; 72167072c8cSYixun Lan }; 72267072c8cSYixun Lan 72356f37e39SGuodong Xu uart0: serial@d4017000 { 72456f37e39SGuodong Xu compatible = "spacemit,k3-uart", "intel,xscale-uart"; 72556f37e39SGuodong Xu reg = <0x0 0xd4017000 0x0 0x100>; 72656f37e39SGuodong Xu reg-shift = <2>; 72756f37e39SGuodong Xu reg-io-width = <4>; 72828a7f755SYixun Lan clocks = <&syscon_apbc CLK_APBC_UART0>, 72928a7f755SYixun Lan <&syscon_apbc CLK_APBC_UART0_BUS>; 73028a7f755SYixun Lan clock-names = "core", "bus"; 73128a7f755SYixun Lan resets = <&syscon_apbc RESET_APBC_UART0>; 73256f37e39SGuodong Xu interrupts = <42 IRQ_TYPE_LEVEL_HIGH>; 73356f37e39SGuodong Xu status = "disabled"; 73456f37e39SGuodong Xu }; 73556f37e39SGuodong Xu 73656f37e39SGuodong Xu uart2: serial@d4017100 { 73756f37e39SGuodong Xu compatible = "spacemit,k3-uart", "intel,xscale-uart"; 73856f37e39SGuodong Xu reg = <0x0 0xd4017100 0x0 0x100>; 73956f37e39SGuodong Xu reg-shift = <2>; 74056f37e39SGuodong Xu reg-io-width = <4>; 74128a7f755SYixun Lan clocks = <&syscon_apbc CLK_APBC_UART2>, 74228a7f755SYixun Lan <&syscon_apbc CLK_APBC_UART2_BUS>; 74328a7f755SYixun Lan clock-names = "core", "bus"; 74428a7f755SYixun Lan resets = <&syscon_apbc RESET_APBC_UART2>; 74556f37e39SGuodong Xu interrupts = <44 IRQ_TYPE_LEVEL_HIGH>; 74656f37e39SGuodong Xu status = "disabled"; 74756f37e39SGuodong Xu }; 74856f37e39SGuodong Xu 74956f37e39SGuodong Xu uart3: serial@d4017200 { 75056f37e39SGuodong Xu compatible = "spacemit,k3-uart", "intel,xscale-uart"; 75156f37e39SGuodong Xu reg = <0x0 0xd4017200 0x0 0x100>; 75256f37e39SGuodong Xu reg-shift = <2>; 75356f37e39SGuodong Xu reg-io-width = <4>; 75428a7f755SYixun Lan clocks = <&syscon_apbc CLK_APBC_UART3>, 75528a7f755SYixun Lan <&syscon_apbc CLK_APBC_UART3_BUS>; 75628a7f755SYixun Lan clock-names = "core", "bus"; 75728a7f755SYixun Lan resets = <&syscon_apbc RESET_APBC_UART3>; 75856f37e39SGuodong Xu interrupts = <45 IRQ_TYPE_LEVEL_HIGH>; 75956f37e39SGuodong Xu status = "disabled"; 76056f37e39SGuodong Xu }; 76156f37e39SGuodong Xu 76256f37e39SGuodong Xu uart4: serial@d4017300 { 76356f37e39SGuodong Xu compatible = "spacemit,k3-uart", "intel,xscale-uart"; 76456f37e39SGuodong Xu reg = <0x0 0xd4017300 0x0 0x100>; 76556f37e39SGuodong Xu reg-shift = <2>; 76656f37e39SGuodong Xu reg-io-width = <4>; 76728a7f755SYixun Lan clocks = <&syscon_apbc CLK_APBC_UART4>, 76828a7f755SYixun Lan <&syscon_apbc CLK_APBC_UART4_BUS>; 76928a7f755SYixun Lan clock-names = "core", "bus"; 77028a7f755SYixun Lan resets = <&syscon_apbc RESET_APBC_UART4>; 77156f37e39SGuodong Xu interrupts = <46 IRQ_TYPE_LEVEL_HIGH>; 77256f37e39SGuodong Xu status = "disabled"; 77356f37e39SGuodong Xu }; 77456f37e39SGuodong Xu 77556f37e39SGuodong Xu uart5: serial@d4017400 { 77656f37e39SGuodong Xu compatible = "spacemit,k3-uart", "intel,xscale-uart"; 77756f37e39SGuodong Xu reg = <0x0 0xd4017400 0x0 0x100>; 77856f37e39SGuodong Xu reg-shift = <2>; 77956f37e39SGuodong Xu reg-io-width = <4>; 78028a7f755SYixun Lan clocks = <&syscon_apbc CLK_APBC_UART5>, 78128a7f755SYixun Lan <&syscon_apbc CLK_APBC_UART5_BUS>; 78228a7f755SYixun Lan clock-names = "core", "bus"; 78328a7f755SYixun Lan resets = <&syscon_apbc RESET_APBC_UART5>; 78456f37e39SGuodong Xu interrupts = <47 IRQ_TYPE_LEVEL_HIGH>; 78556f37e39SGuodong Xu status = "disabled"; 78656f37e39SGuodong Xu }; 78756f37e39SGuodong Xu 78856f37e39SGuodong Xu uart6: serial@d4017500 { 78956f37e39SGuodong Xu compatible = "spacemit,k3-uart", "intel,xscale-uart"; 79056f37e39SGuodong Xu reg = <0x0 0xd4017500 0x0 0x100>; 79156f37e39SGuodong Xu reg-shift = <2>; 79256f37e39SGuodong Xu reg-io-width = <4>; 79328a7f755SYixun Lan clocks = <&syscon_apbc CLK_APBC_UART6>, 79428a7f755SYixun Lan <&syscon_apbc CLK_APBC_UART6_BUS>; 79528a7f755SYixun Lan clock-names = "core", "bus"; 79628a7f755SYixun Lan resets = <&syscon_apbc RESET_APBC_UART6>; 79756f37e39SGuodong Xu interrupts = <48 IRQ_TYPE_LEVEL_HIGH>; 79856f37e39SGuodong Xu status = "disabled"; 79956f37e39SGuodong Xu }; 80056f37e39SGuodong Xu 80156f37e39SGuodong Xu uart7: serial@d4017600 { 80256f37e39SGuodong Xu compatible = "spacemit,k3-uart", "intel,xscale-uart"; 80356f37e39SGuodong Xu reg = <0x0 0xd4017600 0x0 0x100>; 80456f37e39SGuodong Xu reg-shift = <2>; 80556f37e39SGuodong Xu reg-io-width = <4>; 80628a7f755SYixun Lan clocks = <&syscon_apbc CLK_APBC_UART7>, 80728a7f755SYixun Lan <&syscon_apbc CLK_APBC_UART7_BUS>; 80828a7f755SYixun Lan clock-names = "core", "bus"; 80928a7f755SYixun Lan resets = <&syscon_apbc RESET_APBC_UART7>; 81056f37e39SGuodong Xu interrupts = <49 IRQ_TYPE_LEVEL_HIGH>; 81156f37e39SGuodong Xu status = "disabled"; 81256f37e39SGuodong Xu }; 81356f37e39SGuodong Xu 81456f37e39SGuodong Xu uart8: serial@d4017700 { 81556f37e39SGuodong Xu compatible = "spacemit,k3-uart", "intel,xscale-uart"; 81656f37e39SGuodong Xu reg = <0x0 0xd4017700 0x0 0x100>; 81756f37e39SGuodong Xu reg-shift = <2>; 81856f37e39SGuodong Xu reg-io-width = <4>; 81928a7f755SYixun Lan clocks = <&syscon_apbc CLK_APBC_UART8>, 82028a7f755SYixun Lan <&syscon_apbc CLK_APBC_UART8_BUS>; 82128a7f755SYixun Lan clock-names = "core", "bus"; 82228a7f755SYixun Lan resets = <&syscon_apbc RESET_APBC_UART8>; 82356f37e39SGuodong Xu interrupts = <50 IRQ_TYPE_LEVEL_HIGH>; 82456f37e39SGuodong Xu status = "disabled"; 82556f37e39SGuodong Xu }; 82656f37e39SGuodong Xu 82756f37e39SGuodong Xu uart9: serial@d4017800 { 82856f37e39SGuodong Xu compatible = "spacemit,k3-uart", "intel,xscale-uart"; 82956f37e39SGuodong Xu reg = <0x0 0xd4017800 0x0 0x100>; 83056f37e39SGuodong Xu reg-shift = <2>; 83156f37e39SGuodong Xu reg-io-width = <4>; 83228a7f755SYixun Lan clocks = <&syscon_apbc CLK_APBC_UART9>, 83328a7f755SYixun Lan <&syscon_apbc CLK_APBC_UART9_BUS>; 83428a7f755SYixun Lan clock-names = "core", "bus"; 83528a7f755SYixun Lan resets = <&syscon_apbc RESET_APBC_UART9>; 83656f37e39SGuodong Xu interrupts = <51 IRQ_TYPE_LEVEL_HIGH>; 83756f37e39SGuodong Xu status = "disabled"; 83856f37e39SGuodong Xu }; 83956f37e39SGuodong Xu 840cb322cbfSYixun Lan i2c6: i2c@d4018800 { 841cb322cbfSYixun Lan compatible = "spacemit,k3-i2c", "spacemit,k1-i2c"; 842cb322cbfSYixun Lan reg = <0x0 0xd4018800 0x0 0x38>; 843cb322cbfSYixun Lan #address-cells = <1>; 844cb322cbfSYixun Lan #size-cells = <0>; 845cb322cbfSYixun Lan interrupts = <70 IRQ_TYPE_LEVEL_HIGH>; 846cb322cbfSYixun Lan clocks = <&syscon_apbc CLK_APBC_TWSI6>, 847cb322cbfSYixun Lan <&syscon_apbc CLK_APBC_TWSI6_BUS>; 848cb322cbfSYixun Lan clock-names = "func", "bus"; 849cb322cbfSYixun Lan clock-frequency = <400000>; 850cb322cbfSYixun Lan resets = <&syscon_apbc RESET_APBC_TWSI6>; 851cb322cbfSYixun Lan status = "disabled"; 852cb322cbfSYixun Lan }; 853cb322cbfSYixun Lan 85420b77926SYixun Lan gpio: gpio@d4019000 { 85520b77926SYixun Lan compatible = "spacemit,k3-gpio"; 85620b77926SYixun Lan reg = <0x0 0xd4019000 0x0 0x100>; 85720b77926SYixun Lan clocks = <&syscon_apbc CLK_APBC_GPIO>, 85820b77926SYixun Lan <&syscon_apbc CLK_APBC_GPIO_BUS>; 85920b77926SYixun Lan clock-names = "core", "bus"; 86020b77926SYixun Lan gpio-controller; 86120b77926SYixun Lan #gpio-cells = <3>; 86220b77926SYixun Lan interrupts = <58 IRQ_TYPE_LEVEL_HIGH>; 86320b77926SYixun Lan interrupt-parent = <&saplic>; 86420b77926SYixun Lan interrupt-controller; 86520b77926SYixun Lan #interrupt-cells = <3>; 86620b77926SYixun Lan gpio-ranges = <&pinctrl 0 0 0 32>, 86720b77926SYixun Lan <&pinctrl 1 0 32 32>, 86820b77926SYixun Lan <&pinctrl 2 0 64 32>, 86920b77926SYixun Lan <&pinctrl 3 0 96 32>; 87020b77926SYixun Lan }; 87120b77926SYixun Lan 872cb322cbfSYixun Lan i2c8: i2c@d401d800 { 873cb322cbfSYixun Lan compatible = "spacemit,k3-i2c", "spacemit,k1-i2c"; 874cb322cbfSYixun Lan reg = <0x0 0xd401d800 0x0 0x38>; 875cb322cbfSYixun Lan #address-cells = <1>; 876cb322cbfSYixun Lan #size-cells = <0>; 877cb322cbfSYixun Lan interrupts = <19 IRQ_TYPE_LEVEL_HIGH>; 878cb322cbfSYixun Lan clocks = <&syscon_apbc CLK_APBC_TWSI8>, 879cb322cbfSYixun Lan <&syscon_apbc CLK_APBC_TWSI8_BUS>; 880cb322cbfSYixun Lan clock-names = "func", "bus"; 881cb322cbfSYixun Lan clock-frequency = <400000>; 882cb322cbfSYixun Lan resets = <&syscon_apbc RESET_APBC_TWSI8>; 883cb322cbfSYixun Lan status = "disabled"; 884cb322cbfSYixun Lan }; 885cb322cbfSYixun Lan 886844c2919SYixun Lan pwm0: pwm@d401a000 { 887844c2919SYixun Lan compatible = "spacemit,k3-pwm", "marvell,pxa910-pwm"; 888844c2919SYixun Lan reg = <0x0 0xd401a000 0x0 0x10>; 889844c2919SYixun Lan clocks = <&syscon_apbc CLK_APBC_PWM0>, 890844c2919SYixun Lan <&syscon_apbc CLK_APBC_PWM0_BUS>; 891844c2919SYixun Lan clock-names = "func", "bus"; 892844c2919SYixun Lan resets = <&syscon_apbc RESET_APBC_PWM0>; 893844c2919SYixun Lan #pwm-cells = <3>; 894844c2919SYixun Lan status = "disabled"; 895844c2919SYixun Lan }; 896844c2919SYixun Lan 897844c2919SYixun Lan pwm1: pwm@d401a400 { 898844c2919SYixun Lan compatible = "spacemit,k3-pwm", "marvell,pxa910-pwm"; 899844c2919SYixun Lan reg = <0x0 0xd401a400 0x0 0x10>; 900844c2919SYixun Lan clocks = <&syscon_apbc CLK_APBC_PWM1>, 901844c2919SYixun Lan <&syscon_apbc CLK_APBC_PWM1_BUS>; 902844c2919SYixun Lan clock-names = "func", "bus"; 903844c2919SYixun Lan resets = <&syscon_apbc RESET_APBC_PWM1>; 904844c2919SYixun Lan #pwm-cells = <3>; 905844c2919SYixun Lan status = "disabled"; 906844c2919SYixun Lan }; 907844c2919SYixun Lan 908844c2919SYixun Lan pwm2: pwm@d401a800 { 909844c2919SYixun Lan compatible = "spacemit,k3-pwm", "marvell,pxa910-pwm"; 910844c2919SYixun Lan reg = <0x0 0xd401a800 0x0 0x10>; 911844c2919SYixun Lan clocks = <&syscon_apbc CLK_APBC_PWM2>, 912844c2919SYixun Lan <&syscon_apbc CLK_APBC_PWM2_BUS>; 913844c2919SYixun Lan clock-names = "func", "bus"; 914844c2919SYixun Lan resets = <&syscon_apbc RESET_APBC_PWM2>; 915844c2919SYixun Lan #pwm-cells = <3>; 916844c2919SYixun Lan status = "disabled"; 917844c2919SYixun Lan }; 918844c2919SYixun Lan 919844c2919SYixun Lan pwm3: pwm@d401ac00 { 920844c2919SYixun Lan compatible = "spacemit,k3-pwm", "marvell,pxa910-pwm"; 921844c2919SYixun Lan reg = <0x0 0xd401ac00 0x0 0x10>; 922844c2919SYixun Lan clocks = <&syscon_apbc CLK_APBC_PWM3>, 923844c2919SYixun Lan <&syscon_apbc CLK_APBC_PWM3_BUS>; 924844c2919SYixun Lan clock-names = "func", "bus"; 925844c2919SYixun Lan resets = <&syscon_apbc RESET_APBC_PWM3>; 926844c2919SYixun Lan #pwm-cells = <3>; 927844c2919SYixun Lan status = "disabled"; 928844c2919SYixun Lan }; 929844c2919SYixun Lan 930844c2919SYixun Lan pwm4: pwm@d401b000 { 931844c2919SYixun Lan compatible = "spacemit,k3-pwm", "marvell,pxa910-pwm"; 932844c2919SYixun Lan reg = <0x0 0xd401b000 0x0 0x10>; 933844c2919SYixun Lan clocks = <&syscon_apbc CLK_APBC_PWM4>, 934844c2919SYixun Lan <&syscon_apbc CLK_APBC_PWM4_BUS>; 935844c2919SYixun Lan clock-names = "func", "bus"; 936844c2919SYixun Lan resets = <&syscon_apbc RESET_APBC_PWM4>; 937844c2919SYixun Lan #pwm-cells = <3>; 938844c2919SYixun Lan status = "disabled"; 939844c2919SYixun Lan }; 940844c2919SYixun Lan 941844c2919SYixun Lan pwm5: pwm@d401b400 { 942844c2919SYixun Lan compatible = "spacemit,k3-pwm", "marvell,pxa910-pwm"; 943844c2919SYixun Lan reg = <0x0 0xd401b400 0x0 0x10>; 944844c2919SYixun Lan clocks = <&syscon_apbc CLK_APBC_PWM5>, 945844c2919SYixun Lan <&syscon_apbc CLK_APBC_PWM5_BUS>; 946844c2919SYixun Lan clock-names = "func", "bus"; 947844c2919SYixun Lan resets = <&syscon_apbc RESET_APBC_PWM5>; 948844c2919SYixun Lan #pwm-cells = <3>; 949844c2919SYixun Lan status = "disabled"; 950844c2919SYixun Lan }; 951844c2919SYixun Lan 952844c2919SYixun Lan pwm6: pwm@d401b800 { 953844c2919SYixun Lan compatible = "spacemit,k3-pwm", "marvell,pxa910-pwm"; 954844c2919SYixun Lan reg = <0x0 0xd401b800 0x0 0x10>; 955844c2919SYixun Lan clocks = <&syscon_apbc CLK_APBC_PWM6>, 956844c2919SYixun Lan <&syscon_apbc CLK_APBC_PWM6_BUS>; 957844c2919SYixun Lan clock-names = "func", "bus"; 958844c2919SYixun Lan resets = <&syscon_apbc RESET_APBC_PWM6>; 959844c2919SYixun Lan #pwm-cells = <3>; 960844c2919SYixun Lan status = "disabled"; 961844c2919SYixun Lan }; 962844c2919SYixun Lan 963844c2919SYixun Lan pwm7: pwm@d401bc00 { 964844c2919SYixun Lan compatible = "spacemit,k3-pwm", "marvell,pxa910-pwm"; 965844c2919SYixun Lan reg = <0x0 0xd401bc00 0x0 0x10>; 966844c2919SYixun Lan clocks = <&syscon_apbc CLK_APBC_PWM7>, 967844c2919SYixun Lan <&syscon_apbc CLK_APBC_PWM7_BUS>; 968844c2919SYixun Lan clock-names = "func", "bus"; 969844c2919SYixun Lan resets = <&syscon_apbc RESET_APBC_PWM7>; 970844c2919SYixun Lan #pwm-cells = <3>; 971844c2919SYixun Lan status = "disabled"; 972844c2919SYixun Lan }; 973844c2919SYixun Lan 974324c9c10SZhengyu He spi3: spi@d401c000 { 975324c9c10SZhengyu He compatible = "spacemit,k3-spi", "spacemit,k1-spi"; 976324c9c10SZhengyu He reg = <0x0 0xd401c000 0x0 0x30>; 977324c9c10SZhengyu He #address-cells = <1>; 978324c9c10SZhengyu He #size-cells = <0>; 979324c9c10SZhengyu He clocks = <&syscon_apbc CLK_APBC_SPI3>, 980324c9c10SZhengyu He <&syscon_apbc CLK_APBC_SPI3_BUS>; 981324c9c10SZhengyu He clock-names = "core", "bus"; 982324c9c10SZhengyu He resets = <&syscon_apbc RESET_APBC_SPI3>; 983324c9c10SZhengyu He interrupts = <55 IRQ_TYPE_LEVEL_HIGH>; 984324c9c10SZhengyu He dmas = <&pdma K3_PDMA_SSP3_RX>, <&pdma K3_PDMA_SSP3_TX>; 985324c9c10SZhengyu He dma-names = "rx", "tx"; 986324c9c10SZhengyu He status = "disabled"; 987324c9c10SZhengyu He }; 988324c9c10SZhengyu He 989844c2919SYixun Lan pwm8: pwm@d4020000 { 990844c2919SYixun Lan compatible = "spacemit,k3-pwm", "marvell,pxa910-pwm"; 991844c2919SYixun Lan reg = <0x0 0xd4020000 0x0 0x10>; 992844c2919SYixun Lan clocks = <&syscon_apbc CLK_APBC_PWM8>, 993844c2919SYixun Lan <&syscon_apbc CLK_APBC_PWM8_BUS>; 994844c2919SYixun Lan clock-names = "func", "bus"; 995844c2919SYixun Lan resets = <&syscon_apbc RESET_APBC_PWM8>; 996844c2919SYixun Lan #pwm-cells = <3>; 997844c2919SYixun Lan status = "disabled"; 998844c2919SYixun Lan }; 999844c2919SYixun Lan 1000844c2919SYixun Lan pwm9: pwm@d4020400 { 1001844c2919SYixun Lan compatible = "spacemit,k3-pwm", "marvell,pxa910-pwm"; 1002844c2919SYixun Lan reg = <0x0 0xd4020400 0x0 0x10>; 1003844c2919SYixun Lan clocks = <&syscon_apbc CLK_APBC_PWM9>, 1004844c2919SYixun Lan <&syscon_apbc CLK_APBC_PWM9_BUS>; 1005844c2919SYixun Lan clock-names = "func", "bus"; 1006844c2919SYixun Lan resets = <&syscon_apbc RESET_APBC_PWM9>; 1007844c2919SYixun Lan #pwm-cells = <3>; 1008844c2919SYixun Lan status = "disabled"; 1009844c2919SYixun Lan }; 1010844c2919SYixun Lan 1011844c2919SYixun Lan pwm10: pwm@d4020800 { 1012844c2919SYixun Lan compatible = "spacemit,k3-pwm", "marvell,pxa910-pwm"; 1013844c2919SYixun Lan reg = <0x0 0xd4020800 0x0 0x10>; 1014844c2919SYixun Lan clocks = <&syscon_apbc CLK_APBC_PWM10>, 1015844c2919SYixun Lan <&syscon_apbc CLK_APBC_PWM10_BUS>; 1016844c2919SYixun Lan clock-names = "func", "bus"; 1017844c2919SYixun Lan resets = <&syscon_apbc RESET_APBC_PWM10>; 1018844c2919SYixun Lan #pwm-cells = <3>; 1019844c2919SYixun Lan status = "disabled"; 1020844c2919SYixun Lan }; 1021844c2919SYixun Lan 1022844c2919SYixun Lan pwm11: pwm@d4020c00 { 1023844c2919SYixun Lan compatible = "spacemit,k3-pwm", "marvell,pxa910-pwm"; 1024844c2919SYixun Lan reg = <0x0 0xd4020c00 0x0 0x10>; 1025844c2919SYixun Lan clocks = <&syscon_apbc CLK_APBC_PWM11>, 1026844c2919SYixun Lan <&syscon_apbc CLK_APBC_PWM11_BUS>; 1027844c2919SYixun Lan clock-names = "func", "bus"; 1028844c2919SYixun Lan resets = <&syscon_apbc RESET_APBC_PWM11>; 1029844c2919SYixun Lan #pwm-cells = <3>; 1030844c2919SYixun Lan status = "disabled"; 1031844c2919SYixun Lan }; 1032844c2919SYixun Lan 1033844c2919SYixun Lan pwm12: pwm@d4021000 { 1034844c2919SYixun Lan compatible = "spacemit,k3-pwm", "marvell,pxa910-pwm"; 1035844c2919SYixun Lan reg = <0x0 0xd4021000 0x0 0x10>; 1036844c2919SYixun Lan clocks = <&syscon_apbc CLK_APBC_PWM12>, 1037844c2919SYixun Lan <&syscon_apbc CLK_APBC_PWM12_BUS>; 1038844c2919SYixun Lan clock-names = "func", "bus"; 1039844c2919SYixun Lan resets = <&syscon_apbc RESET_APBC_PWM12>; 1040844c2919SYixun Lan #pwm-cells = <3>; 1041844c2919SYixun Lan status = "disabled"; 1042844c2919SYixun Lan }; 1043844c2919SYixun Lan 1044844c2919SYixun Lan pwm13: pwm@d4021400 { 1045844c2919SYixun Lan compatible = "spacemit,k3-pwm", "marvell,pxa910-pwm"; 1046844c2919SYixun Lan reg = <0x0 0xd4021400 0x0 0x10>; 1047844c2919SYixun Lan clocks = <&syscon_apbc CLK_APBC_PWM13>, 1048844c2919SYixun Lan <&syscon_apbc CLK_APBC_PWM13_BUS>; 1049844c2919SYixun Lan clock-names = "func", "bus"; 1050844c2919SYixun Lan resets = <&syscon_apbc RESET_APBC_PWM13>; 1051844c2919SYixun Lan #pwm-cells = <3>; 1052844c2919SYixun Lan status = "disabled"; 1053844c2919SYixun Lan }; 1054844c2919SYixun Lan 1055844c2919SYixun Lan pwm14: pwm@d4021800 { 1056844c2919SYixun Lan compatible = "spacemit,k3-pwm", "marvell,pxa910-pwm"; 1057844c2919SYixun Lan reg = <0x0 0xd4021800 0x0 0x10>; 1058844c2919SYixun Lan clocks = <&syscon_apbc CLK_APBC_PWM14>, 1059844c2919SYixun Lan <&syscon_apbc CLK_APBC_PWM14_BUS>; 1060844c2919SYixun Lan clock-names = "func", "bus"; 1061844c2919SYixun Lan resets = <&syscon_apbc RESET_APBC_PWM14>; 1062844c2919SYixun Lan #pwm-cells = <3>; 1063844c2919SYixun Lan status = "disabled"; 1064844c2919SYixun Lan }; 1065844c2919SYixun Lan 1066844c2919SYixun Lan pwm15: pwm@d4021c00 { 1067844c2919SYixun Lan compatible = "spacemit,k3-pwm", "marvell,pxa910-pwm"; 1068844c2919SYixun Lan reg = <0x0 0xd4021c00 0x0 0x10>; 1069844c2919SYixun Lan clocks = <&syscon_apbc CLK_APBC_PWM15>, 1070844c2919SYixun Lan <&syscon_apbc CLK_APBC_PWM15_BUS>; 1071844c2919SYixun Lan clock-names = "func", "bus"; 1072844c2919SYixun Lan resets = <&syscon_apbc RESET_APBC_PWM15>; 1073844c2919SYixun Lan #pwm-cells = <3>; 1074844c2919SYixun Lan status = "disabled"; 1075844c2919SYixun Lan }; 1076844c2919SYixun Lan 1077844c2919SYixun Lan pwm16: pwm@d4022000 { 1078844c2919SYixun Lan compatible = "spacemit,k3-pwm", "marvell,pxa910-pwm"; 1079844c2919SYixun Lan reg = <0x0 0xd4022000 0x0 0x10>; 1080844c2919SYixun Lan clocks = <&syscon_apbc CLK_APBC_PWM16>, 1081844c2919SYixun Lan <&syscon_apbc CLK_APBC_PWM16_BUS>; 1082844c2919SYixun Lan clock-names = "func", "bus"; 1083844c2919SYixun Lan resets = <&syscon_apbc RESET_APBC_PWM16>; 1084844c2919SYixun Lan #pwm-cells = <3>; 1085844c2919SYixun Lan status = "disabled"; 1086844c2919SYixun Lan }; 1087844c2919SYixun Lan 1088844c2919SYixun Lan pwm17: pwm@d4022400 { 1089844c2919SYixun Lan compatible = "spacemit,k3-pwm", "marvell,pxa910-pwm"; 1090844c2919SYixun Lan reg = <0x0 0xd4022400 0x0 0x10>; 1091844c2919SYixun Lan clocks = <&syscon_apbc CLK_APBC_PWM17>, 1092844c2919SYixun Lan <&syscon_apbc CLK_APBC_PWM17_BUS>; 1093844c2919SYixun Lan clock-names = "func", "bus"; 1094844c2919SYixun Lan resets = <&syscon_apbc RESET_APBC_PWM17>; 1095844c2919SYixun Lan #pwm-cells = <3>; 1096844c2919SYixun Lan status = "disabled"; 1097844c2919SYixun Lan }; 1098844c2919SYixun Lan 1099844c2919SYixun Lan pwm18: pwm@d4022800 { 1100844c2919SYixun Lan compatible = "spacemit,k3-pwm", "marvell,pxa910-pwm"; 1101844c2919SYixun Lan reg = <0x0 0xd4022800 0x0 0x10>; 1102844c2919SYixun Lan clocks = <&syscon_apbc CLK_APBC_PWM18>, 1103844c2919SYixun Lan <&syscon_apbc CLK_APBC_PWM18_BUS>; 1104844c2919SYixun Lan clock-names = "func", "bus"; 1105844c2919SYixun Lan resets = <&syscon_apbc RESET_APBC_PWM18>; 1106844c2919SYixun Lan #pwm-cells = <3>; 1107844c2919SYixun Lan status = "disabled"; 1108844c2919SYixun Lan }; 1109844c2919SYixun Lan 1110844c2919SYixun Lan pwm19: pwm@d4022c00 { 1111844c2919SYixun Lan compatible = "spacemit,k3-pwm", "marvell,pxa910-pwm"; 1112844c2919SYixun Lan reg = <0x0 0xd4022c00 0x0 0x10>; 1113844c2919SYixun Lan clocks = <&syscon_apbc CLK_APBC_PWM19>, 1114844c2919SYixun Lan <&syscon_apbc CLK_APBC_PWM19_BUS>; 1115844c2919SYixun Lan clock-names = "func", "bus"; 1116844c2919SYixun Lan resets = <&syscon_apbc RESET_APBC_PWM19>; 1117844c2919SYixun Lan #pwm-cells = <3>; 1118844c2919SYixun Lan status = "disabled"; 1119844c2919SYixun Lan }; 1120844c2919SYixun Lan 1121d8944577SYixun Lan pinctrl: pinctrl@d401e000 { 1122d8944577SYixun Lan compatible = "spacemit,k3-pinctrl"; 1123d8944577SYixun Lan reg = <0x0 0xd401e000 0x0 0x1000>; 1124d8944577SYixun Lan clocks = <&syscon_apbc CLK_APBC_AIB>, 1125d8944577SYixun Lan <&syscon_apbc CLK_APBC_AIB_BUS>; 1126d8944577SYixun Lan clock-names = "func", "bus"; 11273ea695ebSYixun Lan spacemit,apbc = <&syscon_apbc>; 1128d8944577SYixun Lan }; 1129d8944577SYixun Lan 113056f37e39SGuodong Xu uart10: serial@d401f000 { 113156f37e39SGuodong Xu compatible = "spacemit,k3-uart", "intel,xscale-uart"; 113256f37e39SGuodong Xu reg = <0x0 0xd401f000 0x0 0x100>; 113356f37e39SGuodong Xu reg-shift = <2>; 113456f37e39SGuodong Xu reg-io-width = <4>; 113528a7f755SYixun Lan clocks = <&syscon_apbc CLK_APBC_UART10>, 113628a7f755SYixun Lan <&syscon_apbc CLK_APBC_UART10_BUS>; 113728a7f755SYixun Lan clock-names = "core", "bus"; 113828a7f755SYixun Lan resets = <&syscon_apbc RESET_APBC_UART10>; 113956f37e39SGuodong Xu interrupts = <281 IRQ_TYPE_LEVEL_HIGH>; 114056f37e39SGuodong Xu status = "disabled"; 114156f37e39SGuodong Xu }; 114256f37e39SGuodong Xu 1143324c9c10SZhengyu He spi0: spi@d4040000 { 1144324c9c10SZhengyu He compatible = "spacemit,k3-spi", "spacemit,k1-spi"; 1145324c9c10SZhengyu He reg = <0x0 0xd4040000 0x0 0x30>; 1146324c9c10SZhengyu He #address-cells = <1>; 1147324c9c10SZhengyu He #size-cells = <0>; 1148324c9c10SZhengyu He clocks = <&syscon_apbc CLK_APBC_SPI0>, 1149324c9c10SZhengyu He <&syscon_apbc CLK_APBC_SPI0_BUS>; 1150324c9c10SZhengyu He clock-names = "core", "bus"; 1151324c9c10SZhengyu He resets = <&syscon_apbc RESET_APBC_SPI0>; 1152324c9c10SZhengyu He interrupts = <283 IRQ_TYPE_LEVEL_HIGH>; 1153324c9c10SZhengyu He dmas = <&pdma K3_PDMA_SSP0_RX>, <&pdma K3_PDMA_SSP0_TX>; 1154324c9c10SZhengyu He dma-names = "rx", "tx"; 1155324c9c10SZhengyu He status = "disabled"; 1156324c9c10SZhengyu He }; 1157324c9c10SZhengyu He 1158324c9c10SZhengyu He spi1: spi@d4040800 { 1159324c9c10SZhengyu He compatible = "spacemit,k3-spi", "spacemit,k1-spi"; 1160324c9c10SZhengyu He reg = <0x0 0xd4040800 0x0 0x30>; 1161324c9c10SZhengyu He #address-cells = <1>; 1162324c9c10SZhengyu He #size-cells = <0>; 1163324c9c10SZhengyu He clocks = <&syscon_apbc CLK_APBC_SPI1>, 1164324c9c10SZhengyu He <&syscon_apbc CLK_APBC_SPI1_BUS>; 1165324c9c10SZhengyu He clock-names = "core", "bus"; 1166324c9c10SZhengyu He resets = <&syscon_apbc RESET_APBC_SPI1>; 1167324c9c10SZhengyu He interrupts = <282 IRQ_TYPE_LEVEL_HIGH>; 1168324c9c10SZhengyu He dmas = <&pdma K3_PDMA_SSP1_RX>, <&pdma K3_PDMA_SSP1_TX>; 1169324c9c10SZhengyu He dma-names = "rx", "tx"; 1170324c9c10SZhengyu He status = "disabled"; 1171324c9c10SZhengyu He }; 1172324c9c10SZhengyu He 117367072c8cSYixun Lan syscon_mpmu: system-controller@d4050000 { 117467072c8cSYixun Lan compatible = "spacemit,k3-syscon-mpmu"; 117567072c8cSYixun Lan reg = <0x0 0xd4050000 0x0 0x10000>; 117667072c8cSYixun Lan clocks = <&osc_32k>, <&vctcxo_1m>, <&vctcxo_3m>, <&vctcxo_24m>; 117767072c8cSYixun Lan clock-names = "osc", "vctcxo_1m", "vctcxo_3m", "vctcxo_24m"; 117867072c8cSYixun Lan #clock-cells = <1>; 117967072c8cSYixun Lan #power-domain-cells = <1>; 118067072c8cSYixun Lan #reset-cells = <1>; 118167072c8cSYixun Lan }; 118267072c8cSYixun Lan 118367072c8cSYixun Lan pll: clock-controller@d4090000 { 118467072c8cSYixun Lan compatible = "spacemit,k3-pll"; 118567072c8cSYixun Lan reg = <0x0 0xd4090000 0x0 0x10000>; 118667072c8cSYixun Lan clocks = <&vctcxo_24m>; 118767072c8cSYixun Lan spacemit,mpmu = <&syscon_mpmu>; 118867072c8cSYixun Lan #clock-cells = <1>; 118967072c8cSYixun Lan }; 119067072c8cSYixun Lan 1191c7d6ed1eSZhengyu He qspi: spi@d420c000 { 1192c7d6ed1eSZhengyu He compatible = "spacemit,k3-qspi", 1193c7d6ed1eSZhengyu He "spacemit,k1-qspi"; 1194c7d6ed1eSZhengyu He #address-cells = <1>; 1195c7d6ed1eSZhengyu He #size-cells = <0>; 1196c7d6ed1eSZhengyu He reg = <0x0 0xd420c000 0x0 0x1000>, 1197c7d6ed1eSZhengyu He <0x0 0xb8000000 0x0 0xc00000>; 1198c7d6ed1eSZhengyu He reg-names = "QuadSPI", "QuadSPI-memory"; 1199c7d6ed1eSZhengyu He clocks = <&syscon_apmu CLK_APMU_QSPI_BUS>, 1200c7d6ed1eSZhengyu He <&syscon_apmu CLK_APMU_QSPI>; 1201c7d6ed1eSZhengyu He clock-names = "qspi_en", "qspi"; 1202c7d6ed1eSZhengyu He resets = <&syscon_apmu RESET_APMU_QSPI>, 1203c7d6ed1eSZhengyu He <&syscon_apmu RESET_APMU_QSPI_BUS>; 1204c7d6ed1eSZhengyu He interrupts = <117 IRQ_TYPE_LEVEL_HIGH>; 1205c7d6ed1eSZhengyu He status = "disabled"; 1206c7d6ed1eSZhengyu He }; 1207c7d6ed1eSZhengyu He 120805504426SYixun Lan sdhci0: mmc@d4280000 { 120905504426SYixun Lan compatible = "spacemit,k3-sdhci"; 121005504426SYixun Lan reg = <0x0 0xd4280000 0x0 0x200>; 121105504426SYixun Lan clocks = <&syscon_apmu CLK_APMU_SDH_AXI>, 121205504426SYixun Lan <&syscon_apmu CLK_APMU_SDH0>; 121305504426SYixun Lan clock-names = "core", "io"; 121405504426SYixun Lan resets = <&syscon_apmu RESET_APMU_SDH_AXI>, 121505504426SYixun Lan <&syscon_apmu RESET_APMU_SDH0>; 121605504426SYixun Lan reset-names = "axi", "sdh"; 121705504426SYixun Lan interrupts = <99 IRQ_TYPE_LEVEL_HIGH>; 121805504426SYixun Lan status = "disabled"; 121905504426SYixun Lan }; 122005504426SYixun Lan 122167072c8cSYixun Lan syscon_apmu: system-controller@d4282800 { 122267072c8cSYixun Lan compatible = "spacemit,k3-syscon-apmu"; 122367072c8cSYixun Lan reg = <0x0 0xd4282800 0x0 0x400>; 122467072c8cSYixun Lan clocks = <&osc_32k>, <&vctcxo_1m>, <&vctcxo_3m>, <&vctcxo_24m>; 122567072c8cSYixun Lan clock-names = "osc", "vctcxo_1m", "vctcxo_3m", "vctcxo_24m"; 122667072c8cSYixun Lan #clock-cells = <1>; 122767072c8cSYixun Lan #power-domain-cells = <1>; 122867072c8cSYixun Lan #reset-cells = <1>; 122967072c8cSYixun Lan }; 123067072c8cSYixun Lan 123167072c8cSYixun Lan syscon_dciu: system-controller@d8440000 { 123267072c8cSYixun Lan compatible = "spacemit,k3-syscon-dciu"; 123367072c8cSYixun Lan reg = <0x0 0xd8440000 0x0 0xc000>; 123467072c8cSYixun Lan #clock-cells = <1>; 123567072c8cSYixun Lan #reset-cells = <1>; 123667072c8cSYixun Lan }; 123767072c8cSYixun Lan 123856f37e39SGuodong Xu simsic: interrupt-controller@e0400000 { 123956f37e39SGuodong Xu compatible = "spacemit,k3-imsics", "riscv,imsics"; 124056f37e39SGuodong Xu reg = <0x0 0xe0400000 0x0 0x200000>; 124156f37e39SGuodong Xu #interrupt-cells = <0>; 124256f37e39SGuodong Xu #msi-cells = <0>; 124356f37e39SGuodong Xu interrupt-controller; 124456f37e39SGuodong Xu interrupts-extended = <&cpu0_intc 9>, <&cpu1_intc 9>, 124556f37e39SGuodong Xu <&cpu2_intc 9>, <&cpu3_intc 9>, 124656f37e39SGuodong Xu <&cpu4_intc 9>, <&cpu5_intc 9>, 124756f37e39SGuodong Xu <&cpu6_intc 9>, <&cpu7_intc 9>; 124856f37e39SGuodong Xu msi-controller; 124956f37e39SGuodong Xu riscv,guest-index-bits = <6>; 125056f37e39SGuodong Xu riscv,hart-index-bits = <4>; 125156f37e39SGuodong Xu riscv,num-guest-ids = <511>; 125256f37e39SGuodong Xu riscv,num-ids = <511>; 125356f37e39SGuodong Xu }; 125456f37e39SGuodong Xu 125556f37e39SGuodong Xu saplic: interrupt-controller@e0804000 { 125656f37e39SGuodong Xu compatible = "spacemit,k3-aplic", "riscv,aplic"; 125756f37e39SGuodong Xu reg = <0x0 0xe0804000 0x0 0x4000>; 125856f37e39SGuodong Xu #interrupt-cells = <2>; 125956f37e39SGuodong Xu interrupt-controller; 126056f37e39SGuodong Xu msi-parent = <&simsic>; 126156f37e39SGuodong Xu riscv,num-sources = <512>; 126256f37e39SGuodong Xu }; 126356f37e39SGuodong Xu 126456f37e39SGuodong Xu clint: timer@e081c000 { 126556f37e39SGuodong Xu compatible = "spacemit,k3-clint", "sifive,clint0"; 126656f37e39SGuodong Xu reg = <0x0 0xe081c000 0x0 0x4000>; 126756f37e39SGuodong Xu interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>, 126856f37e39SGuodong Xu <&cpu1_intc 3>, <&cpu1_intc 7>, 126956f37e39SGuodong Xu <&cpu2_intc 3>, <&cpu2_intc 7>, 127056f37e39SGuodong Xu <&cpu3_intc 3>, <&cpu3_intc 7>, 127156f37e39SGuodong Xu <&cpu4_intc 3>, <&cpu4_intc 7>, 127256f37e39SGuodong Xu <&cpu5_intc 3>, <&cpu5_intc 7>, 127356f37e39SGuodong Xu <&cpu6_intc 3>, <&cpu6_intc 7>, 127456f37e39SGuodong Xu <&cpu7_intc 3>, <&cpu7_intc 7>; 127556f37e39SGuodong Xu }; 127656f37e39SGuodong Xu 1277cb322cbfSYixun Lan /* sec_i2c3: 0xf0614000, not available from Linux */ 1278cb322cbfSYixun Lan 127956f37e39SGuodong Xu mimsic: interrupt-controller@f1000000 { 128056f37e39SGuodong Xu compatible = "spacemit,k3-imsics", "riscv,imsics"; 128156f37e39SGuodong Xu reg = <0x0 0xf1000000 0x0 0x10000>; 128256f37e39SGuodong Xu #interrupt-cells = <0>; 128356f37e39SGuodong Xu #msi-cells = <0>; 128456f37e39SGuodong Xu interrupt-controller; 128556f37e39SGuodong Xu interrupts-extended = <&cpu0_intc 11>, <&cpu1_intc 11>, 128656f37e39SGuodong Xu <&cpu2_intc 11>, <&cpu3_intc 11>, 128756f37e39SGuodong Xu <&cpu4_intc 11>, <&cpu5_intc 11>, 128856f37e39SGuodong Xu <&cpu6_intc 11>, <&cpu7_intc 11>; 128956f37e39SGuodong Xu msi-controller; 129056f37e39SGuodong Xu riscv,guest-index-bits = <6>; 129156f37e39SGuodong Xu riscv,hart-index-bits = <4>; 129256f37e39SGuodong Xu riscv,num-guest-ids = <511>; 129356f37e39SGuodong Xu riscv,num-ids = <511>; 129456f37e39SGuodong Xu status = "reserved"; 129556f37e39SGuodong Xu }; 129656f37e39SGuodong Xu 129756f37e39SGuodong Xu maplic: interrupt-controller@f1800000 { 129856f37e39SGuodong Xu compatible = "spacemit,k3-aplic", "riscv,aplic"; 129956f37e39SGuodong Xu reg = <0x0 0xf1800000 0x0 0x4000>; 130056f37e39SGuodong Xu #interrupt-cells = <2>; 130156f37e39SGuodong Xu interrupt-controller; 130256f37e39SGuodong Xu msi-parent = <&mimsic>; 130356f37e39SGuodong Xu riscv,children = <&saplic>; 130456f37e39SGuodong Xu riscv,delegation = <&saplic 1 512>; 130556f37e39SGuodong Xu riscv,num-sources = <512>; 130656f37e39SGuodong Xu status = "reserved"; 130756f37e39SGuodong Xu }; 130856f37e39SGuodong Xu }; 130956f37e39SGuodong Xu}; 1310