Samsung DT updates for v3.20

- exynos3250
   : add exynos_usbphy node and hsotg nodes
 
 - exynos3250-rinato
   : enable usb
   : cleanup and use macro for gpio-keys
   : add fimd and Panel devices support
 
 - exynos3250-monk
   : enable usb
   : cleanup and use macro for gpio-keys
 
 - exynos5250-snow
   : add power and lid gpio-keys pinctrl
 
 - exynos5420-peach-pit and exynos5800-peach-pi
   : configure regulators for suspend
   : set always on for USB webCam regulators
   : add lid GPIO key device
 
 - exynos5422
   : add support new board Odroid XU3
 
 - dt-bindings
   : add exynos-chipid
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJUwxeqAAoJEA0Cl+kVi2xq4zEP/0K1GVsA6aHUYAqvr4JeJD+Q
 zL+N8TTypbGhvJbHidrkNtWt7jWLSj2KBmv/EloyI5U0WL9z3lAn5hyG366O6plM
 SP2gb+giYLWScV8RM1KYfgpKy4d4EkJc+SfbsZhBF1aWEcxixSLc5iNWoyeUoKV6
 XBVJT4sTJ5E5wsJ2aHYOYbWSF+dFUIEkGGnWW0KbXMnKqxvZeDWjIsJjYeu+Wh8v
 1X03WXK+NFZu+hbQArCRVE27ZOBJJZSJ83T6rCBDi1oCDVbjIbGQ631YU9MlfslE
 9qNJXUVcB/0jVwYxBIZrjIsjQjgJrhA2Zu78Pdb3P5wP+iQipfC+zhqix3o5tJis
 EBF3bWQspdYeGXPV8WNkg3mDJjU3Saf7UwiGEQdvblC1tC72aTcOOOf6fDreNLAg
 8Zcjrsbe5v67Y7yFNvH9dAdeOOocXyp3PPsRwb2lOoXx4DwIU0Rf5f+OnshkgtQf
 SAQgEeB6nuXlfqgqUMLZV4TlKyL4lP1nq3t33hYMBuGtsO1B9KMR3AC8RmVG9hzO
 fKfYhJefzOWkb56k5yu2/40KkdEVZvwik2E2l1DMysjyOlYZ7tHp66XJN+5dtNj0
 u9YYrQF+sCvIOnBL3O2KoPJkZzRSfh5ESQvY+tCPQTlCuDrN4WZJMehmYok6ev06
 qljMpLInQakOA4vo+g3O
 =Yc7r
 -----END PGP SIGNATURE-----

Merge tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt

Merge "Samsung DT updates for v3.20" from Kukjin Kim:

- exynos3250
  : add exynos_usbphy node and hsotg nodes
- exynos3250-rinato
  : enable usb
  : cleanup and use macro for gpio-keys
  : add fimd and Panel devices support
- exynos3250-monk
  : enable usb
  : cleanup and use macro for gpio-keys
- exynos5250-snow
  : add power and lid gpio-keys pinctrl
- exynos5420-peach-pit and exynos5800-peach-pi
  : configure regulators for suspend
  : set always on for USB webCam regulators
  : add lid GPIO key device
- exynos5422
  : add support new board Odroid XU3
- dt-bindings
  : add exynos-chipid

* tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: dts: Configure regulators for suspend on exynos Peach boards
  ARM: dts: Set Peach boards USB WebCam regulators to always on
  ARM: dts: Add lid GPIO key device node for Peach boards
  ARM: dts: Add power and lid GPIO keys pinctrl for exynos5250-snow
  Documentation: dt-bindings: add exynos-chipid binding information
  ARM: dts: add Panel device support for exynos3250-rinato
  ARM: dts: add fimd device support for exynos3250-rinato
  ARM: dts: use macro in gpio keys for exynos3250 boards
  ARM: dts: remove unnecessary gpio-key nodes for exynos3250 boards
  ARM: dts: Enable USB node for exynos3250-monk
  ARM: dts: Enable USB node for exynos3250-rinato
  ARM: dts: Add hsotg node for exynos3250
  ARM: dts: Add exynos_usbphy node for exynos3250
  ARM: dts: Add dts file for Odroid XU3 board

Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
Olof Johansson 2015-01-26 18:41:45 -08:00
commit 7c83955a62
9 changed files with 675 additions and 8 deletions

View File

@ -0,0 +1,12 @@
SAMSUNG Exynos SoCs Chipid driver.
Required properties:
- compatible : Should at least contain "samsung,exynos4210-chipid".
- reg: offset and length of the register set
Example:
chipid@10000000 {
compatible = "samsung,exynos4210-chipid";
reg = <0x10000000 0x100>;
};

View File

@ -105,6 +105,7 @@ dtb-$(CONFIG_ARCH_EXYNOS5) += \
exynos5420-arndale-octa.dtb \
exynos5420-peach-pit.dtb \
exynos5420-smdk5420.dtb \
exynos5422-odroidxu3.dtb \
exynos5440-sd5v1.dtb \
exynos5440-ssdk5440.dtb \
exynos5800-peach-pi.dtb

View File

@ -15,6 +15,7 @@
/dts-v1/;
#include "exynos3250.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
/ {
model = "Samsung Monk board";
@ -37,9 +38,7 @@ gpio_keys {
compatible = "gpio-keys";
power_key {
interrupt-parent = <&gpx2>;
interrupts = <7 0>;
gpios = <&gpx2 7 1>;
gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
label = "power key";
debounce-interval = <10>;
@ -134,6 +133,16 @@ thermistor-battery {
};
};
&exynos_usbphy {
status = "okay";
};
&hsotg {
vusb_d-supply = <&ldo15_reg>;
vusb_a-supply = <&ldo12_reg>;
status = "okay";
};
&i2c_0 {
#address-cells = <1>;
#size-cells = <0>;

View File

@ -15,6 +15,7 @@
/dts-v1/;
#include "exynos3250.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
/ {
model = "Samsung Rinato board";
@ -37,9 +38,7 @@ gpio_keys {
compatible = "gpio-keys";
power_key {
interrupt-parent = <&gpx2>;
interrupts = <7 0>;
gpios = <&gpx2 7 1>;
gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
label = "power key";
debounce-interval = <10>;
@ -125,6 +124,86 @@ thermistor-battery {
};
};
&exynos_usbphy {
status = "okay";
};
&hsotg {
vusb_d-supply = <&ldo15_reg>;
vusb_a-supply = <&ldo12_reg>;
status = "okay";
};
&dsi_0 {
vddcore-supply = <&ldo6_reg>;
vddio-supply = <&ldo6_reg>;
samsung,pll-clock-frequency = <24000000>;
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out: endpoint {
remote-endpoint = <&dsi_in>;
samsung,burst-clock-frequency = <250000000>;
samsung,esc-clock-frequency = <20000000>;
};
};
};
panel@0 {
compatible = "samsung,s6e63j0x03";
reg = <0>;
vdd3-supply = <&ldo16_reg>;
vci-supply = <&ldo20_reg>;
reset-gpios = <&gpe0 1 0>;
te-gpios = <&gpx0 6 0>;
power-on-delay= <30>;
power-off-delay= <120>;
reset-delay = <5>;
init-delay = <100>;
flip-horizontal;
flip-vertical;
panel-width-mm = <29>;
panel-height-mm = <29>;
display-timings {
timing-0 {
clock-frequency = <0>;
hactive = <320>;
vactive = <320>;
hfront-porch = <1>;
hback-porch = <1>;
hsync-len = <1>;
vfront-porch = <150>;
vback-porch = <1>;
vsync-len = <2>;
};
};
port {
dsi_in: endpoint {
remote-endpoint = <&dsi_out>;
};
};
};
};
&fimd {
status = "okay";
i80-if-timings {
cs-setup = <0>;
wr-setup = <0>;
wr-act = <1>;
wr-hold = <0>;
};
};
&i2c_0 {
#address-cells = <1>;
#size-cells = <0>;

View File

@ -255,6 +255,17 @@ dsi_0: dsi@11C80000 {
status = "disabled";
};
hsotg: hsotg@12480000 {
compatible = "snps,dwc2";
reg = <0x12480000 0x20000>;
interrupts = <0 141 0>;
clocks = <&cmu CLK_USBOTG>;
clock-names = "otg";
phys = <&exynos_usbphy 0>;
phy-names = "usb2-phy";
status = "disabled";
};
mshc_0: mshc@12510000 {
compatible = "samsung,exynos5250-dw-mshc";
reg = <0x12510000 0x1000>;
@ -279,6 +290,16 @@ mshc_1: mshc@12520000 {
status = "disabled";
};
exynos_usbphy: exynos-usbphy@125B0000 {
compatible = "samsung,exynos3250-usb2-phy";
reg = <0x125B0000 0x100>;
samsung,pmureg-phandle = <&pmu_system_controller>;
clocks = <&cmu CLK_USBOTG>, <&cmu CLK_SCLK_UPLL>;
clock-names = "phy", "ref";
#phy-cells = <1>;
status = "disabled";
};
amba {
compatible = "arm,amba-bus";
#address-cells = <1>;

View File

@ -33,6 +33,8 @@ chosen {
gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&power_key_irq &lid_irq>;
power {
label = "Power";
@ -540,6 +542,13 @@ &mmc_3 {
};
&pinctrl_0 {
power_key_irq: power-key-irq {
samsung,pins = "gpx1-3";
samsung,pin-function = <0xf>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
ec_irq: ec-irq {
samsung,pins = "gpx1-6";
samsung,pin-function = <0>;
@ -575,6 +584,13 @@ max77686_irq: max77686-irq {
samsung,pin-drv = <0>;
};
lid_irq: lid-irq {
samsung,pins = "gpx3-5";
samsung,pin-function = <0xf>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
hdmi_hpd_irq: hdmi-hpd-irq {
samsung,pins = "gpx3-7";
samsung,pin-function = <0>;

View File

@ -13,6 +13,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/clock/maxim,max77802.h>
#include <dt-bindings/regulator/maxim,max77802.h>
#include "exynos5420.dtsi"
/ {
@ -53,7 +54,7 @@ gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&power_key_irq>;
pinctrl-0 = <&power_key_irq &lid_irq>;
power {
label = "Power";
@ -61,6 +62,15 @@ power {
linux,code = <KEY_POWER>;
gpio-key,wakeup;
};
lid-switch {
label = "Lid";
gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
linux,input-type = <5>; /* EV_SW */
linux,code = <0>; /* SW_LID */
debounce-interval = <1>;
gpio-key,wakeup;
};
};
memory {
@ -192,6 +202,9 @@ buck1_reg: BUCK1 {
regulator-always-on;
regulator-boot-on;
regulator-ramp-delay = <12500>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck2_reg: BUCK2 {
@ -201,6 +214,9 @@ buck2_reg: BUCK2 {
regulator-always-on;
regulator-boot-on;
regulator-ramp-delay = <12500>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck3_reg: BUCK3 {
@ -210,6 +226,9 @@ buck3_reg: BUCK3 {
regulator-always-on;
regulator-boot-on;
regulator-ramp-delay = <12500>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck4_reg: BUCK4 {
@ -219,6 +238,9 @@ buck4_reg: BUCK4 {
regulator-always-on;
regulator-boot-on;
regulator-ramp-delay = <12500>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck5_reg: BUCK5 {
@ -227,6 +249,9 @@ buck5_reg: BUCK5 {
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck6_reg: BUCK6 {
@ -236,6 +261,9 @@ buck6_reg: BUCK6 {
regulator-always-on;
regulator-boot-on;
regulator-ramp-delay = <12500>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck7_reg: BUCK7 {
@ -244,6 +272,9 @@ buck7_reg: BUCK7 {
regulator-max-microvolt = <1350000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
};
};
buck8_reg: BUCK8 {
@ -252,6 +283,9 @@ buck8_reg: BUCK8 {
regulator-max-microvolt = <2850000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck9_reg: BUCK9 {
@ -260,6 +294,9 @@ buck9_reg: BUCK9 {
regulator-max-microvolt = <2000000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
};
};
buck10_reg: BUCK10 {
@ -268,6 +305,9 @@ buck10_reg: BUCK10 {
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
};
};
ldo1_reg: LDO1 {
@ -275,6 +315,10 @@ ldo1_reg: LDO1 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-mode = <MAX77802_OPMODE_LP>;
};
};
ldo2_reg: LDO2 {
@ -288,6 +332,10 @@ ldo3_reg: LDO3 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-mode = <MAX77802_OPMODE_LP>;
};
};
vqmmc_sdcard: ldo4_reg: LDO4 {
@ -295,6 +343,9 @@ vqmmc_sdcard: ldo4_reg: LDO4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo5_reg: LDO5 {
@ -302,6 +353,9 @@ ldo5_reg: LDO5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo6_reg: LDO6 {
@ -309,6 +363,9 @@ ldo6_reg: LDO6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo7_reg: LDO7 {
@ -322,6 +379,9 @@ ldo8_reg: LDO8 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo9_reg: LDO9 {
@ -329,6 +389,10 @@ ldo9_reg: LDO9 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-mode = <MAX77802_OPMODE_LP>;
};
};
ldo10_reg: LDO10 {
@ -336,6 +400,9 @@ ldo10_reg: LDO10 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo11_reg: LDO11 {
@ -343,6 +410,10 @@ ldo11_reg: LDO11 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-mode = <MAX77802_OPMODE_LP>;
};
};
ldo12_reg: LDO12 {
@ -350,6 +421,9 @@ ldo12_reg: LDO12 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo13_reg: LDO13 {
@ -357,6 +431,10 @@ ldo13_reg: LDO13 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-mode = <MAX77802_OPMODE_LP>;
};
};
ldo14_reg: LDO14 {
@ -364,6 +442,9 @@ ldo14_reg: LDO14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo15_reg: LDO15 {
@ -371,6 +452,9 @@ ldo15_reg: LDO15 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo17_reg: LDO17 {
@ -378,6 +462,9 @@ ldo17_reg: LDO17 {
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1400000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo18_reg: LDO18 {
@ -451,6 +538,9 @@ ldo30_reg: LDO30 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo32_reg: LDO32 {
@ -658,6 +748,13 @@ max77802_irq: max77802-irq {
samsung,pin-drv = <0>;
};
lid_irq: lid-irq {
samsung,pins = "gpx3-4";
samsung,pin-function = <0xf>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
hdmi_hpd_irq: hdmi-hpd-irq {
samsung,pins = "gpx3-7";
samsung,pin-function = <0>;
@ -815,6 +912,7 @@ tps65090_fet4: fet4 {
};
tps65090_fet5: fet5 {
regulator-name = "camout";
regulator-always-on;
};
tps65090_fet6: fet6 {
regulator-name = "lcd_vdd";

View File

@ -0,0 +1,332 @@
/*
* Hardkernel Odroid XU3 board device tree source
*
* Copyright (c) 2014 Collabora Ltd.
* 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.
*/
/dts-v1/;
#include "exynos5800.dtsi"
/ {
model = "Hardkernel Odroid XU3";
compatible = "hardkernel,odroid-xu3", "samsung,exynos5800", "samsung,exynos5";
memory {
reg = <0x40000000 0x80000000>;
};
chosen {
linux,stdout-path = &serial_2;
};
fimd@14400000 {
status = "okay";
};
firmware@02073000 {
compatible = "samsung,secure-firmware";
reg = <0x02073000 0x1000>;
};
fixed-rate-clocks {
oscclk {
compatible = "samsung,exynos5420-oscclk";
clock-frequency = <24000000>;
};
};
hsi2c_4: i2c@12CA0000 {
status = "okay";
s2mps11_pmic@66 {
compatible = "samsung,s2mps11-pmic";
reg = <0x66>;
s2mps11,buck2-ramp-delay = <12>;
s2mps11,buck34-ramp-delay = <12>;
s2mps11,buck16-ramp-delay = <12>;
s2mps11,buck6-ramp-enable = <1>;
s2mps11,buck2-ramp-enable = <1>;
s2mps11,buck3-ramp-enable = <1>;
s2mps11,buck4-ramp-enable = <1>;
s2mps11_osc: clocks {
#clock-cells = <1>;
clock-output-names = "s2mps11_ap",
"s2mps11_cp", "s2mps11_bt";
};
regulators {
ldo1_reg: LDO1 {
regulator-name = "vdd_ldo1";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo3_reg: LDO3 {
regulator-name = "vdd_ldo3";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo5_reg: LDO5 {
regulator-name = "vdd_ldo5";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo6_reg: LDO6 {
regulator-name = "vdd_ldo6";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo7_reg: LDO7 {
regulator-name = "vdd_ldo7";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo8_reg: LDO8 {
regulator-name = "vdd_ldo8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo9_reg: LDO9 {
regulator-name = "vdd_ldo9";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
};
ldo10_reg: LDO10 {
regulator-name = "vdd_ldo10";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo11_reg: LDO11 {
regulator-name = "vdd_ldo11";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo12_reg: LDO12 {
regulator-name = "vdd_ldo12";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo13_reg: LDO13 {
regulator-name = "vdd_ldo13";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
ldo15_reg: LDO15 {
regulator-name = "vdd_ldo15";
regulator-min-microvolt = <3100000>;
regulator-max-microvolt = <3100000>;
regulator-always-on;
};
ldo16_reg: LDO16 {
regulator-name = "vdd_ldo16";
regulator-min-microvolt = <2200000>;
regulator-max-microvolt = <2200000>;
regulator-always-on;
};
ldo17_reg: LDO17 {
regulator-name = "tsp_avdd";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
ldo19_reg: LDO19 {
regulator-name = "vdd_sd";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
ldo24_reg: LDO24 {
regulator-name = "tsp_io";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
buck1_reg: BUCK1 {
regulator-name = "vdd_mif";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-boot-on;
};
buck2_reg: BUCK2 {
regulator-name = "vdd_arm";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
};
buck3_reg: BUCK3 {
regulator-name = "vdd_int";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1400000>;
regulator-always-on;
regulator-boot-on;
};
buck4_reg: BUCK4 {
regulator-name = "vdd_g3d";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1400000>;
regulator-always-on;
regulator-boot-on;
};
buck5_reg: BUCK5 {
regulator-name = "vdd_mem";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1400000>;
regulator-always-on;
regulator-boot-on;
};
buck6_reg: BUCK6 {
regulator-name = "vdd_kfc";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
};
buck7_reg: BUCK7 {
regulator-name = "vdd_1.0v_ldo";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
};
buck8_reg: BUCK8 {
regulator-name = "vdd_1.8v_ldo";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
};
buck9_reg: BUCK9 {
regulator-name = "vdd_2.8v_ldo";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3750000>;
regulator-always-on;
regulator-boot-on;
};
buck10_reg: BUCK10 {
regulator-name = "vdd_vmem";
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
regulator-always-on;
regulator-boot-on;
};
};
};
};
i2c_2: i2c@12C80000 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
status = "okay";
hdmiddc@50 {
compatible = "samsung,exynos4210-hdmiddc";
reg = <0x50>;
};
};
rtc@101E0000 {
status = "okay";
};
};
&hdmi {
status = "okay";
hpd-gpio = <&gpx3 7 0>;
pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd_irq>;
vdd_osc-supply = <&ldo7_reg>;
vdd_pll-supply = <&ldo6_reg>;
vdd-supply = <&ldo6_reg>;
};
&mfc {
samsung,mfc-r = <0x43000000 0x800000>;
samsung,mfc-l = <0x51000000 0x800000>;
};
&mmc_0 {
status = "okay";
broken-cd;
card-detect-delay = <200>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <0 4>;
samsung,dw-mshc-ddr-timing = <0 2>;
pinctrl-names = "default";
pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
bus-width = <8>;
cap-mmc-highspeed;
};
&mmc_2 {
status = "okay";
card-detect-delay = <200>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <0 4>;
samsung,dw-mshc-ddr-timing = <0 2>;
pinctrl-names = "default";
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
bus-width = <4>;
cap-sd-highspeed;
};
&pinctrl_0 {
hdmi_hpd_irq: hdmi-hpd-irq {
samsung,pins = "gpx3-7";
samsung,pin-function = <0>;
samsung,pin-pud = <1>;
samsung,pin-drv = <0>;
};
};
&usbdrd_dwc3_0 {
dr_mode = "host";
};
&usbdrd_dwc3_1 {
dr_mode = "otg";
};

View File

@ -13,6 +13,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/clock/maxim,max77802.h>
#include <dt-bindings/regulator/maxim,max77802.h>
#include "exynos5800.dtsi"
/ {
@ -52,7 +53,7 @@ gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&power_key_irq>;
pinctrl-0 = <&power_key_irq &lid_irq>;
power {
label = "Power";
@ -60,6 +61,16 @@ power {
linux,code = <KEY_POWER>;
gpio-key,wakeup;
};
lid-switch {
label = "Lid";
gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
linux,input-type = <5>; /* EV_SW */
linux,code = <0>; /* SW_LID */
debounce-interval = <1>;
gpio-key,wakeup;
};
};
memory {
@ -191,6 +202,9 @@ buck1_reg: BUCK1 {
regulator-always-on;
regulator-boot-on;
regulator-ramp-delay = <12500>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck2_reg: BUCK2 {
@ -200,6 +214,9 @@ buck2_reg: BUCK2 {
regulator-always-on;
regulator-boot-on;
regulator-ramp-delay = <12500>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck3_reg: BUCK3 {
@ -209,6 +226,9 @@ buck3_reg: BUCK3 {
regulator-always-on;
regulator-boot-on;
regulator-ramp-delay = <12500>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck4_reg: BUCK4 {
@ -218,6 +238,9 @@ buck4_reg: BUCK4 {
regulator-always-on;
regulator-boot-on;
regulator-ramp-delay = <12500>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck5_reg: BUCK5 {
@ -226,6 +249,9 @@ buck5_reg: BUCK5 {
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck6_reg: BUCK6 {
@ -235,6 +261,9 @@ buck6_reg: BUCK6 {
regulator-always-on;
regulator-boot-on;
regulator-ramp-delay = <12500>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck7_reg: BUCK7 {
@ -243,6 +272,9 @@ buck7_reg: BUCK7 {
regulator-max-microvolt = <1350000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
};
};
buck8_reg: BUCK8 {
@ -251,6 +283,9 @@ buck8_reg: BUCK8 {
regulator-max-microvolt = <2850000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck9_reg: BUCK9 {
@ -259,6 +294,9 @@ buck9_reg: BUCK9 {
regulator-max-microvolt = <2000000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
};
};
buck10_reg: BUCK10 {
@ -267,6 +305,9 @@ buck10_reg: BUCK10 {
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
regulator-state-mem {
regulator-on-in-suspend;
};
};
ldo1_reg: LDO1 {
@ -274,6 +315,10 @@ ldo1_reg: LDO1 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-mode = <MAX77802_OPMODE_LP>;
};
};
ldo2_reg: LDO2 {
@ -287,6 +332,10 @@ ldo3_reg: LDO3 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-mode = <MAX77802_OPMODE_LP>;
};
};
vqmmc_sdcard: ldo4_reg: LDO4 {
@ -294,6 +343,9 @@ vqmmc_sdcard: ldo4_reg: LDO4 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo5_reg: LDO5 {
@ -301,6 +353,9 @@ ldo5_reg: LDO5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo6_reg: LDO6 {
@ -308,6 +363,9 @@ ldo6_reg: LDO6 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo7_reg: LDO7 {
@ -321,6 +379,9 @@ ldo8_reg: LDO8 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo9_reg: LDO9 {
@ -328,6 +389,10 @@ ldo9_reg: LDO9 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-mode = <MAX77802_OPMODE_LP>;
};
};
ldo10_reg: LDO10 {
@ -335,6 +400,9 @@ ldo10_reg: LDO10 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo11_reg: LDO11 {
@ -342,6 +410,10 @@ ldo11_reg: LDO11 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-mode = <MAX77802_OPMODE_LP>;
};
};
ldo12_reg: LDO12 {
@ -349,6 +421,9 @@ ldo12_reg: LDO12 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo13_reg: LDO13 {
@ -356,6 +431,10 @@ ldo13_reg: LDO13 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-on-in-suspend;
regulator-mode = <MAX77802_OPMODE_LP>;
};
};
ldo14_reg: LDO14 {
@ -363,6 +442,9 @@ ldo14_reg: LDO14 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo15_reg: LDO15 {
@ -370,6 +452,9 @@ ldo15_reg: LDO15 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo17_reg: LDO17 {
@ -377,6 +462,9 @@ ldo17_reg: LDO17 {
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1400000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo18_reg: LDO18 {
@ -450,6 +538,9 @@ ldo30_reg: LDO30 {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo32_reg: LDO32 {
@ -646,6 +737,13 @@ max77802_irq: max77802-irq {
samsung,pin-drv = <0>;
};
lid_irq: lid-irq {
samsung,pins = "gpx3-4";
samsung,pin-function = <0xf>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
hdmi_hpd_irq: hdmi-hpd-irq {
samsung,pins = "gpx3-7";
samsung,pin-function = <0>;
@ -803,6 +901,7 @@ tps65090_fet4: fet4 {
};
tps65090_fet5: fet5 {
regulator-name = "camout";
regulator-always-on;
};
tps65090_fet6: fet6 {
regulator-name = "lcd_vdd";