2012-10-24 12:41:15 +08:00
|
|
|
/*
|
|
|
|
* SAMSUNG EXYNOS5440 SoC device tree source
|
|
|
|
*
|
|
|
|
* Copyright (c) 2012 Samsung Electronics Co., Ltd.
|
|
|
|
* http://www.samsung.com
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
|
|
* published by the Free Software Foundation.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/include/ "skeleton.dtsi"
|
|
|
|
|
|
|
|
/ {
|
|
|
|
compatible = "samsung,exynos5440";
|
|
|
|
|
|
|
|
interrupt-parent = <&gic>;
|
|
|
|
|
2013-03-09 16:11:33 +08:00
|
|
|
clock: clock-controller@0x160000 {
|
|
|
|
compatible = "samsung,exynos5440-clock";
|
|
|
|
reg = <0x160000 0x1000>;
|
|
|
|
#clock-cells = <1>;
|
|
|
|
};
|
|
|
|
|
2012-10-24 12:41:15 +08:00
|
|
|
gic:interrupt-controller@2E0000 {
|
|
|
|
compatible = "arm,cortex-a15-gic";
|
|
|
|
#interrupt-cells = <3>;
|
|
|
|
interrupt-controller;
|
2013-04-04 14:25:00 +08:00
|
|
|
reg = <0x2E1000 0x1000>,
|
|
|
|
<0x2E2000 0x1000>,
|
|
|
|
<0x2E4000 0x2000>,
|
|
|
|
<0x2E6000 0x2000>;
|
|
|
|
interrupts = <1 9 0xf04>;
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
cpus {
|
2012-12-06 15:54:10 +08:00
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
|
2012-10-24 12:41:15 +08:00
|
|
|
cpu@0 {
|
|
|
|
compatible = "arm,cortex-a15";
|
2012-12-06 15:54:10 +08:00
|
|
|
reg = <0>;
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
|
|
|
cpu@1 {
|
|
|
|
compatible = "arm,cortex-a15";
|
2012-12-06 15:54:10 +08:00
|
|
|
reg = <1>;
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
|
|
|
cpu@2 {
|
|
|
|
compatible = "arm,cortex-a15";
|
2012-12-06 15:54:10 +08:00
|
|
|
reg = <2>;
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
|
|
|
cpu@3 {
|
|
|
|
compatible = "arm,cortex-a15";
|
2012-12-06 15:54:10 +08:00
|
|
|
reg = <3>;
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2013-04-05 14:22:59 +08:00
|
|
|
arm-pmu {
|
|
|
|
compatible = "arm,cortex-a15-pmu", "arm,cortex-a9-pmu";
|
|
|
|
interrupts = <0 52 4>,
|
|
|
|
<0 53 4>,
|
|
|
|
<0 54 4>,
|
|
|
|
<0 55 4>;
|
|
|
|
};
|
|
|
|
|
2012-12-06 15:54:10 +08:00
|
|
|
timer {
|
|
|
|
compatible = "arm,cortex-a15-timer",
|
|
|
|
"arm,armv7-timer";
|
|
|
|
interrupts = <1 13 0xf08>,
|
|
|
|
<1 14 0xf08>,
|
|
|
|
<1 11 0xf08>,
|
|
|
|
<1 10 0xf08>;
|
|
|
|
clock-frequency = <50000000>;
|
|
|
|
};
|
|
|
|
|
2013-04-08 20:48:17 +08:00
|
|
|
cpufreq@160000 {
|
|
|
|
compatible = "samsung,exynos5440-cpufreq";
|
|
|
|
reg = <0x160000 0x1000>;
|
|
|
|
interrupts = <0 57 0>;
|
|
|
|
operating-points = <
|
|
|
|
/* KHz uV */
|
|
|
|
1200000 1025000
|
|
|
|
1000000 975000
|
|
|
|
800000 925000
|
|
|
|
>;
|
|
|
|
};
|
|
|
|
|
2012-10-24 12:41:15 +08:00
|
|
|
serial@B0000 {
|
|
|
|
compatible = "samsung,exynos4210-uart";
|
|
|
|
reg = <0xB0000 0x1000>;
|
|
|
|
interrupts = <0 2 0>;
|
2013-03-09 16:19:17 +08:00
|
|
|
clocks = <&clock 21>, <&clock 21>;
|
|
|
|
clock-names = "uart", "clk_uart_baud0";
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
serial@C0000 {
|
|
|
|
compatible = "samsung,exynos4210-uart";
|
|
|
|
reg = <0xC0000 0x1000>;
|
|
|
|
interrupts = <0 3 0>;
|
2013-03-09 16:19:17 +08:00
|
|
|
clocks = <&clock 21>, <&clock 21>;
|
|
|
|
clock-names = "uart", "clk_uart_baud0";
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
spi {
|
|
|
|
compatible = "samsung,exynos4210-spi";
|
|
|
|
reg = <0xD0000 0x1000>;
|
|
|
|
interrupts = <0 4 0>;
|
|
|
|
tx-dma-channel = <&pdma0 5>; /* preliminary */
|
|
|
|
rx-dma-channel = <&pdma0 4>; /* preliminary */
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
2013-03-09 16:19:17 +08:00
|
|
|
clocks = <&clock 21>, <&clock 16>;
|
|
|
|
clock-names = "spi", "spi_busclk0";
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
pinctrl {
|
2012-12-28 05:25:02 +08:00
|
|
|
compatible = "samsung,exynos5440-pinctrl";
|
2012-10-24 12:41:15 +08:00
|
|
|
reg = <0xE0000 0x1000>;
|
2013-04-05 14:20:03 +08:00
|
|
|
interrupts = <0 37 0>, <0 38 0>, <0 39 0>, <0 40 0>,
|
|
|
|
<0 41 0>, <0 42 0>, <0 43 0>, <0 44 0>;
|
2012-10-24 12:41:15 +08:00
|
|
|
interrupt-controller;
|
|
|
|
#interrupt-cells = <2>;
|
2012-10-24 16:18:52 +08:00
|
|
|
#gpio-cells = <2>;
|
|
|
|
|
|
|
|
fan: fan {
|
|
|
|
samsung,exynos5440-pin-function = <1>;
|
|
|
|
};
|
|
|
|
|
|
|
|
hdd_led0: hdd_led0 {
|
|
|
|
samsung,exynos5440-pin-function = <2>;
|
|
|
|
};
|
|
|
|
|
|
|
|
hdd_led1: hdd_led1 {
|
|
|
|
samsung,exynos5440-pin-function = <3>;
|
|
|
|
};
|
|
|
|
|
|
|
|
uart1: uart1 {
|
|
|
|
samsung,exynos5440-pin-function = <4>;
|
|
|
|
};
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
i2c@F0000 {
|
2012-12-29 01:33:58 +08:00
|
|
|
compatible = "samsung,exynos5440-i2c";
|
2012-10-24 12:41:15 +08:00
|
|
|
reg = <0xF0000 0x1000>;
|
|
|
|
interrupts = <0 5 0>;
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
2013-03-09 16:19:17 +08:00
|
|
|
clocks = <&clock 21>;
|
|
|
|
clock-names = "i2c";
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
i2c@100000 {
|
2012-12-29 01:33:58 +08:00
|
|
|
compatible = "samsung,exynos5440-i2c";
|
2012-10-24 12:41:15 +08:00
|
|
|
reg = <0x100000 0x1000>;
|
|
|
|
interrupts = <0 6 0>;
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
2013-03-09 16:19:17 +08:00
|
|
|
clocks = <&clock 21>;
|
|
|
|
clock-names = "i2c";
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
watchdog {
|
|
|
|
compatible = "samsung,s3c2410-wdt";
|
|
|
|
reg = <0x110000 0x1000>;
|
|
|
|
interrupts = <0 1 0>;
|
2013-03-09 16:19:17 +08:00
|
|
|
clocks = <&clock 21>;
|
|
|
|
clock-names = "watchdog";
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
|
|
|
|
2013-04-05 14:22:58 +08:00
|
|
|
gmac: ethernet@00230000 {
|
|
|
|
compatible = "snps,dwmac-3.70a";
|
|
|
|
reg = <0x00230000 0x8000>;
|
|
|
|
interrupt-parent = <&gic>;
|
|
|
|
interrupts = <0 31 4>;
|
|
|
|
interrupt-names = "macirq";
|
|
|
|
phy-mode = "sgmii";
|
2013-04-08 20:47:02 +08:00
|
|
|
clocks = <&clock 25>;
|
2013-04-05 14:22:58 +08:00
|
|
|
clock-names = "stmmaceth";
|
|
|
|
};
|
|
|
|
|
2012-10-24 12:41:15 +08:00
|
|
|
amba {
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <1>;
|
|
|
|
compatible = "arm,amba-bus";
|
|
|
|
interrupt-parent = <&gic>;
|
|
|
|
ranges;
|
|
|
|
|
2013-04-05 14:22:58 +08:00
|
|
|
pdma0: pdma@00121000 {
|
2012-10-24 12:41:15 +08:00
|
|
|
compatible = "arm,pl330", "arm,primecell";
|
2013-04-05 14:22:58 +08:00
|
|
|
reg = <0x121000 0x1000>;
|
|
|
|
interrupts = <0 46 0>;
|
|
|
|
clocks = <&clock 8>;
|
2013-03-09 16:19:17 +08:00
|
|
|
clock-names = "apb_pclk";
|
2013-03-07 09:33:07 +08:00
|
|
|
#dma-cells = <1>;
|
|
|
|
#dma-channels = <8>;
|
|
|
|
#dma-requests = <32>;
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
|
|
|
|
2013-04-05 14:22:58 +08:00
|
|
|
pdma1: pdma@00120000 {
|
2012-10-24 12:41:15 +08:00
|
|
|
compatible = "arm,pl330", "arm,primecell";
|
2013-04-05 14:22:58 +08:00
|
|
|
reg = <0x120000 0x1000>;
|
|
|
|
interrupts = <0 47 0>;
|
|
|
|
clocks = <&clock 8>;
|
2013-03-09 16:19:17 +08:00
|
|
|
clock-names = "apb_pclk";
|
2013-03-07 09:33:07 +08:00
|
|
|
#dma-cells = <1>;
|
|
|
|
#dma-channels = <8>;
|
|
|
|
#dma-requests = <32>;
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
rtc {
|
|
|
|
compatible = "samsung,s3c6410-rtc";
|
|
|
|
reg = <0x130000 0x1000>;
|
2012-12-28 10:02:58 +08:00
|
|
|
interrupts = <0 17 0>, <0 16 0>;
|
2013-03-09 16:19:17 +08:00
|
|
|
clocks = <&clock 21>;
|
|
|
|
clock-names = "rtc";
|
2013-04-09 02:26:32 +08:00
|
|
|
status = "disabled";
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
2013-06-21 15:25:51 +08:00
|
|
|
|
|
|
|
pcie@290000 {
|
|
|
|
compatible = "samsung,exynos5440-pcie", "snps,dw-pcie";
|
|
|
|
reg = <0x290000 0x1000
|
|
|
|
0x270000 0x1000
|
|
|
|
0x271000 0x40>;
|
|
|
|
interrupts = <0 20 0>, <0 21 0>, <0 22 0>;
|
|
|
|
clocks = <&clock 28>, <&clock 27>;
|
|
|
|
clock-names = "pcie", "pcie_bus";
|
|
|
|
#address-cells = <3>;
|
|
|
|
#size-cells = <2>;
|
|
|
|
device_type = "pci";
|
|
|
|
ranges = <0x00000800 0 0x40000000 0x40000000 0 0x00001000 /* configuration space */
|
|
|
|
0x81000000 0 0 0x40001000 0 0x00010000 /* downstream I/O */
|
|
|
|
0x82000000 0 0x40011000 0x40011000 0 0x1ffef000>; /* non-prefetchable memory */
|
|
|
|
#interrupt-cells = <1>;
|
|
|
|
interrupt-map-mask = <0 0 0 0>;
|
|
|
|
interrupt-map = <0x0 0 &gic 53>;
|
|
|
|
};
|
|
|
|
|
|
|
|
pcie@2a0000 {
|
|
|
|
compatible = "samsung,exynos5440-pcie", "snps,dw-pcie";
|
|
|
|
reg = <0x2a0000 0x1000
|
|
|
|
0x272000 0x1000
|
|
|
|
0x271040 0x40>;
|
|
|
|
interrupts = <0 23 0>, <0 24 0>, <0 25 0>;
|
|
|
|
clocks = <&clock 29>, <&clock 27>;
|
|
|
|
clock-names = "pcie", "pcie_bus";
|
|
|
|
#address-cells = <3>;
|
|
|
|
#size-cells = <2>;
|
|
|
|
device_type = "pci";
|
|
|
|
ranges = <0x00000800 0 0x60000000 0x60000000 0 0x00001000 /* configuration space */
|
|
|
|
0x81000000 0 0 0x60001000 0 0x00010000 /* downstream I/O */
|
|
|
|
0x82000000 0 0x60011000 0x60011000 0 0x1ffef000>; /* non-prefetchable memory */
|
|
|
|
#interrupt-cells = <1>;
|
|
|
|
interrupt-map-mask = <0 0 0 0>;
|
|
|
|
interrupt-map = <0x0 0 &gic 56>;
|
|
|
|
};
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|