diff mbox

[v2] ARM: DTS: OMAP4: Add OMAP4 Blaze Tablet support

Message ID 1372159970-6361-1-git-send-email-ruslan.bilovol@ti.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ruslan Bilovol June 25, 2013, 11:32 a.m. UTC
The OMAP4 Blaze Tablet is TI OMAP4 processor-based
development platform in a tablet formfactor.
The platform contains many of the features found in
present-day handsets (such as audio, video, wireless
functions and user interfaces) and in addition
contains features for software development and test.

This patch adds initial support for the OMAP4 Blaze
Tablet development platform. Additional functionality
depends on different drivers and code modifications that
are not upstreamed yet or do not support DT yet, so will
be added later.

Signed-off-by: Ruslan Bilovol <ruslan.bilovol@ti.com>
---

v2:
 - Rebased onto 'for_3.11/dts' branch of bcousson/linux-omap-dt tree
 - Bound more hardware and picked up updates from omap4-sdp 

 arch/arm/boot/dts/Makefile              |    1 +
 arch/arm/boot/dts/omap4-blazetablet.dts |  483 +++++++++++++++++++++++++++++++
 2 files changed, 484 insertions(+)
 create mode 100644 arch/arm/boot/dts/omap4-blazetablet.dts

Comments

Nishanth Menon June 25, 2013, 12:01 p.m. UTC | #1
On 06/25/2013 06:32 AM, Ruslan Bilovol wrote:
> The OMAP4 Blaze Tablet is TI OMAP4 processor-based
> development platform in a tablet formfactor.
> The platform contains many of the features found in
> present-day handsets (such as audio, video, wireless
> functions and user interfaces) and in addition
> contains features for software development and test.
>
> This patch adds initial support for the OMAP4 Blaze
> Tablet development platform. Additional functionality
> depends on different drivers and code modifications that
> are not upstreamed yet or do not support DT yet, so will
> be added later.

http://svtronics.com/omap/sevm4460,blaze,omap might help too :)
[...]
> +
> +#include "twl6030.dtsi"
> +
Might be good to see the TWL interrupt pin information made available as 
well?
[...]

Regards,
Nishanth Menon
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Nishanth Menon June 25, 2013, 12:43 p.m. UTC | #2
On 06/25/2013 07:01 AM, Nishanth Menon wrote:
> On 06/25/2013 06:32 AM, Ruslan Bilovol wrote:
>> The OMAP4 Blaze Tablet is TI OMAP4 processor-based
>> development platform in a tablet formfactor.
>> The platform contains many of the features found in
>> present-day handsets (such as audio, video, wireless
>> functions and user interfaces) and in addition
>> contains features for software development and test.
>>
>> This patch adds initial support for the OMAP4 Blaze
>> Tablet development platform. Additional functionality
>> depends on different drivers and code modifications that
>> are not upstreamed yet or do not support DT yet, so will
>> be added later.
>
> http://svtronics.com/omap/sevm4460,blaze,omap might help too :)
> [...]
>> +
>> +#include "twl6030.dtsi"
>> +
> Might be good to see the TWL interrupt pin information made available as
> well?
Allow me to rephrase a comment a little bit more :)
Similar to twl4030_omap3.dtsi, we could introduce twl6030_omap4.dtsi. 
this could contain the common pins used for 6030.
  &omap4_pmx_wkup {
          pinctrl-names = "default";
          pinctrl-0 = <
                          &twl6030_wkup_pins
          >;

          twl6030_wkup_pins: pinmux_twl6030_wkup_pins { 

                  pinctrl-single,pins = <
                          0x14 (PIN_OUTPUT | MUX_MODE2)
                  >;
          };
  };

	twl6030_pins: pinmux_twl6030_pins {
		pinctrl-single,pins = <
			0x15e (WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE0)	/* 
sys_nirq1.sys_nirq1 */
		>;
	};

which is now already duplicated in 2 places (SDP and Panda), and in this 
patch duplicated again.

just my 2 cents :(
---
Regards,
Nishanth Menon
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Dan Murphy June 25, 2013, 2:07 p.m. UTC | #3
On 06/25/2013 06:32 AM, Ruslan Bilovol wrote:
> The OMAP4 Blaze Tablet is TI OMAP4 processor-based
> development platform in a tablet formfactor.
> The platform contains many of the features found in
> present-day handsets (such as audio, video, wireless
> functions and user interfaces) and in addition
> contains features for software development and test.
Why do we want to send this upstream?
What is the advantage to having this supported?

I don't believe we need to add another community board.  We have a SDP 
and Panda.

Dan

<snip>
Tony Lindgren June 26, 2013, 6:27 a.m. UTC | #4
* Dan Murphy <dmurphy@ti.com> [130625 07:13]:
> On 06/25/2013 06:32 AM, Ruslan Bilovol wrote:
> >The OMAP4 Blaze Tablet is TI OMAP4 processor-based
> >development platform in a tablet formfactor.
> >The platform contains many of the features found in
> >present-day handsets (such as audio, video, wireless
> >functions and user interfaces) and in addition
> >contains features for software development and test.
> Why do we want to send this upstream?
> What is the advantage to having this supported?
> 
> I don't believe we need to add another community board.  We have a
> SDP and Panda.

Why not? Just the .dts file is needed nowadays and it
may make it easier to support various other omap4 based
tablets that have similar features.

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ruslan Bilovol June 26, 2013, 8:03 a.m. UTC | #5
Hi Nishanth,

On Tue, Jun 25, 2013 at 3:43 PM, Nishanth Menon <nm@ti.com> wrote:
> On 06/25/2013 07:01 AM, Nishanth Menon wrote:
>>
>> On 06/25/2013 06:32 AM, Ruslan Bilovol wrote:
>>>
>>> The OMAP4 Blaze Tablet is TI OMAP4 processor-based
>>> development platform in a tablet formfactor.
>>> The platform contains many of the features found in
>>> present-day handsets (such as audio, video, wireless
>>> functions and user interfaces) and in addition
>>> contains features for software development and test.
>>>
>>> This patch adds initial support for the OMAP4 Blaze
>>> Tablet development platform. Additional functionality
>>> depends on different drivers and code modifications that
>>> are not upstreamed yet or do not support DT yet, so will
>>> be added later.--
>>
>>
>> http://svtronics.com/omap/sevm4460,blaze,omap might help too :)

Yes, forgot to add this information from cover-letter from previous
version of patch :)

>> [...]
>>>
>>> +
>>> +#include "twl6030.dtsi"
>>> +
>>
>> Might be good to see the TWL interrupt pin information made available as
>> well?
>
> Allow me to rephrase a comment a little bit more :)
> Similar to twl4030_omap3.dtsi, we could introduce twl6030_omap4.dtsi. this
> could contain the common pins used for 6030.
>  &omap4_pmx_wkup {
>          pinctrl-names = "default";
>          pinctrl-0 = <
>                          &twl6030_wkup_pins
>          >;
>
>          twl6030_wkup_pins: pinmux_twl6030_wkup_pins {
>                  pinctrl-single,pins = <
>                          0x14 (PIN_OUTPUT | MUX_MODE2)
>                  >;
>          };
>  };
>
>         twl6030_pins: pinmux_twl6030_pins {
>                 pinctrl-single,pins = <
>                         0x15e (WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE0)
> /* sys_nirq1.sys_nirq1 */
>                 >;
>         };
>
> which is now already duplicated in 2 places (SDP and Panda), and in this
> patch duplicated again.

Agree, I'm planning to do this later as part of moving common things into
some System-On-Module(SOM)-specific files, as discussed previously
here https://patchwork.kernel.org/patch/2118371/

Best regards,
Ruslan Bilvol

>
> just my 2 cents :(
> ---
> Regards,
> Nishanth Menon
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ruslan Bilovol June 26, 2013, 8:21 a.m. UTC | #6
Hi Dan,

On Tue, Jun 25, 2013 at 5:07 PM, Dan Murphy <dmurphy@ti.com> wrote:
> On 06/25/2013 06:32 AM, Ruslan Bilovol wrote:
>>
>> The OMAP4 Blaze Tablet is TI OMAP4 processor-based
>> development platform in a tablet formfactor.
>> The platform contains many of the features found in
>> present-day handsets (such as audio, video, wireless
>> functions and user interfaces) and in addition
>> contains features for software development and test.
>
> Why do we want to send this upstream?
> What is the advantage to having this supported?
>
> I don't believe we need to add another community board.  We have a SDP and
> Panda.

Because:
a) it is still widely used for prototyping devices
b) you can still buy it from svtronics
c) it has different set of devices on board so we have ability to
   work with things like:
  - widescreen high-resolution LCD panel
  - different touchscreen controllers
  - gpio keys (on 'Blaze Tablet')
  - another set of sensors
  - HS USB Host related stuff etc
d) some features may be easily accessible only on BlazeTalet board
    (comparing to Panda/SDP), like USB HSIC connection
e) it is shipped with OMAP4470, support of which we are going to send upstream
f) with Device Tree it's easy to support this board :)

Best regards,
Ruslan

>
> Dan
>
> <snip>
>
> --
> ----------------------------------------------
> Dan Murphy
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Nishanth Menon June 26, 2013, 1:13 p.m. UTC | #7
On Wed, Jun 26, 2013 at 3:03 AM, Ruslan Bilovol <ruslan.bilovol@ti.com> wrote:
> Hi Nishanth,
>
> On Tue, Jun 25, 2013 at 3:43 PM, Nishanth Menon <nm@ti.com> wrote:
>> On 06/25/2013 07:01 AM, Nishanth Menon wrote:
>>>
>>> On 06/25/2013 06:32 AM, Ruslan Bilovol wrote:
>>>>
>>>> The OMAP4 Blaze Tablet is TI OMAP4 processor-based
>>>> development platform in a tablet formfactor.
>>>> The platform contains many of the features found in
>>>> present-day handsets (such as audio, video, wireless
>>>> functions and user interfaces) and in addition
>>>> contains features for software development and test.
>>>>
>>>> This patch adds initial support for the OMAP4 Blaze
>>>> Tablet development platform. Additional functionality
>>>> depends on different drivers and code modifications that
>>>> are not upstreamed yet or do not support DT yet, so will
>>>> be added later.--
>>>
>>>
>>> http://svtronics.com/omap/sevm4460,blaze,omap might help too :)
>
> Yes, forgot to add this information from cover-letter from previous
> version of patch :)

;) - link was wrong!
http://svtronics.com/omap?product_id=15 is more like it -> Blaze
tablet by default comes in 4460/4470 variants. I suggest introducing
4470 variant here.
I am aware of the SOM compatibility and ability to support 4430 SOM on
tablet as well, but to keep tablet alive and reduce scope of testing,
keeping just 4470 in place might be a good choice.

just my 2 cents, no strong feelings towards either. :)

>
>>> [...]
>>>>
>>>> +
>>>> +#include "twl6030.dtsi"
>>>> +
>>>
>>> Might be good to see the TWL interrupt pin information made available as
>>> well?
>>
>> Allow me to rephrase a comment a little bit more :)
>> Similar to twl4030_omap3.dtsi, we could introduce twl6030_omap4.dtsi. this
>> could contain the common pins used for 6030.
>>  &omap4_pmx_wkup {
>>          pinctrl-names = "default";
>>          pinctrl-0 = <
>>                          &twl6030_wkup_pins
>>          >;
>>
>>          twl6030_wkup_pins: pinmux_twl6030_wkup_pins {
>>                  pinctrl-single,pins = <
>>                          0x14 (PIN_OUTPUT | MUX_MODE2)
>>                  >;
>>          };
>>  };
>>
>>         twl6030_pins: pinmux_twl6030_pins {
>>                 pinctrl-single,pins = <
>>                         0x15e (WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE0)
>> /* sys_nirq1.sys_nirq1 */
>>                 >;
>>         };
>>
>> which is now already duplicated in 2 places (SDP and Panda), and in this
>> patch duplicated again.
>
> Agree, I'm planning to do this later as part of moving common things into
> some System-On-Module(SOM)-specific files, as discussed previously
> here https://patchwork.kernel.org/patch/2118371/
>
I dont think I was mentioning about that - I just would really like to
avoid duplication of 6030 information all over the place. if we can
avoid it, lets start consolidating.
Regards,
Nishanth Menon
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ruslan Bilovol June 27, 2013, 6:45 p.m. UTC | #8
Hi Nishanth,

On Wed, Jun 26, 2013 at 4:13 PM, Nishanth Menon <nm@ti.com> wrote:
> On Wed, Jun 26, 2013 at 3:03 AM, Ruslan Bilovol <ruslan.bilovol@ti.com> wrote:
>> Hi Nishanth,
>>
>> On Tue, Jun 25, 2013 at 3:43 PM, Nishanth Menon <nm@ti.com> wrote:
>>> On 06/25/2013 07:01 AM, Nishanth Menon wrote:
>>>>
>>>> On 06/25/2013 06:32 AM, Ruslan Bilovol wrote:
>>>>>
>>>>> The OMAP4 Blaze Tablet is TI OMAP4 processor-based
>>>>> development platform in a tablet formfactor.
>>>>> The platform contains many of the features found in
>>>>> present-day handsets (such as audio, video, wireless
>>>>> functions and user interfaces) and in addition
>>>>> contains features for software development and test.
>>>>>
>>>>> This patch adds initial support for the OMAP4 Blaze
>>>>> Tablet development platform. Additional functionality
>>>>> depends on different drivers and code modifications that
>>>>> are not upstreamed yet or do not support DT yet, so will
>>>>> be added later.--
>>>>
>>>>
>>>> http://svtronics.com/omap/sevm4460,blaze,omap might help too :)
>>
>> Yes, forgot to add this information from cover-letter from previous
>> version of patch :)
>
> ;) - link was wrong!

I know, but don't worry about it - I will put correct one in v3 :)

> http://svtronics.com/omap?product_id=15 is more like it -> Blaze
> tablet by default comes in 4460/4470 variants. I suggest introducing
> 4470 variant here.
> I am aware of the SOM compatibility and ability to support 4430 SOM on
> tablet as well, but to keep tablet alive and reduce scope of testing,
> keeping just 4470 in place might be a good choice.

Yes, this makes sense. I think as soon as OMAP4470 reach upstream, we can easily
switch the BlazeTablet's  .dts to 4470

>
> just my 2 cents, no strong feelings towards either. :)
>
>>
>>>> [...]
>>>>>
>>>>> +
>>>>> +#include "twl6030.dtsi"
>>>>> +
>>>>
>>>> Might be good to see the TWL interrupt pin information made available as
>>>> well?
>>>
>>> Allow me to rephrase a comment a little bit more :)
>>> Similar to twl4030_omap3.dtsi, we could introduce twl6030_omap4.dtsi. this
>>> could contain the common pins used for 6030.
>>>  &omap4_pmx_wkup {
>>>          pinctrl-names = "default";
>>>          pinctrl-0 = <
>>>                          &twl6030_wkup_pins
>>>          >;
>>>
>>>          twl6030_wkup_pins: pinmux_twl6030_wkup_pins {
>>>                  pinctrl-single,pins = <
>>>                          0x14 (PIN_OUTPUT | MUX_MODE2)
>>>                  >;
>>>          };
>>>  };
>>>
>>>         twl6030_pins: pinmux_twl6030_pins {
>>>                 pinctrl-single,pins = <
>>>                         0x15e (WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE0)
>>> /* sys_nirq1.sys_nirq1 */
>>>                 >;
>>>         };
>>>
>>> which is now already duplicated in 2 places (SDP and Panda), and in this
>>> patch duplicated again.
>>
>> Agree, I'm planning to do this later as part of moving common things into
>> some System-On-Module(SOM)-specific files, as discussed previously
>> here https://patchwork.kernel.org/patch/2118371/
>>
> I dont think I was mentioning about that - I just would really like to
> avoid duplication of 6030 information all over the place. if we can
> avoid it, lets start consolidating.

Okay, I got your point. Will prepare the patch in v3..

> Regards,
> Nishanth Menon
Tomi Valkeinen June 28, 2013, 7:58 a.m. UTC | #9
On 25/06/13 14:32, Ruslan Bilovol wrote:
> The OMAP4 Blaze Tablet is TI OMAP4 processor-based
> development platform in a tablet formfactor.
> The platform contains many of the features found in
> present-day handsets (such as audio, video, wireless
> functions and user interfaces) and in addition
> contains features for software development and test.
> 
> This patch adds initial support for the OMAP4 Blaze
> Tablet development platform. Additional functionality
> depends on different drivers and code modifications that
> are not upstreamed yet or do not support DT yet, so will
> be added later.

I think there are (at least) two revisions of the blaze tablet, the
newer one has a higher resolution LCD. I don't know what the other
differences are.

I think you have the newer revision. I have the older. Do you know about
the diff of those revisions, or more importantly, will the same blaze
tablet support work for the older revision also?

 Tomi
Ruslan Bilovol July 19, 2013, 11:55 a.m. UTC | #10
Hi Tomi

On Fri, Jun 28, 2013 at 10:58 AM, Tomi Valkeinen <tomi.valkeinen@iki.fi> wrote:
> On 25/06/13 14:32, Ruslan Bilovol wrote:
>> The OMAP4 Blaze Tablet is TI OMAP4 processor-based
>> development platform in a tablet formfactor.
>> The platform contains many of the features found in
>> present-day handsets (such as audio, video, wireless
>> functions and user interfaces) and in addition
>> contains features for software development and test.
>>
>> This patch adds initial support for the OMAP4 Blaze
>> Tablet development platform. Additional functionality
>> depends on different drivers and code modifications that
>> are not upstreamed yet or do not support DT yet, so will
>> be added later.
>
> I think there are (at least) two revisions of the blaze tablet, the
> newer one has a higher resolution LCD. I don't know what the other
> differences are.
>
> I think you have the newer revision. I have the older. Do you know about
> the diff of those revisions, or more importantly, will the same blaze
> tablet support work for the older revision also?

Yes, it was manufacturing some first revision of BlazeTablet but now
it is out of production.
On Svtronics there is ability to buy only BlazeTablet2 and we use only
it last year as
development platform.

The difference is known - another display, sensors, diffs in routing
gpio to leds etc..
The same DTS will allow to boot BlazeTablet and BlazeTablet2 but
number of supported features
of course will be less in case of first revision of BlazeTablet

Since first revision of Blazetablet is not available to buy and we do
not use it for some time
I think there is no needs in doing support of it upstream.

Regards,
Ruslan

>
>  Tomi
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 05da469..4fafde1 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -150,6 +150,7 @@  dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \
 	omap4-var-som.dtb \
 	omap4-sdp.dtb \
 	omap4-sdp-es23plus.dtb \
+	omap4-blazetablet.dtb \
 	omap5-uevm.dtb \
 	am335x-evm.dtb \
 	am335x-evmsk.dtb \
diff --git a/arch/arm/boot/dts/omap4-blazetablet.dts b/arch/arm/boot/dts/omap4-blazetablet.dts
new file mode 100644
index 0000000..07f40b6
--- /dev/null
+++ b/arch/arm/boot/dts/omap4-blazetablet.dts
@@ -0,0 +1,483 @@ 
+/*
+ * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * Author: Ruslan Bilovol <ruslan.bilovol@ti.com>
+ *
+ * based on omap4-sdp.dts
+ *
+ * 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 "omap443x.dtsi"
+#include "elpida_ecb240abacn.dtsi"
+
+/ {
+	model = "TI OMAP4 Blaze Tablet";
+	compatible = "ti,omap4-blazetablet", "ti,omap4430", "ti,omap4";
+
+	memory {
+		device_type = "memory";
+		reg = <0x80000000 0x40000000>; /* 1 GB */
+	};
+
+	vdd_eth: fixedregulator-vdd-eth {
+		compatible = "regulator-fixed";
+		regulator-name = "VDD_ETH";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		gpio = <&gpio2 16 0>;  /* gpio line 48 */
+		enable-active-high;
+		regulator-boot-on;
+	};
+
+	vbat: fixedregulator-vbat {
+		compatible = "regulator-fixed";
+		regulator-name = "VBAT";
+		regulator-min-microvolt = <3750000>;
+		regulator-max-microvolt = <3750000>;
+		regulator-boot-on;
+	};
+
+	gpio_keys {
+		compatible = "gpio-keys";
+
+		volume_up {
+			label = "volume-up";
+			linux,code = <115>;	/* KEY_VOLUMEUP */
+			gpios = <&gpio2 11 GPIO_ACTIVE_HIGH>;	/* 43 */
+			gpio-key,wakeup;
+		};
+
+		home {
+			label = "home";
+			linux,code = <102>;	/* KEY_HOME */
+			gpios = <&gpio2 14 GPIO_ACTIVE_HIGH>;	/* 46 */
+			gpio-key,wakeup;
+		};
+
+		volume_down {
+			label = "volume-down";
+			linux,code = <114>;	/* KEY_VOLUMEDOWN */
+			gpios = <&gpio2 15 GPIO_ACTIVE_HIGH>;	/* 47 */
+			gpio-key,wakeup;
+		};
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		debug2 {
+			label = "omap4:green:debug2";
+			gpios = <&gpio6 13 GPIO_ACTIVE_HIGH>; /* 173 */
+		};
+
+		debug4 {
+			label = "omap4:green:debug4";
+			gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>; /* 50 */
+		};
+
+		user1 {
+			label = "omap4:blue:user";
+			gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; /* 169 */
+		};
+
+		user2 {
+			label = "omap4:red:user";
+			gpios = <&gpio6 10 GPIO_ACTIVE_HIGH>; /* 170 */
+		};
+
+		user3 {
+			label = "omap4:green:user";
+			gpios = <&gpio6 14 GPIO_ACTIVE_HIGH>; /* 174 */
+		};
+	};
+
+	sound {
+		compatible = "ti,abe-twl6040";
+		ti,model = "BlazeTablet";
+
+		ti,jack-detection = <1>;
+		ti,mclk-freq = <38400000>;
+
+		ti,mcpdm = <&mcpdm>;
+		ti,dmic = <&dmic>;
+
+		ti,twl6040 = <&twl6040>;
+
+		/* Audio routing */
+		ti,audio-routing =
+			"Headset Stereophone", "HSOL",
+			"Headset Stereophone", "HSOR",
+			"Ext Spk", "HFL",
+			"Ext Spk", "HFR",
+			"Line Out", "AUXL",
+			"Line Out", "AUXR",
+			"Vibrator", "VIBRAL",
+			"Vibrator", "VIBRAR",
+			"HSMIC", "Headset Mic",
+			"Headset Mic", "Headset Mic Bias",
+			"MAINMIC", "Main Handset Mic",
+			"Main Handset Mic", "Main Mic Bias",
+			"SUBMIC", "Sub Handset Mic",
+			"Sub Handset Mic", "Main Mic Bias",
+			"AFML", "Line In",
+			"AFMR", "Line In",
+			"DMic", "Digital Mic",
+			"Digital Mic", "Digital Mic1 Bias";
+	};
+};
+
+&omap4_pmx_wkup {
+	pinctrl-names = "default";
+	pinctrl-0 = <
+			&twl6030_wkup_pins
+	>;
+
+	twl6030_wkup_pins: pinmux_twl6030_wkup_pins {
+		pinctrl-single,pins = <
+			0x14 (PIN_OUTPUT | MUX_MODE2)		/* fref_clk0_out.sys_drm_msecure */
+		>;
+	};
+};
+
+&omap4_pmx_core {
+	pinctrl-names = "default";
+	pinctrl-0 = <
+			&twl6030_pins
+			&twl6040_pins
+			&mcpdm_pins
+			&dmic_pins
+			&mcbsp1_pins
+			&mcbsp2_pins
+			&dss_hdmi_pins
+			&tpd12s015_pins
+			&gpio_keys_pins
+			&leds_pins
+	>;
+
+	gpio_keys_pins: pinmux_gpio_keys_pins {
+		pinctrl-single,pins = <
+			0x26 (PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a19.gpio_43 */
+			0x2C (PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a22.gpio_46 */
+			0x2E (PIN_INPUT_PULLUP | MUX_MODE3)	/* gpmc_a22.gpio_47 */
+		>;
+	};
+
+	leds_pins: pinmux_led_pins {
+		pinctrl-single,pins = <
+			0x34 (PIN_OUTPUT | MUX_MODE3)	/* gpmc_ncs0.gpio_50 */
+			0x138 (PIN_OUTPUT | MUX_MODE3)	/* usbb2_hsic_data.gpio_169 */
+			0x13a (PIN_OUTPUT | MUX_MODE3)	/* usbb2_hsic_strobe.gpio_170 */
+			0x140 (PIN_OUTPUT | MUX_MODE3)	/* kpd_col5.gpio_173 */
+			0x142 (PIN_OUTPUT | MUX_MODE3)	/* kpd_col5.gpio_174 */
+		>;
+	};
+
+	uart2_pins: pinmux_uart2_pins {
+		pinctrl-single,pins = <
+			0xd8 (PIN_INPUT_PULLUP | MUX_MODE0)	/* uart2_cts.uart2_cts */
+			0xda (PIN_OUTPUT | MUX_MODE0)		/* uart2_rts.uart2_rts */
+			0xdc (PIN_INPUT_PULLUP | MUX_MODE0)	/* uart2_rx.uart2_rx */
+			0xde (PIN_OUTPUT | MUX_MODE0)		/* uart2_tx.uart2_tx */
+		>;
+	};
+
+	uart3_pins: pinmux_uart3_pins {
+		pinctrl-single,pins = <
+			0x100 (PIN_INPUT_PULLUP | MUX_MODE0)	/* uart3_cts_rctx.uart3_cts_rctx */
+			0x102 (PIN_OUTPUT | MUX_MODE0)		/* uart3_rts_sd.uart3_rts_sd */
+			0x104 (PIN_INPUT | MUX_MODE0)		/* uart3_rx_irrx.uart3_rx_irrx */
+			0x106 (PIN_OUTPUT | MUX_MODE0)		/* uart3_tx_irtx.uart3_tx_irtx */
+		>;
+	};
+
+	uart4_pins: pinmux_uart4_pins {
+		pinctrl-single,pins = <
+			0x11c (PIN_INPUT | MUX_MODE0)		/* uart4_rx.uart4_rx */
+			0x11e (PIN_OUTPUT | MUX_MODE0)		/* uart4_tx.uart4_tx */
+		>;
+	};
+
+	twl6030_pins: pinmux_twl6030_pins {
+		pinctrl-single,pins = <
+			0x15e (WAKEUP_EN | PIN_INPUT_PULLUP | MUX_MODE0)	/* sys_nirq1.sys_nirq1 */
+		>;
+	};
+
+	twl6040_pins: pinmux_twl6040_pins {
+		pinctrl-single,pins = <
+			0xe0 (PIN_OUTPUT | MUX_MODE3)		/* hdq_sio.gpio_127 */
+			0x160 (PIN_INPUT | MUX_MODE0)		/* sys_nirq2.sys_nirq2 */
+		>;
+	};
+
+	mcpdm_pins: pinmux_mcpdm_pins {
+		pinctrl-single,pins = <
+			0xc6 (PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abe_pdm_ul_data.abe_pdm_ul_data */
+			0xc8 (PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abe_pdm_dl_data.abe_pdm_dl_data */
+			0xca (PIN_INPUT_PULLUP | MUX_MODE0)	/* abe_pdm_frame.abe_pdm_frame */
+			0xcc (PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abe_pdm_lb_clk.abe_pdm_lb_clk */
+			0xce (PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abe_clks.abe_clks */
+		>;
+	};
+
+	dmic_pins: pinmux_dmic_pins {
+		pinctrl-single,pins = <
+			0xd0 (PIN_OUTPUT | MUX_MODE0)		/* abe_dmic_clk1.abe_dmic_clk1 */
+			0xd2 (PIN_INPUT | MUX_MODE0)		/* abe_dmic_din1.abe_dmic_din1 */
+			0xd4 (PIN_INPUT | MUX_MODE0)		/* abe_dmic_din2.abe_dmic_din2 */
+			0xd6 (PIN_INPUT | MUX_MODE0)		/* abe_dmic_din3.abe_dmic_din3 */
+		>;
+	};
+
+	mcbsp1_pins: pinmux_mcbsp1_pins {
+		pinctrl-single,pins = <
+			0xbe (PIN_INPUT | MUX_MODE0)		/* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
+			0xc0 (PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abe_mcbsp1_dr.abe_mcbsp1_dr */
+			0xc2 (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* abe_mcbsp1_dx.abe_mcbsp1_dx */
+			0xc4 (PIN_INPUT | MUX_MODE0)		/* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
+		>;
+	};
+
+	mcbsp2_pins: pinmux_mcbsp2_pins {
+		pinctrl-single,pins = <
+			0xb6 (PIN_INPUT | MUX_MODE0)		/* abe_mcbsp2_clkx.abe_mcbsp2_clkx */
+			0xb8 (PIN_INPUT_PULLDOWN | MUX_MODE0)	/* abe_mcbsp2_dr.abe_mcbsp2_dr */
+			0xba (PIN_OUTPUT_PULLDOWN | MUX_MODE0)	/* abe_mcbsp2_dx.abe_mcbsp2_dx */
+			0xbc (PIN_INPUT | MUX_MODE0)		/* abe_mcbsp2_fsx.abe_mcbsp2_fsx */
+		>;
+	};
+
+	mcspi1_pins: pinmux_mcspi1_pins {
+		pinctrl-single,pins = <
+			0xf2 (PIN_INPUT | MUX_MODE0)		/*  mcspi1_clk.mcspi1_clk */
+			0xf4 (PIN_INPUT | MUX_MODE0)		/*  mcspi1_somi.mcspi1_somi */
+			0xf6 (PIN_INPUT | MUX_MODE0)		/*  mcspi1_simo.mcspi1_simo */
+			0xf8 (PIN_INPUT | MUX_MODE0)		/*  mcspi1_cs0.mcspi1_cs0 */
+			0xfa (PIN_INPUT | MUX_MODE0)		/*  mcspi1_cs1.mcspi1_cs1 */
+		>;
+	};
+
+	dss_hdmi_pins: pinmux_dss_hdmi_pins {
+		pinctrl-single,pins = <
+			0x5a (PIN_INPUT_PULLUP | MUX_MODE0)	/* hdmi_cec.hdmi_cec */
+			0x5c (PIN_INPUT_PULLUP | MUX_MODE0)	/* hdmi_scl.hdmi_scl */
+			0x5e (PIN_INPUT_PULLUP | MUX_MODE0)	/* hdmi_sda.hdmi_sda */
+		>;
+	};
+
+	tpd12s015_pins: pinmux_tpd12s015_pins {
+		pinctrl-single,pins = <
+			0x22 (PIN_OUTPUT | MUX_MODE3)		/* gpmc_a17.gpio_41 */
+			0x48 (PIN_OUTPUT | MUX_MODE3)		/* gpmc_nbe1.gpio_60 */
+			0x58 (PIN_INPUT_PULLDOWN | MUX_MODE3)	/* hdmi_hpd.gpio_63 */
+		>;
+	};
+
+	i2c1_pins: pinmux_i2c1_pins {
+		pinctrl-single,pins = <
+			0xe2 (PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_scl */
+			0xe4 (PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c1_sda */
+		>;
+	};
+
+	i2c2_pins: pinmux_i2c2_pins {
+		pinctrl-single,pins = <
+			0xe6 (PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c2_scl */
+			0xe8 (PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c2_sda */
+		>;
+	};
+
+	i2c3_pins: pinmux_i2c3_pins {
+		pinctrl-single,pins = <
+			0xea (PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c3_scl */
+			0xec (PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c3_sda */
+		>;
+	};
+
+	i2c4_pins: pinmux_i2c4_pins {
+		pinctrl-single,pins = <
+			0xee (PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c4_scl */
+			0xf0 (PIN_INPUT_PULLUP | MUX_MODE0)	/* i2c4_sda */
+		>;
+	};
+};
+
+&i2c1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2c1_pins>;
+
+	clock-frequency = <400000>;
+
+	twl: twl@48 {
+		reg = <0x48>;
+		/* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
+		interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
+		interrupt-parent = <&gic>;
+	};
+
+	twl6040: twl@4b {
+		compatible = "ti,twl6040";
+		reg = <0x4b>;
+		/* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
+		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
+		interrupt-parent = <&gic>;
+		ti,audpwron-gpio = <&gpio4 31 0>;  /* gpio line 127 */
+
+		vio-supply = <&v1v8>;
+		v2v1-supply = <&v2v1>;
+		enable-active-high;
+
+		/* regulators for vibra motor */
+		vddvibl-supply = <&vbat>;
+		vddvibr-supply = <&vbat>;
+
+		vibra {
+			/* Vibra driver, motor resistance parameters */
+			ti,vibldrv-res = <8>;
+			ti,vibrdrv-res = <3>;
+			ti,viblmotor-res = <10>;
+			ti,vibrmotor-res = <10>;
+			ti,vddvibl-uV = <0>;	/* fixed volt supply - VBAT */
+			ti,vddvibr-uV = <0>;	/* fixed volt supply - VBAT */
+		};
+	};
+};
+
+#include "twl6030.dtsi"
+
+&i2c2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2c2_pins>;
+
+	clock-frequency = <400000>;
+};
+
+&i2c3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2c3_pins>;
+
+	clock-frequency = <400000>;
+
+	/*
+	 * Temperature Sensor
+	 * http://www.ti.com/lit/ds/symlink/tmp105.pdf
+	 */
+	tmp105@48 {
+		compatible = "ti,tmp105";
+		reg = <0x48>;
+	};
+};
+
+&i2c4 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&i2c4_pins>;
+
+	clock-frequency = <400000>;
+
+	/*
+	 * 3-Axis Digital Compass
+	 * https://www.sparkfun.com/products/10426
+	 */
+	hmc5883@1e {
+		compatible = "honeywell,hmc5883";
+		reg = <0x1e>;
+	};
+
+	/*
+	 * BMP085 digital pressure sensor
+	 */
+	bmp085@77 {
+		compatible = "bosch,bmp085";
+		reg = <0x77>;
+	};
+};
+
+&mcspi1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&mcspi1_pins>;
+
+	eth@0 {
+		compatible = "ks8851";
+		spi-max-frequency = <24000000>;
+		reg = <0>;
+		interrupt-parent = <&gpio2>;
+		interrupts = <2 IRQ_TYPE_LEVEL_LOW>; /* gpio line 34 */
+		vdd-supply = <&vdd_eth>;
+	};
+
+	/*
+	 * Dummy interface for debug UART multiplexor
+	 */
+	quart@1 {
+		compatible = "dummy";
+		spi-max-frequency = <24000000>;
+		reg = <1>;
+	};
+};
+
+&mmc1 {
+	vmmc-supply = <&vmmc>;
+	bus-width = <8>;
+};
+
+&mmc2 {
+	vmmc-supply = <&vaux1>;
+	bus-width = <8>;
+	ti,non-removable;
+};
+
+&mmc3 {
+	status = "disabled";
+};
+
+&mmc4 {
+	status = "disabled";
+};
+
+&mmc5 {
+	bus-width = <4>;
+	ti,non-removable;
+};
+
+&emif1 {
+	cs1-used;
+	device-handle = <&elpida_ECB240ABACN>;
+};
+
+&emif2 {
+	cs1-used;
+	device-handle = <&elpida_ECB240ABACN>;
+};
+
+&uart2 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart2_pins>;
+};
+
+&uart3 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart3_pins>;
+};
+
+&uart4 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart4_pins>;
+};
+
+&mcbsp3 {
+	status = "disabled";
+};
+
+&twl_usb_comparator {
+	usb-supply = <&vusb>;
+};
+
+&usb_otg_hs {
+	interface-type = <1>;
+	mode = <3>;
+	power = <100>;
+};