1dd8c7b78SManivannan Sadhasivam// SPDX-License-Identifier: GPL-2.0 2dd8c7b78SManivannan Sadhasivam/* 3dd8c7b78SManivannan Sadhasivam * dts file for Hisilicon Hi3670 SoC 4dd8c7b78SManivannan Sadhasivam * 5dd8c7b78SManivannan Sadhasivam * Copyright (C) 2016, Hisilicon Ltd. 6dd8c7b78SManivannan Sadhasivam * Copyright (C) 2018, Linaro Ltd. 7dd8c7b78SManivannan Sadhasivam */ 8dd8c7b78SManivannan Sadhasivam 9dd8c7b78SManivannan Sadhasivam#include <dt-bindings/interrupt-controller/arm-gic.h> 10*c00e3f80SManivannan Sadhasivam#include <dt-bindings/clock/hi3670-clock.h> 11dd8c7b78SManivannan Sadhasivam 12dd8c7b78SManivannan Sadhasivam/ { 13dd8c7b78SManivannan Sadhasivam compatible = "hisilicon,hi3670"; 14dd8c7b78SManivannan Sadhasivam interrupt-parent = <&gic>; 15dd8c7b78SManivannan Sadhasivam #address-cells = <2>; 16dd8c7b78SManivannan Sadhasivam #size-cells = <2>; 17dd8c7b78SManivannan Sadhasivam 18dd8c7b78SManivannan Sadhasivam psci { 19dd8c7b78SManivannan Sadhasivam compatible = "arm,psci-0.2"; 20dd8c7b78SManivannan Sadhasivam method = "smc"; 21dd8c7b78SManivannan Sadhasivam }; 22dd8c7b78SManivannan Sadhasivam 23dd8c7b78SManivannan Sadhasivam cpus { 24dd8c7b78SManivannan Sadhasivam #address-cells = <2>; 25dd8c7b78SManivannan Sadhasivam #size-cells = <0>; 26dd8c7b78SManivannan Sadhasivam 27dd8c7b78SManivannan Sadhasivam cpu-map { 28dd8c7b78SManivannan Sadhasivam cluster0 { 29dd8c7b78SManivannan Sadhasivam core0 { 30dd8c7b78SManivannan Sadhasivam cpu = <&cpu0>; 31dd8c7b78SManivannan Sadhasivam }; 32dd8c7b78SManivannan Sadhasivam core1 { 33dd8c7b78SManivannan Sadhasivam cpu = <&cpu1>; 34dd8c7b78SManivannan Sadhasivam }; 35dd8c7b78SManivannan Sadhasivam core2 { 36dd8c7b78SManivannan Sadhasivam cpu = <&cpu2>; 37dd8c7b78SManivannan Sadhasivam }; 38dd8c7b78SManivannan Sadhasivam core3 { 39dd8c7b78SManivannan Sadhasivam cpu = <&cpu3>; 40dd8c7b78SManivannan Sadhasivam }; 41dd8c7b78SManivannan Sadhasivam }; 42dd8c7b78SManivannan Sadhasivam cluster1 { 43dd8c7b78SManivannan Sadhasivam core0 { 44dd8c7b78SManivannan Sadhasivam cpu = <&cpu4>; 45dd8c7b78SManivannan Sadhasivam }; 46dd8c7b78SManivannan Sadhasivam core1 { 47dd8c7b78SManivannan Sadhasivam cpu = <&cpu5>; 48dd8c7b78SManivannan Sadhasivam }; 49dd8c7b78SManivannan Sadhasivam core2 { 50dd8c7b78SManivannan Sadhasivam cpu = <&cpu6>; 51dd8c7b78SManivannan Sadhasivam }; 52dd8c7b78SManivannan Sadhasivam core3 { 53dd8c7b78SManivannan Sadhasivam cpu = <&cpu7>; 54dd8c7b78SManivannan Sadhasivam }; 55dd8c7b78SManivannan Sadhasivam }; 56dd8c7b78SManivannan Sadhasivam }; 57dd8c7b78SManivannan Sadhasivam 58dd8c7b78SManivannan Sadhasivam cpu0: cpu@0 { 59dd8c7b78SManivannan Sadhasivam compatible = "arm,cortex-a53", "arm,armv8"; 60dd8c7b78SManivannan Sadhasivam device_type = "cpu"; 61dd8c7b78SManivannan Sadhasivam reg = <0x0 0x0>; 62dd8c7b78SManivannan Sadhasivam enable-method = "psci"; 63dd8c7b78SManivannan Sadhasivam }; 64dd8c7b78SManivannan Sadhasivam 65dd8c7b78SManivannan Sadhasivam cpu1: cpu@1 { 66dd8c7b78SManivannan Sadhasivam compatible = "arm,cortex-a53", "arm,armv8"; 67dd8c7b78SManivannan Sadhasivam device_type = "cpu"; 68dd8c7b78SManivannan Sadhasivam reg = <0x0 0x1>; 69dd8c7b78SManivannan Sadhasivam enable-method = "psci"; 70dd8c7b78SManivannan Sadhasivam }; 71dd8c7b78SManivannan Sadhasivam 72dd8c7b78SManivannan Sadhasivam cpu2: cpu@2 { 73dd8c7b78SManivannan Sadhasivam compatible = "arm,cortex-a53", "arm,armv8"; 74dd8c7b78SManivannan Sadhasivam device_type = "cpu"; 75dd8c7b78SManivannan Sadhasivam reg = <0x0 0x2>; 76dd8c7b78SManivannan Sadhasivam enable-method = "psci"; 77dd8c7b78SManivannan Sadhasivam }; 78dd8c7b78SManivannan Sadhasivam 79dd8c7b78SManivannan Sadhasivam cpu3: cpu@3 { 80dd8c7b78SManivannan Sadhasivam compatible = "arm,cortex-a53", "arm,armv8"; 81dd8c7b78SManivannan Sadhasivam device_type = "cpu"; 82dd8c7b78SManivannan Sadhasivam reg = <0x0 0x3>; 83dd8c7b78SManivannan Sadhasivam enable-method = "psci"; 84dd8c7b78SManivannan Sadhasivam }; 85dd8c7b78SManivannan Sadhasivam 86dd8c7b78SManivannan Sadhasivam cpu4: cpu@100 { 87dd8c7b78SManivannan Sadhasivam compatible = "arm,cortex-a73", "arm,armv8"; 88dd8c7b78SManivannan Sadhasivam device_type = "cpu"; 89dd8c7b78SManivannan Sadhasivam reg = <0x0 0x100>; 90dd8c7b78SManivannan Sadhasivam enable-method = "psci"; 91dd8c7b78SManivannan Sadhasivam }; 92dd8c7b78SManivannan Sadhasivam 93dd8c7b78SManivannan Sadhasivam cpu5: cpu@101 { 94dd8c7b78SManivannan Sadhasivam compatible = "arm,cortex-a73", "arm,armv8"; 95dd8c7b78SManivannan Sadhasivam device_type = "cpu"; 96dd8c7b78SManivannan Sadhasivam reg = <0x0 0x101>; 97dd8c7b78SManivannan Sadhasivam enable-method = "psci"; 98dd8c7b78SManivannan Sadhasivam }; 99dd8c7b78SManivannan Sadhasivam 100dd8c7b78SManivannan Sadhasivam cpu6: cpu@102 { 101dd8c7b78SManivannan Sadhasivam compatible = "arm,cortex-a73", "arm,armv8"; 102dd8c7b78SManivannan Sadhasivam device_type = "cpu"; 103dd8c7b78SManivannan Sadhasivam reg = <0x0 0x102>; 104dd8c7b78SManivannan Sadhasivam enable-method = "psci"; 105dd8c7b78SManivannan Sadhasivam }; 106dd8c7b78SManivannan Sadhasivam 107dd8c7b78SManivannan Sadhasivam cpu7: cpu@103 { 108dd8c7b78SManivannan Sadhasivam compatible = "arm,cortex-a73", "arm,armv8"; 109dd8c7b78SManivannan Sadhasivam device_type = "cpu"; 110dd8c7b78SManivannan Sadhasivam reg = <0x0 0x103>; 111dd8c7b78SManivannan Sadhasivam enable-method = "psci"; 112dd8c7b78SManivannan Sadhasivam }; 113dd8c7b78SManivannan Sadhasivam }; 114dd8c7b78SManivannan Sadhasivam 115dd8c7b78SManivannan Sadhasivam gic: interrupt-controller@e82b0000 { 116dd8c7b78SManivannan Sadhasivam compatible = "arm,gic-400"; 117dd8c7b78SManivannan Sadhasivam reg = <0x0 0xe82b1000 0 0x1000>, /* GICD */ 118dd8c7b78SManivannan Sadhasivam <0x0 0xe82b2000 0 0x2000>, /* GICC */ 119dd8c7b78SManivannan Sadhasivam <0x0 0xe82b4000 0 0x2000>, /* GICH */ 120dd8c7b78SManivannan Sadhasivam <0x0 0xe82b6000 0 0x2000>; /* GICV */ 121dd8c7b78SManivannan Sadhasivam #interrupt-cells = <3>; 122dd8c7b78SManivannan Sadhasivam #address-cells = <0>; 123dd8c7b78SManivannan Sadhasivam interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | 124dd8c7b78SManivannan Sadhasivam IRQ_TYPE_LEVEL_HIGH)>; 125dd8c7b78SManivannan Sadhasivam interrupt-controller; 126dd8c7b78SManivannan Sadhasivam }; 127dd8c7b78SManivannan Sadhasivam 128dd8c7b78SManivannan Sadhasivam timer { 129dd8c7b78SManivannan Sadhasivam compatible = "arm,armv8-timer"; 130dd8c7b78SManivannan Sadhasivam interrupt-parent = <&gic>; 131dd8c7b78SManivannan Sadhasivam interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | 132dd8c7b78SManivannan Sadhasivam IRQ_TYPE_LEVEL_LOW)>, 133dd8c7b78SManivannan Sadhasivam <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | 134dd8c7b78SManivannan Sadhasivam IRQ_TYPE_LEVEL_LOW)>, 135dd8c7b78SManivannan Sadhasivam <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | 136dd8c7b78SManivannan Sadhasivam IRQ_TYPE_LEVEL_LOW)>, 137dd8c7b78SManivannan Sadhasivam <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(8) | 138dd8c7b78SManivannan Sadhasivam IRQ_TYPE_LEVEL_LOW)>; 139dd8c7b78SManivannan Sadhasivam clock-frequency = <1920000>; 140dd8c7b78SManivannan Sadhasivam }; 141dd8c7b78SManivannan Sadhasivam 142dd8c7b78SManivannan Sadhasivam soc { 143dd8c7b78SManivannan Sadhasivam compatible = "simple-bus"; 144dd8c7b78SManivannan Sadhasivam #address-cells = <2>; 145dd8c7b78SManivannan Sadhasivam #size-cells = <2>; 146dd8c7b78SManivannan Sadhasivam ranges; 147dd8c7b78SManivannan Sadhasivam 148*c00e3f80SManivannan Sadhasivam crg_ctrl: crg_ctrl@fff35000 { 149*c00e3f80SManivannan Sadhasivam compatible = "hisilicon,hi3670-crgctrl", "syscon"; 150*c00e3f80SManivannan Sadhasivam reg = <0x0 0xfff35000 0x0 0x1000>; 151*c00e3f80SManivannan Sadhasivam #clock-cells = <1>; 152*c00e3f80SManivannan Sadhasivam }; 153*c00e3f80SManivannan Sadhasivam 154*c00e3f80SManivannan Sadhasivam pctrl: pctrl@e8a09000 { 155*c00e3f80SManivannan Sadhasivam compatible = "hisilicon,hi3670-pctrl", "syscon"; 156*c00e3f80SManivannan Sadhasivam reg = <0x0 0xe8a09000 0x0 0x1000>; 157*c00e3f80SManivannan Sadhasivam #clock-cells = <1>; 158*c00e3f80SManivannan Sadhasivam }; 159*c00e3f80SManivannan Sadhasivam 160*c00e3f80SManivannan Sadhasivam pmuctrl: crg_ctrl@fff34000 { 161*c00e3f80SManivannan Sadhasivam compatible = "hisilicon,hi3670-pmuctrl", "syscon"; 162*c00e3f80SManivannan Sadhasivam reg = <0x0 0xfff34000 0x0 0x1000>; 163*c00e3f80SManivannan Sadhasivam #clock-cells = <1>; 164*c00e3f80SManivannan Sadhasivam }; 165*c00e3f80SManivannan Sadhasivam 166*c00e3f80SManivannan Sadhasivam sctrl: sctrl@fff0a000 { 167*c00e3f80SManivannan Sadhasivam compatible = "hisilicon,hi3670-sctrl", "syscon"; 168*c00e3f80SManivannan Sadhasivam reg = <0x0 0xfff0a000 0x0 0x1000>; 169*c00e3f80SManivannan Sadhasivam #clock-cells = <1>; 170*c00e3f80SManivannan Sadhasivam }; 171*c00e3f80SManivannan Sadhasivam 172*c00e3f80SManivannan Sadhasivam iomcu: iomcu@ffd7e000 { 173*c00e3f80SManivannan Sadhasivam compatible = "hisilicon,hi3670-iomcu", "syscon"; 174*c00e3f80SManivannan Sadhasivam reg = <0x0 0xffd7e000 0x0 0x1000>; 175*c00e3f80SManivannan Sadhasivam #clock-cells = <1>; 176*c00e3f80SManivannan Sadhasivam }; 177*c00e3f80SManivannan Sadhasivam 178*c00e3f80SManivannan Sadhasivam media1_crg: media1_crgctrl@e87ff000 { 179*c00e3f80SManivannan Sadhasivam compatible = "hisilicon,hi3670-media1-crg", "syscon"; 180*c00e3f80SManivannan Sadhasivam reg = <0x0 0xe87ff000 0x0 0x1000>; 181*c00e3f80SManivannan Sadhasivam #clock-cells = <1>; 182*c00e3f80SManivannan Sadhasivam }; 183*c00e3f80SManivannan Sadhasivam 184*c00e3f80SManivannan Sadhasivam media2_crg: media2_crgctrl@e8900000 { 185*c00e3f80SManivannan Sadhasivam compatible = "hisilicon,hi3670-media2-crg","syscon"; 186*c00e3f80SManivannan Sadhasivam reg = <0x0 0xe8900000 0x0 0x1000>; 187*c00e3f80SManivannan Sadhasivam #clock-cells = <1>; 188*c00e3f80SManivannan Sadhasivam }; 189*c00e3f80SManivannan Sadhasivam 190dd8c7b78SManivannan Sadhasivam uart6_clk: clk_19_2M { 191dd8c7b78SManivannan Sadhasivam compatible = "fixed-clock"; 192dd8c7b78SManivannan Sadhasivam #clock-cells = <0>; 193dd8c7b78SManivannan Sadhasivam clock-frequency = <19200000>; 194dd8c7b78SManivannan Sadhasivam }; 195dd8c7b78SManivannan Sadhasivam 196dd8c7b78SManivannan Sadhasivam uart6: serial@fff32000 { 197dd8c7b78SManivannan Sadhasivam compatible = "arm,pl011", "arm,primecell"; 198dd8c7b78SManivannan Sadhasivam reg = <0x0 0xfff32000 0x0 0x1000>; 199dd8c7b78SManivannan Sadhasivam interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 200dd8c7b78SManivannan Sadhasivam clocks = <&uart6_clk &uart6_clk>; 201dd8c7b78SManivannan Sadhasivam clock-names = "uartclk", "apb_pclk"; 202dd8c7b78SManivannan Sadhasivam status = "disabled"; 203dd8c7b78SManivannan Sadhasivam }; 204dd8c7b78SManivannan Sadhasivam }; 205dd8c7b78SManivannan Sadhasivam}; 206