Skip to content

Commit

Permalink
Merge branch 'next/dt-samsung-2' of git://git.kernel.org/pub/scm/linu…
Browse files Browse the repository at this point in the history
…x/kernel/git/kgene/linux-samsung into next/dt

From Kukjin Kim:
Here is second Samsung DT stuff for v3.8.

This is including power domain DT support for exynos and Google ARM
Chromebook, Snow board and exynos4210-origen updates.

* 'next/dt-samsung-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: dts: Use drive strength 3 for SD pins for exynos4
  ARM: dts: Set up power domains for exynos4
  ARM: EXYNOS: Bind devices to power domains using DT
  ARM: EXYNOS: Fix power domain name initialization
  ARM: EXYNOS: Detect power domain state on registration from DT
  ARM: dts: Add vmmc fixed voltage regulator for exynos4210-origen
  ARM: dts: Update sdhci nodes for current bindings for exynos4210-origen
  ARM: dts: Update for pinctrl-samsung driver for exynos4210-origen
  ARM: dts: Split memory sections for exynos4210-origen
  ARM: EXYNOS: add all i2c busses to auxdata for DT
  ARM: dts: Add aliases for i2c controller for exynos4
  ARM: dts: Add board dts file for Snow board (ARM Chromebook)
  ARM: dts: Move the dwmmc aliases from smdk5250 dts to exynos

Add/add conflicts resolved in arch/arm/boot/dts/exynos5250-smdk5250.dts
and arch/arm/mach-exynos/mach-exynos5-dt.c.

Signed-off-by: Olof Johansson <olof@lixom.net>
  • Loading branch information
Olof Johansson committed Nov 26, 2012
2 parents 8d2282a + d80162e commit d408c5d
Show file tree
Hide file tree
Showing 13 changed files with 485 additions and 112 deletions.
15 changes: 11 additions & 4 deletions Documentation/devicetree/bindings/arm/exynos/power_domain.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,25 @@ Exynos processors include support for multiple power domains which are used
to gate power to one or more peripherals on the processor.

Required Properties:
- compatiable: should be one of the following.
- compatible: should be one of the following.
* samsung,exynos4210-pd - for exynos4210 type power domain.
- reg: physical base address of the controller and length of memory mapped
region.

Optional Properties:
- samsung,exynos4210-pd-off: Specifies that the power domain is in turned-off
state during boot and remains to be turned-off until explicitly turned-on.
Node of a device using power domains must have a samsung,power-domain property
defined with a phandle to respective power domain.

Example:

lcd0: power-domain-lcd0 {
compatible = "samsung,exynos4210-pd";
reg = <0x10023C00 0x10>;
};

Example of the node using power domain:

node {
/* ... */
samsung,power-domain = <&lcd0>;
/* ... */
};
3 changes: 2 additions & 1 deletion arch/arm/boot/dts/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
exynos4210-smdkv310.dtb \
exynos4210-trats.dtb \
exynos4412-smdk4412.dtb \
exynos5250-smdk5250.dtb
exynos5250-smdk5250.dtb \
exynos5250-snow.dtb
dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
dtb-$(CONFIG_ARCH_INTEGRATOR) += integratorap.dtb \
integratorcp.dtb
Expand Down
184 changes: 184 additions & 0 deletions arch/arm/boot/dts/cros5250-common.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
/*
* Common device tree include for all Exynos 5250 boards based off of Daisy.
*
* 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.
*/

/ {
aliases {
};

memory {
reg = <0x40000000 0x80000000>;
};

chosen {
};

i2c@12C60000 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <378000>;
gpios = <&gpb3 0 2 3 0>,
<&gpb3 1 2 3 0>;
};

i2c@12C70000 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <378000>;
gpios = <&gpb3 2 2 3 0>,
<&gpb3 3 2 3 0>;
};

i2c@12C80000 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;

/*
* Disabled pullups since external part has its own pullups and
* double-pulling gets us out of spec in some cases.
*/
gpios = <&gpa0 6 3 0 0>,
<&gpa0 7 3 0 0>;

hdmiddc@50 {
compatible = "samsung,exynos5-hdmiddc";
reg = <0x50>;
};
};

i2c@12C90000 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
gpios = <&gpa1 2 3 3 0>,
<&gpa1 3 3 3 0>;
};

i2c@12CA0000 {
status = "disabled";
};

i2c@12CB0000 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
gpios = <&gpa2 2 3 3 0>,
<&gpa2 3 3 3 0>;
};

i2c@12CC0000 {
status = "disabled";
};

i2c@12CD0000 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
gpios = <&gpb2 2 3 3 0>,
<&gpb2 3 3 3 0>;
};

i2c@12CE0000 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <378000>;

hdmiphy@38 {
compatible = "samsung,exynos5-hdmiphy";
reg = <0x38>;
};
};

dwmmc0@12200000 {
num-slots = <1>;
supports-highspeed;
broken-cd;
fifo-depth = <0x80>;
card-detect-delay = <200>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <2 3 3>;
samsung,dw-mshc-ddr-timing = <1 2 3>;

slot@0 {
reg = <0>;
bus-width = <8>;
gpios = <&gpc0 0 2 0 3>, <&gpc0 1 2 0 3>,
<&gpc1 0 2 3 3>, <&gpc1 1 2 3 3>,
<&gpc1 2 2 3 3>, <&gpc1 3 2 3 3>,
<&gpc0 3 2 3 3>, <&gpc0 4 2 3 3>,
<&gpc0 5 2 3 3>, <&gpc0 6 2 3 3>;
};
};

dwmmc1@12210000 {
status = "disabled";
};

dwmmc2@12220000 {
num-slots = <1>;
supports-highspeed;
fifo-depth = <0x80>;
card-detect-delay = <200>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <2 3 3>;
samsung,dw-mshc-ddr-timing = <1 2 3>;

slot@0 {
reg = <0>;
bus-width = <4>;
samsung,cd-pinmux-gpio = <&gpc3 2 2 3 3>;
wp-gpios = <&gpc2 1 0 0 3>;
gpios = <&gpc3 0 2 0 3>, <&gpc3 1 2 0 3>,
<&gpc3 3 2 3 3>, <&gpc3 4 2 3 3>,
<&gpc3 5 2 3 3>, <&gpc3 6 2 3 3>;
};
};

dwmmc3@12230000 {
num-slots = <1>;
supports-highspeed;
broken-cd;
fifo-depth = <0x80>;
card-detect-delay = <200>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <2 3 3>;
samsung,dw-mshc-ddr-timing = <1 2 3>;

slot@0 {
reg = <0>;
bus-width = <4>;
/* See board-specific dts files for GPIOs */
};
};

spi_0: spi@12d20000 {
status = "disabled";
};

spi_1: spi@12d30000 {
gpios = <&gpa2 4 2 3 0>,
<&gpa2 6 2 3 0>,
<&gpa2 7 2 3 0>;
samsung,spi-src-clk = <0>;
num-cs = <1>;
};

spi_2: spi@12d40000 {
status = "disabled";
};

hdmi {
hpd-gpio = <&gpx3 7 0xf 1 3>;
};

gpio-keys {
compatible = "gpio-keys";

power {
label = "Power";
gpios = <&gpx1 3 0 0x10000 0>;
linux,code = <116>; /* KEY_POWER */
gpio-key,wakeup;
};
};
};
54 changes: 46 additions & 8 deletions arch/arm/boot/dts/exynos4.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,44 @@
spi0 = &spi_0;
spi1 = &spi_1;
spi2 = &spi_2;
i2c0 = &i2c_0;
i2c1 = &i2c_1;
i2c2 = &i2c_2;
i2c3 = &i2c_3;
i2c4 = &i2c_4;
i2c5 = &i2c_5;
i2c6 = &i2c_6;
i2c7 = &i2c_7;
};

pd_mfc: mfc-power-domain@10023C40 {
compatible = "samsung,exynos4210-pd";
reg = <0x10023C40 0x20>;
};

pd_g3d: g3d-power-domain@10023C60 {
compatible = "samsung,exynos4210-pd";
reg = <0x10023C60 0x20>;
};

pd_lcd0: lcd0-power-domain@10023C80 {
compatible = "samsung,exynos4210-pd";
reg = <0x10023C80 0x20>;
};

pd_tv: tv-power-domain@10023C20 {
compatible = "samsung,exynos4210-pd";
reg = <0x10023C20 0x20>;
};

pd_cam: cam-power-domain@10023C00 {
compatible = "samsung,exynos4210-pd";
reg = <0x10023C00 0x20>;
};

pd_gps: gps-power-domain@10023CE0 {
compatible = "samsung,exynos4210-pd";
reg = <0x10023CE0 0x20>;
};

gic:interrupt-controller@10490000 {
Expand Down Expand Up @@ -121,7 +159,7 @@
status = "disabled";
};

i2c@13860000 {
i2c_0: i2c@13860000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
Expand All @@ -130,7 +168,7 @@
status = "disabled";
};

i2c@13870000 {
i2c_1: i2c@13870000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
Expand All @@ -139,7 +177,7 @@
status = "disabled";
};

i2c@13880000 {
i2c_2: i2c@13880000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
Expand All @@ -148,7 +186,7 @@
status = "disabled";
};

i2c@13890000 {
i2c_3: i2c@13890000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
Expand All @@ -157,7 +195,7 @@
status = "disabled";
};

i2c@138A0000 {
i2c_4: i2c@138A0000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
Expand All @@ -166,7 +204,7 @@
status = "disabled";
};

i2c@138B0000 {
i2c_5: i2c@138B0000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
Expand All @@ -175,7 +213,7 @@
status = "disabled";
};

i2c@138C0000 {
i2c_6: i2c@138C0000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
Expand All @@ -184,7 +222,7 @@
status = "disabled";
};

i2c@138D0000 {
i2c_7: i2c@138D0000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "samsung,s3c2440-i2c";
Expand Down
Loading

0 comments on commit d408c5d

Please sign in to comment.