160bf0a39SEmil Renner Berthing// SPDX-License-Identifier: GPL-2.0 OR MIT 260bf0a39SEmil Renner Berthing/* 360bf0a39SEmil Renner Berthing * Copyright (C) 2022 StarFive Technology Co., Ltd. 460bf0a39SEmil Renner Berthing * Copyright (C) 2022 Emil Renner Berthing <kernel@esmil.dk> 560bf0a39SEmil Renner Berthing */ 660bf0a39SEmil Renner Berthing 760bf0a39SEmil Renner Berthing/dts-v1/; 860bf0a39SEmil Renner Berthing#include <dt-bindings/clock/starfive,jh7110-crg.h> 9*3d90131fSXingyu Wu#include <dt-bindings/power/starfive,jh7110-pmu.h> 1060bf0a39SEmil Renner Berthing#include <dt-bindings/reset/starfive,jh7110-crg.h> 1160bf0a39SEmil Renner Berthing 1260bf0a39SEmil Renner Berthing/ { 1360bf0a39SEmil Renner Berthing compatible = "starfive,jh7110"; 1460bf0a39SEmil Renner Berthing #address-cells = <2>; 1560bf0a39SEmil Renner Berthing #size-cells = <2>; 1660bf0a39SEmil Renner Berthing 1760bf0a39SEmil Renner Berthing cpus { 1860bf0a39SEmil Renner Berthing #address-cells = <1>; 1960bf0a39SEmil Renner Berthing #size-cells = <0>; 2060bf0a39SEmil Renner Berthing 2160bf0a39SEmil Renner Berthing S7_0: cpu@0 { 2260bf0a39SEmil Renner Berthing compatible = "sifive,s7", "riscv"; 2360bf0a39SEmil Renner Berthing reg = <0>; 2460bf0a39SEmil Renner Berthing device_type = "cpu"; 2560bf0a39SEmil Renner Berthing i-cache-block-size = <64>; 2660bf0a39SEmil Renner Berthing i-cache-sets = <64>; 2760bf0a39SEmil Renner Berthing i-cache-size = <16384>; 2860bf0a39SEmil Renner Berthing next-level-cache = <&ccache>; 2960bf0a39SEmil Renner Berthing riscv,isa = "rv64imac_zba_zbb"; 3060bf0a39SEmil Renner Berthing status = "disabled"; 3160bf0a39SEmil Renner Berthing 3260bf0a39SEmil Renner Berthing cpu0_intc: interrupt-controller { 3360bf0a39SEmil Renner Berthing compatible = "riscv,cpu-intc"; 3460bf0a39SEmil Renner Berthing interrupt-controller; 3560bf0a39SEmil Renner Berthing #interrupt-cells = <1>; 3660bf0a39SEmil Renner Berthing }; 3760bf0a39SEmil Renner Berthing }; 3860bf0a39SEmil Renner Berthing 3960bf0a39SEmil Renner Berthing U74_1: cpu@1 { 4060bf0a39SEmil Renner Berthing compatible = "sifive,u74-mc", "riscv"; 4160bf0a39SEmil Renner Berthing reg = <1>; 4260bf0a39SEmil Renner Berthing d-cache-block-size = <64>; 4360bf0a39SEmil Renner Berthing d-cache-sets = <64>; 4460bf0a39SEmil Renner Berthing d-cache-size = <32768>; 4560bf0a39SEmil Renner Berthing d-tlb-sets = <1>; 4660bf0a39SEmil Renner Berthing d-tlb-size = <40>; 4760bf0a39SEmil Renner Berthing device_type = "cpu"; 4860bf0a39SEmil Renner Berthing i-cache-block-size = <64>; 4960bf0a39SEmil Renner Berthing i-cache-sets = <64>; 5060bf0a39SEmil Renner Berthing i-cache-size = <32768>; 5160bf0a39SEmil Renner Berthing i-tlb-sets = <1>; 5260bf0a39SEmil Renner Berthing i-tlb-size = <40>; 5360bf0a39SEmil Renner Berthing mmu-type = "riscv,sv39"; 5460bf0a39SEmil Renner Berthing next-level-cache = <&ccache>; 5560bf0a39SEmil Renner Berthing riscv,isa = "rv64imafdc_zba_zbb"; 5660bf0a39SEmil Renner Berthing tlb-split; 57e2c510d6SMason Huo operating-points-v2 = <&cpu_opp>; 58e2c510d6SMason Huo clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>; 59e2c510d6SMason Huo clock-names = "cpu"; 6060bf0a39SEmil Renner Berthing 6160bf0a39SEmil Renner Berthing cpu1_intc: interrupt-controller { 6260bf0a39SEmil Renner Berthing compatible = "riscv,cpu-intc"; 6360bf0a39SEmil Renner Berthing interrupt-controller; 6460bf0a39SEmil Renner Berthing #interrupt-cells = <1>; 6560bf0a39SEmil Renner Berthing }; 6660bf0a39SEmil Renner Berthing }; 6760bf0a39SEmil Renner Berthing 6860bf0a39SEmil Renner Berthing U74_2: cpu@2 { 6960bf0a39SEmil Renner Berthing compatible = "sifive,u74-mc", "riscv"; 7060bf0a39SEmil Renner Berthing reg = <2>; 7160bf0a39SEmil Renner Berthing d-cache-block-size = <64>; 7260bf0a39SEmil Renner Berthing d-cache-sets = <64>; 7360bf0a39SEmil Renner Berthing d-cache-size = <32768>; 7460bf0a39SEmil Renner Berthing d-tlb-sets = <1>; 7560bf0a39SEmil Renner Berthing d-tlb-size = <40>; 7660bf0a39SEmil Renner Berthing device_type = "cpu"; 7760bf0a39SEmil Renner Berthing i-cache-block-size = <64>; 7860bf0a39SEmil Renner Berthing i-cache-sets = <64>; 7960bf0a39SEmil Renner Berthing i-cache-size = <32768>; 8060bf0a39SEmil Renner Berthing i-tlb-sets = <1>; 8160bf0a39SEmil Renner Berthing i-tlb-size = <40>; 8260bf0a39SEmil Renner Berthing mmu-type = "riscv,sv39"; 8360bf0a39SEmil Renner Berthing next-level-cache = <&ccache>; 8460bf0a39SEmil Renner Berthing riscv,isa = "rv64imafdc_zba_zbb"; 8560bf0a39SEmil Renner Berthing tlb-split; 86e2c510d6SMason Huo operating-points-v2 = <&cpu_opp>; 87e2c510d6SMason Huo clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>; 88e2c510d6SMason Huo clock-names = "cpu"; 8960bf0a39SEmil Renner Berthing 9060bf0a39SEmil Renner Berthing cpu2_intc: interrupt-controller { 9160bf0a39SEmil Renner Berthing compatible = "riscv,cpu-intc"; 9260bf0a39SEmil Renner Berthing interrupt-controller; 9360bf0a39SEmil Renner Berthing #interrupt-cells = <1>; 9460bf0a39SEmil Renner Berthing }; 9560bf0a39SEmil Renner Berthing }; 9660bf0a39SEmil Renner Berthing 9760bf0a39SEmil Renner Berthing U74_3: cpu@3 { 9860bf0a39SEmil Renner Berthing compatible = "sifive,u74-mc", "riscv"; 9960bf0a39SEmil Renner Berthing reg = <3>; 10060bf0a39SEmil Renner Berthing d-cache-block-size = <64>; 10160bf0a39SEmil Renner Berthing d-cache-sets = <64>; 10260bf0a39SEmil Renner Berthing d-cache-size = <32768>; 10360bf0a39SEmil Renner Berthing d-tlb-sets = <1>; 10460bf0a39SEmil Renner Berthing d-tlb-size = <40>; 10560bf0a39SEmil Renner Berthing device_type = "cpu"; 10660bf0a39SEmil Renner Berthing i-cache-block-size = <64>; 10760bf0a39SEmil Renner Berthing i-cache-sets = <64>; 10860bf0a39SEmil Renner Berthing i-cache-size = <32768>; 10960bf0a39SEmil Renner Berthing i-tlb-sets = <1>; 11060bf0a39SEmil Renner Berthing i-tlb-size = <40>; 11160bf0a39SEmil Renner Berthing mmu-type = "riscv,sv39"; 11260bf0a39SEmil Renner Berthing next-level-cache = <&ccache>; 11360bf0a39SEmil Renner Berthing riscv,isa = "rv64imafdc_zba_zbb"; 11460bf0a39SEmil Renner Berthing tlb-split; 115e2c510d6SMason Huo operating-points-v2 = <&cpu_opp>; 116e2c510d6SMason Huo clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>; 117e2c510d6SMason Huo clock-names = "cpu"; 11860bf0a39SEmil Renner Berthing 11960bf0a39SEmil Renner Berthing cpu3_intc: interrupt-controller { 12060bf0a39SEmil Renner Berthing compatible = "riscv,cpu-intc"; 12160bf0a39SEmil Renner Berthing interrupt-controller; 12260bf0a39SEmil Renner Berthing #interrupt-cells = <1>; 12360bf0a39SEmil Renner Berthing }; 12460bf0a39SEmil Renner Berthing }; 12560bf0a39SEmil Renner Berthing 12660bf0a39SEmil Renner Berthing U74_4: cpu@4 { 12760bf0a39SEmil Renner Berthing compatible = "sifive,u74-mc", "riscv"; 12860bf0a39SEmil Renner Berthing reg = <4>; 12960bf0a39SEmil Renner Berthing d-cache-block-size = <64>; 13060bf0a39SEmil Renner Berthing d-cache-sets = <64>; 13160bf0a39SEmil Renner Berthing d-cache-size = <32768>; 13260bf0a39SEmil Renner Berthing d-tlb-sets = <1>; 13360bf0a39SEmil Renner Berthing d-tlb-size = <40>; 13460bf0a39SEmil Renner Berthing device_type = "cpu"; 13560bf0a39SEmil Renner Berthing i-cache-block-size = <64>; 13660bf0a39SEmil Renner Berthing i-cache-sets = <64>; 13760bf0a39SEmil Renner Berthing i-cache-size = <32768>; 13860bf0a39SEmil Renner Berthing i-tlb-sets = <1>; 13960bf0a39SEmil Renner Berthing i-tlb-size = <40>; 14060bf0a39SEmil Renner Berthing mmu-type = "riscv,sv39"; 14160bf0a39SEmil Renner Berthing next-level-cache = <&ccache>; 14260bf0a39SEmil Renner Berthing riscv,isa = "rv64imafdc_zba_zbb"; 14360bf0a39SEmil Renner Berthing tlb-split; 144e2c510d6SMason Huo operating-points-v2 = <&cpu_opp>; 145e2c510d6SMason Huo clocks = <&syscrg JH7110_SYSCLK_CPU_CORE>; 146e2c510d6SMason Huo clock-names = "cpu"; 14760bf0a39SEmil Renner Berthing 14860bf0a39SEmil Renner Berthing cpu4_intc: interrupt-controller { 14960bf0a39SEmil Renner Berthing compatible = "riscv,cpu-intc"; 15060bf0a39SEmil Renner Berthing interrupt-controller; 15160bf0a39SEmil Renner Berthing #interrupt-cells = <1>; 15260bf0a39SEmil Renner Berthing }; 15360bf0a39SEmil Renner Berthing }; 15460bf0a39SEmil Renner Berthing 15560bf0a39SEmil Renner Berthing cpu-map { 15660bf0a39SEmil Renner Berthing cluster0 { 15760bf0a39SEmil Renner Berthing core0 { 15860bf0a39SEmil Renner Berthing cpu = <&S7_0>; 15960bf0a39SEmil Renner Berthing }; 16060bf0a39SEmil Renner Berthing 16160bf0a39SEmil Renner Berthing core1 { 16260bf0a39SEmil Renner Berthing cpu = <&U74_1>; 16360bf0a39SEmil Renner Berthing }; 16460bf0a39SEmil Renner Berthing 16560bf0a39SEmil Renner Berthing core2 { 16660bf0a39SEmil Renner Berthing cpu = <&U74_2>; 16760bf0a39SEmil Renner Berthing }; 16860bf0a39SEmil Renner Berthing 16960bf0a39SEmil Renner Berthing core3 { 17060bf0a39SEmil Renner Berthing cpu = <&U74_3>; 17160bf0a39SEmil Renner Berthing }; 17260bf0a39SEmil Renner Berthing 17360bf0a39SEmil Renner Berthing core4 { 17460bf0a39SEmil Renner Berthing cpu = <&U74_4>; 17560bf0a39SEmil Renner Berthing }; 17660bf0a39SEmil Renner Berthing }; 17760bf0a39SEmil Renner Berthing }; 17860bf0a39SEmil Renner Berthing }; 17960bf0a39SEmil Renner Berthing 180e2c510d6SMason Huo cpu_opp: opp-table-0 { 181e2c510d6SMason Huo compatible = "operating-points-v2"; 182e2c510d6SMason Huo opp-shared; 183e2c510d6SMason Huo opp-375000000 { 184e2c510d6SMason Huo opp-hz = /bits/ 64 <375000000>; 185e2c510d6SMason Huo opp-microvolt = <800000>; 186e2c510d6SMason Huo }; 187e2c510d6SMason Huo opp-500000000 { 188e2c510d6SMason Huo opp-hz = /bits/ 64 <500000000>; 189e2c510d6SMason Huo opp-microvolt = <800000>; 190e2c510d6SMason Huo }; 191e2c510d6SMason Huo opp-750000000 { 192e2c510d6SMason Huo opp-hz = /bits/ 64 <750000000>; 193e2c510d6SMason Huo opp-microvolt = <800000>; 194e2c510d6SMason Huo }; 195e2c510d6SMason Huo opp-1500000000 { 196e2c510d6SMason Huo opp-hz = /bits/ 64 <1500000000>; 197e2c510d6SMason Huo opp-microvolt = <1040000>; 198e2c510d6SMason Huo }; 199e2c510d6SMason Huo }; 200e2c510d6SMason Huo 20143f09605SXingyu Wu dvp_clk: dvp-clock { 20243f09605SXingyu Wu compatible = "fixed-clock"; 20343f09605SXingyu Wu clock-output-names = "dvp_clk"; 20443f09605SXingyu Wu #clock-cells = <0>; 20543f09605SXingyu Wu }; 20643f09605SXingyu Wu 20760bf0a39SEmil Renner Berthing gmac0_rgmii_rxin: gmac0-rgmii-rxin-clock { 20860bf0a39SEmil Renner Berthing compatible = "fixed-clock"; 20960bf0a39SEmil Renner Berthing clock-output-names = "gmac0_rgmii_rxin"; 21060bf0a39SEmil Renner Berthing #clock-cells = <0>; 21160bf0a39SEmil Renner Berthing }; 21260bf0a39SEmil Renner Berthing 21360bf0a39SEmil Renner Berthing gmac0_rmii_refin: gmac0-rmii-refin-clock { 21460bf0a39SEmil Renner Berthing compatible = "fixed-clock"; 21560bf0a39SEmil Renner Berthing clock-output-names = "gmac0_rmii_refin"; 21660bf0a39SEmil Renner Berthing #clock-cells = <0>; 21760bf0a39SEmil Renner Berthing }; 21860bf0a39SEmil Renner Berthing 21960bf0a39SEmil Renner Berthing gmac1_rgmii_rxin: gmac1-rgmii-rxin-clock { 22060bf0a39SEmil Renner Berthing compatible = "fixed-clock"; 22160bf0a39SEmil Renner Berthing clock-output-names = "gmac1_rgmii_rxin"; 22260bf0a39SEmil Renner Berthing #clock-cells = <0>; 22360bf0a39SEmil Renner Berthing }; 22460bf0a39SEmil Renner Berthing 22560bf0a39SEmil Renner Berthing gmac1_rmii_refin: gmac1-rmii-refin-clock { 22660bf0a39SEmil Renner Berthing compatible = "fixed-clock"; 22760bf0a39SEmil Renner Berthing clock-output-names = "gmac1_rmii_refin"; 22860bf0a39SEmil Renner Berthing #clock-cells = <0>; 22960bf0a39SEmil Renner Berthing }; 23060bf0a39SEmil Renner Berthing 23143f09605SXingyu Wu hdmitx0_pixelclk: hdmitx0-pixel-clock { 23243f09605SXingyu Wu compatible = "fixed-clock"; 23343f09605SXingyu Wu clock-output-names = "hdmitx0_pixelclk"; 23443f09605SXingyu Wu #clock-cells = <0>; 23543f09605SXingyu Wu }; 23643f09605SXingyu Wu 23760bf0a39SEmil Renner Berthing i2srx_bclk_ext: i2srx-bclk-ext-clock { 23860bf0a39SEmil Renner Berthing compatible = "fixed-clock"; 23960bf0a39SEmil Renner Berthing clock-output-names = "i2srx_bclk_ext"; 24060bf0a39SEmil Renner Berthing #clock-cells = <0>; 24160bf0a39SEmil Renner Berthing }; 24260bf0a39SEmil Renner Berthing 24360bf0a39SEmil Renner Berthing i2srx_lrck_ext: i2srx-lrck-ext-clock { 24460bf0a39SEmil Renner Berthing compatible = "fixed-clock"; 24560bf0a39SEmil Renner Berthing clock-output-names = "i2srx_lrck_ext"; 24660bf0a39SEmil Renner Berthing #clock-cells = <0>; 24760bf0a39SEmil Renner Berthing }; 24860bf0a39SEmil Renner Berthing 24960bf0a39SEmil Renner Berthing i2stx_bclk_ext: i2stx-bclk-ext-clock { 25060bf0a39SEmil Renner Berthing compatible = "fixed-clock"; 25160bf0a39SEmil Renner Berthing clock-output-names = "i2stx_bclk_ext"; 25260bf0a39SEmil Renner Berthing #clock-cells = <0>; 25360bf0a39SEmil Renner Berthing }; 25460bf0a39SEmil Renner Berthing 25560bf0a39SEmil Renner Berthing i2stx_lrck_ext: i2stx-lrck-ext-clock { 25660bf0a39SEmil Renner Berthing compatible = "fixed-clock"; 25760bf0a39SEmil Renner Berthing clock-output-names = "i2stx_lrck_ext"; 25860bf0a39SEmil Renner Berthing #clock-cells = <0>; 25960bf0a39SEmil Renner Berthing }; 26060bf0a39SEmil Renner Berthing 26160bf0a39SEmil Renner Berthing mclk_ext: mclk-ext-clock { 26260bf0a39SEmil Renner Berthing compatible = "fixed-clock"; 26360bf0a39SEmil Renner Berthing clock-output-names = "mclk_ext"; 26460bf0a39SEmil Renner Berthing #clock-cells = <0>; 26560bf0a39SEmil Renner Berthing }; 26660bf0a39SEmil Renner Berthing 26760bf0a39SEmil Renner Berthing osc: oscillator { 26860bf0a39SEmil Renner Berthing compatible = "fixed-clock"; 26960bf0a39SEmil Renner Berthing clock-output-names = "osc"; 27060bf0a39SEmil Renner Berthing #clock-cells = <0>; 27160bf0a39SEmil Renner Berthing }; 27260bf0a39SEmil Renner Berthing 27360bf0a39SEmil Renner Berthing rtc_osc: rtc-oscillator { 27460bf0a39SEmil Renner Berthing compatible = "fixed-clock"; 27560bf0a39SEmil Renner Berthing clock-output-names = "rtc_osc"; 27660bf0a39SEmil Renner Berthing #clock-cells = <0>; 27760bf0a39SEmil Renner Berthing }; 27860bf0a39SEmil Renner Berthing 27960bf0a39SEmil Renner Berthing tdm_ext: tdm-ext-clock { 28060bf0a39SEmil Renner Berthing compatible = "fixed-clock"; 28160bf0a39SEmil Renner Berthing clock-output-names = "tdm_ext"; 28260bf0a39SEmil Renner Berthing #clock-cells = <0>; 28360bf0a39SEmil Renner Berthing }; 28460bf0a39SEmil Renner Berthing 28560bf0a39SEmil Renner Berthing soc { 28660bf0a39SEmil Renner Berthing compatible = "simple-bus"; 28760bf0a39SEmil Renner Berthing interrupt-parent = <&plic>; 28860bf0a39SEmil Renner Berthing #address-cells = <2>; 28960bf0a39SEmil Renner Berthing #size-cells = <2>; 29060bf0a39SEmil Renner Berthing ranges; 29160bf0a39SEmil Renner Berthing 29260bf0a39SEmil Renner Berthing clint: timer@2000000 { 29360bf0a39SEmil Renner Berthing compatible = "starfive,jh7110-clint", "sifive,clint0"; 29460bf0a39SEmil Renner Berthing reg = <0x0 0x2000000 0x0 0x10000>; 29560bf0a39SEmil Renner Berthing interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>, 29660bf0a39SEmil Renner Berthing <&cpu1_intc 3>, <&cpu1_intc 7>, 29760bf0a39SEmil Renner Berthing <&cpu2_intc 3>, <&cpu2_intc 7>, 29860bf0a39SEmil Renner Berthing <&cpu3_intc 3>, <&cpu3_intc 7>, 29960bf0a39SEmil Renner Berthing <&cpu4_intc 3>, <&cpu4_intc 7>; 30060bf0a39SEmil Renner Berthing }; 30160bf0a39SEmil Renner Berthing 30260bf0a39SEmil Renner Berthing ccache: cache-controller@2010000 { 30360bf0a39SEmil Renner Berthing compatible = "starfive,jh7110-ccache", "sifive,ccache0", "cache"; 30460bf0a39SEmil Renner Berthing reg = <0x0 0x2010000 0x0 0x4000>; 30560bf0a39SEmil Renner Berthing interrupts = <1>, <3>, <4>, <2>; 30660bf0a39SEmil Renner Berthing cache-block-size = <64>; 30760bf0a39SEmil Renner Berthing cache-level = <2>; 30860bf0a39SEmil Renner Berthing cache-sets = <2048>; 30960bf0a39SEmil Renner Berthing cache-size = <2097152>; 31060bf0a39SEmil Renner Berthing cache-unified; 31160bf0a39SEmil Renner Berthing }; 31260bf0a39SEmil Renner Berthing 31360bf0a39SEmil Renner Berthing plic: interrupt-controller@c000000 { 31460bf0a39SEmil Renner Berthing compatible = "starfive,jh7110-plic", "sifive,plic-1.0.0"; 31560bf0a39SEmil Renner Berthing reg = <0x0 0xc000000 0x0 0x4000000>; 31660bf0a39SEmil Renner Berthing interrupts-extended = <&cpu0_intc 11>, 31760bf0a39SEmil Renner Berthing <&cpu1_intc 11>, <&cpu1_intc 9>, 31860bf0a39SEmil Renner Berthing <&cpu2_intc 11>, <&cpu2_intc 9>, 31960bf0a39SEmil Renner Berthing <&cpu3_intc 11>, <&cpu3_intc 9>, 32060bf0a39SEmil Renner Berthing <&cpu4_intc 11>, <&cpu4_intc 9>; 32160bf0a39SEmil Renner Berthing interrupt-controller; 32260bf0a39SEmil Renner Berthing #interrupt-cells = <1>; 32360bf0a39SEmil Renner Berthing #address-cells = <0>; 32460bf0a39SEmil Renner Berthing riscv,ndev = <136>; 32560bf0a39SEmil Renner Berthing }; 32660bf0a39SEmil Renner Berthing 32760bf0a39SEmil Renner Berthing uart0: serial@10000000 { 32860bf0a39SEmil Renner Berthing compatible = "snps,dw-apb-uart"; 32960bf0a39SEmil Renner Berthing reg = <0x0 0x10000000 0x0 0x10000>; 33060bf0a39SEmil Renner Berthing clocks = <&syscrg JH7110_SYSCLK_UART0_CORE>, 33160bf0a39SEmil Renner Berthing <&syscrg JH7110_SYSCLK_UART0_APB>; 33260bf0a39SEmil Renner Berthing clock-names = "baudclk", "apb_pclk"; 33360bf0a39SEmil Renner Berthing resets = <&syscrg JH7110_SYSRST_UART0_APB>; 33460bf0a39SEmil Renner Berthing interrupts = <32>; 33560bf0a39SEmil Renner Berthing reg-io-width = <4>; 33660bf0a39SEmil Renner Berthing reg-shift = <2>; 33760bf0a39SEmil Renner Berthing status = "disabled"; 33860bf0a39SEmil Renner Berthing }; 33960bf0a39SEmil Renner Berthing 34060bf0a39SEmil Renner Berthing uart1: serial@10010000 { 34160bf0a39SEmil Renner Berthing compatible = "snps,dw-apb-uart"; 34260bf0a39SEmil Renner Berthing reg = <0x0 0x10010000 0x0 0x10000>; 34360bf0a39SEmil Renner Berthing clocks = <&syscrg JH7110_SYSCLK_UART1_CORE>, 34460bf0a39SEmil Renner Berthing <&syscrg JH7110_SYSCLK_UART1_APB>; 34560bf0a39SEmil Renner Berthing clock-names = "baudclk", "apb_pclk"; 34660bf0a39SEmil Renner Berthing resets = <&syscrg JH7110_SYSRST_UART1_APB>; 34760bf0a39SEmil Renner Berthing interrupts = <33>; 34860bf0a39SEmil Renner Berthing reg-io-width = <4>; 34960bf0a39SEmil Renner Berthing reg-shift = <2>; 35060bf0a39SEmil Renner Berthing status = "disabled"; 35160bf0a39SEmil Renner Berthing }; 35260bf0a39SEmil Renner Berthing 35360bf0a39SEmil Renner Berthing uart2: serial@10020000 { 35460bf0a39SEmil Renner Berthing compatible = "snps,dw-apb-uart"; 35560bf0a39SEmil Renner Berthing reg = <0x0 0x10020000 0x0 0x10000>; 35660bf0a39SEmil Renner Berthing clocks = <&syscrg JH7110_SYSCLK_UART2_CORE>, 35760bf0a39SEmil Renner Berthing <&syscrg JH7110_SYSCLK_UART2_APB>; 35860bf0a39SEmil Renner Berthing clock-names = "baudclk", "apb_pclk"; 35960bf0a39SEmil Renner Berthing resets = <&syscrg JH7110_SYSRST_UART2_APB>; 36060bf0a39SEmil Renner Berthing interrupts = <34>; 36160bf0a39SEmil Renner Berthing reg-io-width = <4>; 36260bf0a39SEmil Renner Berthing reg-shift = <2>; 36360bf0a39SEmil Renner Berthing status = "disabled"; 36460bf0a39SEmil Renner Berthing }; 36560bf0a39SEmil Renner Berthing 36660bf0a39SEmil Renner Berthing i2c0: i2c@10030000 { 36760bf0a39SEmil Renner Berthing compatible = "snps,designware-i2c"; 36860bf0a39SEmil Renner Berthing reg = <0x0 0x10030000 0x0 0x10000>; 36960bf0a39SEmil Renner Berthing clocks = <&syscrg JH7110_SYSCLK_I2C0_APB>; 37060bf0a39SEmil Renner Berthing clock-names = "ref"; 37160bf0a39SEmil Renner Berthing resets = <&syscrg JH7110_SYSRST_I2C0_APB>; 37260bf0a39SEmil Renner Berthing interrupts = <35>; 37360bf0a39SEmil Renner Berthing #address-cells = <1>; 37460bf0a39SEmil Renner Berthing #size-cells = <0>; 37560bf0a39SEmil Renner Berthing status = "disabled"; 37660bf0a39SEmil Renner Berthing }; 37760bf0a39SEmil Renner Berthing 37860bf0a39SEmil Renner Berthing i2c1: i2c@10040000 { 37960bf0a39SEmil Renner Berthing compatible = "snps,designware-i2c"; 38060bf0a39SEmil Renner Berthing reg = <0x0 0x10040000 0x0 0x10000>; 38160bf0a39SEmil Renner Berthing clocks = <&syscrg JH7110_SYSCLK_I2C1_APB>; 38260bf0a39SEmil Renner Berthing clock-names = "ref"; 38360bf0a39SEmil Renner Berthing resets = <&syscrg JH7110_SYSRST_I2C1_APB>; 38460bf0a39SEmil Renner Berthing interrupts = <36>; 38560bf0a39SEmil Renner Berthing #address-cells = <1>; 38660bf0a39SEmil Renner Berthing #size-cells = <0>; 38760bf0a39SEmil Renner Berthing status = "disabled"; 38860bf0a39SEmil Renner Berthing }; 38960bf0a39SEmil Renner Berthing 39060bf0a39SEmil Renner Berthing i2c2: i2c@10050000 { 39160bf0a39SEmil Renner Berthing compatible = "snps,designware-i2c"; 39260bf0a39SEmil Renner Berthing reg = <0x0 0x10050000 0x0 0x10000>; 39360bf0a39SEmil Renner Berthing clocks = <&syscrg JH7110_SYSCLK_I2C2_APB>; 39460bf0a39SEmil Renner Berthing clock-names = "ref"; 39560bf0a39SEmil Renner Berthing resets = <&syscrg JH7110_SYSRST_I2C2_APB>; 39660bf0a39SEmil Renner Berthing interrupts = <37>; 39760bf0a39SEmil Renner Berthing #address-cells = <1>; 39860bf0a39SEmil Renner Berthing #size-cells = <0>; 39960bf0a39SEmil Renner Berthing status = "disabled"; 40060bf0a39SEmil Renner Berthing }; 40160bf0a39SEmil Renner Berthing 402*3d90131fSXingyu Wu stgcrg: clock-controller@10230000 { 403*3d90131fSXingyu Wu compatible = "starfive,jh7110-stgcrg"; 404*3d90131fSXingyu Wu reg = <0x0 0x10230000 0x0 0x10000>; 405*3d90131fSXingyu Wu clocks = <&osc>, 406*3d90131fSXingyu Wu <&syscrg JH7110_SYSCLK_HIFI4_CORE>, 407*3d90131fSXingyu Wu <&syscrg JH7110_SYSCLK_STG_AXIAHB>, 408*3d90131fSXingyu Wu <&syscrg JH7110_SYSCLK_USB_125M>, 409*3d90131fSXingyu Wu <&syscrg JH7110_SYSCLK_CPU_BUS>, 410*3d90131fSXingyu Wu <&syscrg JH7110_SYSCLK_HIFI4_AXI>, 411*3d90131fSXingyu Wu <&syscrg JH7110_SYSCLK_NOCSTG_BUS>, 412*3d90131fSXingyu Wu <&syscrg JH7110_SYSCLK_APB_BUS>; 413*3d90131fSXingyu Wu clock-names = "osc", "hifi4_core", 414*3d90131fSXingyu Wu "stg_axiahb", "usb_125m", 415*3d90131fSXingyu Wu "cpu_bus", "hifi4_axi", 416*3d90131fSXingyu Wu "nocstg_bus", "apb_bus"; 417*3d90131fSXingyu Wu #clock-cells = <1>; 418*3d90131fSXingyu Wu #reset-cells = <1>; 419*3d90131fSXingyu Wu }; 420*3d90131fSXingyu Wu 42160bf0a39SEmil Renner Berthing uart3: serial@12000000 { 42260bf0a39SEmil Renner Berthing compatible = "snps,dw-apb-uart"; 42360bf0a39SEmil Renner Berthing reg = <0x0 0x12000000 0x0 0x10000>; 42460bf0a39SEmil Renner Berthing clocks = <&syscrg JH7110_SYSCLK_UART3_CORE>, 42560bf0a39SEmil Renner Berthing <&syscrg JH7110_SYSCLK_UART3_APB>; 42660bf0a39SEmil Renner Berthing clock-names = "baudclk", "apb_pclk"; 42760bf0a39SEmil Renner Berthing resets = <&syscrg JH7110_SYSRST_UART3_APB>; 42860bf0a39SEmil Renner Berthing interrupts = <45>; 42960bf0a39SEmil Renner Berthing reg-io-width = <4>; 43060bf0a39SEmil Renner Berthing reg-shift = <2>; 43160bf0a39SEmil Renner Berthing status = "disabled"; 43260bf0a39SEmil Renner Berthing }; 43360bf0a39SEmil Renner Berthing 43460bf0a39SEmil Renner Berthing uart4: serial@12010000 { 43560bf0a39SEmil Renner Berthing compatible = "snps,dw-apb-uart"; 43660bf0a39SEmil Renner Berthing reg = <0x0 0x12010000 0x0 0x10000>; 43760bf0a39SEmil Renner Berthing clocks = <&syscrg JH7110_SYSCLK_UART4_CORE>, 43860bf0a39SEmil Renner Berthing <&syscrg JH7110_SYSCLK_UART4_APB>; 43960bf0a39SEmil Renner Berthing clock-names = "baudclk", "apb_pclk"; 44060bf0a39SEmil Renner Berthing resets = <&syscrg JH7110_SYSRST_UART4_APB>; 44160bf0a39SEmil Renner Berthing interrupts = <46>; 44260bf0a39SEmil Renner Berthing reg-io-width = <4>; 44360bf0a39SEmil Renner Berthing reg-shift = <2>; 44460bf0a39SEmil Renner Berthing status = "disabled"; 44560bf0a39SEmil Renner Berthing }; 44660bf0a39SEmil Renner Berthing 44760bf0a39SEmil Renner Berthing uart5: serial@12020000 { 44860bf0a39SEmil Renner Berthing compatible = "snps,dw-apb-uart"; 44960bf0a39SEmil Renner Berthing reg = <0x0 0x12020000 0x0 0x10000>; 45060bf0a39SEmil Renner Berthing clocks = <&syscrg JH7110_SYSCLK_UART5_CORE>, 45160bf0a39SEmil Renner Berthing <&syscrg JH7110_SYSCLK_UART5_APB>; 45260bf0a39SEmil Renner Berthing clock-names = "baudclk", "apb_pclk"; 45360bf0a39SEmil Renner Berthing resets = <&syscrg JH7110_SYSRST_UART5_APB>; 45460bf0a39SEmil Renner Berthing interrupts = <47>; 45560bf0a39SEmil Renner Berthing reg-io-width = <4>; 45660bf0a39SEmil Renner Berthing reg-shift = <2>; 45760bf0a39SEmil Renner Berthing status = "disabled"; 45860bf0a39SEmil Renner Berthing }; 45960bf0a39SEmil Renner Berthing 46060bf0a39SEmil Renner Berthing i2c3: i2c@12030000 { 46160bf0a39SEmil Renner Berthing compatible = "snps,designware-i2c"; 46260bf0a39SEmil Renner Berthing reg = <0x0 0x12030000 0x0 0x10000>; 46360bf0a39SEmil Renner Berthing clocks = <&syscrg JH7110_SYSCLK_I2C3_APB>; 46460bf0a39SEmil Renner Berthing clock-names = "ref"; 46560bf0a39SEmil Renner Berthing resets = <&syscrg JH7110_SYSRST_I2C3_APB>; 46660bf0a39SEmil Renner Berthing interrupts = <48>; 46760bf0a39SEmil Renner Berthing #address-cells = <1>; 46860bf0a39SEmil Renner Berthing #size-cells = <0>; 46960bf0a39SEmil Renner Berthing status = "disabled"; 47060bf0a39SEmil Renner Berthing }; 47160bf0a39SEmil Renner Berthing 47260bf0a39SEmil Renner Berthing i2c4: i2c@12040000 { 47360bf0a39SEmil Renner Berthing compatible = "snps,designware-i2c"; 47460bf0a39SEmil Renner Berthing reg = <0x0 0x12040000 0x0 0x10000>; 47560bf0a39SEmil Renner Berthing clocks = <&syscrg JH7110_SYSCLK_I2C4_APB>; 47660bf0a39SEmil Renner Berthing clock-names = "ref"; 47760bf0a39SEmil Renner Berthing resets = <&syscrg JH7110_SYSRST_I2C4_APB>; 47860bf0a39SEmil Renner Berthing interrupts = <49>; 47960bf0a39SEmil Renner Berthing #address-cells = <1>; 48060bf0a39SEmil Renner Berthing #size-cells = <0>; 48160bf0a39SEmil Renner Berthing status = "disabled"; 48260bf0a39SEmil Renner Berthing }; 48360bf0a39SEmil Renner Berthing 48460bf0a39SEmil Renner Berthing i2c5: i2c@12050000 { 48560bf0a39SEmil Renner Berthing compatible = "snps,designware-i2c"; 48660bf0a39SEmil Renner Berthing reg = <0x0 0x12050000 0x0 0x10000>; 48760bf0a39SEmil Renner Berthing clocks = <&syscrg JH7110_SYSCLK_I2C5_APB>; 48860bf0a39SEmil Renner Berthing clock-names = "ref"; 48960bf0a39SEmil Renner Berthing resets = <&syscrg JH7110_SYSRST_I2C5_APB>; 49060bf0a39SEmil Renner Berthing interrupts = <50>; 49160bf0a39SEmil Renner Berthing #address-cells = <1>; 49260bf0a39SEmil Renner Berthing #size-cells = <0>; 49360bf0a39SEmil Renner Berthing status = "disabled"; 49460bf0a39SEmil Renner Berthing }; 49560bf0a39SEmil Renner Berthing 49660bf0a39SEmil Renner Berthing i2c6: i2c@12060000 { 49760bf0a39SEmil Renner Berthing compatible = "snps,designware-i2c"; 49860bf0a39SEmil Renner Berthing reg = <0x0 0x12060000 0x0 0x10000>; 49960bf0a39SEmil Renner Berthing clocks = <&syscrg JH7110_SYSCLK_I2C6_APB>; 50060bf0a39SEmil Renner Berthing clock-names = "ref"; 50160bf0a39SEmil Renner Berthing resets = <&syscrg JH7110_SYSRST_I2C6_APB>; 50260bf0a39SEmil Renner Berthing interrupts = <51>; 50360bf0a39SEmil Renner Berthing #address-cells = <1>; 50460bf0a39SEmil Renner Berthing #size-cells = <0>; 50560bf0a39SEmil Renner Berthing status = "disabled"; 50660bf0a39SEmil Renner Berthing }; 50760bf0a39SEmil Renner Berthing 50860bf0a39SEmil Renner Berthing syscrg: clock-controller@13020000 { 50960bf0a39SEmil Renner Berthing compatible = "starfive,jh7110-syscrg"; 51060bf0a39SEmil Renner Berthing reg = <0x0 0x13020000 0x0 0x10000>; 51160bf0a39SEmil Renner Berthing clocks = <&osc>, <&gmac1_rmii_refin>, 51260bf0a39SEmil Renner Berthing <&gmac1_rgmii_rxin>, 51360bf0a39SEmil Renner Berthing <&i2stx_bclk_ext>, <&i2stx_lrck_ext>, 51460bf0a39SEmil Renner Berthing <&i2srx_bclk_ext>, <&i2srx_lrck_ext>, 51560bf0a39SEmil Renner Berthing <&tdm_ext>, <&mclk_ext>; 51660bf0a39SEmil Renner Berthing clock-names = "osc", "gmac1_rmii_refin", 51760bf0a39SEmil Renner Berthing "gmac1_rgmii_rxin", 51860bf0a39SEmil Renner Berthing "i2stx_bclk_ext", "i2stx_lrck_ext", 51960bf0a39SEmil Renner Berthing "i2srx_bclk_ext", "i2srx_lrck_ext", 52060bf0a39SEmil Renner Berthing "tdm_ext", "mclk_ext"; 52160bf0a39SEmil Renner Berthing #clock-cells = <1>; 52260bf0a39SEmil Renner Berthing #reset-cells = <1>; 52360bf0a39SEmil Renner Berthing }; 52460bf0a39SEmil Renner Berthing 52560bf0a39SEmil Renner Berthing sysgpio: pinctrl@13040000 { 52660bf0a39SEmil Renner Berthing compatible = "starfive,jh7110-sys-pinctrl"; 52760bf0a39SEmil Renner Berthing reg = <0x0 0x13040000 0x0 0x10000>; 52860bf0a39SEmil Renner Berthing clocks = <&syscrg JH7110_SYSCLK_IOMUX_APB>; 52960bf0a39SEmil Renner Berthing resets = <&syscrg JH7110_SYSRST_IOMUX_APB>; 53060bf0a39SEmil Renner Berthing interrupts = <86>; 53160bf0a39SEmil Renner Berthing interrupt-controller; 53260bf0a39SEmil Renner Berthing #interrupt-cells = <2>; 53360bf0a39SEmil Renner Berthing gpio-controller; 53460bf0a39SEmil Renner Berthing #gpio-cells = <2>; 53560bf0a39SEmil Renner Berthing }; 53660bf0a39SEmil Renner Berthing 5376361b7deSXingyu Wu watchdog@13070000 { 5386361b7deSXingyu Wu compatible = "starfive,jh7110-wdt"; 5396361b7deSXingyu Wu reg = <0x0 0x13070000 0x0 0x10000>; 5406361b7deSXingyu Wu clocks = <&syscrg JH7110_SYSCLK_WDT_APB>, 5416361b7deSXingyu Wu <&syscrg JH7110_SYSCLK_WDT_CORE>; 5426361b7deSXingyu Wu clock-names = "apb", "core"; 5436361b7deSXingyu Wu resets = <&syscrg JH7110_SYSRST_WDT_APB>, 5446361b7deSXingyu Wu <&syscrg JH7110_SYSRST_WDT_CORE>; 5456361b7deSXingyu Wu }; 5466361b7deSXingyu Wu 54760bf0a39SEmil Renner Berthing aoncrg: clock-controller@17000000 { 54860bf0a39SEmil Renner Berthing compatible = "starfive,jh7110-aoncrg"; 54960bf0a39SEmil Renner Berthing reg = <0x0 0x17000000 0x0 0x10000>; 55060bf0a39SEmil Renner Berthing clocks = <&osc>, <&gmac0_rmii_refin>, 55160bf0a39SEmil Renner Berthing <&gmac0_rgmii_rxin>, 55260bf0a39SEmil Renner Berthing <&syscrg JH7110_SYSCLK_STG_AXIAHB>, 55360bf0a39SEmil Renner Berthing <&syscrg JH7110_SYSCLK_APB_BUS>, 55460bf0a39SEmil Renner Berthing <&syscrg JH7110_SYSCLK_GMAC0_GTXCLK>, 55560bf0a39SEmil Renner Berthing <&rtc_osc>; 55660bf0a39SEmil Renner Berthing clock-names = "osc", "gmac0_rmii_refin", 55760bf0a39SEmil Renner Berthing "gmac0_rgmii_rxin", "stg_axiahb", 55860bf0a39SEmil Renner Berthing "apb_bus", "gmac0_gtxclk", 55960bf0a39SEmil Renner Berthing "rtc_osc"; 56060bf0a39SEmil Renner Berthing #clock-cells = <1>; 56160bf0a39SEmil Renner Berthing #reset-cells = <1>; 56260bf0a39SEmil Renner Berthing }; 56360bf0a39SEmil Renner Berthing 56460bf0a39SEmil Renner Berthing aongpio: pinctrl@17020000 { 56560bf0a39SEmil Renner Berthing compatible = "starfive,jh7110-aon-pinctrl"; 56660bf0a39SEmil Renner Berthing reg = <0x0 0x17020000 0x0 0x10000>; 56760bf0a39SEmil Renner Berthing resets = <&aoncrg JH7110_AONRST_IOMUX>; 56860bf0a39SEmil Renner Berthing interrupts = <85>; 56960bf0a39SEmil Renner Berthing interrupt-controller; 57060bf0a39SEmil Renner Berthing #interrupt-cells = <2>; 57160bf0a39SEmil Renner Berthing gpio-controller; 57260bf0a39SEmil Renner Berthing #gpio-cells = <2>; 57360bf0a39SEmil Renner Berthing }; 5746a887bccSWalker Chen 5756a887bccSWalker Chen pwrc: power-controller@17030000 { 5766a887bccSWalker Chen compatible = "starfive,jh7110-pmu"; 5776a887bccSWalker Chen reg = <0x0 0x17030000 0x0 0x10000>; 5786a887bccSWalker Chen interrupts = <111>; 5796a887bccSWalker Chen #power-domain-cells = <1>; 5806a887bccSWalker Chen }; 581*3d90131fSXingyu Wu 582*3d90131fSXingyu Wu ispcrg: clock-controller@19810000 { 583*3d90131fSXingyu Wu compatible = "starfive,jh7110-ispcrg"; 584*3d90131fSXingyu Wu reg = <0x0 0x19810000 0x0 0x10000>; 585*3d90131fSXingyu Wu clocks = <&syscrg JH7110_SYSCLK_ISP_TOP_CORE>, 586*3d90131fSXingyu Wu <&syscrg JH7110_SYSCLK_ISP_TOP_AXI>, 587*3d90131fSXingyu Wu <&syscrg JH7110_SYSCLK_NOC_BUS_ISP_AXI>, 588*3d90131fSXingyu Wu <&dvp_clk>; 589*3d90131fSXingyu Wu clock-names = "isp_top_core", "isp_top_axi", 590*3d90131fSXingyu Wu "noc_bus_isp_axi", "dvp_clk"; 591*3d90131fSXingyu Wu resets = <&syscrg JH7110_SYSRST_ISP_TOP>, 592*3d90131fSXingyu Wu <&syscrg JH7110_SYSRST_ISP_TOP_AXI>, 593*3d90131fSXingyu Wu <&syscrg JH7110_SYSRST_NOC_BUS_ISP_AXI>; 594*3d90131fSXingyu Wu #clock-cells = <1>; 595*3d90131fSXingyu Wu #reset-cells = <1>; 596*3d90131fSXingyu Wu power-domains = <&pwrc JH7110_PD_ISP>; 597*3d90131fSXingyu Wu }; 598*3d90131fSXingyu Wu 599*3d90131fSXingyu Wu voutcrg: clock-controller@295c0000 { 600*3d90131fSXingyu Wu compatible = "starfive,jh7110-voutcrg"; 601*3d90131fSXingyu Wu reg = <0x0 0x295c0000 0x0 0x10000>; 602*3d90131fSXingyu Wu clocks = <&syscrg JH7110_SYSCLK_VOUT_SRC>, 603*3d90131fSXingyu Wu <&syscrg JH7110_SYSCLK_VOUT_TOP_AHB>, 604*3d90131fSXingyu Wu <&syscrg JH7110_SYSCLK_VOUT_TOP_AXI>, 605*3d90131fSXingyu Wu <&syscrg JH7110_SYSCLK_VOUT_TOP_HDMITX0_MCLK>, 606*3d90131fSXingyu Wu <&syscrg JH7110_SYSCLK_I2STX0_BCLK>, 607*3d90131fSXingyu Wu <&hdmitx0_pixelclk>; 608*3d90131fSXingyu Wu clock-names = "vout_src", "vout_top_ahb", 609*3d90131fSXingyu Wu "vout_top_axi", "vout_top_hdmitx0_mclk", 610*3d90131fSXingyu Wu "i2stx0_bclk", "hdmitx0_pixelclk"; 611*3d90131fSXingyu Wu resets = <&syscrg JH7110_SYSRST_VOUT_TOP_SRC>; 612*3d90131fSXingyu Wu #clock-cells = <1>; 613*3d90131fSXingyu Wu #reset-cells = <1>; 614*3d90131fSXingyu Wu power-domains = <&pwrc JH7110_PD_VOUT>; 615*3d90131fSXingyu Wu }; 61660bf0a39SEmil Renner Berthing }; 61760bf0a39SEmil Renner Berthing}; 618