Samsung DT updates for v4.4

- New board support
   : add exynos5250-snow-rev5 DT file to support Snow Rev5+ board
   : add exynos5422-odroidxu4 DT file to support Odroid XU4 board
   : split exynos5422-odroidxu3-audio DT file from odroidxu3-common
 
 - USE GPIO constants for flags cells for exynos boards
 - fix cpu compatible value to 'arm926ej-s' for s3c2416
 
 - add DMA support for serial ports for exynos4
 - add suspend opp for exynos4412
 - remove regulator-compatible usage for exynos4412-trats2
 
 - enable EC vboot context support for Peach boards
 - move display-timings node to DP for exynos5250-arndale, smdk5250 and smdk5420
 
 - for exynos4412-odroid/odroidu3
   : unify voltage regulator style and
   : remove redundant pinctrl settings
   : add pwm-fan node and use it as a colling device
 
 - for exynos5422-odroidxu3
   : fix power off method and LEDs
 
 - dt-bindings
   : grounded AC0KB pin on S2MPS11
   : entry how to use PWM FAN as a cooling device
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJWHBBhAAoJEA0Cl+kVi2xqTYEP/jutsYKeQE2/A3g3zOMHfuYv
 p6Q9m0RB5rug7KOmT10nqAJmBpj3FZZgSTWf3AUfPCNxzei1DY9LNknHPqOIHY4S
 HfbDx0qA2U5Jta02Bo9SE3pgkODJX/p1YAmiEbVOwiKS6vuFysykX0QvidBSCYbk
 tqfqb6LRsdglIItKs2acUyLoZeldaYdDOvkL6hrHiwjz8njUGoSYLITkorfrBSIv
 jcppiOXAZqxsjgmEho86u7jbqbC66a3yH9bMgge45t98rE5vu3WIoA8082jlQXpt
 JnGtNfaTb8DECwL7T0++Ohk8hsDHood3WEmuoYAHUEq5DMotS//LZ4n2xDNWXVbN
 s//cRrETBIMWk/AUZdNYbtbNGVOKYz78xL7EiJSBYby+YdYFi3tpRJ0/+9bHEglD
 URwxOUb1320S2QlFULN+50x6VxPPbbAU1EmFH708RXDFQIJMLFUIANGfck0CuFah
 PJaAChyAMLbqV9K7y/FfqDobxZAa1y2eAYWyL4eLYfxeOhY+PhhRfMD8pWgY1ZW4
 vgHqpVADJvuZ5d7U3JgYclTQ0J6ILrDoCP5/E5C9TvYkBP5SV4KiEqvZ2Hklzxv7
 9vdsfWppnYRTH2moo0tokLNRYXewzW7svq/gKYXY0VjERjnmCfrjMRXZ76q3WQ7Y
 gy2KJDH/jxwlIdsGEDG6
 =FqOp
 -----END PGP SIGNATURE-----

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

Merge "Samsung DT updates for v4.4" from Kukjin Kim:

- New board support
  : add exynos5250-snow-rev5 DT file to support Snow Rev5+ board
  : add exynos5422-odroidxu4 DT file to support Odroid XU4 board
  : split exynos5422-odroidxu3-audio DT file from odroidxu3-common

- USE GPIO constants for flags cells for exynos boards
- fix cpu compatible value to 'arm926ej-s' for s3c2416

- add DMA support for serial ports for exynos4
- add suspend opp for exynos4412
- remove regulator-compatible usage for exynos4412-trats2

- enable EC vboot context support for Peach boards
- move display-timings node to DP for exynos5250-arndale, smdk5250 and smdk5420

- for exynos4412-odroid/odroidu3
  : unify voltage regulator style and
  : remove redundant pinctrl settings
  : add pwm-fan node and use it as a colling device

- for exynos5422-odroidxu3
  : fix power off method and LEDs

- dt-bindings
  : grounded AC0KB pin on S2MPS11
  : entry how to use PWM FAN as a cooling device

* tag 'samsung-dt-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: (22 commits)
  ARM: dts: Use GPIO constants for flags cells in exynos5440 boards
  ARM: dts: Use GPIO constants for flags cells in exynos5420/5422/5800 boards
  ARM: dts: Use GPIO constants for flags cells in exynos4412 boards
  ARM: dts: Use GPIO constants for flags cells in exynos4120 boards
  ARM: dts: Use GPIO constants for flags cells in exynos3250 boards
  ARM: dts: Enable EC vboot context support on Peach boards
  ARM: dts: Remove regulator-compatible usage in exynos4412-trats2
  ARM: dts: Move display-timings node from fimd to dp in exynos5250-arndale, smdk5250 and smdk5420
  ARM: dts: Add Exynos5250 Snow Rev5+ support on exynos5250-snow-rev5
  ARM: dts: Unify voltage regulator style in exynos4412-odroid
  ARM: dts: Remove redundant pinctrl settings in exynos4412-odroid
  ARM: dts: Fix cpu compatible value for s3c2416
  ARM: dts: Add support Odroid XU4 board for exynos5422-odroidxu4
  ARM: dts: Split audio configuration to separate exynos5422-odroidxu3-audio
  ARM: dts: Fix power off method for exynos5422-odroidxu3-common
  dt-bindings: Document grounded ACOKB pin on S2MPS11
  ARM: dts: use pwm-fan device as a cooling device for exynos4412-odroidu3
  ARM: dts: Add pwm-fan node for exynos4412-odroidu3
  dt-bindings: Documentation entry to explain how to use PWM FAN as a cooling device
  ARM: dts: add suspend opp to exynos4412
  ...
This commit is contained in:
Arnd Bergmann 2015-10-14 17:57:03 +02:00
commit b1ee27d44d
33 changed files with 1207 additions and 969 deletions

View file

@ -3,10 +3,35 @@ Bindings for a fan connected to the PWM lines
Required properties: Required properties:
- compatible : "pwm-fan" - compatible : "pwm-fan"
- pwms : the PWM that is used to control the PWM fan - pwms : the PWM that is used to control the PWM fan
- cooling-levels : PWM duty cycle values in a range from 0 to 255
which correspond to thermal cooling states
Example: Example:
pwm-fan { fan0: pwm-fan {
compatible = "pwm-fan"; compatible = "pwm-fan";
status = "okay"; cooling-min-state = <0>;
cooling-max-state = <3>;
#cooling-cells = <2>;
pwms = <&pwm 0 10000 0>; pwms = <&pwm 0 10000 0>;
cooling-levels = <0 102 170 230>;
};
thermal-zones {
cpu_thermal: cpu-thermal {
thermal-sensors = <&tmu 0>;
polling-delay-passive = <0>;
polling-delay = <0>;
trips {
cpu_alert1: cpu-alert1 {
temperature = <100000>; /* millicelsius */
hysteresis = <2000>; /* millicelsius */
type = "passive";
};
};
cooling-maps {
map0 {
trip = <&cpu_alert1>;
cooling-device = <&fan0 0 1>;
};
};
}; };

View file

@ -15,6 +15,10 @@ Optional properties:
- interrupt-parent: Specifies the phandle of the interrupt controller to which - interrupt-parent: Specifies the phandle of the interrupt controller to which
the interrupts from s2mps11 are delivered to. the interrupts from s2mps11 are delivered to.
- interrupts: Interrupt specifiers for interrupt sources. - interrupts: Interrupt specifiers for interrupt sources.
- samsung,s2mps11-acokb-ground: Indicates that ACOKB pin of S2MPS11 PMIC is
connected to the ground so the PMIC must manually set PWRHOLD bit in CTRL1
register to turn off the power. Usually the ACOKB is pulled up to VBATT so
when PWRHOLD pin goes low, the rising ACOKB will trigger power off.
Optional nodes: Optional nodes:
- clocks: s2mps11, s2mps13 and s5m8767 provide three(AP/CP/BT) buffered 32.768 - clocks: s2mps11, s2mps13 and s5m8767 provide three(AP/CP/BT) buffered 32.768

View file

@ -118,6 +118,7 @@ dtb-$(CONFIG_ARCH_EXYNOS5) += \
exynos5250-arndale.dtb \ exynos5250-arndale.dtb \
exynos5250-smdk5250.dtb \ exynos5250-smdk5250.dtb \
exynos5250-snow.dtb \ exynos5250-snow.dtb \
exynos5250-snow-rev5.dtb \
exynos5250-spring.dtb \ exynos5250-spring.dtb \
exynos5260-xyref5260.dtb \ exynos5260-xyref5260.dtb \
exynos5410-smdk5410.dtb \ exynos5410-smdk5410.dtb \
@ -126,6 +127,7 @@ dtb-$(CONFIG_ARCH_EXYNOS5) += \
exynos5420-smdk5420.dtb \ exynos5420-smdk5420.dtb \
exynos5422-odroidxu3.dtb \ exynos5422-odroidxu3.dtb \
exynos5422-odroidxu3-lite.dtb \ exynos5422-odroidxu3-lite.dtb \
exynos5422-odroidxu4.dtb \
exynos5440-sd5v1.dtb \ exynos5440-sd5v1.dtb \
exynos5440-ssdk5440.dtb \ exynos5440-ssdk5440.dtb \
exynos5800-peach-pi.dtb exynos5800-peach-pi.dtb

View file

@ -52,13 +52,13 @@
regulator-name = "V_EMMC_2.8V-fixed"; regulator-name = "V_EMMC_2.8V-fixed";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
gpio = <&gpk0 2 0>; gpio = <&gpk0 2 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
}; };
i2c_max77836: i2c-gpio-0 { i2c_max77836: i2c-gpio-0 {
compatible = "i2c-gpio"; compatible = "i2c-gpio";
gpios = <&gpd0 2 0>, <&gpd0 3 0>; gpios = <&gpd0 2 GPIO_ACTIVE_HIGH>, <&gpd0 3 GPIO_ACTIVE_HIGH>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -266,14 +266,14 @@
regulator-name = "V_EMMC_1.8V"; regulator-name = "V_EMMC_1.8V";
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
samsung,ext-control-gpios = <&gpk0 2 0>; samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
}; };
ldo12_reg: LDO12 { ldo12_reg: LDO12 {
regulator-name = "V_EMMC_2.8V"; regulator-name = "V_EMMC_2.8V";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
samsung,ext-control-gpios = <&gpk0 2 0>; samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
}; };
ldo13_reg: LDO13 { ldo13_reg: LDO13 {

View file

@ -49,7 +49,7 @@
i2c_max77836: i2c-gpio-0 { i2c_max77836: i2c-gpio-0 {
compatible = "i2c-gpio"; compatible = "i2c-gpio";
gpios = <&gpd0 2 0>, <&gpd0 3 0>; gpios = <&gpd0 2 GPIO_ACTIVE_HIGH>, <&gpd0 3 GPIO_ACTIVE_HIGH>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -188,8 +188,8 @@
reg = <0>; reg = <0>;
vdd3-supply = <&ldo16_reg>; vdd3-supply = <&ldo16_reg>;
vci-supply = <&ldo20_reg>; vci-supply = <&ldo20_reg>;
reset-gpios = <&gpe0 1 0>; reset-gpios = <&gpe0 1 GPIO_ACTIVE_HIGH>;
te-gpios = <&gpx0 6 0>; te-gpios = <&gpx0 6 GPIO_ACTIVE_HIGH>;
power-on-delay= <30>; power-on-delay= <30>;
power-off-delay= <120>; power-off-delay= <120>;
reset-delay = <5>; reset-delay = <5>;
@ -368,14 +368,14 @@
regulator-name = "V_EMMC_1.8V"; regulator-name = "V_EMMC_1.8V";
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
samsung,ext-control-gpios = <&gpk0 2 0>; samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
}; };
ldo12_reg: LDO12 { ldo12_reg: LDO12 {
regulator-name = "V_EMMC_2.8V"; regulator-name = "V_EMMC_2.8V";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
samsung,ext-control-gpios = <&gpk0 2 0>; samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
}; };
ldo13_reg: LDO13 { ldo13_reg: LDO13 {

View file

@ -431,6 +431,8 @@
interrupts = <0 52 0>; interrupts = <0 52 0>;
clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>; clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
clock-names = "uart", "clk_uart_baud0"; clock-names = "uart", "clk_uart_baud0";
dmas = <&pdma0 15>, <&pdma0 16>;
dma-names = "rx", "tx";
status = "disabled"; status = "disabled";
}; };
@ -440,6 +442,8 @@
interrupts = <0 53 0>; interrupts = <0 53 0>;
clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>; clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>;
clock-names = "uart", "clk_uart_baud0"; clock-names = "uart", "clk_uart_baud0";
dmas = <&pdma1 15>, <&pdma1 16>;
dma-names = "rx", "tx";
status = "disabled"; status = "disabled";
}; };
@ -449,6 +453,8 @@
interrupts = <0 54 0>; interrupts = <0 54 0>;
clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>; clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
clock-names = "uart", "clk_uart_baud0"; clock-names = "uart", "clk_uart_baud0";
dmas = <&pdma0 17>, <&pdma0 18>;
dma-names = "rx", "tx";
status = "disabled"; status = "disabled";
}; };
@ -458,6 +464,8 @@
interrupts = <0 55 0>; interrupts = <0 55 0>;
clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>; clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>;
clock-names = "uart", "clk_uart_baud0"; clock-names = "uart", "clk_uart_baud0";
dmas = <&pdma1 17>, <&pdma1 18>;
dma-names = "rx", "tx";
status = "disabled"; status = "disabled";
}; };

View file

@ -16,6 +16,7 @@
/dts-v1/; /dts-v1/;
#include "exynos4210.dtsi" #include "exynos4210.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h> #include <dt-bindings/input/input.h>
/ { / {
@ -45,7 +46,7 @@
regulator-name = "VMEM_VDD_2.8V"; regulator-name = "VMEM_VDD_2.8V";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
gpio = <&gpx1 1 0>; gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
}; };
}; };
@ -57,35 +58,35 @@
up { up {
label = "Up"; label = "Up";
gpios = <&gpx2 0 1>; gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_UP>; linux,code = <KEY_UP>;
gpio-key,wakeup; gpio-key,wakeup;
}; };
down { down {
label = "Down"; label = "Down";
gpios = <&gpx2 1 1>; gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
linux,code = <KEY_DOWN>; linux,code = <KEY_DOWN>;
gpio-key,wakeup; gpio-key,wakeup;
}; };
back { back {
label = "Back"; label = "Back";
gpios = <&gpx1 7 1>; gpios = <&gpx1 7 GPIO_ACTIVE_LOW>;
linux,code = <KEY_BACK>; linux,code = <KEY_BACK>;
gpio-key,wakeup; gpio-key,wakeup;
}; };
home { home {
label = "Home"; label = "Home";
gpios = <&gpx1 6 1>; gpios = <&gpx1 6 GPIO_ACTIVE_LOW>;
linux,code = <KEY_HOME>; linux,code = <KEY_HOME>;
gpio-key,wakeup; gpio-key,wakeup;
}; };
menu { menu {
label = "Menu"; label = "Menu";
gpios = <&gpx1 5 1>; gpios = <&gpx1 5 GPIO_ACTIVE_LOW>;
linux,code = <KEY_MENU>; linux,code = <KEY_MENU>;
gpio-key,wakeup; gpio-key,wakeup;
}; };
@ -94,7 +95,7 @@
leds { leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
status { status {
gpios = <&gpx1 3 1>; gpios = <&gpx1 3 GPIO_ACTIVE_LOW>;
linux,default-trigger = "heartbeat"; linux,default-trigger = "heartbeat";
}; };
}; };

View file

@ -16,6 +16,7 @@
/dts-v1/; /dts-v1/;
#include "exynos4210.dtsi" #include "exynos4210.dtsi"
#include <dt-bindings/gpio/gpio.h>
/ { / {
model = "Samsung smdkv310 evaluation board based on Exynos4210"; model = "Samsung smdkv310 evaluation board based on Exynos4210";
@ -182,7 +183,7 @@
}; };
&spi_2 { &spi_2 {
cs-gpios = <&gpc1 2 0>; cs-gpios = <&gpc1 2 GPIO_ACTIVE_HIGH>;
status = "okay"; status = "okay";
w25x80@0 { w25x80@0 {

View file

@ -14,6 +14,7 @@
/dts-v1/; /dts-v1/;
#include "exynos4210.dtsi" #include "exynos4210.dtsi"
#include <dt-bindings/gpio/gpio.h>
/ { / {
model = "Samsung Trats based on Exynos4210"; model = "Samsung Trats based on Exynos4210";
@ -39,7 +40,7 @@
regulator-name = "VMEM_VDD_2.8V"; regulator-name = "VMEM_VDD_2.8V";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
gpio = <&gpk0 2 0>; gpio = <&gpk0 2 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
}; };
@ -48,7 +49,7 @@
regulator-name = "TSP_FIXED_VOLTAGES"; regulator-name = "TSP_FIXED_VOLTAGES";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
gpio = <&gpl0 3 0>; gpio = <&gpl0 3 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
}; };
@ -57,7 +58,7 @@
regulator-name = "8M_AF_2.8V_EN"; regulator-name = "8M_AF_2.8V_EN";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
gpio = <&gpk1 1 0>; gpio = <&gpk1 1 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
}; };
@ -66,7 +67,7 @@
regulator-name = "CAM_IO_EN"; regulator-name = "CAM_IO_EN";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
gpio = <&gpe2 1 0>; gpio = <&gpe2 1 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
}; };
@ -75,7 +76,7 @@
regulator-name = "8M_1.2V_EN"; regulator-name = "8M_1.2V_EN";
regulator-min-microvolt = <1200000>; regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>; regulator-max-microvolt = <1200000>;
gpio = <&gpe2 5 0>; gpio = <&gpe2 5 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
}; };
@ -84,7 +85,7 @@
regulator-name = "VT_CORE_1.5V"; regulator-name = "VT_CORE_1.5V";
regulator-min-microvolt = <1500000>; regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>; regulator-max-microvolt = <1500000>;
gpio = <&gpe2 2 0>; gpio = <&gpe2 2 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
}; };
}; };
@ -93,21 +94,21 @@
compatible = "gpio-keys"; compatible = "gpio-keys";
vol-down-key { vol-down-key {
gpios = <&gpx2 1 1>; gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
linux,code = <114>; linux,code = <114>;
label = "volume down"; label = "volume down";
debounce-interval = <10>; debounce-interval = <10>;
}; };
vol-up-key { vol-up-key {
gpios = <&gpx2 0 1>; gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
linux,code = <115>; linux,code = <115>;
label = "volume up"; label = "volume up";
debounce-interval = <10>; debounce-interval = <10>;
}; };
power-key { power-key {
gpios = <&gpx2 7 1>; gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
linux,code = <116>; linux,code = <116>;
label = "power"; label = "power";
debounce-interval = <10>; debounce-interval = <10>;
@ -115,7 +116,7 @@
}; };
ok-key { ok-key {
gpios = <&gpx3 5 1>; gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
linux,code = <352>; linux,code = <352>;
label = "ok"; label = "ok";
debounce-interval = <10>; debounce-interval = <10>;
@ -218,7 +219,7 @@
compatible = "samsung,s6e8aa0"; compatible = "samsung,s6e8aa0";
vdd3-supply = <&vcclcd_reg>; vdd3-supply = <&vcclcd_reg>;
vci-supply = <&vlcd_reg>; vci-supply = <&vlcd_reg>;
reset-gpios = <&gpy4 5 0>; reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
power-on-delay= <50>; power-on-delay= <50>;
reset-delay = <100>; reset-delay = <100>;
init-delay = <100>; init-delay = <100>;
@ -304,9 +305,9 @@
max8997,pmic-ignore-gpiodvs-side-effect; max8997,pmic-ignore-gpiodvs-side-effect;
max8997,pmic-buck125-default-dvs-idx = <0>; max8997,pmic-buck125-default-dvs-idx = <0>;
max8997,pmic-buck125-dvs-gpios = <&gpx0 5 0>, max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
<&gpx0 6 0>, <&gpx0 6 GPIO_ACTIVE_HIGH>,
<&gpl0 0 0>; <&gpl0 0 GPIO_ACTIVE_HIGH>;
max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>, max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
<1250000>, <1200000>, <1250000>, <1200000>,

View file

@ -14,6 +14,7 @@
/dts-v1/; /dts-v1/;
#include "exynos4210.dtsi" #include "exynos4210.dtsi"
#include <dt-bindings/gpio/gpio.h>
/ { / {
model = "Samsung Universal C210 based on Exynos4210 rev0"; model = "Samsung Universal C210 based on Exynos4210 rev0";
@ -65,7 +66,7 @@
regulator-name = "VMEM_VDD_2_8V"; regulator-name = "VMEM_VDD_2_8V";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
gpio = <&gpe1 3 0>; gpio = <&gpe1 3 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
}; };
@ -73,21 +74,21 @@
compatible = "gpio-keys"; compatible = "gpio-keys";
vol-up-key { vol-up-key {
gpios = <&gpx2 0 1>; gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
linux,code = <115>; linux,code = <115>;
label = "volume up"; label = "volume up";
debounce-interval = <1>; debounce-interval = <1>;
}; };
vol-down-key { vol-down-key {
gpios = <&gpx2 1 1>; gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
linux,code = <114>; linux,code = <114>;
label = "volume down"; label = "volume down";
debounce-interval = <1>; debounce-interval = <1>;
}; };
config-key { config-key {
gpios = <&gpx2 2 1>; gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
linux,code = <171>; linux,code = <171>;
label = "config"; label = "config";
debounce-interval = <1>; debounce-interval = <1>;
@ -95,14 +96,14 @@
}; };
camera-key { camera-key {
gpios = <&gpx2 3 1>; gpios = <&gpx2 3 GPIO_ACTIVE_LOW>;
linux,code = <212>; linux,code = <212>;
label = "camera"; label = "camera";
debounce-interval = <1>; debounce-interval = <1>;
}; };
power-key { power-key {
gpios = <&gpx2 7 1>; gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
linux,code = <116>; linux,code = <116>;
label = "power"; label = "power";
debounce-interval = <1>; debounce-interval = <1>;
@ -110,7 +111,7 @@
}; };
ok-key { ok-key {
gpios = <&gpx3 5 1>; gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
linux,code = <352>; linux,code = <352>;
label = "ok"; label = "ok";
debounce-interval = <1>; debounce-interval = <1>;
@ -122,7 +123,7 @@
regulator-name = "TSP_2_8V"; regulator-name = "TSP_2_8V";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
gpio = <&gpe2 3 0>; gpio = <&gpe2 3 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
}; };
@ -131,17 +132,17 @@
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
gpio-sck = <&gpy3 1 0>; gpio-sck = <&gpy3 1 GPIO_ACTIVE_HIGH>;
gpio-mosi = <&gpy3 3 0>; gpio-mosi = <&gpy3 3 GPIO_ACTIVE_HIGH>;
num-chipselects = <1>; num-chipselects = <1>;
cs-gpios = <&gpy4 3 0>; cs-gpios = <&gpy4 3 GPIO_ACTIVE_HIGH>;
lcd@0 { lcd@0 {
compatible = "samsung,ld9040"; compatible = "samsung,ld9040";
reg = <0>; reg = <0>;
vdd3-supply = <&ldo7_reg>; vdd3-supply = <&ldo7_reg>;
vci-supply = <&ldo17_reg>; vci-supply = <&ldo17_reg>;
reset-gpios = <&gpy4 5 0>; reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
spi-max-frequency = <1200000>; spi-max-frequency = <1200000>;
spi-cpol; spi-cpol;
spi-cpha; spi-cpha;
@ -218,13 +219,13 @@
regulator-name = "HDMI_5V"; regulator-name = "HDMI_5V";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
gpio = <&gpe0 1 0>; gpio = <&gpe0 1 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
}; };
hdmi_ddc: i2c-ddc { hdmi_ddc: i2c-ddc {
compatible = "i2c-gpio"; compatible = "i2c-gpio";
gpios = <&gpe4 2 0 &gpe4 3 0>; gpios = <&gpe4 2 GPIO_ACTIVE_HIGH &gpe4 3 GPIO_ACTIVE_HIGH>;
i2c-gpio,delay-us = <100>; i2c-gpio,delay-us = <100>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -267,7 +268,7 @@
}; };
&hdmi { &hdmi {
hpd-gpio = <&gpx3 7 0>; hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd>; pinctrl-0 = <&hdmi_hpd>;
hdmi-en-supply = <&hdmi_en>; hdmi-en-supply = <&hdmi_en>;
@ -311,7 +312,8 @@
compatible = "maxim,max8952"; compatible = "maxim,max8952";
reg = <0x60>; reg = <0x60>;
max8952,vid-gpios = <&gpx0 3 0>, <&gpx0 4 0>; max8952,vid-gpios = <&gpx0 3 GPIO_ACTIVE_HIGH>,
<&gpx0 4 GPIO_ACTIVE_HIGH>;
max8952,default-mode = <0>; max8952,default-mode = <0>;
max8952,dvs-mode-microvolt = <1250000>, <1200000>, max8952,dvs-mode-microvolt = <1250000>, <1200000>,
<1050000>, <950000>; <1050000>, <950000>;
@ -330,13 +332,13 @@
reg = <0x66>; reg = <0x66>;
max8998,pmic-buck1-default-dvs-idx = <0>; max8998,pmic-buck1-default-dvs-idx = <0>;
max8998,pmic-buck1-dvs-gpios = <&gpx0 5 0>, max8998,pmic-buck1-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
<&gpx0 6 0>; <&gpx0 6 GPIO_ACTIVE_HIGH>;
max8998,pmic-buck1-dvs-voltage = <1100000>, <1000000>, max8998,pmic-buck1-dvs-voltage = <1100000>, <1000000>,
<1100000>, <1000000>; <1100000>, <1000000>;
max8998,pmic-buck2-default-dvs-idx = <0>; max8998,pmic-buck2-default-dvs-idx = <0>;
max8998,pmic-buck2-dvs-gpio = <&gpe2 0 0>; max8998,pmic-buck2-dvs-gpio = <&gpe2 0 GPIO_ACTIVE_HIGH>;
max8998,pmic-buck2-dvs-voltage = <1200000>, <1100000>; max8998,pmic-buck2-dvs-voltage = <1200000>, <1100000>;
regulators { regulators {
@ -551,7 +553,7 @@
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>; pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
pinctrl-names = "default"; pinctrl-names = "default";
vmmc-supply = <&ldo5_reg>; vmmc-supply = <&ldo5_reg>;
cd-gpios = <&gpx3 4 0>; cd-gpios = <&gpx3 4 GPIO_ACTIVE_HIGH>;
cd-inverted; cd-inverted;
status = "okay"; status = "okay";
}; };

View file

@ -11,6 +11,7 @@
#include <dt-bindings/input/input.h> #include <dt-bindings/input/input.h>
#include <dt-bindings/clock/maxim,max77686.h> #include <dt-bindings/clock/maxim,max77686.h>
#include "exynos4412.dtsi" #include "exynos4412.dtsi"
#include <dt-bindings/gpio/gpio.h>
/ { / {
chosen { chosen {
@ -30,7 +31,7 @@
power_key { power_key {
interrupt-parent = <&gpx1>; interrupt-parent = <&gpx1>;
interrupts = <3 0>; interrupts = <3 0>;
gpios = <&gpx1 3 1>; gpios = <&gpx1 3 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>; linux,code = <KEY_POWER>;
label = "power key"; label = "power key";
debounce-interval = <10>; debounce-interval = <10>;
@ -70,7 +71,7 @@
pinctrl-0 = <&sd1_cd>; pinctrl-0 = <&sd1_cd>;
pinctrl-names = "default"; pinctrl-names = "default";
compatible = "mmc-pwrseq-emmc"; compatible = "mmc-pwrseq-emmc";
reset-gpios = <&gpk1 2 1>; reset-gpios = <&gpk1 2 GPIO_ACTIVE_LOW>;
}; };
camera { camera {
@ -181,7 +182,7 @@
}; };
&hdmi { &hdmi {
hpd-gpio = <&gpx3 7 0>; hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd>; pinctrl-0 = <&hdmi_hpd>;
vdd-supply = <&ldo8_reg>; vdd-supply = <&ldo8_reg>;
@ -199,8 +200,6 @@
}; };
&i2c_0 { &i2c_0 {
pinctrl-0 = <&i2c0_bus>;
pinctrl-names = "default";
samsung,i2c-sda-delay = <100>; samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <400000>; samsung,i2c-max-bus-freq = <400000>;
status = "okay"; status = "okay";
@ -209,9 +208,9 @@
compatible = "smsc,usb3503"; compatible = "smsc,usb3503";
reg = <0x08>; reg = <0x08>;
intn-gpios = <&gpx3 0 0>; intn-gpios = <&gpx3 0 GPIO_ACTIVE_HIGH>;
connect-gpios = <&gpx3 4 0>; connect-gpios = <&gpx3 4 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpx3 5 0>; reset-gpios = <&gpx3 5 GPIO_ACTIVE_HIGH>;
initial-mode = <1>; initial-mode = <1>;
}; };
@ -276,15 +275,13 @@
regulator-always-on; regulator-always-on;
}; };
ldo8_reg: ldo@8 { ldo8_reg: LDO8 {
regulator-compatible = "LDO8";
regulator-name = "VDD10_HDMI_1.0V"; regulator-name = "VDD10_HDMI_1.0V";
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>; regulator-max-microvolt = <1000000>;
}; };
ldo10_reg: ldo@10 { ldo10_reg: LDO10 {
regulator-compatible = "LDO10";
regulator-name = "VDDQ_MIPIHSI_1.8V"; regulator-name = "VDDQ_MIPIHSI_1.8V";
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
@ -424,8 +421,6 @@
}; };
&i2c_1 { &i2c_1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_bus>;
status = "okay"; status = "okay";
max98090: max98090@10 { max98090: max98090@10 {
compatible = "maxim,max98090"; compatible = "maxim,max98090";
@ -440,8 +435,6 @@
&i2c_2 { &i2c_2 {
status = "okay"; status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c2_bus>;
}; };
&i2c_8 { &i2c_8 {
@ -490,7 +483,7 @@
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
pinctrl-names = "default"; pinctrl-names = "default";
vmmc-supply = <&ldo4_reg &ldo21_reg>; vmmc-supply = <&ldo4_reg &ldo21_reg>;
cd-gpios = <&gpk2 2 0>; cd-gpios = <&gpk2 2 GPIO_ACTIVE_HIGH>;
cd-inverted; cd-inverted;
status = "okay"; status = "okay";
}; };

View file

@ -27,11 +27,54 @@
compatible = "gpio-leds"; compatible = "gpio-leds";
led1 { led1 {
label = "led1:heart"; label = "led1:heart";
gpios = <&gpc1 0 1>; gpios = <&gpc1 0 GPIO_ACTIVE_LOW>;
default-state = "on"; default-state = "on";
linux,default-trigger = "heartbeat"; linux,default-trigger = "heartbeat";
}; };
}; };
fan0: pwm-fan {
compatible = "pwm-fan";
pwms = <&pwm 0 10000 0>;
cooling-min-state = <0>;
cooling-max-state = <3>;
#cooling-cells = <2>;
cooling-levels = <0 102 170 230>;
};
thermal-zones {
cpu_thermal: cpu-thermal {
cooling-maps {
map0 {
trip = <&cpu_alert1>;
cooling-device = <&cpu0 7 7>;
};
map1 {
trip = <&cpu_alert2>;
cooling-device = <&cpu0 13 13>;
};
map2 {
trip = <&cpu_alert0>;
cooling-device = <&fan0 0 1>;
};
map3 {
trip = <&cpu_alert1>;
cooling-device = <&fan0 1 2>;
};
map4 {
trip = <&cpu_alert2>;
cooling-device = <&fan0 2 3>;
};
};
};
};
};
&pwm {
pinctrl-0 = <&pwm0_out>;
pinctrl-names = "default";
samsung,pwm-outputs = <0>;
status = "okay";
}; };
&usb3503 { &usb3503 {

View file

@ -26,13 +26,13 @@
compatible = "gpio-leds"; compatible = "gpio-leds";
led1 { led1 {
label = "led1:heart"; label = "led1:heart";
gpios = <&gpc1 0 1>; gpios = <&gpc1 0 GPIO_ACTIVE_LOW>;
default-state = "on"; default-state = "on";
linux,default-trigger = "heartbeat"; linux,default-trigger = "heartbeat";
}; };
led2 { led2 {
label = "led2:mmc0"; label = "led2:mmc0";
gpios = <&gpc1 2 1>; gpios = <&gpc1 2 GPIO_ACTIVE_LOW>;
default-state = "on"; default-state = "on";
linux,default-trigger = "mmc0"; linux,default-trigger = "mmc0";
}; };
@ -44,7 +44,7 @@
home_key { home_key {
interrupt-parent = <&gpx2>; interrupt-parent = <&gpx2>;
interrupts = <2 0>; interrupts = <2 0>;
gpios = <&gpx2 2 0>; gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_HOME>; linux,code = <KEY_HOME>;
label = "home key"; label = "home key";
debounce-interval = <10>; debounce-interval = <10>;
@ -57,7 +57,7 @@
regulator-name = "p3v3_en"; regulator-name = "p3v3_en";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
gpio = <&gpa1 1 1>; gpio = <&gpa1 1 GPIO_ACTIVE_LOW>;
enable-active-high; enable-active-high;
regulator-always-on; regulator-always-on;
}; };

View file

@ -14,6 +14,7 @@
/dts-v1/; /dts-v1/;
#include "exynos4412.dtsi" #include "exynos4412.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h> #include <dt-bindings/input/input.h>
/ { / {
@ -45,7 +46,7 @@
regulator-name = "VMEM_VDD_2.8V"; regulator-name = "VMEM_VDD_2.8V";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
gpio = <&gpx1 1 0>; gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
}; };
}; };
@ -107,13 +108,13 @@
s5m8767,pmic-buck-default-dvs-idx = <3>; s5m8767,pmic-buck-default-dvs-idx = <3>;
s5m8767,pmic-buck-dvs-gpios = <&gpx2 3 0>, s5m8767,pmic-buck-dvs-gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>,
<&gpx2 4 0>, <&gpx2 4 GPIO_ACTIVE_HIGH>,
<&gpx2 5 0>; <&gpx2 5 GPIO_ACTIVE_HIGH>;
s5m8767,pmic-buck-ds-gpios = <&gpm3 5 0>, s5m8767,pmic-buck-ds-gpios = <&gpm3 5 GPIO_ACTIVE_HIGH>,
<&gpm3 6 0>, <&gpm3 6 GPIO_ACTIVE_HIGH>,
<&gpm3 7 0>; <&gpm3 7 GPIO_ACTIVE_HIGH>;
s5m8767,pmic-buck2-dvs-voltage = <1250000>, <1200000>, s5m8767,pmic-buck2-dvs-voltage = <1250000>, <1200000>,
<1200000>, <1200000>, <1200000>, <1200000>,

View file

@ -13,6 +13,7 @@
/dts-v1/; /dts-v1/;
#include "exynos4412.dtsi" #include "exynos4412.dtsi"
#include <dt-bindings/gpio/gpio.h>
/ { / {
model = "FriendlyARM TINY4412 board based on Exynos4412"; model = "FriendlyARM TINY4412 board based on Exynos4412";
@ -31,26 +32,26 @@
led1 { led1 {
label = "led1"; label = "led1";
gpios = <&gpm4 0 1>; gpios = <&gpm4 0 GPIO_ACTIVE_LOW>;
default-state = "off"; default-state = "off";
linux,default-trigger = "heartbeat"; linux,default-trigger = "heartbeat";
}; };
led2 { led2 {
label = "led2"; label = "led2";
gpios = <&gpm4 1 1>; gpios = <&gpm4 1 GPIO_ACTIVE_LOW>;
default-state = "off"; default-state = "off";
}; };
led3 { led3 {
label = "led3"; label = "led3";
gpios = <&gpm4 2 1>; gpios = <&gpm4 2 GPIO_ACTIVE_LOW>;
default-state = "off"; default-state = "off";
}; };
led4 { led4 {
label = "led4"; label = "led4";
gpios = <&gpm4 3 1>; gpios = <&gpm4 3 GPIO_ACTIVE_LOW>;
default-state = "off"; default-state = "off";
linux,default-trigger = "mmc0"; linux,default-trigger = "mmc0";
}; };

View file

@ -65,7 +65,7 @@
regulator-name = "CAM_SENSOR_A"; regulator-name = "CAM_SENSOR_A";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
gpio = <&gpm0 2 0>; gpio = <&gpm0 2 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
}; };
@ -74,7 +74,7 @@
regulator-name = "LCD_VDD_2.2V"; regulator-name = "LCD_VDD_2.2V";
regulator-min-microvolt = <2200000>; regulator-min-microvolt = <2200000>;
regulator-max-microvolt = <2200000>; regulator-max-microvolt = <2200000>;
gpio = <&gpc0 1 0>; gpio = <&gpc0 1 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
}; };
@ -83,7 +83,7 @@
regulator-name = "CAM_AF"; regulator-name = "CAM_AF";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
gpio = <&gpm0 4 0>; gpio = <&gpm0 4 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
}; };
@ -92,7 +92,7 @@
regulator-name = "LED_A_3.0V"; regulator-name = "LED_A_3.0V";
regulator-min-microvolt = <3000000>; regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>; regulator-max-microvolt = <3000000>;
gpio = <&gpj0 5 0>; gpio = <&gpj0 5 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
}; };
}; };
@ -101,21 +101,21 @@
compatible = "gpio-keys"; compatible = "gpio-keys";
key-down { key-down {
gpios = <&gpx3 3 1>; gpios = <&gpx3 3 GPIO_ACTIVE_LOW>;
linux,code = <114>; linux,code = <114>;
label = "volume down"; label = "volume down";
debounce-interval = <10>; debounce-interval = <10>;
}; };
key-up { key-up {
gpios = <&gpx2 2 1>; gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
linux,code = <115>; linux,code = <115>;
label = "volume up"; label = "volume up";
debounce-interval = <10>; debounce-interval = <10>;
}; };
key-power { key-power {
gpios = <&gpx2 7 1>; gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
linux,code = <116>; linux,code = <116>;
label = "power"; label = "power";
debounce-interval = <10>; debounce-interval = <10>;
@ -123,7 +123,7 @@
}; };
key-ok { key-ok {
gpios = <&gpx0 1 1>; gpios = <&gpx0 1 GPIO_ACTIVE_LOW>;
linux,code = <139>; linux,code = <139>;
label = "ok"; label = "ok";
debounce-inteval = <10>; debounce-inteval = <10>;
@ -198,7 +198,7 @@
i2c_ak8975: i2c-gpio-0 { i2c_ak8975: i2c-gpio-0 {
compatible = "i2c-gpio"; compatible = "i2c-gpio";
gpios = <&gpy2 4 0>, <&gpy2 5 0>; gpios = <&gpy2 4 GPIO_ACTIVE_HIGH>, <&gpy2 5 GPIO_ACTIVE_HIGH>;
i2c-gpio,delay-us = <2>; i2c-gpio,delay-us = <2>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -207,13 +207,13 @@
ak8975@0c { ak8975@0c {
compatible = "asahi-kasei,ak8975"; compatible = "asahi-kasei,ak8975";
reg = <0x0c>; reg = <0x0c>;
gpios = <&gpj0 7 0>; gpios = <&gpj0 7 GPIO_ACTIVE_HIGH>;
}; };
}; };
i2c_cm36651: i2c-gpio-2 { i2c_cm36651: i2c-gpio-2 {
compatible = "i2c-gpio"; compatible = "i2c-gpio";
gpios = <&gpf0 0 1>, <&gpf0 1 1>; gpios = <&gpf0 0 GPIO_ACTIVE_LOW>, <&gpf0 1 GPIO_ACTIVE_LOW>;
i2c-gpio,delay-us = <2>; i2c-gpio,delay-us = <2>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
@ -359,7 +359,7 @@
reg = <0>; reg = <0>;
vdd3-supply = <&lcd_vdd3_reg>; vdd3-supply = <&lcd_vdd3_reg>;
vci-supply = <&ldo25_reg>; vci-supply = <&ldo25_reg>;
reset-gpios = <&gpy4 5 0>; reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
power-on-delay= <50>; power-on-delay= <50>;
reset-delay = <100>; reset-delay = <100>;
init-delay = <100>; init-delay = <100>;
@ -446,7 +446,7 @@
clocks = <&camera 1>; clocks = <&camera 1>;
clock-names = "extclk"; clock-names = "extclk";
samsung,camclk-out = <1>; samsung,camclk-out = <1>;
gpios = <&gpm1 6 0>; gpios = <&gpm1 6 GPIO_ACTIVE_HIGH>;
port { port {
is_s5k6a3_ep: endpoint { is_s5k6a3_ep: endpoint {
@ -488,8 +488,8 @@
s5c73m3@3c { s5c73m3@3c {
compatible = "samsung,s5c73m3"; compatible = "samsung,s5c73m3";
reg = <0x3c>; reg = <0x3c>;
standby-gpios = <&gpm0 1 1>; /* ISP_STANDBY */ standby-gpios = <&gpm0 1 GPIO_ACTIVE_LOW>; /* ISP_STANDBY */
xshutdown-gpios = <&gpf1 3 1>; /* ISP_RESET */ xshutdown-gpios = <&gpf1 3 GPIO_ACTIVE_LOW>; /* ISP_RESET */
vdd-int-supply = <&buck9_reg>; vdd-int-supply = <&buck9_reg>;
vddio-cis-supply = <&ldo9_reg>; vddio-cis-supply = <&ldo9_reg>;
vdda-supply = <&ldo17_reg>; vdda-supply = <&ldo17_reg>;
@ -564,16 +564,14 @@
#clock-cells = <1>; #clock-cells = <1>;
voltage-regulators { voltage-regulators {
ldo1_reg: ldo1 { ldo1_reg: LDO1 {
regulator-compatible = "LDO1";
regulator-name = "VALIVE_1.0V_AP"; regulator-name = "VALIVE_1.0V_AP";
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>; regulator-max-microvolt = <1000000>;
regulator-always-on; regulator-always-on;
}; };
ldo2_reg: ldo2 { ldo2_reg: LDO2 {
regulator-compatible = "LDO2";
regulator-name = "VM1M2_1.2V_AP"; regulator-name = "VM1M2_1.2V_AP";
regulator-min-microvolt = <1200000>; regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>; regulator-max-microvolt = <1200000>;
@ -583,32 +581,28 @@
}; };
}; };
ldo3_reg: ldo3 { ldo3_reg: LDO3 {
regulator-compatible = "LDO3";
regulator-name = "VCC_1.8V_AP"; regulator-name = "VCC_1.8V_AP";
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
regulator-always-on; regulator-always-on;
}; };
ldo4_reg: ldo4 { ldo4_reg: LDO4 {
regulator-compatible = "LDO4";
regulator-name = "VCC_2.8V_AP"; regulator-name = "VCC_2.8V_AP";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
regulator-always-on; regulator-always-on;
}; };
ldo5_reg: ldo5 { ldo5_reg: LDO5 {
regulator-compatible = "LDO5";
regulator-name = "VCC_1.8V_IO"; regulator-name = "VCC_1.8V_IO";
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
regulator-always-on; regulator-always-on;
}; };
ldo6_reg: ldo6 { ldo6_reg: LDO6 {
regulator-compatible = "LDO6";
regulator-name = "VMPLL_1.0V_AP"; regulator-name = "VMPLL_1.0V_AP";
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>; regulator-max-microvolt = <1000000>;
@ -618,8 +612,7 @@
}; };
}; };
ldo7_reg: ldo7 { ldo7_reg: LDO7 {
regulator-compatible = "LDO7";
regulator-name = "VPLL_1.0V_AP"; regulator-name = "VPLL_1.0V_AP";
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>; regulator-max-microvolt = <1000000>;
@ -629,8 +622,7 @@
}; };
}; };
ldo8_reg: ldo8 { ldo8_reg: LDO8 {
regulator-compatible = "LDO8";
regulator-name = "VMIPI_1.0V"; regulator-name = "VMIPI_1.0V";
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>; regulator-max-microvolt = <1000000>;
@ -639,15 +631,13 @@
}; };
}; };
ldo9_reg: ldo9 { ldo9_reg: LDO9 {
regulator-compatible = "LDO9";
regulator-name = "CAM_ISP_MIPI_1.2V"; regulator-name = "CAM_ISP_MIPI_1.2V";
regulator-min-microvolt = <1200000>; regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>; regulator-max-microvolt = <1200000>;
}; };
ldo10_reg: ldo10 { ldo10_reg: LDO10 {
regulator-compatible = "LDO10";
regulator-name = "VMIPI_1.8V"; regulator-name = "VMIPI_1.8V";
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
@ -656,8 +646,7 @@
}; };
}; };
ldo11_reg: ldo11 { ldo11_reg: LDO11 {
regulator-compatible = "LDO11";
regulator-name = "VABB1_1.95V"; regulator-name = "VABB1_1.95V";
regulator-min-microvolt = <1950000>; regulator-min-microvolt = <1950000>;
regulator-max-microvolt = <1950000>; regulator-max-microvolt = <1950000>;
@ -667,8 +656,7 @@
}; };
}; };
ldo12_reg: ldo12 { ldo12_reg: LDO12 {
regulator-compatible = "LDO12";
regulator-name = "VUOTG_3.0V"; regulator-name = "VUOTG_3.0V";
regulator-min-microvolt = <3000000>; regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>; regulator-max-microvolt = <3000000>;
@ -677,15 +665,13 @@
}; };
}; };
ldo13_reg: ldo13 { ldo13_reg: LDO13 {
regulator-compatible = "LDO13";
regulator-name = "NFC_AVDD_1.8V"; regulator-name = "NFC_AVDD_1.8V";
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
}; };
ldo14_reg: ldo14 { ldo14_reg: LDO14 {
regulator-compatible = "LDO14";
regulator-name = "VABB2_1.95V"; regulator-name = "VABB2_1.95V";
regulator-min-microvolt = <1950000>; regulator-min-microvolt = <1950000>;
regulator-max-microvolt = <1950000>; regulator-max-microvolt = <1950000>;
@ -695,8 +681,7 @@
}; };
}; };
ldo15_reg: ldo15 { ldo15_reg: LDO15 {
regulator-compatible = "LDO15";
regulator-name = "VHSIC_1.0V"; regulator-name = "VHSIC_1.0V";
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>; regulator-max-microvolt = <1000000>;
@ -705,8 +690,7 @@
}; };
}; };
ldo16_reg: ldo16 { ldo16_reg: LDO16 {
regulator-compatible = "LDO16";
regulator-name = "VHSIC_1.8V"; regulator-name = "VHSIC_1.8V";
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
@ -715,80 +699,69 @@
}; };
}; };
ldo17_reg: ldo17 { ldo17_reg: LDO17 {
regulator-compatible = "LDO17";
regulator-name = "CAM_SENSOR_CORE_1.2V"; regulator-name = "CAM_SENSOR_CORE_1.2V";
regulator-min-microvolt = <1200000>; regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>; regulator-max-microvolt = <1200000>;
}; };
ldo18_reg: ldo18 { ldo18_reg: LDO18 {
regulator-compatible = "LDO18";
regulator-name = "CAM_ISP_SEN_IO_1.8V"; regulator-name = "CAM_ISP_SEN_IO_1.8V";
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
}; };
ldo19_reg: ldo19 { ldo19_reg: LDO19 {
regulator-compatible = "LDO19";
regulator-name = "VT_CAM_1.8V"; regulator-name = "VT_CAM_1.8V";
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
}; };
ldo20_reg: ldo20 { ldo20_reg: LDO20 {
regulator-compatible = "LDO20";
regulator-name = "VDDQ_PRE_1.8V"; regulator-name = "VDDQ_PRE_1.8V";
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
}; };
ldo21_reg: ldo21 { ldo21_reg: LDO21 {
regulator-compatible = "LDO21";
regulator-name = "VTF_2.8V"; regulator-name = "VTF_2.8V";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
maxim,ena-gpios = <&gpy2 0 GPIO_ACTIVE_HIGH>; maxim,ena-gpios = <&gpy2 0 GPIO_ACTIVE_HIGH>;
}; };
ldo22_reg: ldo22 { ldo22_reg: LDO22 {
regulator-compatible = "LDO22";
regulator-name = "VMEM_VDD_2.8V"; regulator-name = "VMEM_VDD_2.8V";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>; maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
}; };
ldo23_reg: ldo23 { ldo23_reg: LDO23 {
regulator-compatible = "LDO23";
regulator-name = "TSP_AVDD_3.3V"; regulator-name = "TSP_AVDD_3.3V";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
}; };
ldo24_reg: ldo24 { ldo24_reg: LDO24 {
regulator-compatible = "LDO24";
regulator-name = "TSP_VDD_1.8V"; regulator-name = "TSP_VDD_1.8V";
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
}; };
ldo25_reg: ldo25 { ldo25_reg: LDO25 {
regulator-compatible = "LDO25";
regulator-name = "LCD_VCC_3.3V"; regulator-name = "LCD_VCC_3.3V";
regulator-min-microvolt = <2800000>; regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>; regulator-max-microvolt = <2800000>;
}; };
ldo26_reg: ldo26 { ldo26_reg: LDO26 {
regulator-compatible = "LDO26";
regulator-name = "MOTOR_VCC_3.0V"; regulator-name = "MOTOR_VCC_3.0V";
regulator-min-microvolt = <3000000>; regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>; regulator-max-microvolt = <3000000>;
}; };
buck1_reg: buck1 { buck1_reg: BUCK1 {
regulator-compatible = "BUCK1";
regulator-name = "vdd_mif"; regulator-name = "vdd_mif";
regulator-min-microvolt = <850000>; regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1100000>; regulator-max-microvolt = <1100000>;
@ -799,8 +772,7 @@
}; };
}; };
buck2_reg: buck2 { buck2_reg: BUCK2 {
regulator-compatible = "BUCK2";
regulator-name = "vdd_arm"; regulator-name = "vdd_arm";
regulator-min-microvolt = <850000>; regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1500000>; regulator-max-microvolt = <1500000>;
@ -811,8 +783,7 @@
}; };
}; };
buck3_reg: buck3 { buck3_reg: BUCK3 {
regulator-compatible = "BUCK3";
regulator-name = "vdd_int"; regulator-name = "vdd_int";
regulator-min-microvolt = <850000>; regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1150000>; regulator-max-microvolt = <1150000>;
@ -823,8 +794,7 @@
}; };
}; };
buck4_reg: buck4 { buck4_reg: BUCK4 {
regulator-compatible = "BUCK4";
regulator-name = "vdd_g3d"; regulator-name = "vdd_g3d";
regulator-min-microvolt = <850000>; regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1150000>; regulator-max-microvolt = <1150000>;
@ -834,40 +804,35 @@
}; };
}; };
buck5_reg: buck5 { buck5_reg: BUCK5 {
regulator-compatible = "BUCK5";
regulator-name = "VMEM_1.2V_AP"; regulator-name = "VMEM_1.2V_AP";
regulator-min-microvolt = <1200000>; regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>; regulator-max-microvolt = <1200000>;
regulator-always-on; regulator-always-on;
}; };
buck6_reg: buck6 { buck6_reg: BUCK6 {
regulator-compatible = "BUCK6";
regulator-name = "VCC_SUB_1.35V"; regulator-name = "VCC_SUB_1.35V";
regulator-min-microvolt = <1350000>; regulator-min-microvolt = <1350000>;
regulator-max-microvolt = <1350000>; regulator-max-microvolt = <1350000>;
regulator-always-on; regulator-always-on;
}; };
buck7_reg: buck7 { buck7_reg: BUCK7 {
regulator-compatible = "BUCK7";
regulator-name = "VCC_SUB_2.0V"; regulator-name = "VCC_SUB_2.0V";
regulator-min-microvolt = <2000000>; regulator-min-microvolt = <2000000>;
regulator-max-microvolt = <2000000>; regulator-max-microvolt = <2000000>;
regulator-always-on; regulator-always-on;
}; };
buck8_reg: buck8 { buck8_reg: BUCK8 {
regulator-compatible = "BUCK8";
regulator-name = "VMEM_VDDF_3.0V"; regulator-name = "VMEM_VDDF_3.0V";
regulator-min-microvolt = <2850000>; regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>; regulator-max-microvolt = <2850000>;
maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>; maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
}; };
buck9_reg: buck9 { buck9_reg: BUCK9 {
regulator-compatible = "BUCK9";
regulator-name = "CAM_ISP_CORE_1.2V"; regulator-name = "CAM_ISP_CORE_1.2V";
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1200000>; regulator-max-microvolt = <1200000>;
@ -1276,7 +1241,7 @@
&sdhci_2 { &sdhci_2 {
bus-width = <4>; bus-width = <4>;
cd-gpios = <&gpx3 4 0>; cd-gpios = <&gpx3 4 GPIO_ACTIVE_HIGH>;
cd-inverted; cd-inverted;
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>; pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
pinctrl-names = "default"; pinctrl-names = "default";
@ -1303,7 +1268,7 @@
&spi_1 { &spi_1 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&spi1_bus>; pinctrl-0 = <&spi1_bus>;
cs-gpios = <&gpb 5 0>; cs-gpios = <&gpb 5 GPIO_ACTIVE_HIGH>;
status = "okay"; status = "okay";
s5c73m3_spi: s5c73m3 { s5c73m3_spi: s5c73m3 {

View file

@ -98,6 +98,7 @@
opp-hz = /bits/ 64 <800000000>; opp-hz = /bits/ 64 <800000000>;
opp-microvolt = <1000000>; opp-microvolt = <1000000>;
clock-latency-ns = <200000>; clock-latency-ns = <200000>;
opp-suspend;
}; };
opp07 { opp07 {
opp-hz = /bits/ 64 <900000000>; opp-hz = /bits/ 64 <900000000>;

View file

@ -129,10 +129,6 @@
samsung,color-depth = <1>; samsung,color-depth = <1>;
samsung,link-rate = <0x0a>; samsung,link-rate = <0x0a>;
samsung,lane-count = <4>; samsung,lane-count = <4>;
};
&fimd {
status = "okay";
display-timings { display-timings {
native-mode = <&timing0>; native-mode = <&timing0>;
@ -152,6 +148,10 @@
}; };
}; };
&fimd {
status = "okay";
};
&hdmi { &hdmi {
hpd-gpio = <&gpx3 7 GPIO_ACTIVE_LOW>; hpd-gpio = <&gpx3 7 GPIO_ACTIVE_LOW>;
vdd_osc-supply = <&ldo10_reg>; vdd_osc-supply = <&ldo10_reg>;

View file

@ -89,14 +89,6 @@
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&dp_hpd>; pinctrl-0 = <&dp_hpd>;
status = "okay"; status = "okay";
};
&ehci {
samsung,vbus-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>;
};
&fimd {
status = "okay";
display-timings { display-timings {
native-mode = <&timing0>; native-mode = <&timing0>;
@ -116,6 +108,14 @@
}; };
}; };
&ehci {
samsung,vbus-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>;
};
&fimd {
status = "okay";
};
&hdmi { &hdmi {
hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>; hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
}; };

View file

@ -0,0 +1,684 @@
/*
* Google Snow board device tree source
*
* Copyright (c) 2012 Google, Inc
*
* 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 <dt-bindings/gpio/gpio.h>
#include <dt-bindings/clock/maxim,max77686.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/input/input.h>
#include "exynos5250.dtsi"
/ {
aliases {
i2c104 = &i2c_104;
};
memory {
reg = <0x40000000 0x80000000>;
};
chosen {
bootargs = "console=tty1";
stdout-path = "serial3:115200n8";
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&power_key_irq &lid_irq>;
power {
label = "Power";
gpios = <&gpx1 3 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
gpio-key,wakeup;
};
lid-switch {
label = "Lid";
gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
linux,input-type = <5>; /* EV_SW */
linux,code = <0>; /* SW_LID */
debounce-interval = <1>;
gpio-key,wakeup;
};
};
vbat: vbat-fixed-regulator {
compatible = "regulator-fixed";
regulator-name = "vbat-supply";
regulator-boot-on;
};
i2c-arbitrator {
compatible = "i2c-arb-gpio-challenge";
#address-cells = <1>;
#size-cells = <0>;
i2c-parent = <&{/i2c@12CA0000}>;
our-claim-gpio = <&gpf0 3 GPIO_ACTIVE_LOW>;
their-claim-gpios = <&gpe0 4 GPIO_ACTIVE_LOW>;
slew-delay-us = <10>;
wait-retry-us = <3000>;
wait-free-us = <50000>;
pinctrl-names = "default";
pinctrl-0 = <&arb_our_claim &arb_their_claim>;
/* Use ID 104 as a hint that we're on physical bus 4 */
i2c_104: i2c@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
battery: sbs-battery@b {
compatible = "sbs,sbs-battery";
reg = <0xb>;
sbs,poll-retry-count = <1>;
};
cros_ec: embedded-controller {
compatible = "google,cros-ec-i2c";
reg = <0x1e>;
interrupts = <6 IRQ_TYPE_NONE>;
interrupt-parent = <&gpx1>;
pinctrl-names = "default";
pinctrl-0 = <&ec_irq>;
wakeup-source;
};
power-regulator {
compatible = "ti,tps65090";
reg = <0x48>;
/*
* Config irq to disable internal pulls
* even though we run in polling mode.
*/
pinctrl-names = "default";
pinctrl-0 = <&tps65090_irq>;
vsys1-supply = <&vbat>;
vsys2-supply = <&vbat>;
vsys3-supply = <&vbat>;
infet1-supply = <&vbat>;
infet2-supply = <&vbat>;
infet3-supply = <&vbat>;
infet4-supply = <&vbat>;
infet5-supply = <&vbat>;
infet6-supply = <&vbat>;
infet7-supply = <&vbat>;
vsys-l1-supply = <&vbat>;
vsys-l2-supply = <&vbat>;
regulators {
dcdc1 {
ti,enable-ext-control;
};
dcdc2 {
ti,enable-ext-control;
};
dcdc3 {
ti,enable-ext-control;
};
fet1: fet1 {
regulator-name = "vcd_led";
ti,overcurrent-wait = <3>;
};
tps65090_fet2: fet2 {
regulator-name = "video_mid";
regulator-always-on;
ti,overcurrent-wait = <3>;
};
fet3 {
regulator-name = "wwan_r";
regulator-always-on;
ti,overcurrent-wait = <3>;
};
fet4 {
regulator-name = "sdcard";
ti,overcurrent-wait = <3>;
};
fet5 {
regulator-name = "camout";
regulator-always-on;
ti,overcurrent-wait = <3>;
};
fet6: fet6 {
regulator-name = "lcd_vdd";
ti,overcurrent-wait = <3>;
};
tps65090_fet7: fet7 {
regulator-name = "video_mid_1a";
regulator-always-on;
ti,overcurrent-wait = <3>;
};
ldo1 {
};
ldo2 {
};
};
charger {
compatible = "ti,tps65090-charger";
};
};
};
};
sound {
samsung,i2s-controller = <&i2s0>;
};
usb3_vbus_reg: regulator-usb3 {
compatible = "regulator-fixed";
regulator-name = "P5.0V_USB3CON";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpx2 7 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usb3_vbus_en>;
enable-active-high;
};
fixed-rate-clocks {
xxti {
compatible = "samsung,clock-xxti";
clock-frequency = <24000000>;
};
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm 0 1000000 0>;
brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
default-brightness-level = <7>;
enable-gpios = <&gpx3 0 GPIO_ACTIVE_HIGH>;
power-supply = <&fet1>;
pinctrl-0 = <&pwm0_out>;
pinctrl-names = "default";
};
panel: panel {
compatible = "auo,b116xw03";
power-supply = <&fet6>;
backlight = <&backlight>;
port {
panel_in: endpoint {
remote-endpoint = <&bridge_out>;
};
};
};
mmc3_pwrseq: mmc3_pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&gpx0 2 GPIO_ACTIVE_LOW>, /* WIFI_RSTn */
<&gpx0 1 GPIO_ACTIVE_LOW>; /* WIFI_EN */
clocks = <&max77686 MAX77686_CLK_PMIC>;
clock-names = "ext_clock";
};
};
&cpu0 {
cpu0-supply = <&buck2_reg>;
};
&dp {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&dp_hpd>;
samsung,color-space = <0>;
samsung,dynamic-range = <0>;
samsung,ycbcr-coeff = <0>;
samsung,color-depth = <1>;
samsung,link-rate = <0x0a>;
samsung,lane-count = <2>;
samsung,hpd-gpio = <&gpx0 7 GPIO_ACTIVE_HIGH>;
ports {
port@0 {
dp_out: endpoint {
remote-endpoint = <&bridge_in>;
};
};
};
};
&ehci {
samsung,vbus-gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>;
};
&fimd {
status = "okay";
samsung,invert-vclk;
};
&hdmi {
hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd_irq>;
phy = <&hdmiphy>;
ddc = <&i2c_2>;
hdmi-en-supply = <&tps65090_fet7>;
vdd-supply = <&ldo8_reg>;
vdd_osc-supply = <&ldo10_reg>;
vdd_pll-supply = <&ldo8_reg>;
};
&i2c_0 {
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <378000>;
max77686: max77686@09 {
compatible = "maxim,max77686";
interrupt-parent = <&gpx3>;
interrupts = <2 IRQ_TYPE_NONE>;
pinctrl-names = "default";
pinctrl-0 = <&max77686_irq>;
wakeup-source;
reg = <0x09>;
#clock-cells = <1>;
voltage-regulators {
ldo1_reg: LDO1 {
regulator-name = "P1.0V_LDO_OUT1";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo2_reg: LDO2 {
regulator-name = "P1.8V_LDO_OUT2";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo3_reg: LDO3 {
regulator-name = "P1.8V_LDO_OUT3";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo7_reg: LDO7 {
regulator-name = "P1.1V_LDO_OUT7";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
};
ldo8_reg: LDO8 {
regulator-name = "P1.0V_LDO_OUT8";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo10_reg: LDO10 {
regulator-name = "P1.8V_LDO_OUT10";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo12_reg: LDO12 {
regulator-name = "P3.0V_LDO_OUT12";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
};
ldo14_reg: LDO14 {
regulator-name = "P1.8V_LDO_OUT14";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo15_reg: LDO15 {
regulator-name = "P1.0V_LDO_OUT15";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo16_reg: LDO16 {
regulator-name = "P1.8V_LDO_OUT16";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
buck1_reg: BUCK1 {
regulator-name = "vdd_mif";
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-boot-on;
};
buck2_reg: BUCK2 {
regulator-name = "vdd_arm";
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-always-on;
regulator-boot-on;
};
buck3_reg: BUCK3 {
regulator-name = "vdd_int";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-boot-on;
};
buck4_reg: BUCK4 {
regulator-name = "vdd_g3d";
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-boot-on;
};
buck5_reg: BUCK5 {
regulator-name = "P1.8V_BUCK_OUT5";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
};
buck6_reg: BUCK6 {
regulator-name = "P1.35V_BUCK_OUT6";
regulator-min-microvolt = <1350000>;
regulator-max-microvolt = <1350000>;
regulator-always-on;
};
buck7_reg: BUCK7 {
regulator-name = "P2.0V_BUCK_OUT7";
regulator-min-microvolt = <2000000>;
regulator-max-microvolt = <2000000>;
regulator-always-on;
};
buck8_reg: BUCK8 {
regulator-name = "P2.85V_BUCK_OUT8";
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
regulator-always-on;
};
};
};
};
&i2c_1 {
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <378000>;
trackpad {
reg = <0x67>;
compatible = "cypress,cyapa";
interrupts = <2 IRQ_TYPE_NONE>;
interrupt-parent = <&gpx1>;
wakeup-source;
};
};
/*
* Disabled pullups since external part has its own pullups and
* double-pulling gets us out of spec in some cases.
*/
&i2c2_bus {
samsung,pin-pud = <0>;
};
&i2c_2 {
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
hdmiddc@50 {
compatible = "samsung,exynos4210-hdmiddc";
reg = <0x50>;
};
};
&i2c_3 {
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
};
&i2c_4 {
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
};
&i2c_5 {
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
};
&i2c_7 {
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
ptn3460: lvds-bridge@20 {
compatible = "nxp,ptn3460";
reg = <0x20>;
powerdown-gpios = <&gpy2 5 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpx1 5 GPIO_ACTIVE_HIGH>;
edid-emulation = <5>;
ports {
port@0 {
bridge_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
port@1 {
bridge_in: endpoint {
remote-endpoint = <&dp_out>;
};
};
};
};
};
&i2c_8 {
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <378000>;
hdmiphy: hdmiphy@38 {
compatible = "samsung,exynos4212-hdmiphy";
reg = <0x38>;
};
};
&i2s0 {
status = "okay";
};
&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>;
pinctrl-names = "default";
pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &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>;
pinctrl-names = "default";
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
bus-width = <4>;
wp-gpios = <&gpc2 1 GPIO_ACTIVE_HIGH>;
cap-sd-highspeed;
};
/*
* On Snow we've got SIP WiFi and so can keep drive strengths low to
* reduce EMI.
*/
&mmc_3 {
status = "okay";
num-slots = <1>;
broken-cd;
cap-sdio-irq;
keep-power-in-suspend;
card-detect-delay = <200>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <2 3>;
samsung,dw-mshc-ddr-timing = <1 2>;
pinctrl-names = "default";
pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4 &wifi_en &wifi_rst>;
bus-width = <4>;
cap-sd-highspeed;
mmc-pwrseq = <&mmc3_pwrseq>;
};
&pinctrl_0 {
wifi_en: wifi-en {
samsung,pins = "gpx0-1";
samsung,pin-function = <1>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
wifi_rst: wifi-rst {
samsung,pins = "gpx0-2";
samsung,pin-function = <1>;
samsung,pin-pud = <0>;
samsung,pin-drv = <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>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
tps65090_irq: tps65090-irq {
samsung,pins = "gpx2-6";
samsung,pin-function = <0>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
usb3_vbus_en: usb3-vbus-en {
samsung,pins = "gpx2-7";
samsung,pin-function = <1>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
max77686_irq: max77686-irq {
samsung,pins = "gpx3-2";
samsung,pin-function = <0>;
samsung,pin-pud = <0>;
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>;
samsung,pin-pud = <1>;
samsung,pin-drv = <0>;
};
};
&pinctrl_1 {
arb_their_claim: arb-their-claim {
samsung,pins = "gpe0-4";
samsung,pin-function = <0>;
samsung,pin-pud = <3>;
samsung,pin-drv = <0>;
};
arb_our_claim: arb-our-claim {
samsung,pins = "gpf0-3";
samsung,pin-function = <1>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
};
&rtc {
status = "okay";
clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
clock-names = "rtc", "rtc_src";
};
&sd3_bus4 {
samsung,pin-drv = <0>;
};
&sd3_clk {
samsung,pin-drv = <0>;
};
&sd3_cmd {
samsung,pin-pud = <3>;
samsung,pin-drv = <0>;
};
&spi_1 {
status = "okay";
samsung,spi-src-clk = <0>;
num-cs = <1>;
cs-gpios = <&gpa2 5 GPIO_ACTIVE_HIGH>;
};
&usbdrd_dwc3 {
dr_mode = "host";
};
&usbdrd_phy {
vbus-supply = <&usb3_vbus_reg>;
};
#include "cros-ec-keyboard.dtsi"

View file

@ -0,0 +1,47 @@
/*
* Google Snow Rev 5+ board device tree source
*
* Copyright (c) 2012 Google, Inc
* Copyright (c) 2015 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 "exynos5250-snow-common.dtsi"
/ {
model = "Google Snow Rev 5+";
compatible = "google,snow-rev5", "samsung,exynos5250",
"samsung,exynos5";
sound {
compatible = "google,snow-audio-max98090";
samsung,model = "Snow-I2S-MAX98090";
samsung,audio-codec = <&max98090>;
};
};
&i2c_7 {
max98090: codec@10 {
compatible = "maxim,max98090";
reg = <0x10>;
interrupts = <4 IRQ_TYPE_NONE>;
interrupt-parent = <&gpx0>;
pinctrl-names = "default";
pinctrl-0 = <&max98090_irq>;
};
};
&pinctrl_0 {
max98090_irq: max98090-irq {
samsung,pins = "gpx0-4";
samsung,pin-function = <0>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
};

View file

@ -9,698 +9,35 @@
*/ */
/dts-v1/; /dts-v1/;
#include <dt-bindings/gpio/gpio.h> #include "exynos5250-snow-common.dtsi"
#include <dt-bindings/clock/maxim,max77686.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/input/input.h>
#include "exynos5250.dtsi"
/ { / {
model = "Google Snow"; model = "Google Snow";
compatible = "google,snow", "samsung,exynos5250", "samsung,exynos5"; compatible = "google,snow-rev4", "google,snow", "samsung,exynos5250",
"samsung,exynos5";
aliases {
i2c104 = &i2c_104;
};
memory {
reg = <0x40000000 0x80000000>;
};
chosen {
bootargs = "console=tty1";
stdout-path = "serial3:115200n8";
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&power_key_irq &lid_irq>;
power {
label = "Power";
gpios = <&gpx1 3 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
gpio-key,wakeup;
};
lid-switch {
label = "Lid";
gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
linux,input-type = <5>; /* EV_SW */
linux,code = <0>; /* SW_LID */
debounce-interval = <1>;
gpio-key,wakeup;
};
};
vbat: vbat-fixed-regulator {
compatible = "regulator-fixed";
regulator-name = "vbat-supply";
regulator-boot-on;
};
i2c-arbitrator {
compatible = "i2c-arb-gpio-challenge";
#address-cells = <1>;
#size-cells = <0>;
i2c-parent = <&{/i2c@12CA0000}>;
our-claim-gpio = <&gpf0 3 GPIO_ACTIVE_LOW>;
their-claim-gpios = <&gpe0 4 GPIO_ACTIVE_LOW>;
slew-delay-us = <10>;
wait-retry-us = <3000>;
wait-free-us = <50000>;
pinctrl-names = "default";
pinctrl-0 = <&arb_our_claim &arb_their_claim>;
/* Use ID 104 as a hint that we're on physical bus 4 */
i2c_104: i2c@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
battery: sbs-battery@b {
compatible = "sbs,sbs-battery";
reg = <0xb>;
sbs,poll-retry-count = <1>;
};
cros_ec: embedded-controller {
compatible = "google,cros-ec-i2c";
reg = <0x1e>;
interrupts = <6 IRQ_TYPE_NONE>;
interrupt-parent = <&gpx1>;
pinctrl-names = "default";
pinctrl-0 = <&ec_irq>;
wakeup-source;
};
power-regulator {
compatible = "ti,tps65090";
reg = <0x48>;
/*
* Config irq to disable internal pulls
* even though we run in polling mode.
*/
pinctrl-names = "default";
pinctrl-0 = <&tps65090_irq>;
vsys1-supply = <&vbat>;
vsys2-supply = <&vbat>;
vsys3-supply = <&vbat>;
infet1-supply = <&vbat>;
infet2-supply = <&vbat>;
infet3-supply = <&vbat>;
infet4-supply = <&vbat>;
infet5-supply = <&vbat>;
infet6-supply = <&vbat>;
infet7-supply = <&vbat>;
vsys-l1-supply = <&vbat>;
vsys-l2-supply = <&vbat>;
regulators {
dcdc1 {
ti,enable-ext-control;
};
dcdc2 {
ti,enable-ext-control;
};
dcdc3 {
ti,enable-ext-control;
};
fet1: fet1 {
regulator-name = "vcd_led";
ti,overcurrent-wait = <3>;
};
tps65090_fet2: fet2 {
regulator-name = "video_mid";
regulator-always-on;
ti,overcurrent-wait = <3>;
};
fet3 {
regulator-name = "wwan_r";
regulator-always-on;
ti,overcurrent-wait = <3>;
};
fet4 {
regulator-name = "sdcard";
ti,overcurrent-wait = <3>;
};
fet5 {
regulator-name = "camout";
regulator-always-on;
ti,overcurrent-wait = <3>;
};
fet6: fet6 {
regulator-name = "lcd_vdd";
ti,overcurrent-wait = <3>;
};
tps65090_fet7: fet7 {
regulator-name = "video_mid_1a";
regulator-always-on;
ti,overcurrent-wait = <3>;
};
ldo1 {
};
ldo2 {
};
};
charger {
compatible = "ti,tps65090-charger";
};
};
};
};
sound { sound {
compatible = "google,snow-audio-max98095"; compatible = "google,snow-audio-max98095";
samsung,model = "Snow-I2S-MAX98095"; samsung,model = "Snow-I2S-MAX98095";
samsung,i2s-controller = <&i2s0>;
samsung,audio-codec = <&max98095>; samsung,audio-codec = <&max98095>;
}; };
usb3_vbus_reg: regulator-usb3 {
compatible = "regulator-fixed";
regulator-name = "P5.0V_USB3CON";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpx2 7 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usb3_vbus_en>;
enable-active-high;
};
fixed-rate-clocks {
xxti {
compatible = "samsung,clock-xxti";
clock-frequency = <24000000>;
};
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm 0 1000000 0>;
brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
default-brightness-level = <7>;
enable-gpios = <&gpx3 0 GPIO_ACTIVE_HIGH>;
power-supply = <&fet1>;
pinctrl-0 = <&pwm0_out>;
pinctrl-names = "default";
};
panel: panel {
compatible = "auo,b116xw03";
power-supply = <&fet6>;
backlight = <&backlight>;
port {
panel_in: endpoint {
remote-endpoint = <&bridge_out>;
};
};
};
mmc3_pwrseq: mmc3_pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&gpx0 2 GPIO_ACTIVE_LOW>, /* WIFI_RSTn */
<&gpx0 1 GPIO_ACTIVE_LOW>; /* WIFI_EN */
clocks = <&max77686 MAX77686_CLK_PMIC>;
clock-names = "ext_clock";
};
};
&cpu0 {
cpu0-supply = <&buck2_reg>;
};
&dp {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&dp_hpd>;
samsung,color-space = <0>;
samsung,dynamic-range = <0>;
samsung,ycbcr-coeff = <0>;
samsung,color-depth = <1>;
samsung,link-rate = <0x0a>;
samsung,lane-count = <2>;
samsung,hpd-gpio = <&gpx0 7 GPIO_ACTIVE_HIGH>;
ports {
port@0 {
dp_out: endpoint {
remote-endpoint = <&bridge_in>;
};
};
};
};
&ehci {
samsung,vbus-gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>;
};
&fimd {
status = "okay";
samsung,invert-vclk;
};
&hdmi {
hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd_irq>;
phy = <&hdmiphy>;
ddc = <&i2c_2>;
hdmi-en-supply = <&tps65090_fet7>;
vdd-supply = <&ldo8_reg>;
vdd_osc-supply = <&ldo10_reg>;
vdd_pll-supply = <&ldo8_reg>;
};
&i2c_0 {
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <378000>;
max77686: max77686@09 {
compatible = "maxim,max77686";
interrupt-parent = <&gpx3>;
interrupts = <2 IRQ_TYPE_NONE>;
pinctrl-names = "default";
pinctrl-0 = <&max77686_irq>;
wakeup-source;
reg = <0x09>;
#clock-cells = <1>;
voltage-regulators {
ldo1_reg: LDO1 {
regulator-name = "P1.0V_LDO_OUT1";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo2_reg: LDO2 {
regulator-name = "P1.8V_LDO_OUT2";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo3_reg: LDO3 {
regulator-name = "P1.8V_LDO_OUT3";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo7_reg: LDO7 {
regulator-name = "P1.1V_LDO_OUT7";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-always-on;
};
ldo8_reg: LDO8 {
regulator-name = "P1.0V_LDO_OUT8";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo10_reg: LDO10 {
regulator-name = "P1.8V_LDO_OUT10";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo12_reg: LDO12 {
regulator-name = "P3.0V_LDO_OUT12";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
};
ldo14_reg: LDO14 {
regulator-name = "P1.8V_LDO_OUT14";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo15_reg: LDO15 {
regulator-name = "P1.0V_LDO_OUT15";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
};
ldo16_reg: LDO16 {
regulator-name = "P1.8V_LDO_OUT16";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
buck1_reg: BUCK1 {
regulator-name = "vdd_mif";
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-boot-on;
};
buck2_reg: BUCK2 {
regulator-name = "vdd_arm";
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1350000>;
regulator-always-on;
regulator-boot-on;
};
buck3_reg: BUCK3 {
regulator-name = "vdd_int";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-boot-on;
};
buck4_reg: BUCK4 {
regulator-name = "vdd_g3d";
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-boot-on;
};
buck5_reg: BUCK5 {
regulator-name = "P1.8V_BUCK_OUT5";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
};
buck6_reg: BUCK6 {
regulator-name = "P1.35V_BUCK_OUT6";
regulator-min-microvolt = <1350000>;
regulator-max-microvolt = <1350000>;
regulator-always-on;
};
buck7_reg: BUCK7 {
regulator-name = "P2.0V_BUCK_OUT7";
regulator-min-microvolt = <2000000>;
regulator-max-microvolt = <2000000>;
regulator-always-on;
};
buck8_reg: BUCK8 {
regulator-name = "P2.85V_BUCK_OUT8";
regulator-min-microvolt = <2850000>;
regulator-max-microvolt = <2850000>;
regulator-always-on;
};
};
};
};
&i2c_1 {
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <378000>;
trackpad {
reg = <0x67>;
compatible = "cypress,cyapa";
interrupts = <2 IRQ_TYPE_NONE>;
interrupt-parent = <&gpx1>;
wakeup-source;
};
};
/*
* Disabled pullups since external part has its own pullups and
* double-pulling gets us out of spec in some cases.
*/
&i2c2_bus {
samsung,pin-pud = <0>;
};
&i2c_2 {
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
hdmiddc@50 {
compatible = "samsung,exynos4210-hdmiddc";
reg = <0x50>;
};
};
&i2c_3 {
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
};
&i2c_4 {
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
};
&i2c_5 {
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
}; };
&i2c_7 { &i2c_7 {
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
ptn3460: lvds-bridge@20 {
compatible = "nxp,ptn3460";
reg = <0x20>;
powerdown-gpios = <&gpy2 5 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpx1 5 GPIO_ACTIVE_HIGH>;
edid-emulation = <5>;
ports {
port@0 {
bridge_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
port@1 {
bridge_in: endpoint {
remote-endpoint = <&dp_out>;
};
};
};
};
max98095: codec@11 { max98095: codec@11 {
compatible = "maxim,max98095"; compatible = "maxim,max98095";
reg = <0x11>; reg = <0x11>;
pinctrl-names = "default";
pinctrl-0 = <&max98095_en>; pinctrl-0 = <&max98095_en>;
pinctrl-names = "default";
}; };
}; };
&i2c_8 {
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <378000>;
hdmiphy: hdmiphy@38 {
compatible = "samsung,exynos4212-hdmiphy";
reg = <0x38>;
};
};
&i2s0 {
status = "okay";
};
&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>;
pinctrl-names = "default";
pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &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>;
pinctrl-names = "default";
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
bus-width = <4>;
wp-gpios = <&gpc2 1 GPIO_ACTIVE_HIGH>;
cap-sd-highspeed;
};
/*
* On Snow we've got SIP WiFi and so can keep drive strengths low to
* reduce EMI.
*/
&mmc_3 {
status = "okay";
num-slots = <1>;
broken-cd;
cap-sdio-irq;
keep-power-in-suspend;
card-detect-delay = <200>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <2 3>;
samsung,dw-mshc-ddr-timing = <1 2>;
pinctrl-names = "default";
pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4 &wifi_en &wifi_rst>;
bus-width = <4>;
cap-sd-highspeed;
mmc-pwrseq = <&mmc3_pwrseq>;
};
&pinctrl_0 { &pinctrl_0 {
wifi_en: wifi-en {
samsung,pins = "gpx0-1";
samsung,pin-function = <1>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
wifi_rst: wifi-rst {
samsung,pins = "gpx0-2";
samsung,pin-function = <1>;
samsung,pin-pud = <0>;
samsung,pin-drv = <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>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
max98095_en: max98095-en { max98095_en: max98095-en {
samsung,pins = "gpx1-7"; samsung,pins = "gpx1-7";
samsung,pin-function = <0>; samsung,pin-function = <0>;
samsung,pin-pud = <3>; samsung,pin-pud = <3>;
samsung,pin-drv = <0>; samsung,pin-drv = <0>;
}; };
tps65090_irq: tps65090-irq {
samsung,pins = "gpx2-6";
samsung,pin-function = <0>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
usb3_vbus_en: usb3-vbus-en {
samsung,pins = "gpx2-7";
samsung,pin-function = <1>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
max77686_irq: max77686-irq {
samsung,pins = "gpx3-2";
samsung,pin-function = <0>;
samsung,pin-pud = <0>;
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>;
samsung,pin-pud = <1>;
samsung,pin-drv = <0>;
};
}; };
&pinctrl_1 {
arb_their_claim: arb-their-claim {
samsung,pins = "gpe0-4";
samsung,pin-function = <0>;
samsung,pin-pud = <3>;
samsung,pin-drv = <0>;
};
arb_our_claim: arb-our-claim {
samsung,pins = "gpf0-3";
samsung,pin-function = <1>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
};
&rtc {
status = "okay";
clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
clock-names = "rtc", "rtc_src";
};
&sd3_bus4 {
samsung,pin-drv = <0>;
};
&sd3_clk {
samsung,pin-drv = <0>;
};
&sd3_cmd {
samsung,pin-pud = <3>;
samsung,pin-drv = <0>;
};
&spi_1 {
status = "okay";
samsung,spi-src-clk = <0>;
num-cs = <1>;
cs-gpios = <&gpa2 5 GPIO_ACTIVE_HIGH>;
};
&usbdrd_dwc3 {
dr_mode = "host";
};
&usbdrd_phy {
vbus-supply = <&usb3_vbus_reg>;
};
#include "cros-ec-keyboard.dtsi"

View file

@ -11,6 +11,7 @@
/dts-v1/; /dts-v1/;
#include "exynos5420.dtsi" #include "exynos5420.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/input/input.h> #include <dt-bindings/input/input.h>
#include <dt-bindings/clock/samsung,s2mps11.h> #include <dt-bindings/clock/samsung,s2mps11.h>
@ -44,7 +45,7 @@
wakeup { wakeup {
label = "SW-TACT1"; label = "SW-TACT1";
gpios = <&gpx2 7 1>; gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
linux,code = <KEY_WAKEUP>; linux,code = <KEY_WAKEUP>;
gpio-key,wakeup; gpio-key,wakeup;
}; };

View file

@ -94,7 +94,7 @@
regulator-name = "P5.0V_USB3CON0"; regulator-name = "P5.0V_USB3CON0";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
gpio = <&gph0 0 0>; gpio = <&gph0 0 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&usb300_vbus_en>; pinctrl-0 = <&usb300_vbus_en>;
enable-active-high; enable-active-high;
@ -105,7 +105,7 @@
regulator-name = "P5.0V_USB3CON1"; regulator-name = "P5.0V_USB3CON1";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
gpio = <&gph0 1 0>; gpio = <&gph0 1 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&usb301_vbus_en>; pinctrl-0 = <&usb301_vbus_en>;
enable-active-high; enable-active-high;
@ -153,7 +153,7 @@
samsung,color-depth = <1>; samsung,color-depth = <1>;
samsung,link-rate = <0x06>; samsung,link-rate = <0x06>;
samsung,lane-count = <2>; samsung,lane-count = <2>;
samsung,hpd-gpio = <&gpx2 6 0>; samsung,hpd-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>;
ports { ports {
port@0 { port@0 {
@ -925,7 +925,7 @@
status = "okay"; status = "okay";
num-cs = <1>; num-cs = <1>;
samsung,spi-src-clk = <0>; samsung,spi-src-clk = <0>;
cs-gpios = <&gpb1 2 0>; cs-gpios = <&gpb1 2 GPIO_ACTIVE_HIGH>;
cros_ec: cros-ec@0 { cros_ec: cros-ec@0 {
compatible = "google,cros-ec-spi"; compatible = "google,cros-ec-spi";
@ -935,6 +935,7 @@
pinctrl-0 = <&ec_spi_cs &ec_irq>; pinctrl-0 = <&ec_spi_cs &ec_irq>;
reg = <0>; reg = <0>;
spi-max-frequency = <3125000>; spi-max-frequency = <3125000>;
google,has-vbc-nvram;
controller-data { controller-data {
samsung,spi-feedback-delay = <1>; samsung,spi-feedback-delay = <1>;

View file

@ -11,6 +11,7 @@
/dts-v1/; /dts-v1/;
#include "exynos5420.dtsi" #include "exynos5420.dtsi"
#include <dt-bindings/gpio/gpio.h>
/ { / {
model = "Samsung SMDK5420 board based on EXYNOS5420"; model = "Samsung SMDK5420 board based on EXYNOS5420";
@ -69,7 +70,7 @@
regulator-name = "VBUS0"; regulator-name = "VBUS0";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
gpio = <&gpg0 5 0>; gpio = <&gpg0 5 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&usb300_vbus_en>; pinctrl-0 = <&usb300_vbus_en>;
enable-active-high; enable-active-high;
@ -80,7 +81,7 @@
regulator-name = "VBUS1"; regulator-name = "VBUS1";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
gpio = <&gpg1 4 0>; gpio = <&gpg1 4 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&usb301_vbus_en>; pinctrl-0 = <&usb301_vbus_en>;
enable-active-high; enable-active-high;
@ -98,10 +99,7 @@
samsung,link-rate = <0x0a>; samsung,link-rate = <0x0a>;
samsung,lane-count = <4>; samsung,lane-count = <4>;
status = "okay"; status = "okay";
};
&fimd {
status = "okay";
display-timings { display-timings {
native-mode = <&timing0>; native-mode = <&timing0>;
timing0: timing@0 { timing0: timing@0 {
@ -118,9 +116,13 @@
}; };
}; };
&fimd {
status = "okay";
};
&hdmi { &hdmi {
status = "okay"; status = "okay";
hpd-gpio = <&gpx3 7 0>; hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd_irq>; pinctrl-0 = <&hdmi_hpd_irq>;
}; };

View file

@ -0,0 +1,61 @@
/*
* Hardkernel Odroid XU3 Audio Codec device tree source
*
* Copyright (c) 2015 Krzysztof Kozlowski
* 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.
*/
/ {
sound: sound {
compatible = "simple-audio-card";
simple-audio-card,name = "Odroid-XU3";
simple-audio-card,widgets =
"Headphone", "Headphone Jack",
"Speakers", "Speakers";
simple-audio-card,routing =
"Headphone Jack", "HPL",
"Headphone Jack", "HPR",
"Headphone Jack", "MICBIAS",
"IN1", "Headphone Jack",
"Speakers", "SPKL",
"Speakers", "SPKR";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&link0_codec>;
simple-audio-card,frame-master = <&link0_codec>;
simple-audio-card,cpu {
sound-dai = <&i2s0 0>;
system-clock-frequency = <19200000>;
};
link0_codec: simple-audio-card,codec {
sound-dai = <&max98090>;
clocks = <&i2s0 CLK_I2S_CDCLK>;
};
};
};
&hsi2c_5 {
status = "okay";
max98090: max98090@10 {
compatible = "maxim,max98090";
reg = <0x10>;
interrupt-parent = <&gpx3>;
interrupts = <2 0>;
clocks = <&i2s0 CLK_I2S_CDCLK>;
clock-names = "mclk";
#sound-dai-cells = <0>;
};
};
&i2s0 {
status = "okay";
};

View file

@ -43,71 +43,7 @@
pinctrl-0 = <&emmc_nrst_pin>; pinctrl-0 = <&emmc_nrst_pin>;
pinctrl-names = "default"; pinctrl-names = "default";
compatible = "mmc-pwrseq-emmc"; compatible = "mmc-pwrseq-emmc";
reset-gpios = <&gpd1 0 1>; reset-gpios = <&gpd1 0 GPIO_ACTIVE_LOW>;
};
pwmleds {
compatible = "pwm-leds";
greenled {
label = "green:mmc0";
pwms = <&pwm 1 2000000 0>;
pwm-names = "pwm1";
/*
* Green LED is much brighter than the others
* so limit its max brightness
*/
max_brightness = <127>;
linux,default-trigger = "mmc0";
};
blueled {
label = "blue:heartbeat";
pwms = <&pwm 2 2000000 0>;
pwm-names = "pwm2";
max_brightness = <255>;
linux,default-trigger = "heartbeat";
};
};
gpioleds {
compatible = "gpio-leds";
redled {
label = "red:microSD";
gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>;
default-state = "off";
linux,default-trigger = "mmc1";
};
};
sound: sound {
compatible = "simple-audio-card";
simple-audio-card,name = "Odroid-XU3";
simple-audio-card,widgets =
"Headphone", "Headphone Jack",
"Speakers", "Speakers";
simple-audio-card,routing =
"Headphone Jack", "HPL",
"Headphone Jack", "HPR",
"Headphone Jack", "MICBIAS",
"IN1", "Headphone Jack",
"Speakers", "SPKL",
"Speakers", "SPKR";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&link0_codec>;
simple-audio-card,frame-master = <&link0_codec>;
simple-audio-card,cpu {
sound-dai = <&i2s0 0>;
system-clock-frequency = <19200000>;
};
link0_codec: simple-audio-card,codec {
sound-dai = <&max98090>;
clocks = <&i2s0 CLK_I2S_CDCLK>;
};
}; };
fan0: pwm-fan { fan0: pwm-fan {
@ -138,7 +74,7 @@
&hdmi { &hdmi {
status = "okay"; status = "okay";
hpd-gpio = <&gpx3 7 0>; hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd_irq>; pinctrl-0 = <&hdmi_hpd_irq>;
@ -160,6 +96,7 @@
s2mps11,buck2-ramp-enable = <1>; s2mps11,buck2-ramp-enable = <1>;
s2mps11,buck3-ramp-enable = <1>; s2mps11,buck3-ramp-enable = <1>;
s2mps11,buck4-ramp-enable = <1>; s2mps11,buck4-ramp-enable = <1>;
samsung,s2mps11-acokb-ground;
interrupt-parent = <&gpx0>; interrupt-parent = <&gpx0>;
interrupts = <4 IRQ_TYPE_EDGE_FALLING>; interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
@ -375,19 +312,6 @@
}; };
}; };
&hsi2c_5 {
status = "okay";
max98090: max98090@10 {
compatible = "maxim,max98090";
reg = <0x10>;
interrupt-parent = <&gpx3>;
interrupts = <2 0>;
clocks = <&i2s0 CLK_I2S_CDCLK>;
clock-names = "mclk";
#sound-dai-cells = <0>;
};
};
&i2c_2 { &i2c_2 {
samsung,i2c-sda-delay = <100>; samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>; samsung,i2c-max-bus-freq = <66000>;
@ -399,10 +323,6 @@
}; };
}; };
&i2s0 {
status = "okay";
};
&mfc { &mfc {
samsung,mfc-r = <0x43000000 0x800000>; samsung,mfc-r = <0x43000000 0x800000>;
samsung,mfc-l = <0x51000000 0x800000>; samsung,mfc-l = <0x51000000 0x800000>;
@ -463,19 +383,6 @@
}; };
}; };
&pwm {
/*
* PWM 0 -- fan
* PWM 1 -- Green LED
* PWM 2 -- Blue LED
* PWM 3 -- on MIPI connector for backlight
*/
pinctrl-0 = <&pwm0_out &pwm1_out &pwm2_out &pwm3_out>;
pinctrl-names = "default";
samsung,pwm-outputs = <0>;
status = "okay";
};
&tmu_cpu0 { &tmu_cpu0 {
vtmu-supply = <&ldo7_reg>; vtmu-supply = <&ldo7_reg>;
status = "okay"; status = "okay";
@ -511,9 +418,7 @@
dr_mode = "host"; dr_mode = "host";
}; };
&usbdrd_dwc3_1 { /* usbdrd_dwc3_1 mode customized in each board */
dr_mode = "otg";
};
&usbdrd3_0 { &usbdrd3_0 {
vdd33-supply = <&ldo9_reg>; vdd33-supply = <&ldo9_reg>;

View file

@ -13,8 +13,59 @@
/dts-v1/; /dts-v1/;
#include "exynos5422-odroidxu3-common.dtsi" #include "exynos5422-odroidxu3-common.dtsi"
#include "exynos5422-odroidxu3-audio.dtsi"
/ { / {
model = "Hardkernel Odroid XU3 Lite"; model = "Hardkernel Odroid XU3 Lite";
compatible = "hardkernel,odroid-xu3-lite", "samsung,exynos5800", "samsung,exynos5"; compatible = "hardkernel,odroid-xu3-lite", "samsung,exynos5800", "samsung,exynos5";
pwmleds {
compatible = "pwm-leds";
greenled {
label = "green:mmc0";
pwms = <&pwm 1 2000000 0>;
pwm-names = "pwm1";
/*
* Green LED is much brighter than the others
* so limit its max brightness
*/
max_brightness = <127>;
linux,default-trigger = "mmc0";
};
blueled {
label = "blue:heartbeat";
pwms = <&pwm 2 2000000 0>;
pwm-names = "pwm2";
max_brightness = <255>;
linux,default-trigger = "heartbeat";
};
};
gpioleds {
compatible = "gpio-leds";
redled {
label = "red:microSD";
gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>;
default-state = "off";
linux,default-trigger = "mmc1";
};
};
};
&pwm {
/*
* PWM 0 -- fan
* PWM 1 -- Green LED
* PWM 2 -- Blue LED
* PWM 3 -- on MIPI connector for backlight
*/
pinctrl-0 = <&pwm0_out &pwm1_out &pwm2_out &pwm3_out>;
pinctrl-names = "default";
status = "okay";
};
&usbdrd_dwc3_1 {
dr_mode = "otg";
}; };

View file

@ -12,10 +12,45 @@
/dts-v1/; /dts-v1/;
#include "exynos5422-odroidxu3-common.dtsi" #include "exynos5422-odroidxu3-common.dtsi"
#include "exynos5422-odroidxu3-audio.dtsi"
/ { / {
model = "Hardkernel Odroid XU3"; model = "Hardkernel Odroid XU3";
compatible = "hardkernel,odroid-xu3", "samsung,exynos5800", "samsung,exynos5"; compatible = "hardkernel,odroid-xu3", "samsung,exynos5800", "samsung,exynos5";
pwmleds {
compatible = "pwm-leds";
greenled {
label = "green:mmc0";
pwms = <&pwm 1 2000000 0>;
pwm-names = "pwm1";
/*
* Green LED is much brighter than the others
* so limit its max brightness
*/
max_brightness = <127>;
linux,default-trigger = "mmc0";
};
blueled {
label = "blue:heartbeat";
pwms = <&pwm 2 2000000 0>;
pwm-names = "pwm2";
max_brightness = <255>;
linux,default-trigger = "heartbeat";
};
};
gpioleds {
compatible = "gpio-leds";
redled {
label = "red:microSD";
gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>;
default-state = "off";
linux,default-trigger = "mmc1";
};
};
}; };
&i2c_0 { &i2c_0 {
@ -49,3 +84,19 @@
shunt-resistor = <10000>; shunt-resistor = <10000>;
}; };
}; };
&pwm {
/*
* PWM 0 -- fan
* PWM 1 -- Green LED
* PWM 2 -- Blue LED
* PWM 3 -- on MIPI connector for backlight
*/
pinctrl-0 = <&pwm0_out &pwm1_out &pwm2_out &pwm3_out>;
pinctrl-names = "default";
status = "okay";
};
&usbdrd_dwc3_1 {
dr_mode = "otg";
};

View file

@ -0,0 +1,48 @@
/*
* Hardkernel Odroid XU4 board device tree source
*
* Copyright (c) 2015 Krzysztof Kozlowski
* Copyright (c) 2014 Collabora Ltd.
* Copyright (c) 2013-2015 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 "exynos5422-odroidxu3-common.dtsi"
/ {
model = "Hardkernel Odroid XU4";
compatible = "hardkernel,odroid-xu4", "samsung,exynos5800", \
"samsung,exynos5";
pwmleds {
compatible = "pwm-leds";
blueled {
label = "blue:heartbeat";
pwms = <&pwm 2 2000000 0>;
pwm-names = "pwm2";
max_brightness = <255>;
linux,default-trigger = "heartbeat";
};
};
};
&pwm {
/*
* PWM 0 -- fan
* PWM 2 -- Blue LED
*/
pinctrl-0 = <&pwm0_out &pwm2_out>;
pinctrl-names = "default";
samsung,pwm-outputs = <0>, <2>;
status = "okay";
};
&usbdrd_dwc3_1 {
dr_mode = "host";
};

View file

@ -11,6 +11,7 @@
/dts-v1/; /dts-v1/;
#include "exynos5440.dtsi" #include "exynos5440.dtsi"
#include <dt-bindings/gpio/gpio.h>
/ { / {
model = "SAMSUNG SSDK5440 board based on EXYNOS5440"; model = "SAMSUNG SSDK5440 board based on EXYNOS5440";
@ -29,12 +30,12 @@
}; };
&pcie_0 { &pcie_0 {
reset-gpio = <&pin_ctrl 5 0>; reset-gpio = <&pin_ctrl 5 GPIO_ACTIVE_HIGH>;
status = "okay"; status = "okay";
}; };
&pcie_1 { &pcie_1 {
reset-gpio = <&pin_ctrl 22 0>; reset-gpio = <&pin_ctrl 22 GPIO_ACTIVE_HIGH>;
status = "okay"; status = "okay";
}; };

View file

@ -94,7 +94,7 @@
regulator-name = "P5.0V_USB3CON0"; regulator-name = "P5.0V_USB3CON0";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
gpio = <&gph0 0 0>; gpio = <&gph0 0 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&usb300_vbus_en>; pinctrl-0 = <&usb300_vbus_en>;
enable-active-high; enable-active-high;
@ -105,7 +105,7 @@
regulator-name = "P5.0V_USB3CON1"; regulator-name = "P5.0V_USB3CON1";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
gpio = <&gph0 1 0>; gpio = <&gph0 1 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&usb301_vbus_en>; pinctrl-0 = <&usb301_vbus_en>;
enable-active-high; enable-active-high;
@ -147,7 +147,7 @@
samsung,color-depth = <1>; samsung,color-depth = <1>;
samsung,link-rate = <0x0a>; samsung,link-rate = <0x0a>;
samsung,lane-count = <2>; samsung,lane-count = <2>;
samsung,hpd-gpio = <&gpx2 6 0>; samsung,hpd-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>;
panel = <&panel>; panel = <&panel>;
}; };
@ -888,7 +888,7 @@
status = "okay"; status = "okay";
num-cs = <1>; num-cs = <1>;
samsung,spi-src-clk = <0>; samsung,spi-src-clk = <0>;
cs-gpios = <&gpb1 2 0>; cs-gpios = <&gpb1 2 GPIO_ACTIVE_HIGH>;
cros_ec: cros-ec@0 { cros_ec: cros-ec@0 {
compatible = "google,cros-ec-spi"; compatible = "google,cros-ec-spi";
@ -898,6 +898,7 @@
pinctrl-0 = <&ec_spi_cs &ec_irq>; pinctrl-0 = <&ec_spi_cs &ec_irq>;
reg = <0>; reg = <0>;
spi-max-frequency = <3125000>; spi-max-frequency = <3125000>;
google,has-vbc-nvram;
controller-data { controller-data {
samsung,spi-feedback-delay = <1>; samsung,spi-feedback-delay = <1>;

View file

@ -25,7 +25,7 @@
#size-cells = <0>; #size-cells = <0>;
cpu { cpu {
compatible = "arm,arm926ejs"; compatible = "arm,arm926ej-s";
}; };
}; };