forked from Minki/linux
bc10f310e2
Looks like quite a few omap3 boards have sharp ls037v7dw01 that's configured as various panel dpi entries for whatever legacy reasons. For device tree based support, let's just configure these properly for panel ls037v7dw01 instead of panel dpi. This patch creates a common file for panel ls037v7dw01, and makes boards ldp and omap3-evm to use it. The ls037v7dw01 also seems to be coupled with an ad7846 touchscreen controller for the omaps, so let's add a basic configuration for the touchscreen also using the default values. Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
274 lines
6.3 KiB
Plaintext
274 lines
6.3 KiB
Plaintext
/*
|
|
* Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.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 "omap34xx.dtsi"
|
|
#include "omap-gpmc-smsc911x.dtsi"
|
|
|
|
/ {
|
|
model = "TI OMAP3430 LDP (Zoom1 Labrador)";
|
|
compatible = "ti,omap3-ldp", "ti,omap3";
|
|
|
|
memory {
|
|
device_type = "memory";
|
|
reg = <0x80000000 0x8000000>; /* 128 MB */
|
|
};
|
|
|
|
cpus {
|
|
cpu@0 {
|
|
cpu0-supply = <&vcc>;
|
|
};
|
|
};
|
|
|
|
gpio_keys {
|
|
compatible = "gpio-keys";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&gpio_key_pins>;
|
|
|
|
key_enter {
|
|
label = "enter";
|
|
gpios = <&gpio4 5 GPIO_ACTIVE_LOW>; /* gpio101 */
|
|
linux,code = <0x0107001c>; /* KEY_ENTER */
|
|
gpio-key,wakeup;
|
|
};
|
|
|
|
key_f1 {
|
|
label = "f1";
|
|
gpios = <&gpio4 6 GPIO_ACTIVE_LOW>; /* gpio102 */
|
|
linux,code = <0x0303003b>; /* KEY_F1 */
|
|
gpio-key,wakeup;
|
|
};
|
|
|
|
key_f2 {
|
|
label = "f2";
|
|
gpios = <&gpio4 7 GPIO_ACTIVE_LOW>; /* gpio103 */
|
|
linux,code = <0x0403003c>; /* KEY_F2 */
|
|
gpio-key,wakeup;
|
|
};
|
|
|
|
key_f3 {
|
|
label = "f3";
|
|
gpios = <&gpio4 8 GPIO_ACTIVE_LOW>; /* gpio104 */
|
|
linux,code = <0x0503003d>; /* KEY_F3 */
|
|
gpio-key,wakeup;
|
|
};
|
|
|
|
key_f4 {
|
|
label = "f4";
|
|
gpios = <&gpio4 9 GPIO_ACTIVE_LOW>; /* gpio105 */
|
|
linux,code = <0x0704003e>; /* KEY_F4 */
|
|
gpio-key,wakeup;
|
|
};
|
|
|
|
key_left {
|
|
label = "left";
|
|
gpios = <&gpio4 10 GPIO_ACTIVE_LOW>; /* gpio106 */
|
|
linux,code = <0x04070069>; /* KEY_LEFT */
|
|
gpio-key,wakeup;
|
|
};
|
|
|
|
key_right {
|
|
label = "right";
|
|
gpios = <&gpio4 11 GPIO_ACTIVE_LOW>; /* gpio107 */
|
|
linux,code = <0x0507006a>; /* KEY_RIGHT */
|
|
gpio-key,wakeup;
|
|
};
|
|
|
|
key_up {
|
|
label = "up";
|
|
gpios = <&gpio4 12 GPIO_ACTIVE_LOW>; /* gpio108 */
|
|
linux,code = <0x06070067>; /* KEY_UP */
|
|
gpio-key,wakeup;
|
|
};
|
|
|
|
key_down {
|
|
label = "down";
|
|
gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; /* gpio109 */
|
|
linux,code = <0x0707006c>; /* KEY_DOWN */
|
|
gpio-key,wakeup;
|
|
};
|
|
};
|
|
};
|
|
|
|
&gpmc {
|
|
ranges = <0 0 0x00000000 0x01000000>,
|
|
<1 0 0x08000000 0x01000000>;
|
|
|
|
nand@0,0 {
|
|
linux,mtd-name= "micron,nand";
|
|
reg = <0 0 0>;
|
|
nand-bus-width = <16>;
|
|
ti,nand-ecc-opt = "bch8";
|
|
|
|
gpmc,sync-clk-ps = <0>;
|
|
gpmc,cs-on-ns = <0>;
|
|
gpmc,cs-rd-off-ns = <44>;
|
|
gpmc,cs-wr-off-ns = <44>;
|
|
gpmc,adv-on-ns = <6>;
|
|
gpmc,adv-rd-off-ns = <34>;
|
|
gpmc,adv-wr-off-ns = <44>;
|
|
gpmc,we-off-ns = <40>;
|
|
gpmc,oe-off-ns = <54>;
|
|
gpmc,access-ns = <64>;
|
|
gpmc,rd-cycle-ns = <82>;
|
|
gpmc,wr-cycle-ns = <82>;
|
|
gpmc,wr-access-ns = <40>;
|
|
gpmc,wr-data-mux-bus-ns = <0>;
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
partition@0 {
|
|
label = "X-Loader";
|
|
reg = <0 0x80000>;
|
|
};
|
|
partition@80000 {
|
|
label = "U-Boot";
|
|
reg = <0x80000 0x140000>;
|
|
};
|
|
partition@1c0000 {
|
|
label = "Environment";
|
|
reg = <0x1c0000 0x40000>;
|
|
};
|
|
partition@200000 {
|
|
label = "Kernel";
|
|
reg = <0x200000 0x1e00000>;
|
|
};
|
|
partition@2000000 {
|
|
label = "Filesystem";
|
|
reg = <0x2000000 0xe000000>;
|
|
};
|
|
};
|
|
|
|
ethernet@gpmc {
|
|
interrupt-parent = <&gpio5>;
|
|
interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
|
|
reg = <1 0 0xff>;
|
|
};
|
|
};
|
|
|
|
&i2c1 {
|
|
clock-frequency = <2600000>;
|
|
|
|
twl: twl@48 {
|
|
reg = <0x48>;
|
|
interrupts = <7>; /* SYS_NIRQ cascaded to intc */
|
|
interrupt-parent = <&intc>;
|
|
};
|
|
};
|
|
|
|
#include "twl4030.dtsi"
|
|
#include "twl4030_omap3.dtsi"
|
|
#include "omap3-panel-sharp-ls037v7dw01.dtsi"
|
|
|
|
&backlight0 {
|
|
gpios = <&twl_gpio 7 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
&i2c2 {
|
|
clock-frequency = <400000>;
|
|
};
|
|
|
|
&i2c3 {
|
|
clock-frequency = <400000>;
|
|
};
|
|
|
|
/* tps61130rsa enabled by twl4030 regen */
|
|
&lcd_3v3 {
|
|
regulator-always-on;
|
|
};
|
|
|
|
&lcd0 {
|
|
enable-gpios = <&twl_gpio 15 GPIO_ACTIVE_HIGH>; /* lcd INI */
|
|
reset-gpios = <&gpio2 23 GPIO_ACTIVE_HIGH>; /* gpio55, lcd RESB */
|
|
mode-gpios = <&gpio2 24 GPIO_ACTIVE_HIGH>; /* gpio56, lcd MO */
|
|
};
|
|
|
|
&mcspi1 {
|
|
tsc2046@0 {
|
|
interrupt-parent = <&gpio2>;
|
|
interrupts = <22 0>; /* gpio54 */
|
|
pendown-gpio = <&gpio2 22 0>;
|
|
};
|
|
};
|
|
|
|
&mmc1 {
|
|
/* See 35xx errata 2.1.1.128 in SPRZ278F */
|
|
compatible = "ti,omap3-pre-es3-hsmmc";
|
|
vmmc-supply = <&vmmc1>;
|
|
bus-width = <4>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&mmc1_pins>;
|
|
};
|
|
|
|
&mmc2 {
|
|
status="disabled";
|
|
};
|
|
|
|
&mmc3 {
|
|
status="disabled";
|
|
};
|
|
|
|
&omap3_pmx_core {
|
|
gpio_key_pins: pinmux_gpio_key_pins {
|
|
pinctrl-single,pins = <
|
|
0xea (PIN_INPUT | MUX_MODE4) /* cam_d2.gpio_101 */
|
|
0xec (PIN_INPUT | MUX_MODE4) /* cam_d3.gpio_102 */
|
|
0xee (PIN_INPUT | MUX_MODE4) /* cam_d4.gpio_103 */
|
|
0xf0 (PIN_INPUT | MUX_MODE4) /* cam_d5.gpio_104 */
|
|
0xf2 (PIN_INPUT | MUX_MODE4) /* cam_d6.gpio_105 */
|
|
0xf4 (PIN_INPUT | MUX_MODE4) /* cam_d7.gpio_106 */
|
|
0xf6 (PIN_INPUT | MUX_MODE4) /* cam_d8.gpio_107 */
|
|
0xf8 (PIN_INPUT | MUX_MODE4) /* cam_d9.gpio_108 */
|
|
0xfa (PIN_INPUT | MUX_MODE4) /* cam_d10.gpio_109 */
|
|
>;
|
|
};
|
|
|
|
musb_pins: pinmux_musb_pins {
|
|
pinctrl-single,pins = <
|
|
0x172 (PIN_INPUT | MUX_MODE0) /* hsusb0_clk.hsusb0_clk */
|
|
0x17a (PIN_INPUT | MUX_MODE0) /* hsusb0_data0.hsusb0_data0 */
|
|
0x17c (PIN_INPUT | MUX_MODE0) /* hsusb0_data1.hsusb0_data1 */
|
|
0x17e (PIN_INPUT | MUX_MODE0) /* hsusb0_data2.hsusb0_data2 */
|
|
0x180 (PIN_INPUT | MUX_MODE0) /* hsusb0_data3.hsusb0_data3 */
|
|
0x182 (PIN_INPUT | MUX_MODE0) /* hsusb0_data4.hsusb0_data4 */
|
|
0x184 (PIN_INPUT | MUX_MODE0) /* hsusb0_data5.hsusb0_data5 */
|
|
0x186 (PIN_INPUT | MUX_MODE0) /* hsusb0_data6.hsusb0_data6 */
|
|
0x188 (PIN_INPUT | MUX_MODE0) /* hsusb0_data7.hsusb0_data7 */
|
|
0x176 (PIN_INPUT | MUX_MODE0) /* hsusb0_dir.hsusb0_dir */
|
|
0x178 (PIN_INPUT | MUX_MODE0) /* hsusb0_nxt.hsusb0_nxt */
|
|
0x174 (PIN_OUTPUT | MUX_MODE0) /* hsusb0_stp.hsusb0_stp */
|
|
>;
|
|
};
|
|
|
|
mmc1_pins: pinmux_mmc1_pins {
|
|
pinctrl-single,pins = <
|
|
OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.mmc1_clk */
|
|
OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.mmc1_cmd */
|
|
OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.mmc1_dat0 */
|
|
OMAP3_CORE1_IOPAD(0x214A, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.mmc1_dat1 */
|
|
OMAP3_CORE1_IOPAD(0x214C, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.mmc1_dat2 */
|
|
OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.mmc1_dat3 */
|
|
>;
|
|
};
|
|
};
|
|
|
|
&usb_otg_hs {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&musb_pins>;
|
|
interface-type = <0>;
|
|
usb-phy = <&usb2_phy>;
|
|
mode = <3>;
|
|
power = <50>;
|
|
};
|
|
|
|
&vaux1 {
|
|
/* Needed for ads7846 */
|
|
regulator-name = "vcc";
|
|
};
|