1/* 2 * Copyright (c) 2015 HiSilicon Technologies Co., Ltd. 3 * 4 * This program is free software; you can redistribute it and/or modify it 5 * under the terms of the GNU General Public License as published by the 6 * Free Software Foundation; either version 2 of the License, or (at your 7 * option) any later version. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program. If not, see <http://www.gnu.org/licenses/>. 16 * 17 */ 18 19#include <dt-bindings/clock/hi3519-clock.h> 20#include <dt-bindings/interrupt-controller/arm-gic.h> 21/ { 22 #address-cells = <1>; 23 #size-cells = <1>; 24 chosen { }; 25 26 cpus { 27 #address-cells = <1>; 28 #size-cells = <0>; 29 30 cpu@0 { 31 device_type = "cpu"; 32 compatible = "arm,cortex-a7"; 33 reg = <0>; 34 }; 35 }; 36 37 gic: interrupt-controller@10300000 { 38 compatible = "arm,cortex-a7-gic"; 39 #interrupt-cells = <3>; 40 interrupt-controller; 41 reg = <0x10301000 0x1000>, <0x10302000 0x1000>; 42 }; 43 44 clk_3m: clk_3m { 45 compatible = "fixed-clock"; 46 #clock-cells = <0>; 47 clock-frequency = <3000000>; 48 }; 49 50 crg: clock-reset-controller@12010000 { 51 compatible = "hisilicon,hi3519-crg"; 52 #clock-cells = <1>; 53 #reset-cells = <2>; 54 reg = <0x12010000 0x10000>; 55 }; 56 57 soc { 58 #address-cells = <1>; 59 #size-cells = <1>; 60 compatible = "simple-bus"; 61 interrupt-parent = <&gic>; 62 ranges; 63 64 uart0: serial@12100000 { 65 compatible = "arm,pl011", "arm,primecell"; 66 reg = <0x12100000 0x1000>; 67 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 68 clocks = <&crg HI3519_UART0_CLK>; 69 clock-names = "apb_pclk"; 70 status = "disable"; 71 }; 72 73 uart1: serial@12101000 { 74 compatible = "arm,pl011", "arm,primecell"; 75 reg = <0x12101000 0x1000>; 76 interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 77 clocks = <&crg HI3519_UART1_CLK>; 78 clock-names = "apb_pclk"; 79 status = "disable"; 80 }; 81 82 uart2: serial@12102000 { 83 compatible = "arm,pl011", "arm,primecell"; 84 reg = <0x12102000 0x1000>; 85 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 86 clocks = <&crg HI3519_UART2_CLK>; 87 clock-names = "apb_pclk"; 88 status = "disable"; 89 }; 90 91 uart3: serial@12103000 { 92 compatible = "arm,pl011", "arm,primecell"; 93 reg = <0x12103000 0x1000>; 94 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 95 clocks = <&crg HI3519_UART3_CLK>; 96 clock-names = "apb_pclk"; 97 status = "disable"; 98 }; 99 100 uart4: serial@12104000 { 101 compatible = "arm,pl011", "arm,primecell"; 102 reg = <0x12104000 0x1000>; 103 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 104 clocks = <&crg HI3519_UART4_CLK>; 105 clock-names = "apb_pclk"; 106 status = "disable"; 107 }; 108 109 dual_timer0: timer@12000000 { 110 compatible = "arm,sp804", "arm,primecell"; 111 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>, 112 <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 113 reg = <0x12000000 0x1000>; 114 clocks = <&clk_3m>; 115 clock-names = "apb_pclk"; 116 status = "disable"; 117 }; 118 119 dual_timer1: timer@12001000 { 120 compatible = "arm,sp804", "arm,primecell"; 121 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>, 122 <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; 123 reg = <0x12001000 0x1000>; 124 clocks = <&clk_3m>; 125 clock-names = "apb_pclk"; 126 status = "disable"; 127 }; 128 129 dual_timer2: timer@12002000 { 130 compatible = "arm,sp804", "arm,primecell"; 131 interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, 132 <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 133 reg = <0x12002000 0x1000>; 134 clocks = <&clk_3m>; 135 clock-names = "apb_pclk"; 136 status = "disable"; 137 }; 138 139 spi_bus0: spi@12120000 { 140 compatible = "arm,pl022", "arm,primecell"; 141 reg = <0x12120000 0x1000>; 142 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 143 clocks = <&crg HI3519_SPI0_CLK>; 144 clock-names = "apb_pclk"; 145 num-cs = <1>; 146 #address-cells = <1>; 147 #size-cells = <0>; 148 status = "disable"; 149 }; 150 151 spi_bus1: spi@12121000 { 152 compatible = "arm,pl022", "arm,primecell"; 153 reg = <0x12121000 0x1000>; 154 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 155 clocks = <&crg HI3519_SPI1_CLK>; 156 clock-names = "apb_pclk"; 157 num-cs = <1>; 158 #address-cells = <1>; 159 #size-cells = <0>; 160 status = "disable"; 161 }; 162 163 spi_bus2: spi@12122000 { 164 compatible = "arm,pl022", "arm,primecell"; 165 reg = <0x12122000 0x1000>; 166 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 167 clocks = <&crg HI3519_SPI2_CLK>; 168 clock-names = "apb_pclk"; 169 num-cs = <1>; 170 #address-cells = <1>; 171 #size-cells = <0>; 172 status = "disable"; 173 }; 174 175 sysctrl: system-controller@12020000 { 176 compatible = "hisilicon,hi3519-sysctrl", "syscon"; 177 reg = <0x12020000 0x1000>; 178 }; 179 180 reboot { 181 compatible = "syscon-reboot"; 182 regmap = <&sysctrl>; 183 offset = <0x4>; 184 mask = <0xdeadbeef>; 185 }; 186 }; 187}; 188