2013-02-04 16:15:56 -08:00
/*
* Samsung's Exynos5250 based Arndale board device tree source
*
* Copyright (c) 2013 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-09-24 00:00:46 +09:00
*/
2013-02-04 16:15:56 -08:00
/dts-v1/;
2014-09-24 00:00:46 +09:00
#include <dt-bindings/gpio/gpio.h>
2013-07-24 10:55:16 +09:00
#include <dt-bindings/interrupt-controller/irq.h>
2014-05-28 00:56:16 +09:00
#include <dt-bindings/input/input.h>
2014-09-24 00:00:46 +09:00
#include "exynos5250.dtsi"
2016-05-24 15:31:29 +02:00
#include "exynos-mfc-reserved-memory.dtsi"
2013-02-04 16:15:56 -08:00
/ {
model = "Insignal Arndale evaluation board based on EXYNOS5250";
2014-03-21 02:17:22 +09:00
compatible = "insignal,arndale", "samsung,exynos5250", "samsung,exynos5";
2013-02-04 16:15:56 -08:00
memory {
reg = <0x40000000 0x80000000>;
};
chosen {
bootargs = "console=ttySAC2,115200";
};
2013-04-04 14:24:47 +09:00
gpio_keys {
compatible = "gpio-keys";
menu {
label = "SW-TACT2";
2014-09-24 00:00:46 +09:00
gpios = <&gpx1 4 GPIO_ACTIVE_LOW>;
2014-05-28 00:56:16 +09:00
linux,code = <KEY_MENU>;
2016-01-28 15:59:58 +00:00
wakeup-source;
2013-04-04 14:24:47 +09:00
};
home {
label = "SW-TACT3";
2014-09-24 00:00:46 +09:00
gpios = <&gpx1 5 GPIO_ACTIVE_LOW>;
2014-05-28 00:56:16 +09:00
linux,code = <KEY_HOME>;
2016-01-28 15:59:58 +00:00
wakeup-source;
2013-04-04 14:24:47 +09:00
};
up {
label = "SW-TACT4";
2014-09-24 00:00:46 +09:00
gpios = <&gpx1 6 GPIO_ACTIVE_LOW>;
2014-05-28 00:56:16 +09:00
linux,code = <KEY_UP>;
2016-01-28 15:59:58 +00:00
wakeup-source;
2013-04-04 14:24:47 +09:00
};
down {
label = "SW-TACT5";
2014-09-24 00:00:46 +09:00
gpios = <&gpx1 7 GPIO_ACTIVE_LOW>;
2014-05-28 00:56:16 +09:00
linux,code = <KEY_DOWN>;
2016-01-28 15:59:58 +00:00
wakeup-source;
2013-04-04 14:24:47 +09:00
};
back {
label = "SW-TACT6";
2014-09-24 00:00:46 +09:00
gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
2014-05-28 00:56:16 +09:00
linux,code = <KEY_BACK>;
2016-01-28 15:59:58 +00:00
wakeup-source;
2013-04-04 14:24:47 +09:00
};
wakeup {
label = "SW-TACT7";
2014-09-24 00:00:46 +09:00
gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
2014-05-28 00:56:16 +09:00
linux,code = <KEY_WAKEUP>;
2016-01-28 15:59:58 +00:00
wakeup-source;
2013-04-04 14:24:47 +09:00
};
};
2013-07-24 10:55:16 +09:00
regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
2013-10-06 09:21:10 +09:00
main_dc_reg: regulator@0 {
2013-07-24 10:55:16 +09:00
compatible = "regulator-fixed";
2013-10-06 09:21:10 +09:00
reg = <0>;
2013-07-24 10:55:16 +09:00
regulator-name = "MAIN_DC";
};
2013-10-06 09:21:10 +09:00
mmc_reg: regulator@1 {
2013-07-24 10:55:16 +09:00
compatible = "regulator-fixed";
2013-10-06 09:21:10 +09:00
reg = <1>;
2013-07-24 10:55:16 +09:00
regulator-name = "VDD_33ON_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
2014-09-24 00:00:46 +09:00
gpio = <&gpx1 1 GPIO_ACTIVE_LOW>;
2013-07-24 10:55:16 +09:00
enable-active-high;
};
2013-04-04 14:24:55 +09:00
2013-10-06 09:21:10 +09:00
reg_hdmi_en: regulator@2 {
2013-07-24 10:55:16 +09:00
compatible = "regulator-fixed";
2013-10-06 09:21:10 +09:00
reg = <2>;
2013-07-24 10:55:16 +09:00
regulator-name = "hdmi-en";
};
2013-04-04 14:25:06 +09:00
};
2013-03-09 17:19:22 +09:00
fixed-rate-clocks {
xxti {
compatible = "samsung,clock-xxti";
clock-frequency = <24000000>;
};
};
2013-06-10 17:04:36 +09:00
2014-09-24 00:01:50 +09:00
// SMSC USB3503 connected in hardware only mode as a PHY
usb_hub: usb-hub {
compatible = "smsc,usb3503a";
2013-08-19 04:33:22 +09:00
2014-09-24 00:01:50 +09:00
reset-gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
connect-gpios = <&gpd1 7 GPIO_ACTIVE_LOW>;
2014-09-24 00:00:46 +09:00
};
};
2015-07-01 15:10:36 +02:00
&cpu0 {
cpu0-supply = <&buck2_reg>;
};
2014-09-24 00:00:46 +09:00
&dp {
status = "okay";
samsung,color-space = <0>;
samsung,color-depth = <1>;
samsung,link-rate = <0x0a>;
samsung,lane-count = <4>;
display-timings {
native-mode = <&timing0>;
ARM: dts: exynos: Fix DTC unit name warnings in Exynos5250
Fix following DTC warnings in all Exynos5250 boards:
Warning (unit_address_vs_reg): Node /dp-controller@145B0000/display-timings/timing@0 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /usb@12000000 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /usb@12000000/dwc3 has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /hdmi has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /mixer has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /video-phy@10040720 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /fixed-regulator@0 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /fixed-regulator@1 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /fixed-regulator@2 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /i2c@12C70000/trackpad has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /i2c@12CD0000/lvds-bridge@20/ports/port@0 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /i2c@12CD0000/lvds-bridge@20/ports/port@1 has a unit name, but no reg property
Warning (unit_address_vs_reg): Node /i2c-arbitrator/i2c@0/embedded-controller has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /i2c-arbitrator/i2c@0/power-regulator has a reg or ranges property, but no unit name
Warning (unit_address_vs_reg): Node /i2c@12CA0000/embedded-controller has a reg or ranges property, but no unit name
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
2016-04-06 11:00:45 +09:00
timing0: timing {
2014-09-24 00:00:46 +09:00
/* 2560x1600 DP panel */
clock-frequency = <50000>;
hactive = <2560>;
vactive = <1600>;
hfront-porch = <48>;
hback-porch = <80>;
hsync-len = <32>;
vback-porch = <16>;
vfront-porch = <8>;
vsync-len = <6>;
};
};
};
2015-09-17 14:48:39 +02:00
&fimd {
status = "okay";
};
2014-09-24 00:00:46 +09:00
&hdmi {
2014-09-24 00:01:28 +09:00
hpd-gpio = <&gpx3 7 GPIO_ACTIVE_LOW>;
2014-09-24 00:00:46 +09:00
vdd_osc-supply = <&ldo10_reg>;
vdd_pll-supply = <&ldo8_reg>;
vdd-supply = <&ldo8_reg>;
};
&i2c_0 {
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <20000>;
samsung,i2c-slave-addr = <0x66>;
s5m8767_pmic@66 {
compatible = "samsung,s5m8767-pmic";
reg = <0x66>;
interrupt-parent = <&gpx3>;
interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
vinb1-supply = <&main_dc_reg>;
vinb2-supply = <&main_dc_reg>;
vinb3-supply = <&main_dc_reg>;
vinb4-supply = <&main_dc_reg>;
vinb5-supply = <&main_dc_reg>;
vinb6-supply = <&main_dc_reg>;
vinb7-supply = <&main_dc_reg>;
vinb8-supply = <&main_dc_reg>;
vinb9-supply = <&main_dc_reg>;
vinl1-supply = <&buck7_reg>;
vinl2-supply = <&buck7_reg>;
vinl3-supply = <&buck7_reg>;
vinl4-supply = <&main_dc_reg>;
vinl5-supply = <&main_dc_reg>;
vinl6-supply = <&main_dc_reg>;
vinl7-supply = <&main_dc_reg>;
vinl8-supply = <&buck8_reg>;
vinl9-supply = <&buck8_reg>;
s5m8767,pmic-buck2-dvs-voltage = <1300000>;
s5m8767,pmic-buck3-dvs-voltage = <1100000>;
s5m8767,pmic-buck4-dvs-voltage = <1200000>;
s5m8767,pmic-buck-dvs-gpios = <&gpd1 0 GPIO_ACTIVE_HIGH>,
<&gpd1 1 GPIO_ACTIVE_HIGH>,
<&gpd1 2 GPIO_ACTIVE_HIGH>;
s5m8767,pmic-buck-ds-gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>,
<&gpx2 4 GPIO_ACTIVE_HIGH>,
<&gpx2 5 GPIO_ACTIVE_HIGH>;
regulators {
ldo1_reg: LDO1 {
regulator-name = "VDD_ALIVE_1.0V";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>;
};
ldo2_reg: LDO2 {
regulator-name = "VDD_28IO_DP_1.35V";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>;
};
ldo3_reg: LDO3 {
regulator-name = "VDD_COMMON1_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>;
};
ldo4_reg: LDO4 {
regulator-name = "VDD_IOPERI_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
op_mode = <1>;
};
ldo5_reg: LDO5 {
regulator-name = "VDD_EXT_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>;
};
ldo6_reg: LDO6 {
regulator-name = "VDD_MPLL_1.1V";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>;
};
ldo7_reg: LDO7 {
regulator-name = "VDD_XPLL_1.1V";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>;
};
ldo8_reg: LDO8 {
regulator-name = "VDD_COMMON2_1.0V";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>;
};
ldo9_reg: LDO9 {
regulator-name = "VDD_33ON_3.0V";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
op_mode = <1>;
};
ldo10_reg: LDO10 {
regulator-name = "VDD_COMMON3_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>;
};
ldo11_reg: LDO11 {
regulator-name = "VDD_ABB2_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>;
};
ldo12_reg: LDO12 {
regulator-name = "VDD_USB_3.0V";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>;
};
ldo13_reg: LDO13 {
regulator-name = "VDDQ_C2C_W_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>;
};
ldo14_reg: LDO14 {
regulator-name = "VDD18_ABB0_3_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>;
};
ldo15_reg: LDO15 {
regulator-name = "VDD10_COMMON4_1.0V";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>;
};
ldo16_reg: LDO16 {
regulator-name = "VDD18_HSIC_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>;
};
ldo17_reg: LDO17 {
regulator-name = "VDDQ_MMC2_3_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>;
};
ldo18_reg: LDO18 {
regulator-name = "VDD_33ON_2.8V";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
op_mode = <1>;
};
ldo22_reg: LDO22 {
regulator-name = "EXT_33_OFF";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
op_mode = <1>;
};
ldo23_reg: LDO23 {
regulator-name = "EXT_28_OFF";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
op_mode = <1>;
};
ldo25_reg: LDO25 {
regulator-name = "PVDD_LDO25";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
op_mode = <1>;
};
ldo26_reg: LDO26 {
regulator-name = "EXT_18_OFF";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
op_mode = <1>;
};
buck1_reg: BUCK1 {
regulator-name = "vdd_mif";
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>;
};
buck2_reg: BUCK2 {
regulator-name = "vdd_arm";
regulator-min-microvolt = <912500>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>;
};
buck3_reg: BUCK3 {
regulator-name = "vdd_int";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>;
};
buck4_reg: BUCK4 {
regulator-name = "vdd_g3d";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>;
};
buck5_reg: BUCK5 {
regulator-name = "VDD_MEM_1.35V";
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <1355000>;
regulator-always-on;
regulator-boot-on;
op_mode = <1>;
};
buck7_reg: BUCK7 {
regulator-name = "PVDD_BUCK7";
regulator-always-on;
op_mode = <1>;
};
buck8_reg: BUCK8 {
regulator-name = "PVDD_BUCK8";
regulator-always-on;
op_mode = <1>;
};
buck9_reg: BUCK9 {
regulator-name = "VDD_33_OFF_EXT1";
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <3000000>;
op_mode = <1>;
};
2013-08-19 04:33:22 +09:00
};
};
2013-02-04 16:15:56 -08:00
};
2014-09-24 00:00:46 +09:00
&i2c_2 {
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
samsung,i2c-slave-addr = <0x50>;
hdmiddc@50 {
compatible = "samsung,exynos4210-hdmiddc";
reg = <0x50>;
};
};
&i2c_3 {
status = "okay";
wm1811a@1a {
compatible = "wlf,wm1811";
reg = <0x1a>;
AVDD2-supply = <&main_dc_reg>;
CPVDD-supply = <&main_dc_reg>;
DBVDD1-supply = <&main_dc_reg>;
DBVDD2-supply = <&main_dc_reg>;
DBVDD3-supply = <&main_dc_reg>;
LDO1VDD-supply = <&main_dc_reg>;
SPKVDD1-supply = <&main_dc_reg>;
SPKVDD2-supply = <&main_dc_reg>;
wlf,ldo1ena = <&gpb0 0 GPIO_ACTIVE_HIGH>;
wlf,ldo2ena = <&gpb0 1 GPIO_ACTIVE_HIGH>;
};
};
&i2c_8 {
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
samsung,i2c-slave-addr = <0x38>;
hdmiphy@38 {
compatible = "samsung,exynos4212-hdmiphy";
reg = <0x38>;
};
};
&i2c_9 {
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <40000>;
samsung,i2c-slave-addr = <0x38>;
sata_phy_i2c:sata-phy@38 {
compatible = "samsung,exynos-sataphy-i2c";
reg = <0x38>;
};
};
&i2s0 {
status = "okay";
};
&mfc {
2016-05-24 15:31:29 +02:00
memory-region = <&mfc_left>, <&mfc_right>;
2014-09-24 00:00:46 +09:00
};
&mmc_0 {
status = "okay";
num-slots = <1>;
broken-cd;
card-detect-delay = <200>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <2 3>;
samsung,dw-mshc-ddr-timing = <1 2>;
vmmc-supply = <&mmc_reg>;
pinctrl-names = "default";
pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
bus-width = <8>;
cap-mmc-highspeed;
};
&mmc_2 {
status = "okay";
num-slots = <1>;
card-detect-delay = <200>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <2 3>;
samsung,dw-mshc-ddr-timing = <1 2>;
vmmc-supply = <&mmc_reg>;
pinctrl-names = "default";
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
bus-width = <4>;
disable-wp;
cap-sd-highspeed;
};
&rtc {
status = "okay";
};
&sata {
status = "okay";
};
&sata_phy {
status = "okay";
samsung,exynos-sataphy-i2c-phandle = <&sata_phy_i2c>;
};