1aa1a8ff2SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2f126890aSEmmanuel Vadot/* 3f126890aSEmmanuel Vadot * Copyright (C) 2021 Alibaba Group Holding Limited. 4f126890aSEmmanuel Vadot * Copyright (C) 2023 Jisheng Zhang <jszhang@kernel.org> 5f126890aSEmmanuel Vadot */ 6f126890aSEmmanuel Vadot 7f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 8*b2d2a78aSEmmanuel Vadot#include <dt-bindings/clock/thead,th1520-clk-ap.h> 9f126890aSEmmanuel Vadot 10f126890aSEmmanuel Vadot/ { 11f126890aSEmmanuel Vadot compatible = "thead,th1520"; 12f126890aSEmmanuel Vadot #address-cells = <2>; 13f126890aSEmmanuel Vadot #size-cells = <2>; 14f126890aSEmmanuel Vadot 15f126890aSEmmanuel Vadot cpus: cpus { 16f126890aSEmmanuel Vadot #address-cells = <1>; 17f126890aSEmmanuel Vadot #size-cells = <0>; 18f126890aSEmmanuel Vadot timebase-frequency = <3000000>; 19f126890aSEmmanuel Vadot 20f126890aSEmmanuel Vadot c910_0: cpu@0 { 21f126890aSEmmanuel Vadot compatible = "thead,c910", "riscv"; 22f126890aSEmmanuel Vadot device_type = "cpu"; 23f126890aSEmmanuel Vadot riscv,isa = "rv64imafdc"; 2484943d6fSEmmanuel Vadot riscv,isa-base = "rv64i"; 2584943d6fSEmmanuel Vadot riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zicntr", "zicsr", 2684943d6fSEmmanuel Vadot "zifencei", "zihpm"; 27f126890aSEmmanuel Vadot reg = <0>; 28f126890aSEmmanuel Vadot i-cache-block-size = <64>; 29f126890aSEmmanuel Vadot i-cache-size = <65536>; 30f126890aSEmmanuel Vadot i-cache-sets = <512>; 31f126890aSEmmanuel Vadot d-cache-block-size = <64>; 32f126890aSEmmanuel Vadot d-cache-size = <65536>; 33f126890aSEmmanuel Vadot d-cache-sets = <512>; 34f126890aSEmmanuel Vadot next-level-cache = <&l2_cache>; 35f126890aSEmmanuel Vadot mmu-type = "riscv,sv39"; 36f126890aSEmmanuel Vadot 37f126890aSEmmanuel Vadot cpu0_intc: interrupt-controller { 38f126890aSEmmanuel Vadot compatible = "riscv,cpu-intc"; 39f126890aSEmmanuel Vadot interrupt-controller; 40f126890aSEmmanuel Vadot #interrupt-cells = <1>; 41f126890aSEmmanuel Vadot }; 42f126890aSEmmanuel Vadot }; 43f126890aSEmmanuel Vadot 44f126890aSEmmanuel Vadot c910_1: cpu@1 { 45f126890aSEmmanuel Vadot compatible = "thead,c910", "riscv"; 46f126890aSEmmanuel Vadot device_type = "cpu"; 47f126890aSEmmanuel Vadot riscv,isa = "rv64imafdc"; 4884943d6fSEmmanuel Vadot riscv,isa-base = "rv64i"; 4984943d6fSEmmanuel Vadot riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zicntr", "zicsr", 5084943d6fSEmmanuel Vadot "zifencei", "zihpm"; 51f126890aSEmmanuel Vadot reg = <1>; 52f126890aSEmmanuel Vadot i-cache-block-size = <64>; 53f126890aSEmmanuel Vadot i-cache-size = <65536>; 54f126890aSEmmanuel Vadot i-cache-sets = <512>; 55f126890aSEmmanuel Vadot d-cache-block-size = <64>; 56f126890aSEmmanuel Vadot d-cache-size = <65536>; 57f126890aSEmmanuel Vadot d-cache-sets = <512>; 58f126890aSEmmanuel Vadot next-level-cache = <&l2_cache>; 59f126890aSEmmanuel Vadot mmu-type = "riscv,sv39"; 60f126890aSEmmanuel Vadot 61f126890aSEmmanuel Vadot cpu1_intc: interrupt-controller { 62f126890aSEmmanuel Vadot compatible = "riscv,cpu-intc"; 63f126890aSEmmanuel Vadot interrupt-controller; 64f126890aSEmmanuel Vadot #interrupt-cells = <1>; 65f126890aSEmmanuel Vadot }; 66f126890aSEmmanuel Vadot }; 67f126890aSEmmanuel Vadot 68f126890aSEmmanuel Vadot c910_2: cpu@2 { 69f126890aSEmmanuel Vadot compatible = "thead,c910", "riscv"; 70f126890aSEmmanuel Vadot device_type = "cpu"; 71f126890aSEmmanuel Vadot riscv,isa = "rv64imafdc"; 7284943d6fSEmmanuel Vadot riscv,isa-base = "rv64i"; 7384943d6fSEmmanuel Vadot riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zicntr", "zicsr", 7484943d6fSEmmanuel Vadot "zifencei", "zihpm"; 75f126890aSEmmanuel Vadot reg = <2>; 76f126890aSEmmanuel Vadot i-cache-block-size = <64>; 77f126890aSEmmanuel Vadot i-cache-size = <65536>; 78f126890aSEmmanuel Vadot i-cache-sets = <512>; 79f126890aSEmmanuel Vadot d-cache-block-size = <64>; 80f126890aSEmmanuel Vadot d-cache-size = <65536>; 81f126890aSEmmanuel Vadot d-cache-sets = <512>; 82f126890aSEmmanuel Vadot next-level-cache = <&l2_cache>; 83f126890aSEmmanuel Vadot mmu-type = "riscv,sv39"; 84f126890aSEmmanuel Vadot 85f126890aSEmmanuel Vadot cpu2_intc: interrupt-controller { 86f126890aSEmmanuel Vadot compatible = "riscv,cpu-intc"; 87f126890aSEmmanuel Vadot interrupt-controller; 88f126890aSEmmanuel Vadot #interrupt-cells = <1>; 89f126890aSEmmanuel Vadot }; 90f126890aSEmmanuel Vadot }; 91f126890aSEmmanuel Vadot 92f126890aSEmmanuel Vadot c910_3: cpu@3 { 93f126890aSEmmanuel Vadot compatible = "thead,c910", "riscv"; 94f126890aSEmmanuel Vadot device_type = "cpu"; 95f126890aSEmmanuel Vadot riscv,isa = "rv64imafdc"; 9684943d6fSEmmanuel Vadot riscv,isa-base = "rv64i"; 9784943d6fSEmmanuel Vadot riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "zicntr", "zicsr", 9884943d6fSEmmanuel Vadot "zifencei", "zihpm"; 99f126890aSEmmanuel Vadot reg = <3>; 100f126890aSEmmanuel Vadot i-cache-block-size = <64>; 101f126890aSEmmanuel Vadot i-cache-size = <65536>; 102f126890aSEmmanuel Vadot i-cache-sets = <512>; 103f126890aSEmmanuel Vadot d-cache-block-size = <64>; 104f126890aSEmmanuel Vadot d-cache-size = <65536>; 105f126890aSEmmanuel Vadot d-cache-sets = <512>; 106f126890aSEmmanuel Vadot next-level-cache = <&l2_cache>; 107f126890aSEmmanuel Vadot mmu-type = "riscv,sv39"; 108f126890aSEmmanuel Vadot 109f126890aSEmmanuel Vadot cpu3_intc: interrupt-controller { 110f126890aSEmmanuel Vadot compatible = "riscv,cpu-intc"; 111f126890aSEmmanuel Vadot interrupt-controller; 112f126890aSEmmanuel Vadot #interrupt-cells = <1>; 113f126890aSEmmanuel Vadot }; 114f126890aSEmmanuel Vadot }; 115f126890aSEmmanuel Vadot 116f126890aSEmmanuel Vadot l2_cache: l2-cache { 117f126890aSEmmanuel Vadot compatible = "cache"; 118f126890aSEmmanuel Vadot cache-block-size = <64>; 119f126890aSEmmanuel Vadot cache-level = <2>; 120f126890aSEmmanuel Vadot cache-size = <1048576>; 121f126890aSEmmanuel Vadot cache-sets = <1024>; 122f126890aSEmmanuel Vadot cache-unified; 123f126890aSEmmanuel Vadot }; 124f126890aSEmmanuel Vadot }; 125f126890aSEmmanuel Vadot 1260e8011faSEmmanuel Vadot pmu { 1270e8011faSEmmanuel Vadot compatible = "riscv,pmu"; 1280e8011faSEmmanuel Vadot riscv,event-to-mhpmcounters = 1290e8011faSEmmanuel Vadot <0x00003 0x00003 0x0007fff8>, 1300e8011faSEmmanuel Vadot <0x00004 0x00004 0x0007fff8>, 1310e8011faSEmmanuel Vadot <0x00005 0x00005 0x0007fff8>, 1320e8011faSEmmanuel Vadot <0x00006 0x00006 0x0007fff8>, 1330e8011faSEmmanuel Vadot <0x00007 0x00007 0x0007fff8>, 1340e8011faSEmmanuel Vadot <0x00008 0x00008 0x0007fff8>, 1350e8011faSEmmanuel Vadot <0x00009 0x00009 0x0007fff8>, 1360e8011faSEmmanuel Vadot <0x0000a 0x0000a 0x0007fff8>, 1370e8011faSEmmanuel Vadot <0x10000 0x10000 0x0007fff8>, 1380e8011faSEmmanuel Vadot <0x10001 0x10001 0x0007fff8>, 1390e8011faSEmmanuel Vadot <0x10002 0x10002 0x0007fff8>, 1400e8011faSEmmanuel Vadot <0x10003 0x10003 0x0007fff8>, 1410e8011faSEmmanuel Vadot <0x10010 0x10010 0x0007fff8>, 1420e8011faSEmmanuel Vadot <0x10011 0x10011 0x0007fff8>, 1430e8011faSEmmanuel Vadot <0x10012 0x10012 0x0007fff8>, 1440e8011faSEmmanuel Vadot <0x10013 0x10013 0x0007fff8>; 1450e8011faSEmmanuel Vadot riscv,event-to-mhpmevent = 1460e8011faSEmmanuel Vadot <0x00003 0x00000000 0x00000001>, 1470e8011faSEmmanuel Vadot <0x00004 0x00000000 0x00000002>, 1480e8011faSEmmanuel Vadot <0x00006 0x00000000 0x00000006>, 1490e8011faSEmmanuel Vadot <0x00005 0x00000000 0x00000007>, 1500e8011faSEmmanuel Vadot <0x00007 0x00000000 0x00000008>, 1510e8011faSEmmanuel Vadot <0x00008 0x00000000 0x00000009>, 1520e8011faSEmmanuel Vadot <0x00009 0x00000000 0x0000000a>, 1530e8011faSEmmanuel Vadot <0x0000a 0x00000000 0x0000000b>, 1540e8011faSEmmanuel Vadot <0x10000 0x00000000 0x0000000c>, 1550e8011faSEmmanuel Vadot <0x10001 0x00000000 0x0000000d>, 1560e8011faSEmmanuel Vadot <0x10002 0x00000000 0x0000000e>, 1570e8011faSEmmanuel Vadot <0x10003 0x00000000 0x0000000f>, 1580e8011faSEmmanuel Vadot <0x10010 0x00000000 0x00000010>, 1590e8011faSEmmanuel Vadot <0x10011 0x00000000 0x00000011>, 1600e8011faSEmmanuel Vadot <0x10012 0x00000000 0x00000012>, 1610e8011faSEmmanuel Vadot <0x10013 0x00000000 0x00000013>; 1620e8011faSEmmanuel Vadot riscv,raw-event-to-mhpmcounters = 1630e8011faSEmmanuel Vadot <0x00000000 0x00000001 0xffffffff 0xffffffff 0x0007fff8>, 1640e8011faSEmmanuel Vadot <0x00000000 0x00000002 0xffffffff 0xffffffff 0x0007fff8>, 1650e8011faSEmmanuel Vadot <0x00000000 0x00000003 0xffffffff 0xffffffff 0x0007fff8>, 1660e8011faSEmmanuel Vadot <0x00000000 0x00000004 0xffffffff 0xffffffff 0x0007fff8>, 1670e8011faSEmmanuel Vadot <0x00000000 0x00000005 0xffffffff 0xffffffff 0x0007fff8>, 1680e8011faSEmmanuel Vadot <0x00000000 0x00000006 0xffffffff 0xffffffff 0x0007fff8>, 1690e8011faSEmmanuel Vadot <0x00000000 0x00000007 0xffffffff 0xffffffff 0x0007fff8>, 1700e8011faSEmmanuel Vadot <0x00000000 0x00000008 0xffffffff 0xffffffff 0x0007fff8>, 1710e8011faSEmmanuel Vadot <0x00000000 0x00000009 0xffffffff 0xffffffff 0x0007fff8>, 1720e8011faSEmmanuel Vadot <0x00000000 0x0000000a 0xffffffff 0xffffffff 0x0007fff8>, 1730e8011faSEmmanuel Vadot <0x00000000 0x0000000b 0xffffffff 0xffffffff 0x0007fff8>, 1740e8011faSEmmanuel Vadot <0x00000000 0x0000000c 0xffffffff 0xffffffff 0x0007fff8>, 1750e8011faSEmmanuel Vadot <0x00000000 0x0000000d 0xffffffff 0xffffffff 0x0007fff8>, 1760e8011faSEmmanuel Vadot <0x00000000 0x0000000e 0xffffffff 0xffffffff 0x0007fff8>, 1770e8011faSEmmanuel Vadot <0x00000000 0x0000000f 0xffffffff 0xffffffff 0x0007fff8>, 1780e8011faSEmmanuel Vadot <0x00000000 0x00000010 0xffffffff 0xffffffff 0x0007fff8>, 1790e8011faSEmmanuel Vadot <0x00000000 0x00000011 0xffffffff 0xffffffff 0x0007fff8>, 1800e8011faSEmmanuel Vadot <0x00000000 0x00000012 0xffffffff 0xffffffff 0x0007fff8>, 1810e8011faSEmmanuel Vadot <0x00000000 0x00000013 0xffffffff 0xffffffff 0x0007fff8>, 1820e8011faSEmmanuel Vadot <0x00000000 0x00000014 0xffffffff 0xffffffff 0x0007fff8>, 1830e8011faSEmmanuel Vadot <0x00000000 0x00000015 0xffffffff 0xffffffff 0x0007fff8>, 1840e8011faSEmmanuel Vadot <0x00000000 0x00000016 0xffffffff 0xffffffff 0x0007fff8>, 1850e8011faSEmmanuel Vadot <0x00000000 0x00000017 0xffffffff 0xffffffff 0x0007fff8>, 1860e8011faSEmmanuel Vadot <0x00000000 0x00000018 0xffffffff 0xffffffff 0x0007fff8>, 1870e8011faSEmmanuel Vadot <0x00000000 0x00000019 0xffffffff 0xffffffff 0x0007fff8>, 1880e8011faSEmmanuel Vadot <0x00000000 0x0000001a 0xffffffff 0xffffffff 0x0007fff8>, 1890e8011faSEmmanuel Vadot <0x00000000 0x0000001b 0xffffffff 0xffffffff 0x0007fff8>, 1900e8011faSEmmanuel Vadot <0x00000000 0x0000001c 0xffffffff 0xffffffff 0x0007fff8>, 1910e8011faSEmmanuel Vadot <0x00000000 0x0000001d 0xffffffff 0xffffffff 0x0007fff8>, 1920e8011faSEmmanuel Vadot <0x00000000 0x0000001e 0xffffffff 0xffffffff 0x0007fff8>, 1930e8011faSEmmanuel Vadot <0x00000000 0x0000001f 0xffffffff 0xffffffff 0x0007fff8>, 1940e8011faSEmmanuel Vadot <0x00000000 0x00000020 0xffffffff 0xffffffff 0x0007fff8>, 1950e8011faSEmmanuel Vadot <0x00000000 0x00000021 0xffffffff 0xffffffff 0x0007fff8>, 1960e8011faSEmmanuel Vadot <0x00000000 0x00000022 0xffffffff 0xffffffff 0x0007fff8>, 1970e8011faSEmmanuel Vadot <0x00000000 0x00000023 0xffffffff 0xffffffff 0x0007fff8>, 1980e8011faSEmmanuel Vadot <0x00000000 0x00000024 0xffffffff 0xffffffff 0x0007fff8>, 1990e8011faSEmmanuel Vadot <0x00000000 0x00000025 0xffffffff 0xffffffff 0x0007fff8>, 2000e8011faSEmmanuel Vadot <0x00000000 0x00000026 0xffffffff 0xffffffff 0x0007fff8>, 2010e8011faSEmmanuel Vadot <0x00000000 0x00000027 0xffffffff 0xffffffff 0x0007fff8>, 2020e8011faSEmmanuel Vadot <0x00000000 0x00000028 0xffffffff 0xffffffff 0x0007fff8>, 2030e8011faSEmmanuel Vadot <0x00000000 0x00000029 0xffffffff 0xffffffff 0x0007fff8>, 2040e8011faSEmmanuel Vadot <0x00000000 0x0000002a 0xffffffff 0xffffffff 0x0007fff8>; 2050e8011faSEmmanuel Vadot }; 2060e8011faSEmmanuel Vadot 207f126890aSEmmanuel Vadot osc: oscillator { 208f126890aSEmmanuel Vadot compatible = "fixed-clock"; 209f126890aSEmmanuel Vadot clock-output-names = "osc_24m"; 210f126890aSEmmanuel Vadot #clock-cells = <0>; 211f126890aSEmmanuel Vadot }; 212f126890aSEmmanuel Vadot 213f126890aSEmmanuel Vadot osc_32k: 32k-oscillator { 214f126890aSEmmanuel Vadot compatible = "fixed-clock"; 215f126890aSEmmanuel Vadot clock-output-names = "osc_32k"; 216f126890aSEmmanuel Vadot #clock-cells = <0>; 217f126890aSEmmanuel Vadot }; 218f126890aSEmmanuel Vadot 219f126890aSEmmanuel Vadot soc { 220f126890aSEmmanuel Vadot compatible = "simple-bus"; 221f126890aSEmmanuel Vadot interrupt-parent = <&plic>; 222f126890aSEmmanuel Vadot #address-cells = <2>; 223f126890aSEmmanuel Vadot #size-cells = <2>; 224aa1a8ff2SEmmanuel Vadot dma-noncoherent; 225f126890aSEmmanuel Vadot ranges; 226f126890aSEmmanuel Vadot 227f126890aSEmmanuel Vadot plic: interrupt-controller@ffd8000000 { 228f126890aSEmmanuel Vadot compatible = "thead,th1520-plic", "thead,c900-plic"; 229f126890aSEmmanuel Vadot reg = <0xff 0xd8000000 0x0 0x01000000>; 230f126890aSEmmanuel Vadot interrupts-extended = <&cpu0_intc 11>, <&cpu0_intc 9>, 231f126890aSEmmanuel Vadot <&cpu1_intc 11>, <&cpu1_intc 9>, 232f126890aSEmmanuel Vadot <&cpu2_intc 11>, <&cpu2_intc 9>, 233f126890aSEmmanuel Vadot <&cpu3_intc 11>, <&cpu3_intc 9>; 234f126890aSEmmanuel Vadot interrupt-controller; 235f126890aSEmmanuel Vadot #address-cells = <0>; 236f126890aSEmmanuel Vadot #interrupt-cells = <2>; 237f126890aSEmmanuel Vadot riscv,ndev = <240>; 238f126890aSEmmanuel Vadot }; 239f126890aSEmmanuel Vadot 240f126890aSEmmanuel Vadot clint: timer@ffdc000000 { 241f126890aSEmmanuel Vadot compatible = "thead,th1520-clint", "thead,c900-clint"; 242f126890aSEmmanuel Vadot reg = <0xff 0xdc000000 0x0 0x00010000>; 243f126890aSEmmanuel Vadot interrupts-extended = <&cpu0_intc 3>, <&cpu0_intc 7>, 244f126890aSEmmanuel Vadot <&cpu1_intc 3>, <&cpu1_intc 7>, 245f126890aSEmmanuel Vadot <&cpu2_intc 3>, <&cpu2_intc 7>, 246f126890aSEmmanuel Vadot <&cpu3_intc 3>, <&cpu3_intc 7>; 247f126890aSEmmanuel Vadot }; 248f126890aSEmmanuel Vadot 249*b2d2a78aSEmmanuel Vadot spi0: spi@ffe700c000 { 250*b2d2a78aSEmmanuel Vadot compatible = "thead,th1520-spi", "snps,dw-apb-ssi"; 251*b2d2a78aSEmmanuel Vadot reg = <0xff 0xe700c000 0x0 0x1000>; 252*b2d2a78aSEmmanuel Vadot interrupts = <54 IRQ_TYPE_LEVEL_HIGH>; 253*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_SPI>; 254*b2d2a78aSEmmanuel Vadot #address-cells = <1>; 255*b2d2a78aSEmmanuel Vadot #size-cells = <0>; 256*b2d2a78aSEmmanuel Vadot status = "disabled"; 257*b2d2a78aSEmmanuel Vadot }; 258*b2d2a78aSEmmanuel Vadot 259f126890aSEmmanuel Vadot uart0: serial@ffe7014000 { 260f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 261f126890aSEmmanuel Vadot reg = <0xff 0xe7014000 0x0 0x100>; 262f126890aSEmmanuel Vadot interrupts = <36 IRQ_TYPE_LEVEL_HIGH>; 263*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_UART_SCLK>, <&clk CLK_UART0_PCLK>; 264*b2d2a78aSEmmanuel Vadot clock-names = "baudclk", "apb_pclk"; 265f126890aSEmmanuel Vadot reg-shift = <2>; 266f126890aSEmmanuel Vadot reg-io-width = <4>; 267f126890aSEmmanuel Vadot status = "disabled"; 268f126890aSEmmanuel Vadot }; 269f126890aSEmmanuel Vadot 2707d0873ebSEmmanuel Vadot emmc: mmc@ffe7080000 { 2717d0873ebSEmmanuel Vadot compatible = "thead,th1520-dwcmshc"; 2727d0873ebSEmmanuel Vadot reg = <0xff 0xe7080000 0x0 0x10000>; 2737d0873ebSEmmanuel Vadot interrupts = <62 IRQ_TYPE_LEVEL_HIGH>; 274*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_EMMC_SDIO>; 2757d0873ebSEmmanuel Vadot clock-names = "core"; 2767d0873ebSEmmanuel Vadot status = "disabled"; 2777d0873ebSEmmanuel Vadot }; 2787d0873ebSEmmanuel Vadot 2797d0873ebSEmmanuel Vadot sdio0: mmc@ffe7090000 { 2807d0873ebSEmmanuel Vadot compatible = "thead,th1520-dwcmshc"; 2817d0873ebSEmmanuel Vadot reg = <0xff 0xe7090000 0x0 0x10000>; 2827d0873ebSEmmanuel Vadot interrupts = <64 IRQ_TYPE_LEVEL_HIGH>; 283*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_EMMC_SDIO>; 2847d0873ebSEmmanuel Vadot clock-names = "core"; 2857d0873ebSEmmanuel Vadot status = "disabled"; 2867d0873ebSEmmanuel Vadot }; 2877d0873ebSEmmanuel Vadot 2887d0873ebSEmmanuel Vadot sdio1: mmc@ffe70a0000 { 2897d0873ebSEmmanuel Vadot compatible = "thead,th1520-dwcmshc"; 2907d0873ebSEmmanuel Vadot reg = <0xff 0xe70a0000 0x0 0x10000>; 2917d0873ebSEmmanuel Vadot interrupts = <71 IRQ_TYPE_LEVEL_HIGH>; 292*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_EMMC_SDIO>; 2937d0873ebSEmmanuel Vadot clock-names = "core"; 2947d0873ebSEmmanuel Vadot status = "disabled"; 2957d0873ebSEmmanuel Vadot }; 2967d0873ebSEmmanuel Vadot 297f126890aSEmmanuel Vadot uart1: serial@ffe7f00000 { 298f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 299f126890aSEmmanuel Vadot reg = <0xff 0xe7f00000 0x0 0x100>; 300f126890aSEmmanuel Vadot interrupts = <37 IRQ_TYPE_LEVEL_HIGH>; 301*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_UART_SCLK>, <&clk CLK_UART1_PCLK>; 302*b2d2a78aSEmmanuel Vadot clock-names = "baudclk", "apb_pclk"; 303f126890aSEmmanuel Vadot reg-shift = <2>; 304f126890aSEmmanuel Vadot reg-io-width = <4>; 305f126890aSEmmanuel Vadot status = "disabled"; 306f126890aSEmmanuel Vadot }; 307f126890aSEmmanuel Vadot 308f126890aSEmmanuel Vadot uart3: serial@ffe7f04000 { 309f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 310f126890aSEmmanuel Vadot reg = <0xff 0xe7f04000 0x0 0x100>; 311f126890aSEmmanuel Vadot interrupts = <39 IRQ_TYPE_LEVEL_HIGH>; 312*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_UART_SCLK>, <&clk CLK_UART3_PCLK>; 313*b2d2a78aSEmmanuel Vadot clock-names = "baudclk", "apb_pclk"; 314f126890aSEmmanuel Vadot reg-shift = <2>; 315f126890aSEmmanuel Vadot reg-io-width = <4>; 316f126890aSEmmanuel Vadot status = "disabled"; 317f126890aSEmmanuel Vadot }; 318f126890aSEmmanuel Vadot 319f126890aSEmmanuel Vadot gpio2: gpio@ffe7f34000 { 320f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 321f126890aSEmmanuel Vadot reg = <0xff 0xe7f34000 0x0 0x1000>; 322f126890aSEmmanuel Vadot #address-cells = <1>; 323f126890aSEmmanuel Vadot #size-cells = <0>; 324*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_GPIO2>; 325f126890aSEmmanuel Vadot 326f126890aSEmmanuel Vadot portc: gpio-controller@0 { 327f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 328f126890aSEmmanuel Vadot gpio-controller; 329f126890aSEmmanuel Vadot #gpio-cells = <2>; 330f126890aSEmmanuel Vadot ngpios = <32>; 331f126890aSEmmanuel Vadot reg = <0>; 332f126890aSEmmanuel Vadot interrupt-controller; 333f126890aSEmmanuel Vadot #interrupt-cells = <2>; 334f126890aSEmmanuel Vadot interrupts = <58 IRQ_TYPE_LEVEL_HIGH>; 335f126890aSEmmanuel Vadot }; 336f126890aSEmmanuel Vadot }; 337f126890aSEmmanuel Vadot 338f126890aSEmmanuel Vadot gpio3: gpio@ffe7f38000 { 339f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 340f126890aSEmmanuel Vadot reg = <0xff 0xe7f38000 0x0 0x1000>; 341f126890aSEmmanuel Vadot #address-cells = <1>; 342f126890aSEmmanuel Vadot #size-cells = <0>; 343*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_GPIO3>; 344f126890aSEmmanuel Vadot 345f126890aSEmmanuel Vadot portd: gpio-controller@0 { 346f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 347f126890aSEmmanuel Vadot gpio-controller; 348f126890aSEmmanuel Vadot #gpio-cells = <2>; 349f126890aSEmmanuel Vadot ngpios = <32>; 350f126890aSEmmanuel Vadot reg = <0>; 351f126890aSEmmanuel Vadot interrupt-controller; 352f126890aSEmmanuel Vadot #interrupt-cells = <2>; 353f126890aSEmmanuel Vadot interrupts = <59 IRQ_TYPE_LEVEL_HIGH>; 354f126890aSEmmanuel Vadot }; 355f126890aSEmmanuel Vadot }; 356f126890aSEmmanuel Vadot 357f126890aSEmmanuel Vadot gpio0: gpio@ffec005000 { 358f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 359f126890aSEmmanuel Vadot reg = <0xff 0xec005000 0x0 0x1000>; 360f126890aSEmmanuel Vadot #address-cells = <1>; 361f126890aSEmmanuel Vadot #size-cells = <0>; 362*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_GPIO0>; 363f126890aSEmmanuel Vadot 364f126890aSEmmanuel Vadot porta: gpio-controller@0 { 365f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 366f126890aSEmmanuel Vadot gpio-controller; 367f126890aSEmmanuel Vadot #gpio-cells = <2>; 368f126890aSEmmanuel Vadot ngpios = <32>; 369f126890aSEmmanuel Vadot reg = <0>; 370f126890aSEmmanuel Vadot interrupt-controller; 371f126890aSEmmanuel Vadot #interrupt-cells = <2>; 372f126890aSEmmanuel Vadot interrupts = <56 IRQ_TYPE_LEVEL_HIGH>; 373f126890aSEmmanuel Vadot }; 374f126890aSEmmanuel Vadot }; 375f126890aSEmmanuel Vadot 376f126890aSEmmanuel Vadot gpio1: gpio@ffec006000 { 377f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 378f126890aSEmmanuel Vadot reg = <0xff 0xec006000 0x0 0x1000>; 379f126890aSEmmanuel Vadot #address-cells = <1>; 380f126890aSEmmanuel Vadot #size-cells = <0>; 381*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_GPIO1>; 382f126890aSEmmanuel Vadot 383f126890aSEmmanuel Vadot portb: gpio-controller@0 { 384f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 385f126890aSEmmanuel Vadot gpio-controller; 386f126890aSEmmanuel Vadot #gpio-cells = <2>; 387f126890aSEmmanuel Vadot ngpios = <32>; 388f126890aSEmmanuel Vadot reg = <0>; 389f126890aSEmmanuel Vadot interrupt-controller; 390f126890aSEmmanuel Vadot #interrupt-cells = <2>; 391f126890aSEmmanuel Vadot interrupts = <57 IRQ_TYPE_LEVEL_HIGH>; 392f126890aSEmmanuel Vadot }; 393f126890aSEmmanuel Vadot }; 394f126890aSEmmanuel Vadot 395f126890aSEmmanuel Vadot uart2: serial@ffec010000 { 396f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 397f126890aSEmmanuel Vadot reg = <0xff 0xec010000 0x0 0x4000>; 398f126890aSEmmanuel Vadot interrupts = <38 IRQ_TYPE_LEVEL_HIGH>; 399*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_UART_SCLK>, <&clk CLK_UART2_PCLK>; 400*b2d2a78aSEmmanuel Vadot clock-names = "baudclk", "apb_pclk"; 401f126890aSEmmanuel Vadot reg-shift = <2>; 402f126890aSEmmanuel Vadot reg-io-width = <4>; 403f126890aSEmmanuel Vadot status = "disabled"; 404f126890aSEmmanuel Vadot }; 405f126890aSEmmanuel Vadot 406*b2d2a78aSEmmanuel Vadot clk: clock-controller@ffef010000 { 407*b2d2a78aSEmmanuel Vadot compatible = "thead,th1520-clk-ap"; 408*b2d2a78aSEmmanuel Vadot reg = <0xff 0xef010000 0x0 0x1000>; 409*b2d2a78aSEmmanuel Vadot clocks = <&osc>; 410*b2d2a78aSEmmanuel Vadot #clock-cells = <1>; 411*b2d2a78aSEmmanuel Vadot }; 412*b2d2a78aSEmmanuel Vadot 413f126890aSEmmanuel Vadot dmac0: dma-controller@ffefc00000 { 414f126890aSEmmanuel Vadot compatible = "snps,axi-dma-1.01a"; 415f126890aSEmmanuel Vadot reg = <0xff 0xefc00000 0x0 0x1000>; 416f126890aSEmmanuel Vadot interrupts = <27 IRQ_TYPE_LEVEL_HIGH>; 417*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_PERI_APB_PCLK>, <&clk CLK_PERI_APB_PCLK>; 418f126890aSEmmanuel Vadot clock-names = "core-clk", "cfgr-clk"; 419f126890aSEmmanuel Vadot #dma-cells = <1>; 420f126890aSEmmanuel Vadot dma-channels = <4>; 421f126890aSEmmanuel Vadot snps,block-size = <65536 65536 65536 65536>; 422f126890aSEmmanuel Vadot snps,priority = <0 1 2 3>; 423f126890aSEmmanuel Vadot snps,dma-masters = <1>; 424f126890aSEmmanuel Vadot snps,data-width = <4>; 425f126890aSEmmanuel Vadot snps,axi-max-burst-len = <16>; 426f126890aSEmmanuel Vadot status = "disabled"; 427f126890aSEmmanuel Vadot }; 428f126890aSEmmanuel Vadot 429f126890aSEmmanuel Vadot timer0: timer@ffefc32000 { 430f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 431f126890aSEmmanuel Vadot reg = <0xff 0xefc32000 0x0 0x14>; 432*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_PERI_APB_PCLK>; 433f126890aSEmmanuel Vadot clock-names = "timer"; 434f126890aSEmmanuel Vadot interrupts = <16 IRQ_TYPE_LEVEL_HIGH>; 435f126890aSEmmanuel Vadot status = "disabled"; 436f126890aSEmmanuel Vadot }; 437f126890aSEmmanuel Vadot 438f126890aSEmmanuel Vadot timer1: timer@ffefc32014 { 439f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 440f126890aSEmmanuel Vadot reg = <0xff 0xefc32014 0x0 0x14>; 441*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_PERI_APB_PCLK>; 442f126890aSEmmanuel Vadot clock-names = "timer"; 443f126890aSEmmanuel Vadot interrupts = <17 IRQ_TYPE_LEVEL_HIGH>; 444f126890aSEmmanuel Vadot status = "disabled"; 445f126890aSEmmanuel Vadot }; 446f126890aSEmmanuel Vadot 447f126890aSEmmanuel Vadot timer2: timer@ffefc32028 { 448f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 449f126890aSEmmanuel Vadot reg = <0xff 0xefc32028 0x0 0x14>; 450*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_PERI_APB_PCLK>; 451f126890aSEmmanuel Vadot clock-names = "timer"; 452f126890aSEmmanuel Vadot interrupts = <18 IRQ_TYPE_LEVEL_HIGH>; 453f126890aSEmmanuel Vadot status = "disabled"; 454f126890aSEmmanuel Vadot }; 455f126890aSEmmanuel Vadot 456f126890aSEmmanuel Vadot timer3: timer@ffefc3203c { 457f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 458f126890aSEmmanuel Vadot reg = <0xff 0xefc3203c 0x0 0x14>; 459*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_PERI_APB_PCLK>; 460f126890aSEmmanuel Vadot clock-names = "timer"; 461f126890aSEmmanuel Vadot interrupts = <19 IRQ_TYPE_LEVEL_HIGH>; 462f126890aSEmmanuel Vadot status = "disabled"; 463f126890aSEmmanuel Vadot }; 464f126890aSEmmanuel Vadot 465f126890aSEmmanuel Vadot uart4: serial@fff7f08000 { 466f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 467f126890aSEmmanuel Vadot reg = <0xff 0xf7f08000 0x0 0x4000>; 468f126890aSEmmanuel Vadot interrupts = <40 IRQ_TYPE_LEVEL_HIGH>; 469*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_UART_SCLK>, <&clk CLK_UART4_PCLK>; 470*b2d2a78aSEmmanuel Vadot clock-names = "baudclk", "apb_pclk"; 471f126890aSEmmanuel Vadot reg-shift = <2>; 472f126890aSEmmanuel Vadot reg-io-width = <4>; 473f126890aSEmmanuel Vadot status = "disabled"; 474f126890aSEmmanuel Vadot }; 475f126890aSEmmanuel Vadot 476f126890aSEmmanuel Vadot uart5: serial@fff7f0c000 { 477f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 478f126890aSEmmanuel Vadot reg = <0xff 0xf7f0c000 0x0 0x4000>; 479f126890aSEmmanuel Vadot interrupts = <41 IRQ_TYPE_LEVEL_HIGH>; 480*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_UART_SCLK>, <&clk CLK_UART5_PCLK>; 481*b2d2a78aSEmmanuel Vadot clock-names = "baudclk", "apb_pclk"; 482f126890aSEmmanuel Vadot reg-shift = <2>; 483f126890aSEmmanuel Vadot reg-io-width = <4>; 484f126890aSEmmanuel Vadot status = "disabled"; 485f126890aSEmmanuel Vadot }; 486f126890aSEmmanuel Vadot 487f126890aSEmmanuel Vadot timer4: timer@ffffc33000 { 488f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 489f126890aSEmmanuel Vadot reg = <0xff 0xffc33000 0x0 0x14>; 490*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_PERI_APB_PCLK>; 491f126890aSEmmanuel Vadot clock-names = "timer"; 492f126890aSEmmanuel Vadot interrupts = <20 IRQ_TYPE_LEVEL_HIGH>; 493f126890aSEmmanuel Vadot status = "disabled"; 494f126890aSEmmanuel Vadot }; 495f126890aSEmmanuel Vadot 496f126890aSEmmanuel Vadot timer5: timer@ffffc33014 { 497f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 498f126890aSEmmanuel Vadot reg = <0xff 0xffc33014 0x0 0x14>; 499*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_PERI_APB_PCLK>; 500f126890aSEmmanuel Vadot clock-names = "timer"; 501f126890aSEmmanuel Vadot interrupts = <21 IRQ_TYPE_LEVEL_HIGH>; 502f126890aSEmmanuel Vadot status = "disabled"; 503f126890aSEmmanuel Vadot }; 504f126890aSEmmanuel Vadot 505f126890aSEmmanuel Vadot timer6: timer@ffffc33028 { 506f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 507f126890aSEmmanuel Vadot reg = <0xff 0xffc33028 0x0 0x14>; 508*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_PERI_APB_PCLK>; 509f126890aSEmmanuel Vadot clock-names = "timer"; 510f126890aSEmmanuel Vadot interrupts = <22 IRQ_TYPE_LEVEL_HIGH>; 511f126890aSEmmanuel Vadot status = "disabled"; 512f126890aSEmmanuel Vadot }; 513f126890aSEmmanuel Vadot 514f126890aSEmmanuel Vadot timer7: timer@ffffc3303c { 515f126890aSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 516f126890aSEmmanuel Vadot reg = <0xff 0xffc3303c 0x0 0x14>; 517*b2d2a78aSEmmanuel Vadot clocks = <&clk CLK_PERI_APB_PCLK>; 518f126890aSEmmanuel Vadot clock-names = "timer"; 519f126890aSEmmanuel Vadot interrupts = <23 IRQ_TYPE_LEVEL_HIGH>; 520f126890aSEmmanuel Vadot status = "disabled"; 521f126890aSEmmanuel Vadot }; 522f126890aSEmmanuel Vadot 523f126890aSEmmanuel Vadot ao_gpio0: gpio@fffff41000 { 524f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 525f126890aSEmmanuel Vadot reg = <0xff 0xfff41000 0x0 0x1000>; 526f126890aSEmmanuel Vadot #address-cells = <1>; 527f126890aSEmmanuel Vadot #size-cells = <0>; 528f126890aSEmmanuel Vadot 529f126890aSEmmanuel Vadot porte: gpio-controller@0 { 530f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 531f126890aSEmmanuel Vadot gpio-controller; 532f126890aSEmmanuel Vadot #gpio-cells = <2>; 533f126890aSEmmanuel Vadot ngpios = <32>; 534f126890aSEmmanuel Vadot reg = <0>; 535f126890aSEmmanuel Vadot interrupt-controller; 536f126890aSEmmanuel Vadot #interrupt-cells = <2>; 537f126890aSEmmanuel Vadot interrupts = <76 IRQ_TYPE_LEVEL_HIGH>; 538f126890aSEmmanuel Vadot }; 539f126890aSEmmanuel Vadot }; 540f126890aSEmmanuel Vadot 541f126890aSEmmanuel Vadot ao_gpio1: gpio@fffff52000 { 542f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio"; 543f126890aSEmmanuel Vadot reg = <0xff 0xfff52000 0x0 0x1000>; 544f126890aSEmmanuel Vadot #address-cells = <1>; 545f126890aSEmmanuel Vadot #size-cells = <0>; 546f126890aSEmmanuel Vadot 547f126890aSEmmanuel Vadot portf: gpio-controller@0 { 548f126890aSEmmanuel Vadot compatible = "snps,dw-apb-gpio-port"; 549f126890aSEmmanuel Vadot gpio-controller; 550f126890aSEmmanuel Vadot #gpio-cells = <2>; 551f126890aSEmmanuel Vadot ngpios = <32>; 552f126890aSEmmanuel Vadot reg = <0>; 553f126890aSEmmanuel Vadot interrupt-controller; 554f126890aSEmmanuel Vadot #interrupt-cells = <2>; 555f126890aSEmmanuel Vadot interrupts = <55 IRQ_TYPE_LEVEL_HIGH>; 556f126890aSEmmanuel Vadot }; 557f126890aSEmmanuel Vadot }; 558f126890aSEmmanuel Vadot }; 559f126890aSEmmanuel Vadot}; 560