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.
|
|
|
|
*/
|
|
|
|
|
2014-02-26 08:53:31 +08:00
|
|
|
#include <dt-bindings/clock/exynos5440.h>
|
2013-06-17 23:02:08 +08:00
|
|
|
#include "skeleton.dtsi"
|
2012-10-24 12:41:15 +08:00
|
|
|
|
|
|
|
/ {
|
2014-03-21 01:17:22 +08:00
|
|
|
compatible = "samsung,exynos5440", "samsung,exynos5";
|
2012-10-24 12:41:15 +08:00
|
|
|
|
|
|
|
interrupt-parent = <&gic>;
|
|
|
|
|
2013-06-18 05:35:14 +08:00
|
|
|
aliases {
|
2014-06-26 19:24:35 +08:00
|
|
|
serial0 = &serial_0;
|
|
|
|
serial1 = &serial_1;
|
2013-06-18 05:35:14 +08:00
|
|
|
spi0 = &spi_0;
|
2013-07-24 13:27:16 +08:00
|
|
|
tmuctrl0 = &tmuctrl_0;
|
|
|
|
tmuctrl1 = &tmuctrl_1;
|
|
|
|
tmuctrl2 = &tmuctrl_2;
|
2013-06-18 05:35:14 +08:00
|
|
|
};
|
|
|
|
|
2013-08-06 02:05:02 +08:00
|
|
|
clock: clock-controller@160000 {
|
2013-03-09 16:11:33 +08:00
|
|
|
compatible = "samsung,exynos5440-clock";
|
|
|
|
reg = <0x160000 0x1000>;
|
|
|
|
#clock-cells = <1>;
|
|
|
|
};
|
|
|
|
|
2013-12-19 02:17:54 +08:00
|
|
|
gic: interrupt-controller@2E0000 {
|
2012-10-24 12:41:15 +08:00
|
|
|
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 {
|
2013-04-19 01:32:40 +08:00
|
|
|
device_type = "cpu";
|
2012-10-24 12:41:15 +08:00
|
|
|
compatible = "arm,cortex-a15";
|
2012-12-06 15:54:10 +08:00
|
|
|
reg = <0>;
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
|
|
|
cpu@1 {
|
2013-04-19 01:32:40 +08:00
|
|
|
device_type = "cpu";
|
2012-10-24 12:41:15 +08:00
|
|
|
compatible = "arm,cortex-a15";
|
2012-12-06 15:54:10 +08:00
|
|
|
reg = <1>;
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
|
|
|
cpu@2 {
|
2013-04-19 01:32:40 +08:00
|
|
|
device_type = "cpu";
|
2012-10-24 12:41:15 +08:00
|
|
|
compatible = "arm,cortex-a15";
|
2012-12-06 15:54:10 +08:00
|
|
|
reg = <2>;
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
|
|
|
cpu@3 {
|
2013-04-19 01:32:40 +08:00
|
|
|
device_type = "cpu";
|
2012-10-24 12:41:15 +08:00
|
|
|
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 */
|
2013-06-18 05:39:41 +08:00
|
|
|
1500000 1100000
|
|
|
|
1400000 1075000
|
|
|
|
1300000 1050000
|
2013-04-08 20:48:17 +08:00
|
|
|
1200000 1025000
|
2013-06-18 05:39:41 +08:00
|
|
|
1100000 1000000
|
2013-04-08 20:48:17 +08:00
|
|
|
1000000 975000
|
2013-06-18 05:39:41 +08:00
|
|
|
900000 950000
|
2013-04-08 20:48:17 +08:00
|
|
|
800000 925000
|
|
|
|
>;
|
|
|
|
};
|
|
|
|
|
2014-06-26 19:24:35 +08:00
|
|
|
serial_0: serial@B0000 {
|
2012-10-24 12:41:15 +08:00
|
|
|
compatible = "samsung,exynos4210-uart";
|
|
|
|
reg = <0xB0000 0x1000>;
|
|
|
|
interrupts = <0 2 0>;
|
2014-02-26 08:53:31 +08:00
|
|
|
clocks = <&clock CLK_B_125>, <&clock CLK_B_125>;
|
2013-03-09 16:19:17 +08:00
|
|
|
clock-names = "uart", "clk_uart_baud0";
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
|
|
|
|
2014-06-26 19:24:35 +08:00
|
|
|
serial_1: serial@C0000 {
|
2012-10-24 12:41:15 +08:00
|
|
|
compatible = "samsung,exynos4210-uart";
|
|
|
|
reg = <0xC0000 0x1000>;
|
|
|
|
interrupts = <0 3 0>;
|
2014-02-26 08:53:31 +08:00
|
|
|
clocks = <&clock CLK_B_125>, <&clock CLK_B_125>;
|
2013-03-09 16:19:17 +08:00
|
|
|
clock-names = "uart", "clk_uart_baud0";
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
|
|
|
|
2013-06-18 05:35:14 +08:00
|
|
|
spi_0: spi@D0000 {
|
|
|
|
compatible = "samsung,exynos5440-spi";
|
|
|
|
reg = <0xD0000 0x100>;
|
2012-10-24 12:41:15 +08:00
|
|
|
interrupts = <0 4 0>;
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
2013-06-18 05:35:14 +08:00
|
|
|
samsung,spi-src-clk = <0>;
|
|
|
|
num-cs = <1>;
|
2014-02-26 08:53:31 +08:00
|
|
|
clocks = <&clock CLK_B_125>, <&clock CLK_SPI_BAUD>;
|
2013-03-09 16:19:17 +08:00
|
|
|
clock-names = "spi", "spi_busclk0";
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
|
|
|
|
2013-06-21 15:26:14 +08:00
|
|
|
pin_ctrl: 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>;
|
2014-02-26 08:53:31 +08:00
|
|
|
clocks = <&clock CLK_B_125>;
|
2013-03-09 16:19:17 +08:00
|
|
|
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>;
|
2014-02-26 08:53:31 +08:00
|
|
|
clocks = <&clock CLK_B_125>;
|
2013-03-09 16:19:17 +08:00
|
|
|
clock-names = "i2c";
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
|
|
|
|
2014-05-27 23:56:26 +08:00
|
|
|
watchdog@110000 {
|
2012-10-24 12:41:15 +08:00
|
|
|
compatible = "samsung,s3c2410-wdt";
|
|
|
|
reg = <0x110000 0x1000>;
|
|
|
|
interrupts = <0 1 0>;
|
2014-02-26 08:53:31 +08:00
|
|
|
clocks = <&clock CLK_B_125>;
|
2013-03-09 16:19:17 +08:00
|
|
|
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";
|
2014-02-26 08:53:31 +08:00
|
|
|
clocks = <&clock CLK_GMAC0>;
|
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;
|
|
|
|
};
|
|
|
|
|
|
|
|
rtc {
|
|
|
|
compatible = "samsung,s3c6410-rtc";
|
|
|
|
reg = <0x130000 0x1000>;
|
2012-12-28 10:02:58 +08:00
|
|
|
interrupts = <0 17 0>, <0 16 0>;
|
2014-02-26 08:53:31 +08:00
|
|
|
clocks = <&clock CLK_B_125>;
|
2013-03-09 16:19:17 +08:00
|
|
|
clock-names = "rtc";
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|
2013-06-10 16:29:34 +08:00
|
|
|
|
2013-07-24 13:27:16 +08:00
|
|
|
tmuctrl_0: tmuctrl@160118 {
|
|
|
|
compatible = "samsung,exynos5440-tmu";
|
|
|
|
reg = <0x160118 0x230>, <0x160368 0x10>;
|
|
|
|
interrupts = <0 58 0>;
|
2014-02-26 08:53:31 +08:00
|
|
|
clocks = <&clock CLK_B_125>;
|
2013-07-24 13:27:16 +08:00
|
|
|
clock-names = "tmu_apbif";
|
2015-01-30 07:26:03 +08:00
|
|
|
#include "exynos5440-tmu-sensor-conf.dtsi"
|
2013-07-24 13:27:16 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
tmuctrl_1: tmuctrl@16011C {
|
|
|
|
compatible = "samsung,exynos5440-tmu";
|
|
|
|
reg = <0x16011C 0x230>, <0x160368 0x10>;
|
|
|
|
interrupts = <0 58 0>;
|
2014-02-26 08:53:31 +08:00
|
|
|
clocks = <&clock CLK_B_125>;
|
2013-07-24 13:27:16 +08:00
|
|
|
clock-names = "tmu_apbif";
|
2015-01-30 07:26:03 +08:00
|
|
|
#include "exynos5440-tmu-sensor-conf.dtsi"
|
2013-07-24 13:27:16 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
tmuctrl_2: tmuctrl@160120 {
|
|
|
|
compatible = "samsung,exynos5440-tmu";
|
|
|
|
reg = <0x160120 0x230>, <0x160368 0x10>;
|
|
|
|
interrupts = <0 58 0>;
|
2014-02-26 08:53:31 +08:00
|
|
|
clocks = <&clock CLK_B_125>;
|
2013-07-24 13:27:16 +08:00
|
|
|
clock-names = "tmu_apbif";
|
2015-01-30 07:26:03 +08:00
|
|
|
#include "exynos5440-tmu-sensor-conf.dtsi"
|
|
|
|
};
|
|
|
|
|
|
|
|
thermal-zones {
|
|
|
|
cpu0_thermal: cpu0-thermal {
|
|
|
|
thermal-sensors = <&tmuctrl_0>;
|
|
|
|
#include "exynos5440-trip-points.dtsi"
|
|
|
|
};
|
|
|
|
cpu1_thermal: cpu1-thermal {
|
|
|
|
thermal-sensors = <&tmuctrl_1>;
|
|
|
|
#include "exynos5440-trip-points.dtsi"
|
|
|
|
};
|
|
|
|
cpu2_thermal: cpu2-thermal {
|
|
|
|
thermal-sensors = <&tmuctrl_2>;
|
|
|
|
#include "exynos5440-trip-points.dtsi"
|
|
|
|
};
|
2013-07-24 13:27:16 +08:00
|
|
|
};
|
|
|
|
|
2013-06-10 16:29:34 +08:00
|
|
|
sata@210000 {
|
|
|
|
compatible = "snps,exynos5440-ahci";
|
|
|
|
reg = <0x210000 0x10000>;
|
|
|
|
interrupts = <0 30 0>;
|
2014-02-26 08:53:31 +08:00
|
|
|
clocks = <&clock CLK_SATA>;
|
2013-06-10 16:29:34 +08:00
|
|
|
clock-names = "sata";
|
|
|
|
};
|
|
|
|
|
2013-06-12 03:58:34 +08:00
|
|
|
ohci@220000 {
|
|
|
|
compatible = "samsung,exynos5440-ohci";
|
|
|
|
reg = <0x220000 0x1000>;
|
|
|
|
interrupts = <0 29 0>;
|
2014-02-26 08:53:31 +08:00
|
|
|
clocks = <&clock CLK_USB>;
|
2013-06-12 03:58:34 +08:00
|
|
|
clock-names = "usbhost";
|
|
|
|
};
|
|
|
|
|
|
|
|
ehci@221000 {
|
|
|
|
compatible = "samsung,exynos5440-ehci";
|
|
|
|
reg = <0x221000 0x1000>;
|
|
|
|
interrupts = <0 29 0>;
|
2014-02-26 08:53:31 +08:00
|
|
|
clocks = <&clock CLK_USB>;
|
2013-06-12 03:58:34 +08:00
|
|
|
clock-names = "usbhost";
|
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>;
|
2014-02-26 08:53:31 +08:00
|
|
|
clocks = <&clock CLK_PR0_250_O>, <&clock CLK_PB0_250_O>;
|
2013-06-21 15:25:51 +08:00
|
|
|
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>;
|
2013-07-31 16:14:10 +08:00
|
|
|
num-lanes = <4>;
|
2013-10-29 14:12:34 +08:00
|
|
|
status = "disabled";
|
2013-06-21 15:25:51 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
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>;
|
2014-02-26 08:53:31 +08:00
|
|
|
clocks = <&clock CLK_PR1_250_O>, <&clock CLK_PB0_250_O>;
|
2013-06-21 15:25:51 +08:00
|
|
|
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>;
|
2013-07-31 16:14:10 +08:00
|
|
|
num-lanes = <4>;
|
2013-10-29 14:12:34 +08:00
|
|
|
status = "disabled";
|
2013-06-21 15:25:51 +08:00
|
|
|
};
|
2012-10-24 12:41:15 +08:00
|
|
|
};
|