1fac71e4eSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 OR MIT 2fac71e4eSEmmanuel Vadot/* 3fac71e4eSEmmanuel Vadot * Copyright (C) 2022 StarFive Technology Co., Ltd. 4fac71e4eSEmmanuel Vadot * Copyright (C) 2022 Emil Renner Berthing <kernel@esmil.dk> 5fac71e4eSEmmanuel Vadot */ 6fac71e4eSEmmanuel Vadot 7fac71e4eSEmmanuel Vadot/dts-v1/; 8fac71e4eSEmmanuel Vadot#include <dt-bindings/clock/starfive,jh7110-crg.h> 9aa1a8ff2SEmmanuel Vadot#include <dt-bindings/power/starfive,jh7110-pmu.h> 10fac71e4eSEmmanuel Vadot#include <dt-bindings/reset/starfive,jh7110-crg.h> 11aa1a8ff2SEmmanuel Vadot#include <dt-bindings/thermal/thermal.h> 12fac71e4eSEmmanuel Vadot 13fac71e4eSEmmanuel Vadot/ { 14fac71e4eSEmmanuel Vadot compatible = "starfive,jh7110"; 15fac71e4eSEmmanuel Vadot #address-cells = <2>; 16fac71e4eSEmmanuel Vadot #size-cells = <2>; 17fac71e4eSEmmanuel Vadot 187d0873ebSEmmanuel Vadot cpus: cpus { 19fac71e4eSEmmanuel Vadot #address-cells = <1>; 20fac71e4eSEmmanuel Vadot #size-cells = <0>; 21fac71e4eSEmmanuel Vadot 22fac71e4eSEmmanuel Vadot S7_0: cpu@0 { 23fac71e4eSEmmanuel Vadot compatible = "sifive,s7", "riscv"; 24fac71e4eSEmmanuel Vadot reg = <0>; 25fac71e4eSEmmanuel Vadot device_type = "cpu"; 26fac71e4eSEmmanuel Vadot i-cache-block-size = <64>; 27fac71e4eSEmmanuel Vadot i-cache-sets = <64>; 28fac71e4eSEmmanuel Vadot i-cache-size = <16384>; 29fac71e4eSEmmanuel Vadot next-level-cache = <&ccache>; 30fac71e4eSEmmanuel Vadot riscv,isa = "rv64imac_zba_zbb"; 3184943d6fSEmmanuel Vadot riscv,isa-base = "rv64i"; 3284943d6fSEmmanuel Vadot riscv,isa-extensions = "i", "m", "a", "c", "zba", "zbb", "zicntr", "zicsr", 3384943d6fSEmmanuel Vadot "zifencei", "zihpm"; 34fac71e4eSEmmanuel Vadot status = "disabled"; 35fac71e4eSEmmanuel Vadot 36fac71e4eSEmmanuel Vadot cpu0_intc: interrupt-controller { 37fac71e4eSEmmanuel Vadot compatible = "riscv,cpu-intc"; 38fac71e4eSEmmanuel Vadot interrupt-controller; 39fac71e4eSEmmanuel Vadot #interrupt-cells = <1>; 40fac71e4eSEmmanuel Vadot }; 41fac71e4eSEmmanuel Vadot }; 42fac71e4eSEmmanuel Vadot 43fac71e4eSEmmanuel Vadot U74_1: cpu@1 { 44fac71e4eSEmmanuel Vadot compatible = "sifive,u74-mc", "riscv"; 45fac71e4eSEmmanuel Vadot reg = <1>; 46fac71e4eSEmmanuel Vadot d-cache-block-size = <64>; 47fac71e4eSEmmanuel Vadot d-cache-sets = <64>; 48fac71e4eSEmmanuel Vadot d-cache-size = <32768>; 49fac71e4eSEmmanuel Vadot d-tlb-sets = <1>; 50fac71e4eSEmmanuel Vadot d-tlb-size = <40>; 51fac71e4eSEmmanuel Vadot device_type = "cpu"; 52fac71e4eSEmmanuel Vadot i-cache-block-size = <64>; 53fac71e4eSEmmanuel Vadot i-cache-sets = <64>; 54fac71e4eSEmmanuel Vadot i-cache-size = <32768>; 55fac71e4eSEmmanuel Vadot i-tlb-sets = <1>; 56fac71e4eSEmmanuel Vadot i-tlb-size = <40>; 57fac71e4eSEmmanuel Vadot mmu-type = "riscv,sv39"; 58fac71e4eSEmmanuel Vadot next-level-cache = <&ccache>; 59fac71e4eSEmmanuel Vadot riscv,isa = "rv64imafdc_zba_zbb"; 6084943d6fSEmmanuel Vadot riscv,isa-base = "rv64i"; 6184943d6fSEmmanuel Vadot riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zba", "zbb", "zicntr", 6284943d6fSEmmanuel Vadot "zicsr", "zifencei", "zihpm"; 63fac71e4eSEmmanuel Vadot tlb-split; 64f126890aSEmmanuel Vadot operating-points-v2 = <&cpu_opp>; 65f126890aSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>; 66f126890aSEmmanuel Vadot clock-names = "cpu"; 67aa1a8ff2SEmmanuel Vadot #cooling-cells = <2>; 68fac71e4eSEmmanuel Vadot 69fac71e4eSEmmanuel Vadot cpu1_intc: interrupt-controller { 70fac71e4eSEmmanuel Vadot compatible = "riscv,cpu-intc"; 71fac71e4eSEmmanuel Vadot interrupt-controller; 72fac71e4eSEmmanuel Vadot #interrupt-cells = <1>; 73fac71e4eSEmmanuel Vadot }; 74fac71e4eSEmmanuel Vadot }; 75fac71e4eSEmmanuel Vadot 76fac71e4eSEmmanuel Vadot U74_2: cpu@2 { 77fac71e4eSEmmanuel Vadot compatible = "sifive,u74-mc", "riscv"; 78fac71e4eSEmmanuel Vadot reg = <2>; 79fac71e4eSEmmanuel Vadot d-cache-block-size = <64>; 80fac71e4eSEmmanuel Vadot d-cache-sets = <64>; 81fac71e4eSEmmanuel Vadot d-cache-size = <32768>; 82fac71e4eSEmmanuel Vadot d-tlb-sets = <1>; 83fac71e4eSEmmanuel Vadot d-tlb-size = <40>; 84fac71e4eSEmmanuel Vadot device_type = "cpu"; 85fac71e4eSEmmanuel Vadot i-cache-block-size = <64>; 86fac71e4eSEmmanuel Vadot i-cache-sets = <64>; 87fac71e4eSEmmanuel Vadot i-cache-size = <32768>; 88fac71e4eSEmmanuel Vadot i-tlb-sets = <1>; 89fac71e4eSEmmanuel Vadot i-tlb-size = <40>; 90fac71e4eSEmmanuel Vadot mmu-type = "riscv,sv39"; 91fac71e4eSEmmanuel Vadot next-level-cache = <&ccache>; 92fac71e4eSEmmanuel Vadot riscv,isa = "rv64imafdc_zba_zbb"; 9384943d6fSEmmanuel Vadot riscv,isa-base = "rv64i"; 9484943d6fSEmmanuel Vadot riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zba", "zbb", "zicntr", 9584943d6fSEmmanuel Vadot "zicsr", "zifencei", "zihpm"; 96fac71e4eSEmmanuel Vadot tlb-split; 97f126890aSEmmanuel Vadot operating-points-v2 = <&cpu_opp>; 98f126890aSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>; 99f126890aSEmmanuel Vadot clock-names = "cpu"; 100aa1a8ff2SEmmanuel Vadot #cooling-cells = <2>; 101fac71e4eSEmmanuel Vadot 102fac71e4eSEmmanuel Vadot cpu2_intc: interrupt-controller { 103fac71e4eSEmmanuel Vadot compatible = "riscv,cpu-intc"; 104fac71e4eSEmmanuel Vadot interrupt-controller; 105fac71e4eSEmmanuel Vadot #interrupt-cells = <1>; 106fac71e4eSEmmanuel Vadot }; 107fac71e4eSEmmanuel Vadot }; 108fac71e4eSEmmanuel Vadot 109fac71e4eSEmmanuel Vadot U74_3: cpu@3 { 110fac71e4eSEmmanuel Vadot compatible = "sifive,u74-mc", "riscv"; 111fac71e4eSEmmanuel Vadot reg = <3>; 112fac71e4eSEmmanuel Vadot d-cache-block-size = <64>; 113fac71e4eSEmmanuel Vadot d-cache-sets = <64>; 114fac71e4eSEmmanuel Vadot d-cache-size = <32768>; 115fac71e4eSEmmanuel Vadot d-tlb-sets = <1>; 116fac71e4eSEmmanuel Vadot d-tlb-size = <40>; 117fac71e4eSEmmanuel Vadot device_type = "cpu"; 118fac71e4eSEmmanuel Vadot i-cache-block-size = <64>; 119fac71e4eSEmmanuel Vadot i-cache-sets = <64>; 120fac71e4eSEmmanuel Vadot i-cache-size = <32768>; 121fac71e4eSEmmanuel Vadot i-tlb-sets = <1>; 122fac71e4eSEmmanuel Vadot i-tlb-size = <40>; 123fac71e4eSEmmanuel Vadot mmu-type = "riscv,sv39"; 124fac71e4eSEmmanuel Vadot next-level-cache = <&ccache>; 125fac71e4eSEmmanuel Vadot riscv,isa = "rv64imafdc_zba_zbb"; 12684943d6fSEmmanuel Vadot riscv,isa-base = "rv64i"; 12784943d6fSEmmanuel Vadot riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zba", "zbb", "zicntr", 12884943d6fSEmmanuel Vadot "zicsr", "zifencei", "zihpm"; 129fac71e4eSEmmanuel Vadot tlb-split; 130f126890aSEmmanuel Vadot operating-points-v2 = <&cpu_opp>; 131f126890aSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>; 132f126890aSEmmanuel Vadot clock-names = "cpu"; 133aa1a8ff2SEmmanuel Vadot #cooling-cells = <2>; 134fac71e4eSEmmanuel Vadot 135fac71e4eSEmmanuel Vadot cpu3_intc: interrupt-controller { 136fac71e4eSEmmanuel Vadot compatible = "riscv,cpu-intc"; 137fac71e4eSEmmanuel Vadot interrupt-controller; 138fac71e4eSEmmanuel Vadot #interrupt-cells = <1>; 139fac71e4eSEmmanuel Vadot }; 140fac71e4eSEmmanuel Vadot }; 141fac71e4eSEmmanuel Vadot 142fac71e4eSEmmanuel Vadot U74_4: cpu@4 { 143fac71e4eSEmmanuel Vadot compatible = "sifive,u74-mc", "riscv"; 144fac71e4eSEmmanuel Vadot reg = <4>; 145fac71e4eSEmmanuel Vadot d-cache-block-size = <64>; 146fac71e4eSEmmanuel Vadot d-cache-sets = <64>; 147fac71e4eSEmmanuel Vadot d-cache-size = <32768>; 148fac71e4eSEmmanuel Vadot d-tlb-sets = <1>; 149fac71e4eSEmmanuel Vadot d-tlb-size = <40>; 150fac71e4eSEmmanuel Vadot device_type = "cpu"; 151fac71e4eSEmmanuel Vadot i-cache-block-size = <64>; 152fac71e4eSEmmanuel Vadot i-cache-sets = <64>; 153fac71e4eSEmmanuel Vadot i-cache-size = <32768>; 154fac71e4eSEmmanuel Vadot i-tlb-sets = <1>; 155fac71e4eSEmmanuel Vadot i-tlb-size = <40>; 156fac71e4eSEmmanuel Vadot mmu-type = "riscv,sv39"; 157fac71e4eSEmmanuel Vadot next-level-cache = <&ccache>; 158fac71e4eSEmmanuel Vadot riscv,isa = "rv64imafdc_zba_zbb"; 15984943d6fSEmmanuel Vadot riscv,isa-base = "rv64i"; 16084943d6fSEmmanuel Vadot riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zba", "zbb", "zicntr", 16184943d6fSEmmanuel Vadot "zicsr", "zifencei", "zihpm"; 162fac71e4eSEmmanuel Vadot tlb-split; 163f126890aSEmmanuel Vadot operating-points-v2 = <&cpu_opp>; 164f126890aSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>; 165f126890aSEmmanuel Vadot clock-names = "cpu"; 166aa1a8ff2SEmmanuel Vadot #cooling-cells = <2>; 167fac71e4eSEmmanuel Vadot 168fac71e4eSEmmanuel Vadot cpu4_intc: interrupt-controller { 169fac71e4eSEmmanuel Vadot compatible = "riscv,cpu-intc"; 170fac71e4eSEmmanuel Vadot interrupt-controller; 171fac71e4eSEmmanuel Vadot #interrupt-cells = <1>; 172fac71e4eSEmmanuel Vadot }; 173fac71e4eSEmmanuel Vadot }; 174fac71e4eSEmmanuel Vadot 175fac71e4eSEmmanuel Vadot cpu-map { 176fac71e4eSEmmanuel Vadot cluster0 { 177fac71e4eSEmmanuel Vadot core0 { 178fac71e4eSEmmanuel Vadot cpu = <&S7_0>; 179fac71e4eSEmmanuel Vadot }; 180fac71e4eSEmmanuel Vadot 181fac71e4eSEmmanuel Vadot core1 { 182fac71e4eSEmmanuel Vadot cpu = <&U74_1>; 183fac71e4eSEmmanuel Vadot }; 184fac71e4eSEmmanuel Vadot 185fac71e4eSEmmanuel Vadot core2 { 186fac71e4eSEmmanuel Vadot cpu = <&U74_2>; 187fac71e4eSEmmanuel Vadot }; 188fac71e4eSEmmanuel Vadot 189fac71e4eSEmmanuel Vadot core3 { 190fac71e4eSEmmanuel Vadot cpu = <&U74_3>; 191fac71e4eSEmmanuel Vadot }; 192fac71e4eSEmmanuel Vadot 193fac71e4eSEmmanuel Vadot core4 { 194fac71e4eSEmmanuel Vadot cpu = <&U74_4>; 195fac71e4eSEmmanuel Vadot }; 196fac71e4eSEmmanuel Vadot }; 197fac71e4eSEmmanuel Vadot }; 198fac71e4eSEmmanuel Vadot }; 199fac71e4eSEmmanuel Vadot 200f126890aSEmmanuel Vadot cpu_opp: opp-table-0 { 201f126890aSEmmanuel Vadot compatible = "operating-points-v2"; 202f126890aSEmmanuel Vadot opp-shared; 203f126890aSEmmanuel Vadot opp-375000000 { 204f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <375000000>; 205f126890aSEmmanuel Vadot opp-microvolt = <800000>; 206f126890aSEmmanuel Vadot }; 207f126890aSEmmanuel Vadot opp-500000000 { 208f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <500000000>; 209f126890aSEmmanuel Vadot opp-microvolt = <800000>; 210f126890aSEmmanuel Vadot }; 211f126890aSEmmanuel Vadot opp-750000000 { 212f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <750000000>; 213f126890aSEmmanuel Vadot opp-microvolt = <800000>; 214f126890aSEmmanuel Vadot }; 215f126890aSEmmanuel Vadot opp-1500000000 { 216f126890aSEmmanuel Vadot opp-hz = /bits/ 64 <1500000000>; 217f126890aSEmmanuel Vadot opp-microvolt = <1040000>; 218f126890aSEmmanuel Vadot }; 219f126890aSEmmanuel Vadot }; 220f126890aSEmmanuel Vadot 221aa1a8ff2SEmmanuel Vadot thermal-zones { 222aa1a8ff2SEmmanuel Vadot cpu-thermal { 223aa1a8ff2SEmmanuel Vadot polling-delay-passive = <250>; 224aa1a8ff2SEmmanuel Vadot polling-delay = <15000>; 225aa1a8ff2SEmmanuel Vadot 226aa1a8ff2SEmmanuel Vadot thermal-sensors = <&sfctemp>; 227aa1a8ff2SEmmanuel Vadot 228aa1a8ff2SEmmanuel Vadot cooling-maps { 229aa1a8ff2SEmmanuel Vadot map0 { 230aa1a8ff2SEmmanuel Vadot trip = <&cpu_alert0>; 231aa1a8ff2SEmmanuel Vadot cooling-device = 232aa1a8ff2SEmmanuel Vadot <&U74_1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 233aa1a8ff2SEmmanuel Vadot <&U74_2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 234aa1a8ff2SEmmanuel Vadot <&U74_3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, 235aa1a8ff2SEmmanuel Vadot <&U74_4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 236aa1a8ff2SEmmanuel Vadot }; 237aa1a8ff2SEmmanuel Vadot }; 238aa1a8ff2SEmmanuel Vadot 239aa1a8ff2SEmmanuel Vadot trips { 2408d13bc63SEmmanuel Vadot cpu_alert0: cpu-alert0 { 241aa1a8ff2SEmmanuel Vadot /* milliCelsius */ 242aa1a8ff2SEmmanuel Vadot temperature = <85000>; 243aa1a8ff2SEmmanuel Vadot hysteresis = <2000>; 244aa1a8ff2SEmmanuel Vadot type = "passive"; 245aa1a8ff2SEmmanuel Vadot }; 246aa1a8ff2SEmmanuel Vadot 2478d13bc63SEmmanuel Vadot cpu-crit { 248aa1a8ff2SEmmanuel Vadot /* milliCelsius */ 249aa1a8ff2SEmmanuel Vadot temperature = <100000>; 250aa1a8ff2SEmmanuel Vadot hysteresis = <2000>; 251aa1a8ff2SEmmanuel Vadot type = "critical"; 252aa1a8ff2SEmmanuel Vadot }; 253aa1a8ff2SEmmanuel Vadot }; 254aa1a8ff2SEmmanuel Vadot }; 255aa1a8ff2SEmmanuel Vadot }; 256aa1a8ff2SEmmanuel Vadot 257aa1a8ff2SEmmanuel Vadot dvp_clk: dvp-clock { 258aa1a8ff2SEmmanuel Vadot compatible = "fixed-clock"; 259aa1a8ff2SEmmanuel Vadot clock-output-names = "dvp_clk"; 260aa1a8ff2SEmmanuel Vadot #clock-cells = <0>; 261aa1a8ff2SEmmanuel Vadot }; 262fac71e4eSEmmanuel Vadot gmac0_rgmii_rxin: gmac0-rgmii-rxin-clock { 263fac71e4eSEmmanuel Vadot compatible = "fixed-clock"; 264fac71e4eSEmmanuel Vadot clock-output-names = "gmac0_rgmii_rxin"; 265fac71e4eSEmmanuel Vadot #clock-cells = <0>; 266fac71e4eSEmmanuel Vadot }; 267fac71e4eSEmmanuel Vadot 268fac71e4eSEmmanuel Vadot gmac0_rmii_refin: gmac0-rmii-refin-clock { 269fac71e4eSEmmanuel Vadot compatible = "fixed-clock"; 270fac71e4eSEmmanuel Vadot clock-output-names = "gmac0_rmii_refin"; 271fac71e4eSEmmanuel Vadot #clock-cells = <0>; 272fac71e4eSEmmanuel Vadot }; 273fac71e4eSEmmanuel Vadot 274fac71e4eSEmmanuel Vadot gmac1_rgmii_rxin: gmac1-rgmii-rxin-clock { 275fac71e4eSEmmanuel Vadot compatible = "fixed-clock"; 276fac71e4eSEmmanuel Vadot clock-output-names = "gmac1_rgmii_rxin"; 277fac71e4eSEmmanuel Vadot #clock-cells = <0>; 278fac71e4eSEmmanuel Vadot }; 279fac71e4eSEmmanuel Vadot 280fac71e4eSEmmanuel Vadot gmac1_rmii_refin: gmac1-rmii-refin-clock { 281fac71e4eSEmmanuel Vadot compatible = "fixed-clock"; 282fac71e4eSEmmanuel Vadot clock-output-names = "gmac1_rmii_refin"; 283fac71e4eSEmmanuel Vadot #clock-cells = <0>; 284fac71e4eSEmmanuel Vadot }; 285fac71e4eSEmmanuel Vadot 286aa1a8ff2SEmmanuel Vadot hdmitx0_pixelclk: hdmitx0-pixel-clock { 287aa1a8ff2SEmmanuel Vadot compatible = "fixed-clock"; 288aa1a8ff2SEmmanuel Vadot clock-output-names = "hdmitx0_pixelclk"; 289aa1a8ff2SEmmanuel Vadot #clock-cells = <0>; 290aa1a8ff2SEmmanuel Vadot }; 291aa1a8ff2SEmmanuel Vadot 292fac71e4eSEmmanuel Vadot i2srx_bclk_ext: i2srx-bclk-ext-clock { 293fac71e4eSEmmanuel Vadot compatible = "fixed-clock"; 294fac71e4eSEmmanuel Vadot clock-output-names = "i2srx_bclk_ext"; 295fac71e4eSEmmanuel Vadot #clock-cells = <0>; 296fac71e4eSEmmanuel Vadot }; 297fac71e4eSEmmanuel Vadot 298fac71e4eSEmmanuel Vadot i2srx_lrck_ext: i2srx-lrck-ext-clock { 299fac71e4eSEmmanuel Vadot compatible = "fixed-clock"; 300fac71e4eSEmmanuel Vadot clock-output-names = "i2srx_lrck_ext"; 301fac71e4eSEmmanuel Vadot #clock-cells = <0>; 302fac71e4eSEmmanuel Vadot }; 303fac71e4eSEmmanuel Vadot 304fac71e4eSEmmanuel Vadot i2stx_bclk_ext: i2stx-bclk-ext-clock { 305fac71e4eSEmmanuel Vadot compatible = "fixed-clock"; 306fac71e4eSEmmanuel Vadot clock-output-names = "i2stx_bclk_ext"; 307fac71e4eSEmmanuel Vadot #clock-cells = <0>; 308fac71e4eSEmmanuel Vadot }; 309fac71e4eSEmmanuel Vadot 310fac71e4eSEmmanuel Vadot i2stx_lrck_ext: i2stx-lrck-ext-clock { 311fac71e4eSEmmanuel Vadot compatible = "fixed-clock"; 312fac71e4eSEmmanuel Vadot clock-output-names = "i2stx_lrck_ext"; 313fac71e4eSEmmanuel Vadot #clock-cells = <0>; 314fac71e4eSEmmanuel Vadot }; 315fac71e4eSEmmanuel Vadot 316fac71e4eSEmmanuel Vadot mclk_ext: mclk-ext-clock { 317fac71e4eSEmmanuel Vadot compatible = "fixed-clock"; 318fac71e4eSEmmanuel Vadot clock-output-names = "mclk_ext"; 319fac71e4eSEmmanuel Vadot #clock-cells = <0>; 320fac71e4eSEmmanuel Vadot }; 321fac71e4eSEmmanuel Vadot 322fac71e4eSEmmanuel Vadot osc: oscillator { 323fac71e4eSEmmanuel Vadot compatible = "fixed-clock"; 324fac71e4eSEmmanuel Vadot clock-output-names = "osc"; 325fac71e4eSEmmanuel Vadot #clock-cells = <0>; 326fac71e4eSEmmanuel Vadot }; 327fac71e4eSEmmanuel Vadot 328fac71e4eSEmmanuel Vadot rtc_osc: rtc-oscillator { 329fac71e4eSEmmanuel Vadot compatible = "fixed-clock"; 330fac71e4eSEmmanuel Vadot clock-output-names = "rtc_osc"; 331fac71e4eSEmmanuel Vadot #clock-cells = <0>; 332fac71e4eSEmmanuel Vadot }; 333fac71e4eSEmmanuel Vadot 334aa1a8ff2SEmmanuel Vadot stmmac_axi_setup: stmmac-axi-config { 335aa1a8ff2SEmmanuel Vadot snps,lpi_en; 336aa1a8ff2SEmmanuel Vadot snps,wr_osr_lmt = <15>; 337aa1a8ff2SEmmanuel Vadot snps,rd_osr_lmt = <15>; 338aa1a8ff2SEmmanuel Vadot snps,blen = <256 128 64 32 0 0 0>; 339aa1a8ff2SEmmanuel Vadot }; 340aa1a8ff2SEmmanuel Vadot 341fac71e4eSEmmanuel Vadot tdm_ext: tdm-ext-clock { 342fac71e4eSEmmanuel Vadot compatible = "fixed-clock"; 343fac71e4eSEmmanuel Vadot clock-output-names = "tdm_ext"; 344fac71e4eSEmmanuel Vadot #clock-cells = <0>; 345fac71e4eSEmmanuel Vadot }; 346fac71e4eSEmmanuel Vadot 347fac71e4eSEmmanuel Vadot soc { 348fac71e4eSEmmanuel Vadot compatible = "simple-bus"; 349fac71e4eSEmmanuel Vadot interrupt-parent = <&plic>; 350fac71e4eSEmmanuel Vadot #address-cells = <2>; 351fac71e4eSEmmanuel Vadot #size-cells = <2>; 352fac71e4eSEmmanuel Vadot ranges; 353fac71e4eSEmmanuel Vadot 354fac71e4eSEmmanuel Vadot clint: timer@2000000 { 355fac71e4eSEmmanuel Vadot compatible = "starfive,jh7110-clint", "sifive,clint0"; 356fac71e4eSEmmanuel Vadot reg = <0x0 0x2000000 0x0 0x10000>; 357fac71e4eSEmmanuel Vadot interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>, 358fac71e4eSEmmanuel Vadot <&cpu1_intc 3>, <&cpu1_intc 7>, 359fac71e4eSEmmanuel Vadot <&cpu2_intc 3>, <&cpu2_intc 7>, 360fac71e4eSEmmanuel Vadot <&cpu3_intc 3>, <&cpu3_intc 7>, 361fac71e4eSEmmanuel Vadot <&cpu4_intc 3>, <&cpu4_intc 7>; 362fac71e4eSEmmanuel Vadot }; 363fac71e4eSEmmanuel Vadot 364fac71e4eSEmmanuel Vadot ccache: cache-controller@2010000 { 365fac71e4eSEmmanuel Vadot compatible = "starfive,jh7110-ccache", "sifive,ccache0", "cache"; 366fac71e4eSEmmanuel Vadot reg = <0x0 0x2010000 0x0 0x4000>; 367fac71e4eSEmmanuel Vadot interrupts = <1>, <3>, <4>, <2>; 368fac71e4eSEmmanuel Vadot cache-block-size = <64>; 369fac71e4eSEmmanuel Vadot cache-level = <2>; 370fac71e4eSEmmanuel Vadot cache-sets = <2048>; 371fac71e4eSEmmanuel Vadot cache-size = <2097152>; 372fac71e4eSEmmanuel Vadot cache-unified; 373fac71e4eSEmmanuel Vadot }; 374fac71e4eSEmmanuel Vadot 375fac71e4eSEmmanuel Vadot plic: interrupt-controller@c000000 { 376fac71e4eSEmmanuel Vadot compatible = "starfive,jh7110-plic", "sifive,plic-1.0.0"; 377fac71e4eSEmmanuel Vadot reg = <0x0 0xc000000 0x0 0x4000000>; 378fac71e4eSEmmanuel Vadot interrupts-extended = <&cpu0_intc 11>, 379fac71e4eSEmmanuel Vadot <&cpu1_intc 11>, <&cpu1_intc 9>, 380fac71e4eSEmmanuel Vadot <&cpu2_intc 11>, <&cpu2_intc 9>, 381fac71e4eSEmmanuel Vadot <&cpu3_intc 11>, <&cpu3_intc 9>, 382fac71e4eSEmmanuel Vadot <&cpu4_intc 11>, <&cpu4_intc 9>; 383fac71e4eSEmmanuel Vadot interrupt-controller; 384fac71e4eSEmmanuel Vadot #interrupt-cells = <1>; 385fac71e4eSEmmanuel Vadot #address-cells = <0>; 386fac71e4eSEmmanuel Vadot riscv,ndev = <136>; 387fac71e4eSEmmanuel Vadot }; 388fac71e4eSEmmanuel Vadot 389fac71e4eSEmmanuel Vadot uart0: serial@10000000 { 390*0e8011faSEmmanuel Vadot compatible = "starfive,jh7110-uart", "snps,dw-apb-uart"; 391fac71e4eSEmmanuel Vadot reg = <0x0 0x10000000 0x0 0x10000>; 392fac71e4eSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_UART0_CORE>, 393fac71e4eSEmmanuel Vadot <&syscrg JH7110_SYSCLK_UART0_APB>; 394fac71e4eSEmmanuel Vadot clock-names = "baudclk", "apb_pclk"; 395*0e8011faSEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_UART0_APB>, 396*0e8011faSEmmanuel Vadot <&syscrg JH7110_SYSRST_UART0_CORE>; 397fac71e4eSEmmanuel Vadot interrupts = <32>; 398fac71e4eSEmmanuel Vadot reg-io-width = <4>; 399fac71e4eSEmmanuel Vadot reg-shift = <2>; 400fac71e4eSEmmanuel Vadot status = "disabled"; 401fac71e4eSEmmanuel Vadot }; 402fac71e4eSEmmanuel Vadot 403fac71e4eSEmmanuel Vadot uart1: serial@10010000 { 404*0e8011faSEmmanuel Vadot compatible = "starfive,jh7110-uart", "snps,dw-apb-uart"; 405fac71e4eSEmmanuel Vadot reg = <0x0 0x10010000 0x0 0x10000>; 406fac71e4eSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_UART1_CORE>, 407fac71e4eSEmmanuel Vadot <&syscrg JH7110_SYSCLK_UART1_APB>; 408fac71e4eSEmmanuel Vadot clock-names = "baudclk", "apb_pclk"; 409*0e8011faSEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_UART1_APB>, 410*0e8011faSEmmanuel Vadot <&syscrg JH7110_SYSRST_UART1_CORE>; 411fac71e4eSEmmanuel Vadot interrupts = <33>; 412fac71e4eSEmmanuel Vadot reg-io-width = <4>; 413fac71e4eSEmmanuel Vadot reg-shift = <2>; 414fac71e4eSEmmanuel Vadot status = "disabled"; 415fac71e4eSEmmanuel Vadot }; 416fac71e4eSEmmanuel Vadot 417fac71e4eSEmmanuel Vadot uart2: serial@10020000 { 418*0e8011faSEmmanuel Vadot compatible = "starfive,jh7110-uart", "snps,dw-apb-uart"; 419fac71e4eSEmmanuel Vadot reg = <0x0 0x10020000 0x0 0x10000>; 420fac71e4eSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_UART2_CORE>, 421fac71e4eSEmmanuel Vadot <&syscrg JH7110_SYSCLK_UART2_APB>; 422fac71e4eSEmmanuel Vadot clock-names = "baudclk", "apb_pclk"; 423*0e8011faSEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_UART2_APB>, 424*0e8011faSEmmanuel Vadot <&syscrg JH7110_SYSRST_UART2_CORE>; 425fac71e4eSEmmanuel Vadot interrupts = <34>; 426fac71e4eSEmmanuel Vadot reg-io-width = <4>; 427fac71e4eSEmmanuel Vadot reg-shift = <2>; 428fac71e4eSEmmanuel Vadot status = "disabled"; 429fac71e4eSEmmanuel Vadot }; 430fac71e4eSEmmanuel Vadot 431fac71e4eSEmmanuel Vadot i2c0: i2c@10030000 { 432fac71e4eSEmmanuel Vadot compatible = "snps,designware-i2c"; 433fac71e4eSEmmanuel Vadot reg = <0x0 0x10030000 0x0 0x10000>; 434fac71e4eSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_I2C0_APB>; 435fac71e4eSEmmanuel Vadot clock-names = "ref"; 436fac71e4eSEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_I2C0_APB>; 437fac71e4eSEmmanuel Vadot interrupts = <35>; 438fac71e4eSEmmanuel Vadot #address-cells = <1>; 439fac71e4eSEmmanuel Vadot #size-cells = <0>; 440fac71e4eSEmmanuel Vadot status = "disabled"; 441fac71e4eSEmmanuel Vadot }; 442fac71e4eSEmmanuel Vadot 443fac71e4eSEmmanuel Vadot i2c1: i2c@10040000 { 444fac71e4eSEmmanuel Vadot compatible = "snps,designware-i2c"; 445fac71e4eSEmmanuel Vadot reg = <0x0 0x10040000 0x0 0x10000>; 446fac71e4eSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_I2C1_APB>; 447fac71e4eSEmmanuel Vadot clock-names = "ref"; 448fac71e4eSEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_I2C1_APB>; 449fac71e4eSEmmanuel Vadot interrupts = <36>; 450fac71e4eSEmmanuel Vadot #address-cells = <1>; 451fac71e4eSEmmanuel Vadot #size-cells = <0>; 452fac71e4eSEmmanuel Vadot status = "disabled"; 453fac71e4eSEmmanuel Vadot }; 454fac71e4eSEmmanuel Vadot 455fac71e4eSEmmanuel Vadot i2c2: i2c@10050000 { 456fac71e4eSEmmanuel Vadot compatible = "snps,designware-i2c"; 457fac71e4eSEmmanuel Vadot reg = <0x0 0x10050000 0x0 0x10000>; 458fac71e4eSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_I2C2_APB>; 459fac71e4eSEmmanuel Vadot clock-names = "ref"; 460fac71e4eSEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_I2C2_APB>; 461fac71e4eSEmmanuel Vadot interrupts = <37>; 462fac71e4eSEmmanuel Vadot #address-cells = <1>; 463fac71e4eSEmmanuel Vadot #size-cells = <0>; 464fac71e4eSEmmanuel Vadot status = "disabled"; 465fac71e4eSEmmanuel Vadot }; 466fac71e4eSEmmanuel Vadot 467aa1a8ff2SEmmanuel Vadot spi0: spi@10060000 { 468aa1a8ff2SEmmanuel Vadot compatible = "arm,pl022", "arm,primecell"; 469aa1a8ff2SEmmanuel Vadot reg = <0x0 0x10060000 0x0 0x10000>; 470aa1a8ff2SEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_SPI0_APB>, 471aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_SPI0_APB>; 472aa1a8ff2SEmmanuel Vadot clock-names = "sspclk", "apb_pclk"; 473aa1a8ff2SEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_SPI0_APB>; 474aa1a8ff2SEmmanuel Vadot interrupts = <38>; 475aa1a8ff2SEmmanuel Vadot arm,primecell-periphid = <0x00041022>; 476aa1a8ff2SEmmanuel Vadot num-cs = <1>; 477aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 478aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 479aa1a8ff2SEmmanuel Vadot status = "disabled"; 480aa1a8ff2SEmmanuel Vadot }; 481aa1a8ff2SEmmanuel Vadot 482aa1a8ff2SEmmanuel Vadot spi1: spi@10070000 { 483aa1a8ff2SEmmanuel Vadot compatible = "arm,pl022", "arm,primecell"; 484aa1a8ff2SEmmanuel Vadot reg = <0x0 0x10070000 0x0 0x10000>; 485aa1a8ff2SEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_SPI1_APB>, 486aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_SPI1_APB>; 487aa1a8ff2SEmmanuel Vadot clock-names = "sspclk", "apb_pclk"; 488aa1a8ff2SEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_SPI1_APB>; 489aa1a8ff2SEmmanuel Vadot interrupts = <39>; 490aa1a8ff2SEmmanuel Vadot arm,primecell-periphid = <0x00041022>; 491aa1a8ff2SEmmanuel Vadot num-cs = <1>; 492aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 493aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 494aa1a8ff2SEmmanuel Vadot status = "disabled"; 495aa1a8ff2SEmmanuel Vadot }; 496aa1a8ff2SEmmanuel Vadot 497aa1a8ff2SEmmanuel Vadot spi2: spi@10080000 { 498aa1a8ff2SEmmanuel Vadot compatible = "arm,pl022", "arm,primecell"; 499aa1a8ff2SEmmanuel Vadot reg = <0x0 0x10080000 0x0 0x10000>; 500aa1a8ff2SEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_SPI2_APB>, 501aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_SPI2_APB>; 502aa1a8ff2SEmmanuel Vadot clock-names = "sspclk", "apb_pclk"; 503aa1a8ff2SEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_SPI2_APB>; 504aa1a8ff2SEmmanuel Vadot interrupts = <40>; 505aa1a8ff2SEmmanuel Vadot arm,primecell-periphid = <0x00041022>; 506aa1a8ff2SEmmanuel Vadot num-cs = <1>; 507aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 508aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 509aa1a8ff2SEmmanuel Vadot status = "disabled"; 510aa1a8ff2SEmmanuel Vadot }; 511aa1a8ff2SEmmanuel Vadot 512aa1a8ff2SEmmanuel Vadot tdm: tdm@10090000 { 513aa1a8ff2SEmmanuel Vadot compatible = "starfive,jh7110-tdm"; 514aa1a8ff2SEmmanuel Vadot reg = <0x0 0x10090000 0x0 0x1000>; 515aa1a8ff2SEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_TDM_AHB>, 516aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_TDM_APB>, 517aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_TDM_INTERNAL>, 518aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_TDM_TDM>, 519aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_MCLK_INNER>, 520aa1a8ff2SEmmanuel Vadot <&tdm_ext>; 521aa1a8ff2SEmmanuel Vadot clock-names = "tdm_ahb", "tdm_apb", 522aa1a8ff2SEmmanuel Vadot "tdm_internal", "tdm", 523aa1a8ff2SEmmanuel Vadot "mclk_inner", "tdm_ext"; 524aa1a8ff2SEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_TDM_AHB>, 525aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSRST_TDM_APB>, 526aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSRST_TDM_CORE>; 527aa1a8ff2SEmmanuel Vadot dmas = <&dma 20>, <&dma 21>; 528aa1a8ff2SEmmanuel Vadot dma-names = "rx","tx"; 529aa1a8ff2SEmmanuel Vadot #sound-dai-cells = <0>; 530aa1a8ff2SEmmanuel Vadot status = "disabled"; 531aa1a8ff2SEmmanuel Vadot }; 532aa1a8ff2SEmmanuel Vadot 53384943d6fSEmmanuel Vadot i2srx: i2s@100e0000 { 53484943d6fSEmmanuel Vadot compatible = "starfive,jh7110-i2srx"; 53584943d6fSEmmanuel Vadot reg = <0x0 0x100e0000 0x0 0x1000>; 53684943d6fSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_I2SRX_BCLK_MST>, 53784943d6fSEmmanuel Vadot <&syscrg JH7110_SYSCLK_I2SRX_APB>, 53884943d6fSEmmanuel Vadot <&syscrg JH7110_SYSCLK_MCLK>, 53984943d6fSEmmanuel Vadot <&syscrg JH7110_SYSCLK_MCLK_INNER>, 54084943d6fSEmmanuel Vadot <&mclk_ext>, 54184943d6fSEmmanuel Vadot <&syscrg JH7110_SYSCLK_I2SRX_BCLK>, 54284943d6fSEmmanuel Vadot <&syscrg JH7110_SYSCLK_I2SRX_LRCK>, 54384943d6fSEmmanuel Vadot <&i2srx_bclk_ext>, 54484943d6fSEmmanuel Vadot <&i2srx_lrck_ext>; 54584943d6fSEmmanuel Vadot clock-names = "i2sclk", "apb", "mclk", 54684943d6fSEmmanuel Vadot "mclk_inner", "mclk_ext", "bclk", 54784943d6fSEmmanuel Vadot "lrck", "bclk_ext", "lrck_ext"; 54884943d6fSEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_I2SRX_APB>, 54984943d6fSEmmanuel Vadot <&syscrg JH7110_SYSRST_I2SRX_BCLK>; 55084943d6fSEmmanuel Vadot dmas = <0>, <&dma 24>; 55184943d6fSEmmanuel Vadot dma-names = "tx", "rx"; 55284943d6fSEmmanuel Vadot starfive,syscon = <&sys_syscon 0x18 0x2>; 55384943d6fSEmmanuel Vadot #sound-dai-cells = <0>; 55484943d6fSEmmanuel Vadot status = "disabled"; 55584943d6fSEmmanuel Vadot }; 55684943d6fSEmmanuel Vadot 55784943d6fSEmmanuel Vadot pwmdac: pwmdac@100b0000 { 55884943d6fSEmmanuel Vadot compatible = "starfive,jh7110-pwmdac"; 55984943d6fSEmmanuel Vadot reg = <0x0 0x100b0000 0x0 0x1000>; 56084943d6fSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_PWMDAC_APB>, 56184943d6fSEmmanuel Vadot <&syscrg JH7110_SYSCLK_PWMDAC_CORE>; 56284943d6fSEmmanuel Vadot clock-names = "apb", "core"; 56384943d6fSEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_PWMDAC_APB>; 56484943d6fSEmmanuel Vadot dmas = <&dma 22>; 56584943d6fSEmmanuel Vadot dma-names = "tx"; 56684943d6fSEmmanuel Vadot #sound-dai-cells = <0>; 56784943d6fSEmmanuel Vadot status = "disabled"; 56884943d6fSEmmanuel Vadot }; 56984943d6fSEmmanuel Vadot 570aa1a8ff2SEmmanuel Vadot usb0: usb@10100000 { 571aa1a8ff2SEmmanuel Vadot compatible = "starfive,jh7110-usb"; 572aa1a8ff2SEmmanuel Vadot ranges = <0x0 0x0 0x10100000 0x100000>; 573aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 574aa1a8ff2SEmmanuel Vadot #size-cells = <1>; 575aa1a8ff2SEmmanuel Vadot starfive,stg-syscon = <&stg_syscon 0x4>; 576aa1a8ff2SEmmanuel Vadot clocks = <&stgcrg JH7110_STGCLK_USB0_LPM>, 577aa1a8ff2SEmmanuel Vadot <&stgcrg JH7110_STGCLK_USB0_STB>, 578aa1a8ff2SEmmanuel Vadot <&stgcrg JH7110_STGCLK_USB0_APB>, 579aa1a8ff2SEmmanuel Vadot <&stgcrg JH7110_STGCLK_USB0_AXI>, 580aa1a8ff2SEmmanuel Vadot <&stgcrg JH7110_STGCLK_USB0_UTMI_APB>; 581aa1a8ff2SEmmanuel Vadot clock-names = "lpm", "stb", "apb", "axi", "utmi_apb"; 582aa1a8ff2SEmmanuel Vadot resets = <&stgcrg JH7110_STGRST_USB0_PWRUP>, 583aa1a8ff2SEmmanuel Vadot <&stgcrg JH7110_STGRST_USB0_APB>, 584aa1a8ff2SEmmanuel Vadot <&stgcrg JH7110_STGRST_USB0_AXI>, 585aa1a8ff2SEmmanuel Vadot <&stgcrg JH7110_STGRST_USB0_UTMI_APB>; 586aa1a8ff2SEmmanuel Vadot reset-names = "pwrup", "apb", "axi", "utmi_apb"; 587aa1a8ff2SEmmanuel Vadot status = "disabled"; 588aa1a8ff2SEmmanuel Vadot 589aa1a8ff2SEmmanuel Vadot usb_cdns3: usb@0 { 590aa1a8ff2SEmmanuel Vadot compatible = "cdns,usb3"; 591aa1a8ff2SEmmanuel Vadot reg = <0x0 0x10000>, 592aa1a8ff2SEmmanuel Vadot <0x10000 0x10000>, 593aa1a8ff2SEmmanuel Vadot <0x20000 0x10000>; 594aa1a8ff2SEmmanuel Vadot reg-names = "otg", "xhci", "dev"; 595aa1a8ff2SEmmanuel Vadot interrupts = <100>, <108>, <110>; 596aa1a8ff2SEmmanuel Vadot interrupt-names = "host", "peripheral", "otg"; 597aa1a8ff2SEmmanuel Vadot phys = <&usbphy0>; 598aa1a8ff2SEmmanuel Vadot phy-names = "cdns3,usb2-phy"; 599aa1a8ff2SEmmanuel Vadot }; 600aa1a8ff2SEmmanuel Vadot }; 601aa1a8ff2SEmmanuel Vadot 602aa1a8ff2SEmmanuel Vadot usbphy0: phy@10200000 { 603aa1a8ff2SEmmanuel Vadot compatible = "starfive,jh7110-usb-phy"; 604aa1a8ff2SEmmanuel Vadot reg = <0x0 0x10200000 0x0 0x10000>; 605aa1a8ff2SEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_USB_125M>, 606aa1a8ff2SEmmanuel Vadot <&stgcrg JH7110_STGCLK_USB0_APP_125>; 607aa1a8ff2SEmmanuel Vadot clock-names = "125m", "app_125m"; 608aa1a8ff2SEmmanuel Vadot #phy-cells = <0>; 609aa1a8ff2SEmmanuel Vadot }; 610aa1a8ff2SEmmanuel Vadot 611aa1a8ff2SEmmanuel Vadot pciephy0: phy@10210000 { 612aa1a8ff2SEmmanuel Vadot compatible = "starfive,jh7110-pcie-phy"; 613aa1a8ff2SEmmanuel Vadot reg = <0x0 0x10210000 0x0 0x10000>; 614aa1a8ff2SEmmanuel Vadot #phy-cells = <0>; 615aa1a8ff2SEmmanuel Vadot }; 616aa1a8ff2SEmmanuel Vadot 617aa1a8ff2SEmmanuel Vadot pciephy1: phy@10220000 { 618aa1a8ff2SEmmanuel Vadot compatible = "starfive,jh7110-pcie-phy"; 619aa1a8ff2SEmmanuel Vadot reg = <0x0 0x10220000 0x0 0x10000>; 620aa1a8ff2SEmmanuel Vadot #phy-cells = <0>; 621aa1a8ff2SEmmanuel Vadot }; 622aa1a8ff2SEmmanuel Vadot 623aa1a8ff2SEmmanuel Vadot stgcrg: clock-controller@10230000 { 624aa1a8ff2SEmmanuel Vadot compatible = "starfive,jh7110-stgcrg"; 625aa1a8ff2SEmmanuel Vadot reg = <0x0 0x10230000 0x0 0x10000>; 626aa1a8ff2SEmmanuel Vadot clocks = <&osc>, 627aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_HIFI4_CORE>, 628aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_STG_AXIAHB>, 629aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_USB_125M>, 630aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_CPU_BUS>, 631aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_HIFI4_AXI>, 632aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_NOCSTG_BUS>, 633aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_APB_BUS>; 634aa1a8ff2SEmmanuel Vadot clock-names = "osc", "hifi4_core", 635aa1a8ff2SEmmanuel Vadot "stg_axiahb", "usb_125m", 636aa1a8ff2SEmmanuel Vadot "cpu_bus", "hifi4_axi", 637aa1a8ff2SEmmanuel Vadot "nocstg_bus", "apb_bus"; 638aa1a8ff2SEmmanuel Vadot #clock-cells = <1>; 639aa1a8ff2SEmmanuel Vadot #reset-cells = <1>; 640aa1a8ff2SEmmanuel Vadot }; 641aa1a8ff2SEmmanuel Vadot 642aa1a8ff2SEmmanuel Vadot stg_syscon: syscon@10240000 { 643aa1a8ff2SEmmanuel Vadot compatible = "starfive,jh7110-stg-syscon", "syscon"; 644aa1a8ff2SEmmanuel Vadot reg = <0x0 0x10240000 0x0 0x1000>; 645aa1a8ff2SEmmanuel Vadot }; 646aa1a8ff2SEmmanuel Vadot 647fac71e4eSEmmanuel Vadot uart3: serial@12000000 { 648*0e8011faSEmmanuel Vadot compatible = "starfive,jh7110-uart", "snps,dw-apb-uart"; 649fac71e4eSEmmanuel Vadot reg = <0x0 0x12000000 0x0 0x10000>; 650fac71e4eSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_UART3_CORE>, 651fac71e4eSEmmanuel Vadot <&syscrg JH7110_SYSCLK_UART3_APB>; 652fac71e4eSEmmanuel Vadot clock-names = "baudclk", "apb_pclk"; 653*0e8011faSEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_UART3_APB>, 654*0e8011faSEmmanuel Vadot <&syscrg JH7110_SYSRST_UART3_CORE>; 655fac71e4eSEmmanuel Vadot interrupts = <45>; 656fac71e4eSEmmanuel Vadot reg-io-width = <4>; 657fac71e4eSEmmanuel Vadot reg-shift = <2>; 658fac71e4eSEmmanuel Vadot status = "disabled"; 659fac71e4eSEmmanuel Vadot }; 660fac71e4eSEmmanuel Vadot 661fac71e4eSEmmanuel Vadot uart4: serial@12010000 { 662*0e8011faSEmmanuel Vadot compatible = "starfive,jh7110-uart", "snps,dw-apb-uart"; 663fac71e4eSEmmanuel Vadot reg = <0x0 0x12010000 0x0 0x10000>; 664fac71e4eSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_UART4_CORE>, 665fac71e4eSEmmanuel Vadot <&syscrg JH7110_SYSCLK_UART4_APB>; 666fac71e4eSEmmanuel Vadot clock-names = "baudclk", "apb_pclk"; 667*0e8011faSEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_UART4_APB>, 668*0e8011faSEmmanuel Vadot <&syscrg JH7110_SYSRST_UART4_CORE>; 669fac71e4eSEmmanuel Vadot interrupts = <46>; 670fac71e4eSEmmanuel Vadot reg-io-width = <4>; 671fac71e4eSEmmanuel Vadot reg-shift = <2>; 672fac71e4eSEmmanuel Vadot status = "disabled"; 673fac71e4eSEmmanuel Vadot }; 674fac71e4eSEmmanuel Vadot 675fac71e4eSEmmanuel Vadot uart5: serial@12020000 { 676*0e8011faSEmmanuel Vadot compatible = "starfive,jh7110-uart", "snps,dw-apb-uart"; 677fac71e4eSEmmanuel Vadot reg = <0x0 0x12020000 0x0 0x10000>; 678fac71e4eSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_UART5_CORE>, 679fac71e4eSEmmanuel Vadot <&syscrg JH7110_SYSCLK_UART5_APB>; 680fac71e4eSEmmanuel Vadot clock-names = "baudclk", "apb_pclk"; 681*0e8011faSEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_UART5_APB>, 682*0e8011faSEmmanuel Vadot <&syscrg JH7110_SYSRST_UART5_CORE>; 683fac71e4eSEmmanuel Vadot interrupts = <47>; 684fac71e4eSEmmanuel Vadot reg-io-width = <4>; 685fac71e4eSEmmanuel Vadot reg-shift = <2>; 686fac71e4eSEmmanuel Vadot status = "disabled"; 687fac71e4eSEmmanuel Vadot }; 688fac71e4eSEmmanuel Vadot 689fac71e4eSEmmanuel Vadot i2c3: i2c@12030000 { 690fac71e4eSEmmanuel Vadot compatible = "snps,designware-i2c"; 691fac71e4eSEmmanuel Vadot reg = <0x0 0x12030000 0x0 0x10000>; 692fac71e4eSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_I2C3_APB>; 693fac71e4eSEmmanuel Vadot clock-names = "ref"; 694fac71e4eSEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_I2C3_APB>; 695fac71e4eSEmmanuel Vadot interrupts = <48>; 696fac71e4eSEmmanuel Vadot #address-cells = <1>; 697fac71e4eSEmmanuel Vadot #size-cells = <0>; 698fac71e4eSEmmanuel Vadot status = "disabled"; 699fac71e4eSEmmanuel Vadot }; 700fac71e4eSEmmanuel Vadot 701fac71e4eSEmmanuel Vadot i2c4: i2c@12040000 { 702fac71e4eSEmmanuel Vadot compatible = "snps,designware-i2c"; 703fac71e4eSEmmanuel Vadot reg = <0x0 0x12040000 0x0 0x10000>; 704fac71e4eSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_I2C4_APB>; 705fac71e4eSEmmanuel Vadot clock-names = "ref"; 706fac71e4eSEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_I2C4_APB>; 707fac71e4eSEmmanuel Vadot interrupts = <49>; 708fac71e4eSEmmanuel Vadot #address-cells = <1>; 709fac71e4eSEmmanuel Vadot #size-cells = <0>; 710fac71e4eSEmmanuel Vadot status = "disabled"; 711fac71e4eSEmmanuel Vadot }; 712fac71e4eSEmmanuel Vadot 713fac71e4eSEmmanuel Vadot i2c5: i2c@12050000 { 714fac71e4eSEmmanuel Vadot compatible = "snps,designware-i2c"; 715fac71e4eSEmmanuel Vadot reg = <0x0 0x12050000 0x0 0x10000>; 716fac71e4eSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_I2C5_APB>; 717fac71e4eSEmmanuel Vadot clock-names = "ref"; 718fac71e4eSEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_I2C5_APB>; 719fac71e4eSEmmanuel Vadot interrupts = <50>; 720fac71e4eSEmmanuel Vadot #address-cells = <1>; 721fac71e4eSEmmanuel Vadot #size-cells = <0>; 722fac71e4eSEmmanuel Vadot status = "disabled"; 723fac71e4eSEmmanuel Vadot }; 724fac71e4eSEmmanuel Vadot 725fac71e4eSEmmanuel Vadot i2c6: i2c@12060000 { 726fac71e4eSEmmanuel Vadot compatible = "snps,designware-i2c"; 727fac71e4eSEmmanuel Vadot reg = <0x0 0x12060000 0x0 0x10000>; 728fac71e4eSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_I2C6_APB>; 729fac71e4eSEmmanuel Vadot clock-names = "ref"; 730fac71e4eSEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_I2C6_APB>; 731fac71e4eSEmmanuel Vadot interrupts = <51>; 732fac71e4eSEmmanuel Vadot #address-cells = <1>; 733fac71e4eSEmmanuel Vadot #size-cells = <0>; 734fac71e4eSEmmanuel Vadot status = "disabled"; 735fac71e4eSEmmanuel Vadot }; 736fac71e4eSEmmanuel Vadot 737aa1a8ff2SEmmanuel Vadot spi3: spi@12070000 { 738aa1a8ff2SEmmanuel Vadot compatible = "arm,pl022", "arm,primecell"; 739aa1a8ff2SEmmanuel Vadot reg = <0x0 0x12070000 0x0 0x10000>; 740aa1a8ff2SEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_SPI3_APB>, 741aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_SPI3_APB>; 742aa1a8ff2SEmmanuel Vadot clock-names = "sspclk", "apb_pclk"; 743aa1a8ff2SEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_SPI3_APB>; 744aa1a8ff2SEmmanuel Vadot interrupts = <52>; 745aa1a8ff2SEmmanuel Vadot arm,primecell-periphid = <0x00041022>; 746aa1a8ff2SEmmanuel Vadot num-cs = <1>; 747aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 748aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 749aa1a8ff2SEmmanuel Vadot status = "disabled"; 750aa1a8ff2SEmmanuel Vadot }; 751aa1a8ff2SEmmanuel Vadot 752aa1a8ff2SEmmanuel Vadot spi4: spi@12080000 { 753aa1a8ff2SEmmanuel Vadot compatible = "arm,pl022", "arm,primecell"; 754aa1a8ff2SEmmanuel Vadot reg = <0x0 0x12080000 0x0 0x10000>; 755aa1a8ff2SEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_SPI4_APB>, 756aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_SPI4_APB>; 757aa1a8ff2SEmmanuel Vadot clock-names = "sspclk", "apb_pclk"; 758aa1a8ff2SEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_SPI4_APB>; 759aa1a8ff2SEmmanuel Vadot interrupts = <53>; 760aa1a8ff2SEmmanuel Vadot arm,primecell-periphid = <0x00041022>; 761aa1a8ff2SEmmanuel Vadot num-cs = <1>; 762aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 763aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 764aa1a8ff2SEmmanuel Vadot status = "disabled"; 765aa1a8ff2SEmmanuel Vadot }; 766aa1a8ff2SEmmanuel Vadot 767aa1a8ff2SEmmanuel Vadot spi5: spi@12090000 { 768aa1a8ff2SEmmanuel Vadot compatible = "arm,pl022", "arm,primecell"; 769aa1a8ff2SEmmanuel Vadot reg = <0x0 0x12090000 0x0 0x10000>; 770aa1a8ff2SEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_SPI5_APB>, 771aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_SPI5_APB>; 772aa1a8ff2SEmmanuel Vadot clock-names = "sspclk", "apb_pclk"; 773aa1a8ff2SEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_SPI5_APB>; 774aa1a8ff2SEmmanuel Vadot interrupts = <54>; 775aa1a8ff2SEmmanuel Vadot arm,primecell-periphid = <0x00041022>; 776aa1a8ff2SEmmanuel Vadot num-cs = <1>; 777aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 778aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 779aa1a8ff2SEmmanuel Vadot status = "disabled"; 780aa1a8ff2SEmmanuel Vadot }; 781aa1a8ff2SEmmanuel Vadot 782aa1a8ff2SEmmanuel Vadot spi6: spi@120a0000 { 783aa1a8ff2SEmmanuel Vadot compatible = "arm,pl022", "arm,primecell"; 784aa1a8ff2SEmmanuel Vadot reg = <0x0 0x120A0000 0x0 0x10000>; 785aa1a8ff2SEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_SPI6_APB>, 786aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_SPI6_APB>; 787aa1a8ff2SEmmanuel Vadot clock-names = "sspclk", "apb_pclk"; 788aa1a8ff2SEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_SPI6_APB>; 789aa1a8ff2SEmmanuel Vadot interrupts = <55>; 790aa1a8ff2SEmmanuel Vadot arm,primecell-periphid = <0x00041022>; 791aa1a8ff2SEmmanuel Vadot num-cs = <1>; 792aa1a8ff2SEmmanuel Vadot #address-cells = <1>; 793aa1a8ff2SEmmanuel Vadot #size-cells = <0>; 794aa1a8ff2SEmmanuel Vadot status = "disabled"; 795aa1a8ff2SEmmanuel Vadot }; 796aa1a8ff2SEmmanuel Vadot 79784943d6fSEmmanuel Vadot i2stx0: i2s@120b0000 { 79884943d6fSEmmanuel Vadot compatible = "starfive,jh7110-i2stx0"; 79984943d6fSEmmanuel Vadot reg = <0x0 0x120b0000 0x0 0x1000>; 80084943d6fSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_I2STX0_BCLK_MST>, 80184943d6fSEmmanuel Vadot <&syscrg JH7110_SYSCLK_I2STX0_APB>, 80284943d6fSEmmanuel Vadot <&syscrg JH7110_SYSCLK_MCLK>, 80384943d6fSEmmanuel Vadot <&syscrg JH7110_SYSCLK_MCLK_INNER>, 80484943d6fSEmmanuel Vadot <&mclk_ext>; 80584943d6fSEmmanuel Vadot clock-names = "i2sclk", "apb", "mclk", 80684943d6fSEmmanuel Vadot "mclk_inner","mclk_ext"; 80784943d6fSEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_I2STX0_APB>, 80884943d6fSEmmanuel Vadot <&syscrg JH7110_SYSRST_I2STX0_BCLK>; 80984943d6fSEmmanuel Vadot dmas = <&dma 47>; 81084943d6fSEmmanuel Vadot dma-names = "tx"; 81184943d6fSEmmanuel Vadot #sound-dai-cells = <0>; 81284943d6fSEmmanuel Vadot status = "disabled"; 81384943d6fSEmmanuel Vadot }; 81484943d6fSEmmanuel Vadot 81584943d6fSEmmanuel Vadot i2stx1: i2s@120c0000 { 81684943d6fSEmmanuel Vadot compatible = "starfive,jh7110-i2stx1"; 81784943d6fSEmmanuel Vadot reg = <0x0 0x120c0000 0x0 0x1000>; 81884943d6fSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_I2STX1_BCLK_MST>, 81984943d6fSEmmanuel Vadot <&syscrg JH7110_SYSCLK_I2STX1_APB>, 82084943d6fSEmmanuel Vadot <&syscrg JH7110_SYSCLK_MCLK>, 82184943d6fSEmmanuel Vadot <&syscrg JH7110_SYSCLK_MCLK_INNER>, 82284943d6fSEmmanuel Vadot <&mclk_ext>, 82384943d6fSEmmanuel Vadot <&syscrg JH7110_SYSCLK_I2STX1_BCLK>, 82484943d6fSEmmanuel Vadot <&syscrg JH7110_SYSCLK_I2STX1_LRCK>, 82584943d6fSEmmanuel Vadot <&i2stx_bclk_ext>, 82684943d6fSEmmanuel Vadot <&i2stx_lrck_ext>; 82784943d6fSEmmanuel Vadot clock-names = "i2sclk", "apb", "mclk", 82884943d6fSEmmanuel Vadot "mclk_inner", "mclk_ext", "bclk", 82984943d6fSEmmanuel Vadot "lrck", "bclk_ext", "lrck_ext"; 83084943d6fSEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_I2STX1_APB>, 83184943d6fSEmmanuel Vadot <&syscrg JH7110_SYSRST_I2STX1_BCLK>; 83284943d6fSEmmanuel Vadot dmas = <&dma 48>; 83384943d6fSEmmanuel Vadot dma-names = "tx"; 83484943d6fSEmmanuel Vadot #sound-dai-cells = <0>; 83584943d6fSEmmanuel Vadot status = "disabled"; 83684943d6fSEmmanuel Vadot }; 83784943d6fSEmmanuel Vadot 83801950c46SEmmanuel Vadot pwm: pwm@120d0000 { 83901950c46SEmmanuel Vadot compatible = "starfive,jh7110-pwm", "opencores,pwm-v1"; 84001950c46SEmmanuel Vadot reg = <0x0 0x120d0000 0x0 0x10000>; 84101950c46SEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_PWM_APB>; 84201950c46SEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_PWM_APB>; 84301950c46SEmmanuel Vadot #pwm-cells = <3>; 84401950c46SEmmanuel Vadot status = "disabled"; 84501950c46SEmmanuel Vadot }; 84601950c46SEmmanuel Vadot 847aa1a8ff2SEmmanuel Vadot sfctemp: temperature-sensor@120e0000 { 848aa1a8ff2SEmmanuel Vadot compatible = "starfive,jh7110-temp"; 849aa1a8ff2SEmmanuel Vadot reg = <0x0 0x120e0000 0x0 0x10000>; 850aa1a8ff2SEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_TEMP_CORE>, 851aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_TEMP_APB>; 852aa1a8ff2SEmmanuel Vadot clock-names = "sense", "bus"; 853aa1a8ff2SEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_TEMP_CORE>, 854aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSRST_TEMP_APB>; 855aa1a8ff2SEmmanuel Vadot reset-names = "sense", "bus"; 856aa1a8ff2SEmmanuel Vadot #thermal-sensor-cells = <0>; 857aa1a8ff2SEmmanuel Vadot }; 858aa1a8ff2SEmmanuel Vadot 859aa1a8ff2SEmmanuel Vadot qspi: spi@13010000 { 860aa1a8ff2SEmmanuel Vadot compatible = "starfive,jh7110-qspi", "cdns,qspi-nor"; 861aa1a8ff2SEmmanuel Vadot reg = <0x0 0x13010000 0x0 0x10000>, 862aa1a8ff2SEmmanuel Vadot <0x0 0x21000000 0x0 0x400000>; 863aa1a8ff2SEmmanuel Vadot interrupts = <25>; 864aa1a8ff2SEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_QSPI_REF>, 865aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_QSPI_AHB>, 866aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_QSPI_APB>; 867aa1a8ff2SEmmanuel Vadot clock-names = "ref", "ahb", "apb"; 868aa1a8ff2SEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_QSPI_APB>, 869aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSRST_QSPI_AHB>, 870aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSRST_QSPI_REF>; 871aa1a8ff2SEmmanuel Vadot reset-names = "qspi", "qspi-ocp", "rstc_ref"; 872aa1a8ff2SEmmanuel Vadot cdns,fifo-depth = <256>; 873aa1a8ff2SEmmanuel Vadot cdns,fifo-width = <4>; 874aa1a8ff2SEmmanuel Vadot cdns,trigger-address = <0x0>; 875aa1a8ff2SEmmanuel Vadot status = "disabled"; 876aa1a8ff2SEmmanuel Vadot }; 877aa1a8ff2SEmmanuel Vadot 878fac71e4eSEmmanuel Vadot syscrg: clock-controller@13020000 { 879fac71e4eSEmmanuel Vadot compatible = "starfive,jh7110-syscrg"; 880fac71e4eSEmmanuel Vadot reg = <0x0 0x13020000 0x0 0x10000>; 881fac71e4eSEmmanuel Vadot clocks = <&osc>, <&gmac1_rmii_refin>, 882fac71e4eSEmmanuel Vadot <&gmac1_rgmii_rxin>, 883fac71e4eSEmmanuel Vadot <&i2stx_bclk_ext>, <&i2stx_lrck_ext>, 884fac71e4eSEmmanuel Vadot <&i2srx_bclk_ext>, <&i2srx_lrck_ext>, 885aa1a8ff2SEmmanuel Vadot <&tdm_ext>, <&mclk_ext>, 886aa1a8ff2SEmmanuel Vadot <&pllclk JH7110_PLLCLK_PLL0_OUT>, 887aa1a8ff2SEmmanuel Vadot <&pllclk JH7110_PLLCLK_PLL1_OUT>, 888aa1a8ff2SEmmanuel Vadot <&pllclk JH7110_PLLCLK_PLL2_OUT>; 889fac71e4eSEmmanuel Vadot clock-names = "osc", "gmac1_rmii_refin", 890fac71e4eSEmmanuel Vadot "gmac1_rgmii_rxin", 891fac71e4eSEmmanuel Vadot "i2stx_bclk_ext", "i2stx_lrck_ext", 892fac71e4eSEmmanuel Vadot "i2srx_bclk_ext", "i2srx_lrck_ext", 893aa1a8ff2SEmmanuel Vadot "tdm_ext", "mclk_ext", 894aa1a8ff2SEmmanuel Vadot "pll0_out", "pll1_out", "pll2_out"; 895fac71e4eSEmmanuel Vadot #clock-cells = <1>; 896fac71e4eSEmmanuel Vadot #reset-cells = <1>; 897fac71e4eSEmmanuel Vadot }; 898fac71e4eSEmmanuel Vadot 899aa1a8ff2SEmmanuel Vadot sys_syscon: syscon@13030000 { 900aa1a8ff2SEmmanuel Vadot compatible = "starfive,jh7110-sys-syscon", "syscon", "simple-mfd"; 901aa1a8ff2SEmmanuel Vadot reg = <0x0 0x13030000 0x0 0x1000>; 902aa1a8ff2SEmmanuel Vadot 903aa1a8ff2SEmmanuel Vadot pllclk: clock-controller { 904aa1a8ff2SEmmanuel Vadot compatible = "starfive,jh7110-pll"; 905aa1a8ff2SEmmanuel Vadot clocks = <&osc>; 906aa1a8ff2SEmmanuel Vadot #clock-cells = <1>; 907aa1a8ff2SEmmanuel Vadot }; 908aa1a8ff2SEmmanuel Vadot }; 909aa1a8ff2SEmmanuel Vadot 910fac71e4eSEmmanuel Vadot sysgpio: pinctrl@13040000 { 911fac71e4eSEmmanuel Vadot compatible = "starfive,jh7110-sys-pinctrl"; 912fac71e4eSEmmanuel Vadot reg = <0x0 0x13040000 0x0 0x10000>; 913fac71e4eSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_IOMUX_APB>; 914fac71e4eSEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_IOMUX_APB>; 915fac71e4eSEmmanuel Vadot interrupts = <86>; 916fac71e4eSEmmanuel Vadot interrupt-controller; 917fac71e4eSEmmanuel Vadot #interrupt-cells = <2>; 918fac71e4eSEmmanuel Vadot gpio-controller; 919fac71e4eSEmmanuel Vadot #gpio-cells = <2>; 920fac71e4eSEmmanuel Vadot }; 921fac71e4eSEmmanuel Vadot 922f126890aSEmmanuel Vadot watchdog@13070000 { 923f126890aSEmmanuel Vadot compatible = "starfive,jh7110-wdt"; 924f126890aSEmmanuel Vadot reg = <0x0 0x13070000 0x0 0x10000>; 925f126890aSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_WDT_APB>, 926f126890aSEmmanuel Vadot <&syscrg JH7110_SYSCLK_WDT_CORE>; 927f126890aSEmmanuel Vadot clock-names = "apb", "core"; 928f126890aSEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_WDT_APB>, 929f126890aSEmmanuel Vadot <&syscrg JH7110_SYSRST_WDT_CORE>; 930f126890aSEmmanuel Vadot }; 931f126890aSEmmanuel Vadot 932aa1a8ff2SEmmanuel Vadot crypto: crypto@16000000 { 933aa1a8ff2SEmmanuel Vadot compatible = "starfive,jh7110-crypto"; 934aa1a8ff2SEmmanuel Vadot reg = <0x0 0x16000000 0x0 0x4000>; 935aa1a8ff2SEmmanuel Vadot clocks = <&stgcrg JH7110_STGCLK_SEC_AHB>, 936aa1a8ff2SEmmanuel Vadot <&stgcrg JH7110_STGCLK_SEC_MISC_AHB>; 937aa1a8ff2SEmmanuel Vadot clock-names = "hclk", "ahb"; 938aa1a8ff2SEmmanuel Vadot interrupts = <28>; 939aa1a8ff2SEmmanuel Vadot resets = <&stgcrg JH7110_STGRST_SEC_AHB>; 940aa1a8ff2SEmmanuel Vadot dmas = <&sdma 1 2>, <&sdma 0 2>; 941aa1a8ff2SEmmanuel Vadot dma-names = "tx", "rx"; 942aa1a8ff2SEmmanuel Vadot }; 943aa1a8ff2SEmmanuel Vadot 944aa1a8ff2SEmmanuel Vadot sdma: dma-controller@16008000 { 945aa1a8ff2SEmmanuel Vadot compatible = "arm,pl080", "arm,primecell"; 946aa1a8ff2SEmmanuel Vadot arm,primecell-periphid = <0x00041080>; 947aa1a8ff2SEmmanuel Vadot reg = <0x0 0x16008000 0x0 0x4000>; 948aa1a8ff2SEmmanuel Vadot interrupts = <29>; 949aa1a8ff2SEmmanuel Vadot clocks = <&stgcrg JH7110_STGCLK_SEC_AHB>; 950aa1a8ff2SEmmanuel Vadot clock-names = "apb_pclk"; 951aa1a8ff2SEmmanuel Vadot resets = <&stgcrg JH7110_STGRST_SEC_AHB>; 952aa1a8ff2SEmmanuel Vadot lli-bus-interface-ahb1; 953aa1a8ff2SEmmanuel Vadot mem-bus-interface-ahb1; 954aa1a8ff2SEmmanuel Vadot memcpy-burst-size = <256>; 955aa1a8ff2SEmmanuel Vadot memcpy-bus-width = <32>; 956aa1a8ff2SEmmanuel Vadot #dma-cells = <2>; 957aa1a8ff2SEmmanuel Vadot }; 958aa1a8ff2SEmmanuel Vadot 959aa1a8ff2SEmmanuel Vadot rng: rng@1600c000 { 960aa1a8ff2SEmmanuel Vadot compatible = "starfive,jh7110-trng"; 961aa1a8ff2SEmmanuel Vadot reg = <0x0 0x1600C000 0x0 0x4000>; 962aa1a8ff2SEmmanuel Vadot clocks = <&stgcrg JH7110_STGCLK_SEC_AHB>, 963aa1a8ff2SEmmanuel Vadot <&stgcrg JH7110_STGCLK_SEC_MISC_AHB>; 964aa1a8ff2SEmmanuel Vadot clock-names = "hclk", "ahb"; 965aa1a8ff2SEmmanuel Vadot resets = <&stgcrg JH7110_STGRST_SEC_AHB>; 966aa1a8ff2SEmmanuel Vadot interrupts = <30>; 967aa1a8ff2SEmmanuel Vadot }; 968aa1a8ff2SEmmanuel Vadot 969aa1a8ff2SEmmanuel Vadot mmc0: mmc@16010000 { 970aa1a8ff2SEmmanuel Vadot compatible = "starfive,jh7110-mmc"; 971aa1a8ff2SEmmanuel Vadot reg = <0x0 0x16010000 0x0 0x10000>; 972aa1a8ff2SEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_SDIO0_AHB>, 973aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_SDIO0_SDCARD>; 974aa1a8ff2SEmmanuel Vadot clock-names = "biu","ciu"; 975aa1a8ff2SEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_SDIO0_AHB>; 976aa1a8ff2SEmmanuel Vadot reset-names = "reset"; 977aa1a8ff2SEmmanuel Vadot interrupts = <74>; 978aa1a8ff2SEmmanuel Vadot fifo-depth = <32>; 979aa1a8ff2SEmmanuel Vadot fifo-watermark-aligned; 980aa1a8ff2SEmmanuel Vadot data-addr = <0>; 981aa1a8ff2SEmmanuel Vadot starfive,sysreg = <&sys_syscon 0x14 0x1a 0x7c000000>; 982aa1a8ff2SEmmanuel Vadot status = "disabled"; 983aa1a8ff2SEmmanuel Vadot }; 984aa1a8ff2SEmmanuel Vadot 985aa1a8ff2SEmmanuel Vadot mmc1: mmc@16020000 { 986aa1a8ff2SEmmanuel Vadot compatible = "starfive,jh7110-mmc"; 987aa1a8ff2SEmmanuel Vadot reg = <0x0 0x16020000 0x0 0x10000>; 988aa1a8ff2SEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_SDIO1_AHB>, 989aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_SDIO1_SDCARD>; 990aa1a8ff2SEmmanuel Vadot clock-names = "biu","ciu"; 991aa1a8ff2SEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_SDIO1_AHB>; 992aa1a8ff2SEmmanuel Vadot reset-names = "reset"; 993aa1a8ff2SEmmanuel Vadot interrupts = <75>; 994aa1a8ff2SEmmanuel Vadot fifo-depth = <32>; 995aa1a8ff2SEmmanuel Vadot fifo-watermark-aligned; 996aa1a8ff2SEmmanuel Vadot data-addr = <0>; 997aa1a8ff2SEmmanuel Vadot starfive,sysreg = <&sys_syscon 0x9c 0x1 0x3e>; 998aa1a8ff2SEmmanuel Vadot status = "disabled"; 999aa1a8ff2SEmmanuel Vadot }; 1000aa1a8ff2SEmmanuel Vadot 1001aa1a8ff2SEmmanuel Vadot gmac0: ethernet@16030000 { 1002aa1a8ff2SEmmanuel Vadot compatible = "starfive,jh7110-dwmac", "snps,dwmac-5.20"; 1003aa1a8ff2SEmmanuel Vadot reg = <0x0 0x16030000 0x0 0x10000>; 1004aa1a8ff2SEmmanuel Vadot clocks = <&aoncrg JH7110_AONCLK_GMAC0_AXI>, 1005aa1a8ff2SEmmanuel Vadot <&aoncrg JH7110_AONCLK_GMAC0_AHB>, 1006aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_GMAC0_PTP>, 1007aa1a8ff2SEmmanuel Vadot <&aoncrg JH7110_AONCLK_GMAC0_TX_INV>, 1008aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_GMAC0_GTXC>; 1009aa1a8ff2SEmmanuel Vadot clock-names = "stmmaceth", "pclk", "ptp_ref", 1010aa1a8ff2SEmmanuel Vadot "tx", "gtx"; 1011aa1a8ff2SEmmanuel Vadot resets = <&aoncrg JH7110_AONRST_GMAC0_AXI>, 1012aa1a8ff2SEmmanuel Vadot <&aoncrg JH7110_AONRST_GMAC0_AHB>; 1013aa1a8ff2SEmmanuel Vadot reset-names = "stmmaceth", "ahb"; 1014aa1a8ff2SEmmanuel Vadot interrupts = <7>, <6>, <5>; 1015aa1a8ff2SEmmanuel Vadot interrupt-names = "macirq", "eth_wake_irq", "eth_lpi"; 1016aa1a8ff2SEmmanuel Vadot rx-fifo-depth = <2048>; 1017aa1a8ff2SEmmanuel Vadot tx-fifo-depth = <2048>; 1018aa1a8ff2SEmmanuel Vadot snps,multicast-filter-bins = <64>; 1019aa1a8ff2SEmmanuel Vadot snps,perfect-filter-entries = <256>; 1020aa1a8ff2SEmmanuel Vadot snps,fixed-burst; 1021aa1a8ff2SEmmanuel Vadot snps,no-pbl-x8; 1022aa1a8ff2SEmmanuel Vadot snps,force_thresh_dma_mode; 1023aa1a8ff2SEmmanuel Vadot snps,axi-config = <&stmmac_axi_setup>; 1024aa1a8ff2SEmmanuel Vadot snps,tso; 1025aa1a8ff2SEmmanuel Vadot snps,en-tx-lpi-clockgating; 1026aa1a8ff2SEmmanuel Vadot snps,txpbl = <16>; 1027aa1a8ff2SEmmanuel Vadot snps,rxpbl = <16>; 1028aa1a8ff2SEmmanuel Vadot starfive,syscon = <&aon_syscon 0xc 0x12>; 1029aa1a8ff2SEmmanuel Vadot status = "disabled"; 1030aa1a8ff2SEmmanuel Vadot }; 1031aa1a8ff2SEmmanuel Vadot 1032aa1a8ff2SEmmanuel Vadot gmac1: ethernet@16040000 { 1033aa1a8ff2SEmmanuel Vadot compatible = "starfive,jh7110-dwmac", "snps,dwmac-5.20"; 1034aa1a8ff2SEmmanuel Vadot reg = <0x0 0x16040000 0x0 0x10000>; 1035aa1a8ff2SEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_GMAC1_AXI>, 1036aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_GMAC1_AHB>, 1037aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_GMAC1_PTP>, 1038aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_GMAC1_TX_INV>, 1039aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_GMAC1_GTXC>; 1040aa1a8ff2SEmmanuel Vadot clock-names = "stmmaceth", "pclk", "ptp_ref", 1041aa1a8ff2SEmmanuel Vadot "tx", "gtx"; 1042aa1a8ff2SEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_GMAC1_AXI>, 1043aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSRST_GMAC1_AHB>; 1044aa1a8ff2SEmmanuel Vadot reset-names = "stmmaceth", "ahb"; 1045aa1a8ff2SEmmanuel Vadot interrupts = <78>, <77>, <76>; 1046aa1a8ff2SEmmanuel Vadot interrupt-names = "macirq", "eth_wake_irq", "eth_lpi"; 1047aa1a8ff2SEmmanuel Vadot rx-fifo-depth = <2048>; 1048aa1a8ff2SEmmanuel Vadot tx-fifo-depth = <2048>; 1049aa1a8ff2SEmmanuel Vadot snps,multicast-filter-bins = <64>; 1050aa1a8ff2SEmmanuel Vadot snps,perfect-filter-entries = <256>; 1051aa1a8ff2SEmmanuel Vadot snps,fixed-burst; 1052aa1a8ff2SEmmanuel Vadot snps,no-pbl-x8; 1053aa1a8ff2SEmmanuel Vadot snps,force_thresh_dma_mode; 1054aa1a8ff2SEmmanuel Vadot snps,axi-config = <&stmmac_axi_setup>; 1055aa1a8ff2SEmmanuel Vadot snps,tso; 1056aa1a8ff2SEmmanuel Vadot snps,en-tx-lpi-clockgating; 1057aa1a8ff2SEmmanuel Vadot snps,txpbl = <16>; 1058aa1a8ff2SEmmanuel Vadot snps,rxpbl = <16>; 1059aa1a8ff2SEmmanuel Vadot starfive,syscon = <&sys_syscon 0x90 0x2>; 1060aa1a8ff2SEmmanuel Vadot status = "disabled"; 1061aa1a8ff2SEmmanuel Vadot }; 1062aa1a8ff2SEmmanuel Vadot 1063aa1a8ff2SEmmanuel Vadot dma: dma-controller@16050000 { 1064aa1a8ff2SEmmanuel Vadot compatible = "starfive,jh7110-axi-dma"; 1065aa1a8ff2SEmmanuel Vadot reg = <0x0 0x16050000 0x0 0x10000>; 1066aa1a8ff2SEmmanuel Vadot clocks = <&stgcrg JH7110_STGCLK_DMA1P_AXI>, 1067aa1a8ff2SEmmanuel Vadot <&stgcrg JH7110_STGCLK_DMA1P_AHB>; 1068aa1a8ff2SEmmanuel Vadot clock-names = "core-clk", "cfgr-clk"; 1069aa1a8ff2SEmmanuel Vadot resets = <&stgcrg JH7110_STGRST_DMA1P_AXI>, 1070aa1a8ff2SEmmanuel Vadot <&stgcrg JH7110_STGRST_DMA1P_AHB>; 1071aa1a8ff2SEmmanuel Vadot interrupts = <73>; 1072aa1a8ff2SEmmanuel Vadot #dma-cells = <1>; 1073aa1a8ff2SEmmanuel Vadot dma-channels = <4>; 1074aa1a8ff2SEmmanuel Vadot snps,dma-masters = <1>; 1075aa1a8ff2SEmmanuel Vadot snps,data-width = <3>; 1076aa1a8ff2SEmmanuel Vadot snps,block-size = <65536 65536 65536 65536>; 1077aa1a8ff2SEmmanuel Vadot snps,priority = <0 1 2 3>; 1078aa1a8ff2SEmmanuel Vadot snps,axi-max-burst-len = <16>; 1079aa1a8ff2SEmmanuel Vadot }; 1080aa1a8ff2SEmmanuel Vadot 1081fac71e4eSEmmanuel Vadot aoncrg: clock-controller@17000000 { 1082fac71e4eSEmmanuel Vadot compatible = "starfive,jh7110-aoncrg"; 1083fac71e4eSEmmanuel Vadot reg = <0x0 0x17000000 0x0 0x10000>; 1084fac71e4eSEmmanuel Vadot clocks = <&osc>, <&gmac0_rmii_refin>, 1085fac71e4eSEmmanuel Vadot <&gmac0_rgmii_rxin>, 1086fac71e4eSEmmanuel Vadot <&syscrg JH7110_SYSCLK_STG_AXIAHB>, 1087fac71e4eSEmmanuel Vadot <&syscrg JH7110_SYSCLK_APB_BUS>, 1088fac71e4eSEmmanuel Vadot <&syscrg JH7110_SYSCLK_GMAC0_GTXCLK>, 1089fac71e4eSEmmanuel Vadot <&rtc_osc>; 1090fac71e4eSEmmanuel Vadot clock-names = "osc", "gmac0_rmii_refin", 1091fac71e4eSEmmanuel Vadot "gmac0_rgmii_rxin", "stg_axiahb", 1092fac71e4eSEmmanuel Vadot "apb_bus", "gmac0_gtxclk", 1093fac71e4eSEmmanuel Vadot "rtc_osc"; 1094fac71e4eSEmmanuel Vadot #clock-cells = <1>; 1095fac71e4eSEmmanuel Vadot #reset-cells = <1>; 1096fac71e4eSEmmanuel Vadot }; 1097fac71e4eSEmmanuel Vadot 1098aa1a8ff2SEmmanuel Vadot aon_syscon: syscon@17010000 { 1099aa1a8ff2SEmmanuel Vadot compatible = "starfive,jh7110-aon-syscon", "syscon"; 1100aa1a8ff2SEmmanuel Vadot reg = <0x0 0x17010000 0x0 0x1000>; 1101aa1a8ff2SEmmanuel Vadot #power-domain-cells = <1>; 1102aa1a8ff2SEmmanuel Vadot }; 1103aa1a8ff2SEmmanuel Vadot 1104fac71e4eSEmmanuel Vadot aongpio: pinctrl@17020000 { 1105fac71e4eSEmmanuel Vadot compatible = "starfive,jh7110-aon-pinctrl"; 1106fac71e4eSEmmanuel Vadot reg = <0x0 0x17020000 0x0 0x10000>; 1107fac71e4eSEmmanuel Vadot resets = <&aoncrg JH7110_AONRST_IOMUX>; 1108fac71e4eSEmmanuel Vadot interrupts = <85>; 1109fac71e4eSEmmanuel Vadot interrupt-controller; 1110fac71e4eSEmmanuel Vadot #interrupt-cells = <2>; 1111fac71e4eSEmmanuel Vadot gpio-controller; 1112fac71e4eSEmmanuel Vadot #gpio-cells = <2>; 1113fac71e4eSEmmanuel Vadot }; 1114f126890aSEmmanuel Vadot 1115f126890aSEmmanuel Vadot pwrc: power-controller@17030000 { 1116f126890aSEmmanuel Vadot compatible = "starfive,jh7110-pmu"; 1117f126890aSEmmanuel Vadot reg = <0x0 0x17030000 0x0 0x10000>; 1118f126890aSEmmanuel Vadot interrupts = <111>; 1119f126890aSEmmanuel Vadot #power-domain-cells = <1>; 1120f126890aSEmmanuel Vadot }; 1121aa1a8ff2SEmmanuel Vadot 112201950c46SEmmanuel Vadot csi2rx: csi@19800000 { 112301950c46SEmmanuel Vadot compatible = "starfive,jh7110-csi2rx", "cdns,csi2rx"; 112401950c46SEmmanuel Vadot reg = <0x0 0x19800000 0x0 0x10000>; 112501950c46SEmmanuel Vadot clocks = <&ispcrg JH7110_ISPCLK_VIN_SYS>, 112601950c46SEmmanuel Vadot <&ispcrg JH7110_ISPCLK_VIN_APB>, 112701950c46SEmmanuel Vadot <&ispcrg JH7110_ISPCLK_VIN_PIXEL_IF0>, 112801950c46SEmmanuel Vadot <&ispcrg JH7110_ISPCLK_VIN_PIXEL_IF1>, 112901950c46SEmmanuel Vadot <&ispcrg JH7110_ISPCLK_VIN_PIXEL_IF2>, 113001950c46SEmmanuel Vadot <&ispcrg JH7110_ISPCLK_VIN_PIXEL_IF3>; 113101950c46SEmmanuel Vadot clock-names = "sys_clk", "p_clk", 113201950c46SEmmanuel Vadot "pixel_if0_clk", "pixel_if1_clk", 113301950c46SEmmanuel Vadot "pixel_if2_clk", "pixel_if3_clk"; 113401950c46SEmmanuel Vadot resets = <&ispcrg JH7110_ISPRST_VIN_SYS>, 113501950c46SEmmanuel Vadot <&ispcrg JH7110_ISPRST_VIN_APB>, 113601950c46SEmmanuel Vadot <&ispcrg JH7110_ISPRST_VIN_PIXEL_IF0>, 113701950c46SEmmanuel Vadot <&ispcrg JH7110_ISPRST_VIN_PIXEL_IF1>, 113801950c46SEmmanuel Vadot <&ispcrg JH7110_ISPRST_VIN_PIXEL_IF2>, 113901950c46SEmmanuel Vadot <&ispcrg JH7110_ISPRST_VIN_PIXEL_IF3>; 114001950c46SEmmanuel Vadot reset-names = "sys", "reg_bank", 114101950c46SEmmanuel Vadot "pixel_if0", "pixel_if1", 114201950c46SEmmanuel Vadot "pixel_if2", "pixel_if3"; 114301950c46SEmmanuel Vadot phys = <&csi_phy>; 114401950c46SEmmanuel Vadot phy-names = "dphy"; 114501950c46SEmmanuel Vadot status = "disabled"; 114601950c46SEmmanuel Vadot }; 114701950c46SEmmanuel Vadot 1148aa1a8ff2SEmmanuel Vadot ispcrg: clock-controller@19810000 { 1149aa1a8ff2SEmmanuel Vadot compatible = "starfive,jh7110-ispcrg"; 1150aa1a8ff2SEmmanuel Vadot reg = <0x0 0x19810000 0x0 0x10000>; 1151aa1a8ff2SEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_ISP_TOP_CORE>, 1152aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_ISP_TOP_AXI>, 1153aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_NOC_BUS_ISP_AXI>, 1154aa1a8ff2SEmmanuel Vadot <&dvp_clk>; 1155aa1a8ff2SEmmanuel Vadot clock-names = "isp_top_core", "isp_top_axi", 1156aa1a8ff2SEmmanuel Vadot "noc_bus_isp_axi", "dvp_clk"; 1157aa1a8ff2SEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_ISP_TOP>, 1158aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSRST_ISP_TOP_AXI>, 1159aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSRST_NOC_BUS_ISP_AXI>; 1160aa1a8ff2SEmmanuel Vadot #clock-cells = <1>; 1161aa1a8ff2SEmmanuel Vadot #reset-cells = <1>; 1162aa1a8ff2SEmmanuel Vadot power-domains = <&pwrc JH7110_PD_ISP>; 1163aa1a8ff2SEmmanuel Vadot }; 1164aa1a8ff2SEmmanuel Vadot 116501950c46SEmmanuel Vadot csi_phy: phy@19820000 { 116601950c46SEmmanuel Vadot compatible = "starfive,jh7110-dphy-rx"; 116701950c46SEmmanuel Vadot reg = <0x0 0x19820000 0x0 0x10000>; 116801950c46SEmmanuel Vadot clocks = <&ispcrg JH7110_ISPCLK_M31DPHY_CFG_IN>, 116901950c46SEmmanuel Vadot <&ispcrg JH7110_ISPCLK_M31DPHY_REF_IN>, 117001950c46SEmmanuel Vadot <&ispcrg JH7110_ISPCLK_M31DPHY_TX_ESC_LAN0>; 117101950c46SEmmanuel Vadot clock-names = "cfg", "ref", "tx"; 117201950c46SEmmanuel Vadot resets = <&ispcrg JH7110_ISPRST_M31DPHY_HW>, 117301950c46SEmmanuel Vadot <&ispcrg JH7110_ISPRST_M31DPHY_B09_AON>; 117401950c46SEmmanuel Vadot power-domains = <&aon_syscon JH7110_AON_PD_DPHY_RX>; 117501950c46SEmmanuel Vadot #phy-cells = <0>; 117601950c46SEmmanuel Vadot }; 117701950c46SEmmanuel Vadot 117801950c46SEmmanuel Vadot camss: isp@19840000 { 117901950c46SEmmanuel Vadot compatible = "starfive,jh7110-camss"; 118001950c46SEmmanuel Vadot reg = <0x0 0x19840000 0x0 0x10000>, 118101950c46SEmmanuel Vadot <0x0 0x19870000 0x0 0x30000>; 118201950c46SEmmanuel Vadot reg-names = "syscon", "isp"; 118301950c46SEmmanuel Vadot clocks = <&ispcrg JH7110_ISPCLK_DOM4_APB_FUNC>, 118401950c46SEmmanuel Vadot <&ispcrg JH7110_ISPCLK_ISPV2_TOP_WRAPPER_C>, 118501950c46SEmmanuel Vadot <&ispcrg JH7110_ISPCLK_DVP_INV>, 118601950c46SEmmanuel Vadot <&ispcrg JH7110_ISPCLK_VIN_P_AXI_WR>, 118701950c46SEmmanuel Vadot <&ispcrg JH7110_ISPCLK_MIPI_RX0_PXL>, 118801950c46SEmmanuel Vadot <&syscrg JH7110_SYSCLK_ISP_TOP_CORE>, 118901950c46SEmmanuel Vadot <&syscrg JH7110_SYSCLK_ISP_TOP_AXI>; 119001950c46SEmmanuel Vadot clock-names = "apb_func", "wrapper_clk_c", "dvp_inv", 119101950c46SEmmanuel Vadot "axiwr", "mipi_rx0_pxl", "ispcore_2x", 119201950c46SEmmanuel Vadot "isp_axi"; 119301950c46SEmmanuel Vadot resets = <&ispcrg JH7110_ISPRST_ISPV2_TOP_WRAPPER_P>, 119401950c46SEmmanuel Vadot <&ispcrg JH7110_ISPRST_ISPV2_TOP_WRAPPER_C>, 119501950c46SEmmanuel Vadot <&ispcrg JH7110_ISPRST_VIN_P_AXI_RD>, 119601950c46SEmmanuel Vadot <&ispcrg JH7110_ISPRST_VIN_P_AXI_WR>, 119701950c46SEmmanuel Vadot <&syscrg JH7110_SYSRST_ISP_TOP>, 119801950c46SEmmanuel Vadot <&syscrg JH7110_SYSRST_ISP_TOP_AXI>; 119901950c46SEmmanuel Vadot reset-names = "wrapper_p", "wrapper_c", "axird", 120001950c46SEmmanuel Vadot "axiwr", "isp_top_n", "isp_top_axi"; 120101950c46SEmmanuel Vadot power-domains = <&pwrc JH7110_PD_ISP>; 120201950c46SEmmanuel Vadot interrupts = <92>, <87>, <90>, <88>; 120301950c46SEmmanuel Vadot status = "disabled"; 120401950c46SEmmanuel Vadot }; 120501950c46SEmmanuel Vadot 1206aa1a8ff2SEmmanuel Vadot voutcrg: clock-controller@295c0000 { 1207aa1a8ff2SEmmanuel Vadot compatible = "starfive,jh7110-voutcrg"; 1208aa1a8ff2SEmmanuel Vadot reg = <0x0 0x295c0000 0x0 0x10000>; 1209aa1a8ff2SEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_VOUT_SRC>, 1210aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_VOUT_TOP_AHB>, 1211aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_VOUT_TOP_AXI>, 1212aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_VOUT_TOP_HDMITX0_MCLK>, 1213aa1a8ff2SEmmanuel Vadot <&syscrg JH7110_SYSCLK_I2STX0_BCLK>, 1214aa1a8ff2SEmmanuel Vadot <&hdmitx0_pixelclk>; 1215aa1a8ff2SEmmanuel Vadot clock-names = "vout_src", "vout_top_ahb", 1216aa1a8ff2SEmmanuel Vadot "vout_top_axi", "vout_top_hdmitx0_mclk", 1217aa1a8ff2SEmmanuel Vadot "i2stx0_bclk", "hdmitx0_pixelclk"; 1218aa1a8ff2SEmmanuel Vadot resets = <&syscrg JH7110_SYSRST_VOUT_TOP_SRC>; 1219aa1a8ff2SEmmanuel Vadot #clock-cells = <1>; 1220aa1a8ff2SEmmanuel Vadot #reset-cells = <1>; 1221aa1a8ff2SEmmanuel Vadot power-domains = <&pwrc JH7110_PD_VOUT>; 1222aa1a8ff2SEmmanuel Vadot }; 1223*0e8011faSEmmanuel Vadot 1224*0e8011faSEmmanuel Vadot pcie0: pcie@940000000 { 1225*0e8011faSEmmanuel Vadot compatible = "starfive,jh7110-pcie"; 1226*0e8011faSEmmanuel Vadot reg = <0x9 0x40000000 0x0 0x1000000>, 1227*0e8011faSEmmanuel Vadot <0x0 0x2b000000 0x0 0x100000>; 1228*0e8011faSEmmanuel Vadot reg-names = "cfg", "apb"; 1229*0e8011faSEmmanuel Vadot linux,pci-domain = <0>; 1230*0e8011faSEmmanuel Vadot #address-cells = <3>; 1231*0e8011faSEmmanuel Vadot #size-cells = <2>; 1232*0e8011faSEmmanuel Vadot #interrupt-cells = <1>; 1233*0e8011faSEmmanuel Vadot ranges = <0x82000000 0x0 0x30000000 0x0 0x30000000 0x0 0x08000000>, 1234*0e8011faSEmmanuel Vadot <0xc3000000 0x9 0x00000000 0x9 0x00000000 0x0 0x40000000>; 1235*0e8011faSEmmanuel Vadot interrupts = <56>; 1236*0e8011faSEmmanuel Vadot interrupt-map-mask = <0x0 0x0 0x0 0x7>; 1237*0e8011faSEmmanuel Vadot interrupt-map = <0x0 0x0 0x0 0x1 &pcie_intc0 0x1>, 1238*0e8011faSEmmanuel Vadot <0x0 0x0 0x0 0x2 &pcie_intc0 0x2>, 1239*0e8011faSEmmanuel Vadot <0x0 0x0 0x0 0x3 &pcie_intc0 0x3>, 1240*0e8011faSEmmanuel Vadot <0x0 0x0 0x0 0x4 &pcie_intc0 0x4>; 1241*0e8011faSEmmanuel Vadot msi-controller; 1242*0e8011faSEmmanuel Vadot device_type = "pci"; 1243*0e8011faSEmmanuel Vadot starfive,stg-syscon = <&stg_syscon>; 1244*0e8011faSEmmanuel Vadot bus-range = <0x0 0xff>; 1245*0e8011faSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_NOC_BUS_STG_AXI>, 1246*0e8011faSEmmanuel Vadot <&stgcrg JH7110_STGCLK_PCIE0_TL>, 1247*0e8011faSEmmanuel Vadot <&stgcrg JH7110_STGCLK_PCIE0_AXI_MST0>, 1248*0e8011faSEmmanuel Vadot <&stgcrg JH7110_STGCLK_PCIE0_APB>; 1249*0e8011faSEmmanuel Vadot clock-names = "noc", "tl", "axi_mst0", "apb"; 1250*0e8011faSEmmanuel Vadot resets = <&stgcrg JH7110_STGRST_PCIE0_AXI_MST0>, 1251*0e8011faSEmmanuel Vadot <&stgcrg JH7110_STGRST_PCIE0_AXI_SLV0>, 1252*0e8011faSEmmanuel Vadot <&stgcrg JH7110_STGRST_PCIE0_AXI_SLV>, 1253*0e8011faSEmmanuel Vadot <&stgcrg JH7110_STGRST_PCIE0_BRG>, 1254*0e8011faSEmmanuel Vadot <&stgcrg JH7110_STGRST_PCIE0_CORE>, 1255*0e8011faSEmmanuel Vadot <&stgcrg JH7110_STGRST_PCIE0_APB>; 1256*0e8011faSEmmanuel Vadot reset-names = "mst0", "slv0", "slv", "brg", 1257*0e8011faSEmmanuel Vadot "core", "apb"; 1258*0e8011faSEmmanuel Vadot status = "disabled"; 1259*0e8011faSEmmanuel Vadot 1260*0e8011faSEmmanuel Vadot pcie_intc0: interrupt-controller { 1261*0e8011faSEmmanuel Vadot #address-cells = <0>; 1262*0e8011faSEmmanuel Vadot #interrupt-cells = <1>; 1263*0e8011faSEmmanuel Vadot interrupt-controller; 1264*0e8011faSEmmanuel Vadot }; 1265*0e8011faSEmmanuel Vadot }; 1266*0e8011faSEmmanuel Vadot 1267*0e8011faSEmmanuel Vadot pcie1: pcie@9c0000000 { 1268*0e8011faSEmmanuel Vadot compatible = "starfive,jh7110-pcie"; 1269*0e8011faSEmmanuel Vadot reg = <0x9 0xc0000000 0x0 0x1000000>, 1270*0e8011faSEmmanuel Vadot <0x0 0x2c000000 0x0 0x100000>; 1271*0e8011faSEmmanuel Vadot reg-names = "cfg", "apb"; 1272*0e8011faSEmmanuel Vadot linux,pci-domain = <1>; 1273*0e8011faSEmmanuel Vadot #address-cells = <3>; 1274*0e8011faSEmmanuel Vadot #size-cells = <2>; 1275*0e8011faSEmmanuel Vadot #interrupt-cells = <1>; 1276*0e8011faSEmmanuel Vadot ranges = <0x82000000 0x0 0x38000000 0x0 0x38000000 0x0 0x08000000>, 1277*0e8011faSEmmanuel Vadot <0xc3000000 0x9 0x80000000 0x9 0x80000000 0x0 0x40000000>; 1278*0e8011faSEmmanuel Vadot interrupts = <57>; 1279*0e8011faSEmmanuel Vadot interrupt-map-mask = <0x0 0x0 0x0 0x7>; 1280*0e8011faSEmmanuel Vadot interrupt-map = <0x0 0x0 0x0 0x1 &pcie_intc1 0x1>, 1281*0e8011faSEmmanuel Vadot <0x0 0x0 0x0 0x2 &pcie_intc1 0x2>, 1282*0e8011faSEmmanuel Vadot <0x0 0x0 0x0 0x3 &pcie_intc1 0x3>, 1283*0e8011faSEmmanuel Vadot <0x0 0x0 0x0 0x4 &pcie_intc1 0x4>; 1284*0e8011faSEmmanuel Vadot msi-controller; 1285*0e8011faSEmmanuel Vadot device_type = "pci"; 1286*0e8011faSEmmanuel Vadot starfive,stg-syscon = <&stg_syscon>; 1287*0e8011faSEmmanuel Vadot bus-range = <0x0 0xff>; 1288*0e8011faSEmmanuel Vadot clocks = <&syscrg JH7110_SYSCLK_NOC_BUS_STG_AXI>, 1289*0e8011faSEmmanuel Vadot <&stgcrg JH7110_STGCLK_PCIE1_TL>, 1290*0e8011faSEmmanuel Vadot <&stgcrg JH7110_STGCLK_PCIE1_AXI_MST0>, 1291*0e8011faSEmmanuel Vadot <&stgcrg JH7110_STGCLK_PCIE1_APB>; 1292*0e8011faSEmmanuel Vadot clock-names = "noc", "tl", "axi_mst0", "apb"; 1293*0e8011faSEmmanuel Vadot resets = <&stgcrg JH7110_STGRST_PCIE1_AXI_MST0>, 1294*0e8011faSEmmanuel Vadot <&stgcrg JH7110_STGRST_PCIE1_AXI_SLV0>, 1295*0e8011faSEmmanuel Vadot <&stgcrg JH7110_STGRST_PCIE1_AXI_SLV>, 1296*0e8011faSEmmanuel Vadot <&stgcrg JH7110_STGRST_PCIE1_BRG>, 1297*0e8011faSEmmanuel Vadot <&stgcrg JH7110_STGRST_PCIE1_CORE>, 1298*0e8011faSEmmanuel Vadot <&stgcrg JH7110_STGRST_PCIE1_APB>; 1299*0e8011faSEmmanuel Vadot reset-names = "mst0", "slv0", "slv", "brg", 1300*0e8011faSEmmanuel Vadot "core", "apb"; 1301*0e8011faSEmmanuel Vadot status = "disabled"; 1302*0e8011faSEmmanuel Vadot 1303*0e8011faSEmmanuel Vadot pcie_intc1: interrupt-controller { 1304*0e8011faSEmmanuel Vadot #address-cells = <0>; 1305*0e8011faSEmmanuel Vadot #interrupt-cells = <1>; 1306*0e8011faSEmmanuel Vadot interrupt-controller; 1307*0e8011faSEmmanuel Vadot }; 1308*0e8011faSEmmanuel Vadot }; 1309fac71e4eSEmmanuel Vadot }; 1310fac71e4eSEmmanuel Vadot}; 1311