-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ARM: DTS: Add minimal Support for Logic PD DM3730 SOM-LV
The Logic PD DM37xx SOM-LV devkit consists of a base board and a SOM. While the SOM (System on Module) supports Bluetooth and WiFi, LPD did not obtain an FCC ID, so anyone who uses it will have to go through certification. I have only tested the Type 28 Display, SMSC9211 Ethernet, SD/MMC and basic power management, however the overall current seems high. Signed-off-by: Adam Ford <aford173@gmail.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
- Loading branch information
Adam Ford
authored and
Tony Lindgren
committed
Feb 22, 2016
1 parent
730d7dc
commit ab8dd3a
Showing
2 changed files
with
476 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,268 @@ | ||
/* | ||
* 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 "omap36xx.dtsi" | ||
#include "logicpd-som-lv.dtsi" | ||
#include "omap-gpmc-smsc9221.dtsi" | ||
|
||
/ { | ||
model = "LogicPD Zoom DM3730 SOM-LV Development Kit"; | ||
compatible = "logicpd,dm3730-som-lv-devkit", "ti,omap3630", "ti,omap3"; | ||
|
||
gpio_keys { | ||
compatible = "gpio-keys"; | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&gpio_key_pins>; | ||
|
||
sysboot2 { | ||
label = "gpio3"; | ||
gpios = <&gpio4 15 GPIO_ACTIVE_LOW>; /* gpio_111 / uP_GPIO_3 */ | ||
linux,code = <BTN_0>; | ||
wakeup-source; | ||
}; | ||
}; | ||
|
||
sound { | ||
compatible = "ti,omap-twl4030"; | ||
ti,model = "omap3logic"; | ||
ti,mcbsp = <&mcbsp2>; | ||
}; | ||
|
||
leds { | ||
compatible = "gpio-leds"; | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&led_pins &led_pins_wkup>; | ||
|
||
led1 { | ||
label = "led1"; | ||
gpios = <&gpio5 5 GPIO_ACTIVE_LOW>; /* gpio133 */ | ||
linux,default-trigger = "cpu0"; | ||
}; | ||
|
||
led2 { | ||
label = "led2"; | ||
gpios = <&gpio1 11 GPIO_ACTIVE_LOW>; /* gpio11 */ | ||
linux,default-trigger = "none"; | ||
}; | ||
}; | ||
}; | ||
|
||
&vaux1 { | ||
regulator-min-microvolt = <3000000>; | ||
regulator-max-microvolt = <3000000>; | ||
}; | ||
|
||
&vaux4 { | ||
regulator-min-microvolt = <1800000>; | ||
regulator-max-microvolt = <1800000>; | ||
}; | ||
|
||
&mcbsp2 { | ||
status = "okay"; | ||
}; | ||
|
||
&charger { | ||
ti,bb-uvolt = <3200000>; | ||
ti,bb-uamp = <150>; | ||
}; | ||
|
||
&gpmc { | ||
ranges = <1 0 0x08000000 0x1000000>; /* CS1: 16MB for LAN9221 */ | ||
|
||
ethernet@gpmc { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&lan9221_pins>; | ||
interrupt-parent = <&gpio5>; | ||
interrupts = <24 IRQ_TYPE_LEVEL_LOW>; /* gpio_152 */ | ||
reg = <1 0 0xff>; | ||
}; | ||
}; | ||
|
||
&vpll2 { | ||
regulator-always-on; | ||
}; | ||
|
||
&dss { | ||
status = "ok"; | ||
vdds_dsi-supply = <&vpll2>; | ||
vdda_video-supply = <&video_reg>; | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&dss_dpi_pins1>; | ||
port { | ||
dpi_out: endpoint { | ||
remote-endpoint = <&lcd_in>; | ||
data-lines = <16>; | ||
}; | ||
}; | ||
}; | ||
|
||
/ { | ||
aliases { | ||
display0 = &lcd0; | ||
}; | ||
|
||
video_reg: video_reg { | ||
compatible = "regulator-fixed"; | ||
regulator-name = "fixed-supply"; | ||
regulator-min-microvolt = <3300000>; | ||
regulator-max-microvolt = <3300000>; | ||
}; | ||
|
||
lcd0: display@0 { | ||
compatible = "panel-dpi"; | ||
label = "28"; | ||
status = "okay"; | ||
/* default-on; */ | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&lcd_enable_pin>; | ||
enable-gpios = <&gpio5 27 GPIO_ACTIVE_HIGH>; /* gpio155, lcd INI */ | ||
port { | ||
lcd_in: endpoint { | ||
remote-endpoint = <&dpi_out>; | ||
}; | ||
}; | ||
|
||
panel-timing { | ||
clock-frequency = <9000000>; | ||
hactive = <480>; | ||
vactive = <272>; | ||
hfront-porch = <3>; | ||
hback-porch = <2>; | ||
hsync-len = <42>; | ||
vback-porch = <3>; | ||
vfront-porch = <2>; | ||
vsync-len = <11>; | ||
hsync-active = <1>; | ||
vsync-active = <1>; | ||
de-active = <1>; | ||
pixelclk-active = <0>; | ||
}; | ||
}; | ||
|
||
bl: backlight { | ||
compatible = "pwm-backlight"; | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&backlight_pins>; | ||
pwms = <&twl_pwm 0 5000000>; | ||
brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>; | ||
default-brightness-level = <7>; | ||
enable-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; /* gpio_8 */ | ||
}; | ||
}; | ||
|
||
&mmc1 { | ||
interrupts-extended = <&intc 83 &omap3_pmx_core 0x11a>; | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&mmc1_pins &mmc1_cd>; | ||
wp-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>; /* gpio_126 */ | ||
cd-gpios = <&gpio4 14 IRQ_TYPE_LEVEL_LOW>; /* gpio_110 */ | ||
vmmc-supply = <&vmmc1>; | ||
bus-width = <4>; | ||
cap-power-off-card; | ||
}; | ||
|
||
&omap3_pmx_core { | ||
gpio_key_pins: pinmux_gpio_key_pins { | ||
pinctrl-single,pins = < | ||
OMAP3_CORE1_IOPAD(0x212e, PIN_INPUT_PULLUP | MUX_MODE4) /* cam_xclkb.gpio_111 / uP_GPIO_3*/ | ||
>; | ||
}; | ||
|
||
led_pins: pinmux_led_pins { | ||
pinctrl-single,pins = < | ||
OMAP3_CORE1_IOPAD(0x215e, PIN_OUTPUT_PULLUP | MUX_MODE4) /* sdmmc2_dat1.gpio_133 / uP_GPIO_0 */ | ||
>; | ||
}; | ||
|
||
lan9221_pins: pinmux_lan9221_pins { | ||
pinctrl-single,pins = < | ||
OMAP3_CORE1_IOPAD(0x2184, PIN_INPUT_PULLUP | MUX_MODE4) /* mcbsp4_clkx.gpio_152 */ | ||
>; | ||
}; | ||
|
||
mmc1_pins: pinmux_mmc1_pins { | ||
pinctrl-single,pins = < | ||
OMAP3_CORE1_IOPAD(0x2144, PIN_OUTPUT | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */ | ||
OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */ | ||
OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */ | ||
OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */ | ||
OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */ | ||
OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */ | ||
OMAP3_CORE1_IOPAD(0x2132, PIN_INPUT_PULLUP | MUX_MODE4) /* cam_strobe.gpio_126 sdmmc1_wp*/ | ||
>; | ||
}; | ||
|
||
lcd_enable_pin: pinmux_lcd_enable_pin { | ||
pinctrl-single,pins = < | ||
OMAP3_CORE1_IOPAD(0x218a, PIN_OUTPUT | PIN_OFF_OUTPUT_LOW | MUX_MODE4) /* mcbsp4_fs.gpio_155 */ | ||
>; | ||
}; | ||
|
||
dss_dpi_pins1: pinmux_dss_dpi_pins1 { | ||
pinctrl-single,pins = < | ||
OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_pclk.dss_pclk */ | ||
OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_hsync.dss_hsync */ | ||
OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_vsync.dss_vsync */ | ||
OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_acbias.dss_acbias */ | ||
|
||
OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data0.dss_data0 */ | ||
OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data1.dss_data1 */ | ||
OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data2.dss_data2 */ | ||
OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data3.dss_data3 */ | ||
OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data4.dss_data4 */ | ||
OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data5.dss_data5 */ | ||
OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data6.dss_data6 */ | ||
OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data7.dss_data7 */ | ||
OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data8.dss_data8 */ | ||
OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data9.dss_data9 */ | ||
OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data10.dss_data10 */ | ||
OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data11.dss_data11 */ | ||
OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data12.dss_data12 */ | ||
OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data13.dss_data13 */ | ||
OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data14.dss_data14 */ | ||
OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT_PULLDOWN | PIN_OFF_OUTPUT_LOW | MUX_MODE0) /* dss_data15.dss_data15 */ | ||
>; | ||
}; | ||
}; | ||
|
||
&omap3_pmx_wkup { | ||
led_pins_wkup: pinmux_led_pins_wkup { | ||
pinctrl-single,pins = < | ||
OMAP3_WKUP_IOPAD(0x2a24, PIN_OUTPUT_PULLUP | MUX_MODE4) /* jtag_emu0.gpio_11 / uP_GPIO_1 */ | ||
>; | ||
}; | ||
|
||
backlight_pins: pinmux_backlight_pins { | ||
pinctrl-single,pins = < | ||
OMAP3_WKUP_IOPAD(0x2a16, PIN_OUTPUT | PIN_OFF_OUTPUT_LOW | MUX_MODE4) /* sys_boot6.gpio_8 */ | ||
>; | ||
}; | ||
|
||
mmc1_cd: pinmux_mmc1_cd { | ||
pinctrl-single,pins = < | ||
OMAP3_WKUP_IOPAD(0x212c, PIN_INPUT_PULLUP | MUX_MODE4) /* cam_d11.gpio_110 */ | ||
>; | ||
}; | ||
}; | ||
|
||
|
||
&uart1 { | ||
interrupts-extended = <&intc 72 &omap3_pmx_core OMAP3_UART1_RX>; | ||
}; | ||
|
||
/* Wired to the tps65950 on the SOM, only the USB connector is on the devkit */ | ||
&usb_otg_hs { | ||
pinctrl-names = "default"; | ||
pinctrl-0 = <&hsusb_otg_pins>; | ||
interface-type = <0>; | ||
usb-phy = <&usb2_phy>; | ||
phys = <&usb2_phy>; | ||
phy-names = "usb2-phy"; | ||
mode = <3>; | ||
power = <50>; | ||
}; |
Oops, something went wrong.