188 lines
4.7 KiB
Plaintext
188 lines
4.7 KiB
Plaintext
/*
|
|
* Copyright (c) 2015 HiSilicon Technologies Co., Ltd.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
* under the terms of the GNU General Public License as published by the
|
|
* Free Software Foundation; either version 2 of the License, or (at your
|
|
* option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*
|
|
*/
|
|
|
|
#include <dt-bindings/clock/hi3519-clock.h>
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
/ {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
chosen { };
|
|
|
|
cpus {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
cpu@0 {
|
|
device_type = "cpu";
|
|
compatible = "arm,cortex-a7";
|
|
reg = <0>;
|
|
};
|
|
};
|
|
|
|
gic: interrupt-controller@10300000 {
|
|
compatible = "arm,cortex-a7-gic";
|
|
#interrupt-cells = <3>;
|
|
interrupt-controller;
|
|
reg = <0x10301000 0x1000>, <0x10302000 0x1000>;
|
|
};
|
|
|
|
clk_3m: clk_3m {
|
|
compatible = "fixed-clock";
|
|
#clock-cells = <0>;
|
|
clock-frequency = <3000000>;
|
|
};
|
|
|
|
crg: clock-reset-controller@12010000 {
|
|
compatible = "hisilicon,hi3519-crg";
|
|
#clock-cells = <1>;
|
|
#reset-cells = <2>;
|
|
reg = <0x12010000 0x10000>;
|
|
};
|
|
|
|
soc {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "simple-bus";
|
|
interrupt-parent = <&gic>;
|
|
ranges;
|
|
|
|
uart0: serial@12100000 {
|
|
compatible = "arm,pl011", "arm,primecell";
|
|
reg = <0x12100000 0x1000>;
|
|
interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg HI3519_UART0_CLK>;
|
|
clock-names = "apb_pclk";
|
|
status = "disable";
|
|
};
|
|
|
|
uart1: serial@12101000 {
|
|
compatible = "arm,pl011", "arm,primecell";
|
|
reg = <0x12101000 0x1000>;
|
|
interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg HI3519_UART1_CLK>;
|
|
clock-names = "apb_pclk";
|
|
status = "disable";
|
|
};
|
|
|
|
uart2: serial@12102000 {
|
|
compatible = "arm,pl011", "arm,primecell";
|
|
reg = <0x12102000 0x1000>;
|
|
interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg HI3519_UART2_CLK>;
|
|
clock-names = "apb_pclk";
|
|
status = "disable";
|
|
};
|
|
|
|
uart3: serial@12103000 {
|
|
compatible = "arm,pl011", "arm,primecell";
|
|
reg = <0x12103000 0x1000>;
|
|
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg HI3519_UART3_CLK>;
|
|
clock-names = "apb_pclk";
|
|
status = "disable";
|
|
};
|
|
|
|
uart4: serial@12104000 {
|
|
compatible = "arm,pl011", "arm,primecell";
|
|
reg = <0x12104000 0x1000>;
|
|
interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg HI3519_UART4_CLK>;
|
|
clock-names = "apb_pclk";
|
|
status = "disable";
|
|
};
|
|
|
|
dual_timer0: timer@12000000 {
|
|
compatible = "arm,sp804", "arm,primecell";
|
|
interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
|
|
reg = <0x12000000 0x1000>;
|
|
clocks = <&clk_3m>;
|
|
clock-names = "apb_pclk";
|
|
status = "disable";
|
|
};
|
|
|
|
dual_timer1: timer@12001000 {
|
|
compatible = "arm,sp804", "arm,primecell";
|
|
interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
|
|
reg = <0x12001000 0x1000>;
|
|
clocks = <&clk_3m>;
|
|
clock-names = "apb_pclk";
|
|
status = "disable";
|
|
};
|
|
|
|
dual_timer2: timer@12002000 {
|
|
compatible = "arm,sp804", "arm,primecell";
|
|
interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
|
|
reg = <0x12002000 0x1000>;
|
|
clocks = <&clk_3m>;
|
|
clock-names = "apb_pclk";
|
|
status = "disable";
|
|
};
|
|
|
|
spi_bus0: spi@12120000 {
|
|
compatible = "arm,pl022", "arm,primecell";
|
|
reg = <0x12120000 0x1000>;
|
|
interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg HI3519_SPI0_CLK>;
|
|
clock-names = "apb_pclk";
|
|
num-cs = <1>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
status = "disable";
|
|
};
|
|
|
|
spi_bus1: spi@12121000 {
|
|
compatible = "arm,pl022", "arm,primecell";
|
|
reg = <0x12121000 0x1000>;
|
|
interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg HI3519_SPI1_CLK>;
|
|
clock-names = "apb_pclk";
|
|
num-cs = <1>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
status = "disable";
|
|
};
|
|
|
|
spi_bus2: spi@12122000 {
|
|
compatible = "arm,pl022", "arm,primecell";
|
|
reg = <0x12122000 0x1000>;
|
|
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&crg HI3519_SPI2_CLK>;
|
|
clock-names = "apb_pclk";
|
|
num-cs = <1>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
status = "disable";
|
|
};
|
|
|
|
sysctrl: system-controller@12020000 {
|
|
compatible = "hisilicon,hi3519-sysctrl", "syscon";
|
|
reg = <0x12020000 0x1000>;
|
|
};
|
|
|
|
reboot {
|
|
compatible = "syscon-reboot";
|
|
regmap = <&sysctrl>;
|
|
offset = <0x4>;
|
|
mask = <0xdeadbeef>;
|
|
};
|
|
};
|
|
};
|