summaryrefslogtreecommitdiff
path: root/linux/arch/arm/boot/dts/am57xx-evm.dts
diff options
context:
space:
mode:
authorMichael J. Chudobiak <mjc@avtechpulse.com>2016-04-25 10:00:44 -0400
committerMichael J. Chudobiak <mjc@avtechpulse.com>2016-04-25 10:00:44 -0400
commita1df417e74aa6dae7352dc8cbb0ad471af5b7c69 (patch)
treec34b2311e37ea31db153c90cb8f4570374d05e78 /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.dts315
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>;
+};