2012-11-20 17:23:13

by Doug Anderson

[permalink] [raw]
Subject: [PATCH 1/2] ARM: dts: exynos: Move the dwmmc aliases from smdk5250 dts to exynos

The aliases for dwmmc were placed in the SMDK5250 dts file but really
should be common for all exynos5250 boards. Move it to the common CPU
file.

Signed-off-by: Doug Anderson <[email protected]>

---
arch/arm/boot/dts/exynos5250-smdk5250.dts | 12 ++++--------
arch/arm/boot/dts/exynos5250.dtsi | 12 ++++++++----
2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
index 405009c..541fe39 100644
--- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
+++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
@@ -17,10 +17,6 @@
compatible = "samsung,smdk5250", "samsung,exynos5250";

aliases {
- mshc0 = &dwmmc_0;
- mshc1 = &dwmmc_1;
- mshc2 = &dwmmc_2;
- mshc3 = &dwmmc_3;
};

memory {
@@ -97,7 +93,7 @@
};
};

- dwmmc_0: dwmmc0@12200000 {
+ dwmmc0@12200000 {
num-slots = <1>;
supports-highspeed;
broken-cd;
@@ -118,11 +114,11 @@
};
};

- dwmmc_1: dwmmc1@12210000 {
+ dwmmc1@12210000 {
status = "disabled";
};

- dwmmc_2: dwmmc2@12220000 {
+ dwmmc2@12220000 {
num-slots = <1>;
supports-highspeed;
fifo-depth = <0x80>;
@@ -143,7 +139,7 @@
};
};

- dwmmc_3: dwmmc3@12230000 {
+ dwmmc3@12230000 {
status = "disabled";
};

diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index cf6a02d..7c5664b 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -31,6 +31,10 @@
gsc1 = &gsc_1;
gsc2 = &gsc_2;
gsc3 = &gsc_3;
+ mshc0 = &dwmmc_0;
+ mshc1 = &dwmmc_1;
+ mshc2 = &dwmmc_2;
+ mshc3 = &dwmmc_3;
};

gic:interrupt-controller@10481000 {
@@ -206,7 +210,7 @@
#size-cells = <0>;
};

- dwmmc0@12200000 {
+ dwmmc_0: dwmmc0@12200000 {
compatible = "samsung,exynos5250-dw-mshc";
reg = <0x12200000 0x1000>;
interrupts = <0 75 0>;
@@ -214,7 +218,7 @@
#size-cells = <0>;
};

- dwmmc1@12210000 {
+ dwmmc_1: dwmmc1@12210000 {
compatible = "samsung,exynos5250-dw-mshc";
reg = <0x12210000 0x1000>;
interrupts = <0 76 0>;
@@ -222,7 +226,7 @@
#size-cells = <0>;
};

- dwmmc2@12220000 {
+ dwmmc_2: dwmmc2@12220000 {
compatible = "samsung,exynos5250-dw-mshc";
reg = <0x12220000 0x1000>;
interrupts = <0 77 0>;
@@ -230,7 +234,7 @@
#size-cells = <0>;
};

- dwmmc3@12230000 {
+ dwmmc_3: dwmmc3@12230000 {
compatible = "samsung,exynos5250-dw-mshc";
reg = <0x12230000 0x1000>;
interrupts = <0 78 0>;
--
1.7.7.3


2012-11-20 17:23:31

by Doug Anderson

[permalink] [raw]
Subject: [PATCH 2/2] ARM: dts: snow: Add board dts file for Snow board (ARM Chromebook)

This dts file is based on the Snow dts file in the Chromium OS kernel
tree with the following changes:
* Some details have been updated to match the exynos5250-smdk5250.dts
file from linux-next (as of
c11068538994430547722dc9fb515a0ceefd5cb9).
* This file doesn't include references to hardware whose upstream
support isn't quite there yet. That includes most i2c devices.
Note that most i2c busses have been included with no devices.

The Snow dts file is mostly just an include of the "cros5250" dts file
which describes a class of similar boards. Support for other boards
has not yet been send upstream.

With this file and a change to use UART3 for serial output I can:
* Boot to a command line using either SD or EMMC as a root filesystem
* See the power button and lid switch using evtest.

Signed-off-by: Doug Anderson <[email protected]>
---
arch/arm/boot/dts/Makefile | 3 +-
arch/arm/boot/dts/cros5250-common.dtsi | 184 ++++++++++++++++++++++++++++++++
arch/arm/boot/dts/exynos5250-snow.dts | 43 ++++++++
3 files changed, 229 insertions(+), 1 deletions(-)
create mode 100644 arch/arm/boot/dts/cros5250-common.dtsi
create mode 100644 arch/arm/boot/dts/exynos5250-snow.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 701388b..7d43a13 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -36,7 +36,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 \
ecx-2000.dtb
dtb-$(CONFIG_ARCH_INTEGRATOR) += integratorap.dtb \
diff --git a/arch/arm/boot/dts/cros5250-common.dtsi b/arch/arm/boot/dts/cros5250-common.dtsi
new file mode 100644
index 0000000..fddd174
--- /dev/null
+++ b/arch/arm/boot/dts/cros5250-common.dtsi
@@ -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;
+ };
+ };
+};
diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts
new file mode 100644
index 0000000..17dd951
--- /dev/null
+++ b/arch/arm/boot/dts/exynos5250-snow.dts
@@ -0,0 +1,43 @@
+/*
+ * 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.
+*/
+
+/dts-v1/;
+/include/ "exynos5250.dtsi"
+/include/ "cros5250-common.dtsi"
+
+/ {
+ model = "Google Snow";
+ compatible = "google,snow", "samsung,exynos5250";
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ lid-switch {
+ label = "Lid";
+ gpios = <&gpx3 5 0 0x10000 0>;
+ linux,input-type = <5>; /* EV_SW */
+ linux,code = <0>; /* SW_LID */
+ debounce-interval = <1>;
+ gpio-key,wakeup;
+ };
+ };
+
+ /*
+ * On Snow we've got SIP WiFi and so can keep drive strengths low to
+ * reduce EMI.
+ */
+ dwmmc3@12230000 {
+ slot@0 {
+ gpios = <&gpc4 0 2 0 0>, <&gpc4 1 2 3 0>,
+ <&gpc4 3 2 3 0>, <&gpc4 4 2 3 0>,
+ <&gpc4 5 2 3 0>, <&gpc4 6 2 3 0>;
+ };
+ };
+};
--
1.7.7.3

2012-11-20 18:44:00

by Olof Johansson

[permalink] [raw]
Subject: Re: [PATCH 2/2] ARM: dts: snow: Add board dts file for Snow board (ARM Chromebook)

On Tue, Nov 20, 2012 at 9:22 AM, Doug Anderson <[email protected]> wrote:
> This dts file is based on the Snow dts file in the Chromium OS kernel
> tree with the following changes:
> * Some details have been updated to match the exynos5250-smdk5250.dts
> file from linux-next (as of
> c11068538994430547722dc9fb515a0ceefd5cb9).
> * This file doesn't include references to hardware whose upstream
> support isn't quite there yet. That includes most i2c devices.
> Note that most i2c busses have been included with no devices.
>
> The Snow dts file is mostly just an include of the "cros5250" dts file
> which describes a class of similar boards. Support for other boards
> has not yet been send upstream.
>
> With this file and a change to use UART3 for serial output I can:
> * Boot to a command line using either SD or EMMC as a root filesystem
> * See the power button and lid switch using evtest.
>
> Signed-off-by: Doug Anderson <[email protected]>

Acked-by: Olof Johansson <[email protected]>

Kukjin, since your pull requests came in today, can you ack this and
I'll just apply it on top of your branches?


Thanks,

-Olof

2012-11-20 18:44:53

by Olof Johansson

[permalink] [raw]
Subject: Re: [PATCH 1/2] ARM: dts: exynos: Move the dwmmc aliases from smdk5250 dts to exynos

On Tue, Nov 20, 2012 at 9:22 AM, Doug Anderson <[email protected]> wrote:
> The aliases for dwmmc were placed in the SMDK5250 dts file but really
> should be common for all exynos5250 boards. Move it to the common CPU
> file.
>
> Signed-off-by: Doug Anderson <[email protected]>

Acked-by: Olof Johansson <[email protected]>


-Olof

2012-11-20 22:57:16

by Kukjin Kim

[permalink] [raw]
Subject: RE: [PATCH 2/2] ARM: dts: snow: Add board dts file for Snow board (ARM Chromebook)

Olof Johansson wrote:
>
> On Tue, Nov 20, 2012 at 9:22 AM, Doug Anderson <[email protected]>
> wrote:
> > This dts file is based on the Snow dts file in the Chromium OS kernel
> > tree with the following changes:
> > * Some details have been updated to match the exynos5250-smdk5250.dts
> > file from linux-next (as of
> > c11068538994430547722dc9fb515a0ceefd5cb9).
> > * This file doesn't include references to hardware whose upstream
> > support isn't quite there yet. That includes most i2c devices.
> > Note that most i2c busses have been included with no devices.
> >
> > The Snow dts file is mostly just an include of the "cros5250" dts file
> > which describes a class of similar boards. Support for other boards
> > has not yet been send upstream.
> >
> > With this file and a change to use UART3 for serial output I can:
> > * Boot to a command line using either SD or EMMC as a root filesystem
> > * See the power button and lid switch using evtest.
> >
> > Signed-off-by: Doug Anderson <[email protected]>
>
> Acked-by: Olof Johansson <[email protected]>
>
> Kukjin, since your pull requests came in today, can you ack this and
> I'll just apply it on top of your branches?
>
Hi Olof, yeah, I sent pull-request but there are some patches for dt and
exynos5440 stuff in my tree not sent yet. If you're ok, let me take this
with your ack.

Note, I will try to send out remained Samsung stuff before release -rc7 ;-)

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <[email protected]>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

2012-11-21 09:44:14

by Kukjin Kim

[permalink] [raw]
Subject: RE: [PATCH 2/2] ARM: dts: snow: Add board dts file for Snow board (ARM Chromebook)

Kukjin Kim wrote:
>
> Olof Johansson wrote:
> >

[...]

> >
> > Acked-by: Olof Johansson <[email protected]>
> >
> > Kukjin, since your pull requests came in today, can you ack this and
> > I'll just apply it on top of your branches?
> >
> Hi Olof, yeah, I sent pull-request but there are some patches for dt and
> exynos5440 stuff in my tree not sent yet. If you're ok, let me take this
> with your ack.
>
Applied, thanks.

Best regards,
Kgene.
--
Kukjin Kim <[email protected]>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.