diff options
author | Michael J. Chudobiak <mjc@avtechpulse.com> | 2016-04-25 10:00:44 -0400 |
---|---|---|
committer | Michael J. Chudobiak <mjc@avtechpulse.com> | 2016-04-25 10:00:44 -0400 |
commit | a1df417e74aa6dae7352dc8cbb0ad471af5b7c69 (patch) | |
tree | c34b2311e37ea31db153c90cb8f4570374d05e78 /linux/arch/arm/boot/dts/am57xx-evm.dts |
initial Olimex linux tree from Daniel, originally Feb 3, 2016
Diffstat (limited to 'linux/arch/arm/boot/dts/am57xx-evm.dts')
-rw-r--r-- | linux/arch/arm/boot/dts/am57xx-evm.dts | 315 |
1 files changed, 315 insertions, 0 deletions
diff --git a/linux/arch/arm/boot/dts/am57xx-evm.dts b/linux/arch/arm/boot/dts/am57xx-evm.dts new file mode 100644 index 00000000..014ba85d --- /dev/null +++ b/linux/arch/arm/boot/dts/am57xx-evm.dts @@ -0,0 +1,315 @@ +/* + * Copyright (C) 2015 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. + */ + +#include "am57xx-beagle-x15.dts" +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h> + +/ { + model = "TI AM572x EVM"; + compatible = "ti,am572x-evm", "ti,am572x-beagle-x15", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"; + + aliases { + display0 = &lcd0; + display1 = &hdmi0; + }; + + gpio_keys { + compatible = "gpio-keys"; + #address-cells = <1>; + #size-cells = <0>; + autorepeat; + + USER1 { + label = "Up"; + linux,code = <KEY_UP>; + gpios = <&gpio2 23 GPIO_ACTIVE_LOW>; + }; + + USER2 { + label = "Down"; + linux,code = <KEY_DOWN>; + gpios = <&gpio2 25 GPIO_ACTIVE_LOW>; + }; + + USER3 { + label = "Left"; + linux,code = <KEY_LEFT>; + gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; + }; + + USER4 { + label = "Right"; + linux,code = <KEY_RIGHT>; + gpios = <&gpio2 24 GPIO_ACTIVE_LOW>; + }; + + USER5 { + label = "Home"; + linux,code = <KEY_HOME>; + gpios = <&gpio2 20 GPIO_ACTIVE_LOW>; + }; + }; + + lcd0: display { + compatible = "osddisplays,osd070t1718-19ts", "panel-dpi"; + + label = "lcd"; + + enable-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>; + + panel-timing { + clock-frequency = <33000000>; + hactive = <800>; + vactive = <480>; + hfront-porch = <210>; + hback-porch = <16>; + hsync-len = <30>; + vback-porch = <10>; + vfront-porch = <22>; + vsync-len = <13>; + hsync-active = <0>; + vsync-active = <0>; + de-active = <1>; + pixelclk-active = <1>; + }; + + port { + lcd_in: endpoint { + remote-endpoint = <&dpi_out>; + }; + }; + }; + + backlight { + compatible = "pwm-backlight"; + pwms = <&ehrpwm1 0 50000 0>; + + /* Anything lower than 241 is no longer visible */ + brightness-levels = <0 243 245 247 249 251 252 253 255>; + + default-brightness-level = <8>; + }; + + vmmcwl_fixed: fixedregulator-mmcwl { + compatible = "regulator-fixed"; + regulator-name = "vmmcwl_fixed"; + /* + the gpio used for wlan_enable goes through a level shifter + on the platform. the settings for 1.8v below is needed by + the regulator driver, but is more of a comment since it + doesn't really control the voltage of the gpio + */ + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + gpio = <&gpio5 8 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + kim { + compatible = "kim"; + nshutdown_gpio = <132>; + dev_name = "/dev/ttyS7"; + flow_cntrl = <1>; + baud_rate = <3686400>; + }; + + btwilink { + compatible = "btwilink"; + }; +}; + +&dra7_pmx_core { + mmc3_pins_default: mmc3_pins_default { + pinctrl-single,pins = < + 0x37c (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_clk.mmc3_clk */ + 0x380 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_cmd.mmc3_cmd */ + 0x384 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_dat0.mmc3_dat0 */ + 0x388 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_dat1.mmc3_dat1 */ + 0x38c (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_dat2.mmc3_dat2 */ + 0x390 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_dat3.mmc3_dat3 */ + >; + }; + + mmc3_pins_hs: mmc3_pins_hs { + pinctrl-single,pins = < + 0x37c (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_clk.mmc3_clk */ + 0x380 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_cmd.mmc3_cmd */ + 0x384 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_dat0.mmc3_dat0 */ + 0x388 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_dat1.mmc3_dat1 */ + 0x38c (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_dat2.mmc3_dat2 */ + 0x390 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_dat3.mmc3_dat3 */ + >; + }; + + mmc3_pins_sdr12: mmc3_pins_sdr12 { + pinctrl-single,pins = < + 0x37c (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_clk.mmc3_clk */ + 0x380 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_cmd.mmc3_cmd */ + 0x384 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_dat0.mmc3_dat0 */ + 0x388 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_dat1.mmc3_dat1 */ + 0x38c (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_dat2.mmc3_dat2 */ + 0x390 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_dat3.mmc3_dat3 */ + >; + }; + + mmc3_pins_sdr25: mmc3_pins_sdr25 { + pinctrl-single,pins = < + 0x37c (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_clk.mmc3_clk */ + 0x380 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_cmd.mmc3_cmd */ + 0x384 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_dat0.mmc3_dat0 */ + 0x388 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_dat1.mmc3_dat1 */ + 0x38c (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_dat2.mmc3_dat2 */ + 0x390 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_dat3.mmc3_dat3 */ + >; + }; + + mmc3_pins_sdr50: mmc3_pins_sdr50 { + pinctrl-single,pins = < + 0x37c (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_clk.mmc3_clk */ + 0x380 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_cmd.mmc3_cmd */ + 0x384 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_dat0.mmc3_dat0 */ + 0x388 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_dat1.mmc3_dat1 */ + 0x38c (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_dat2.mmc3_dat2 */ + 0x390 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0) /* mmc3_dat3.mmc3_dat3 */ + >; + }; +}; + +&dra7_iodelay_core { + mmc3_iodelay_manual1_conf: mmc3_iodelay_manual1_conf { + pinctrl-single,pins = < + 0x678 (A_DELAY(406) | G_DELAY(0)) /* CFG_MMC3_CLK_IN */ + 0x680 (A_DELAY(659) | G_DELAY(0)) /* CFG_MMC3_CLK_OUT */ + 0x684 (A_DELAY(0) | G_DELAY(0)) /* CFG_MMC3_CMD_IN */ + 0x688 (A_DELAY(0) | G_DELAY(0)) /* CFG_MMC3_CMD_OEN */ + 0x68c (A_DELAY(0) | G_DELAY(0)) /* CFG_MMC3_CMD_OUT */ + 0x690 (A_DELAY(130) | G_DELAY(0)) /* CFG_MMC3_DAT0_IN */ + 0x694 (A_DELAY(0) | G_DELAY(0)) /* CFG_MMC3_DAT0_OEN */ + 0x698 (A_DELAY(0) | G_DELAY(0)) /* CFG_MMC3_DAT0_OUT */ + 0x69c (A_DELAY(169) | G_DELAY(0)) /* CFG_MMC3_DAT1_IN */ + 0x6a0 (A_DELAY(0) | G_DELAY(0)) /* CFG_MMC3_DAT1_OEN */ + 0x6a4 (A_DELAY(0) | G_DELAY(0)) /* CFG_MMC3_DAT1_OUT */ + 0x6a8 (A_DELAY(0) | G_DELAY(0)) /* CFG_MMC3_DAT2_IN */ + 0x6ac (A_DELAY(0) | G_DELAY(0)) /* CFG_MMC3_DAT2_OEN */ + 0x6b0 (A_DELAY(0) | G_DELAY(0)) /* CFG_MMC3_DAT2_OUT */ + 0x6b4 (A_DELAY(457) | G_DELAY(0)) /* CFG_MMC3_DAT3_IN */ + 0x6b8 (A_DELAY(0) | G_DELAY(0)) /* CFG_MMC3_DAT3_OEN */ + 0x6bc (A_DELAY(0) | G_DELAY(0)) /* CFG_MMC3_DAT3_OUT */ + >; + }; +}; + +&i2c5 { + status = "okay"; + clock-frequency = <400000>; + + mt9t11x@3C { + compatible = "aptina,mt9t111"; + reg = <0x3C>; + + reset-gpios = <&gpio4 17 GPIO_ACTIVE_LOW>; + oscen-gpios = <&gpio5 10 GPIO_ACTIVE_HIGH>; + powerdown-gpios = <&gpio5 11 GPIO_ACTIVE_LOW>; + bufen-gpios = <&gpio5 12 GPIO_ACTIVE_LOW>; + camen-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>; + + port { + cam: endpoint { + remote-endpoint = <&vin3a>; + hsync-active = <1>; + vsync-active = <1>; + pclk-sample = <0>; + input-clock-freq = <32000000>; + pixel-clock-freq = <96000000>; + }; + }; + }; + + pixcir_ts@5c { + compatible = "pixcir,pixcir_tangoc"; + reg = <0x5c>; + interrupt-parent = <&gpio2>; + interrupts = <4 0>; + + attb-gpio = <&gpio2 4 GPIO_ACTIVE_HIGH>; + reset-gpio = <&gpio2 6 GPIO_ACTIVE_HIGH>; + + touchscreen-size-x = <1024>; + touchscreen-size-y = <600>; + }; +}; + +&dss { + ports { + #address-cells = <1>; + #size-cells = <0>; + + port { + reg = <0>; + + dpi_out: endpoint { + remote-endpoint = <&lcd_in>; + data-lines = <24>; + }; + }; + }; +}; + +&vip2 { + status = "okay"; +}; + +&vin3a { + status = "okay"; + endpoint { + slave-mode; + remote-endpoint = <&cam>; + }; +}; + +&epwmss1 { + status = "okay"; + + ehrpwm1: ehrpwm@48440200 { + status = "okay"; + }; +}; + +&uart8 { + status = "okay"; +}; + +&mmc3 { + status = "okay"; + vmmc-supply = <&vmmcwl_fixed>; + bus-width = <4>; + pinctrl-names = "default"; + cap-power-off-card; + keep-power-in-suspend; + ti,non-removable; + pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50"; + pinctrl-0 = <&mmc3_pins_default &mmc3_iodelay_manual1_conf>; + pinctrl-1 = <&mmc3_pins_hs &mmc3_iodelay_manual1_conf>; + pinctrl-2 = <&mmc3_pins_sdr12 &mmc3_iodelay_manual1_conf>; + pinctrl-3 = <&mmc3_pins_sdr25 &mmc3_iodelay_manual1_conf>; + pinctrl-4 = <&mmc3_pins_sdr50 &mmc3_iodelay_manual1_conf>; + + #address-cells = <1>; + #size-cells = <0>; + wlcore: wlcore@0 { + compatible = "ti,wl1835"; + reg = <2>; + interrupt-parent = <&gpio5>; + interrupts = <7 IRQ_TYPE_LEVEL_HIGH>; + }; +}; + +&pcie1 { + pcie-reset-gpio = <&gpio2 8 GPIO_ACTIVE_LOW>; +}; |