am57xx-evm-common.dtsi 4.14 KB
/*
 * Copyright (C) 2015-2016 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 <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

/ {
	compatible = "ti,am5728-evm", "ti,am572x-beagle-x15", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";

	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>;
		};
	};

	aliases {
		display0 = &lcd0;
		display1 = &hdmi0;
	};

	lcd0: display {
		compatible = "osddisplays,osd070t1718-19ts", "panel-dpi";

		label = "lcd";

		backlight = <&lcd_bl>;

		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>;
			};
		};
	};

	lcd_bl: 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";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		gpio = <&gpio5 8 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};
};

&dss {
	ports {
		#address-cells = <1>;
		#size-cells = <0>;

		port {
			reg = <0>;

			dpi_out: endpoint {
				remote-endpoint = <&lcd_in>;
				data-lines = <24>;
			};
		};
	};
};

&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>;
			};
		};
	};
};

&vip2 {
	status = "okay";
};

&vin3a {
	status = "okay";
	endpoint {
		slave-mode;
		remote-endpoint = <&cam>;
	};
};

&pcie1_rc {
	status = "okay";
	gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
};

&pcie1_ep {
	gpios = <&gpio2 8 GPIO_ACTIVE_LOW>;
};

&epwmss1 {
	status = "okay";
};

&ehrpwm1 {
	status = "okay";
};

&i2c5 {
	status = "okay";
	clock-frequency = <400000>;

	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>;
	};
};

&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>;
	pinctrl-1 = <&mmc3_pins_hs>;
	pinctrl-2 = <&mmc3_pins_sdr12>;
	pinctrl-3 = <&mmc3_pins_sdr25>;
	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>;
	};
};