Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9894e6d9 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull OMAP DT fbdev updates from Tomi Valkeinen:
 "Here are display related device tree data changes for OMAP.  They are
  based on an already merged branch to satisfy the dependencies for the
  dts file changes.

  Add OMAP DT data:
   - omap5 display subsystem
   - display data for omap5 uEVM board
   - am43xx display subsystem
   - display data for am43xx ePOS and GP boards (LCD only)
   - display data for GTA04 board
   - display data for overo board
   - display data for duovero-parlor board
   - display data for omap3 evm and ldp boards"

* tag 'fbdev-omap-dt-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux:
  ARM: omap5.dtsi: Add audio related parameters to hdmi node
  ARM: omap4.dtsi: Add audio related parametes to hdmi node
  ARM: dts: duovero-parlor: Add HDMI output
  ARM: dts: overo: Add support for 3.5'' LCD output
  ARM: dts: overo: Add support for 4.3'' LCD output
  ARM: dts: overo: Add support for DVI output
  ARM: dts: Add LCD panel sharp ls037v7dw01 support for omap3-evm and ldp
  ARM: dts: omap3-gta04: Add display support
  ARM: dts: omap5-uevm.dts: add display nodes
  ARM: dts: omap5-uevm.dts: add tca6424a
  ARM: dts: omap5.dtsi: add DSS nodes
  ARM: dts: am43x-epos-evm: add LCD data
  ARM: dts: am437x-gp-evm: add LCD data
  ARM: dts: am4372.dtsi: add DSS information
parents 82abb273 7d0fde39
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -857,6 +857,35 @@
			ti,hwmods = "hdq1w";
			status = "disabled";
		};

		dss: dss@4832a000 {
			compatible = "ti,omap3-dss";
			reg = <0x4832a000 0x200>;
			status = "disabled";
			ti,hwmods = "dss_core";
			clocks = <&disp_clk>;
			clock-names = "fck";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;

			dispc@4832a400 {
				compatible = "ti,omap3-dispc";
				reg = <0x4832a400 0x400>;
				interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
				ti,hwmods = "dss_dispc";
				clocks = <&disp_clk>;
				clock-names = "fck";
			};

			rfbi: rfbi@4832a800 {
				compatible = "ti,omap3-rfbi";
				reg = <0x4832a800 0x100>;
				ti,hwmods = "dss_rfbi";
				clocks = <&disp_clk>;
				clock-names = "fck";
			};
		};
	};
};

+97 −0
Original line number Diff line number Diff line
@@ -19,6 +19,10 @@
	model = "TI AM437x GP EVM";
	compatible = "ti,am437x-gp-evm","ti,am4372","ti,am43";

	aliases {
		display0 = &lcd0;
	};

	vmmcsd_fixed: fixedregulator-sd {
		compatible = "regulator-fixed";
		regulator-name = "vmmcsd_fixed";
@@ -64,6 +68,44 @@
				0x02000069      /* LEFT */
				0x0201006c>;      /* DOWN */
		};

	lcd0: display {
		compatible = "osddisplays,osd057T0559-34ts", "panel-dpi";
		label = "lcd";

		pinctrl-names = "default";
		pinctrl-0 = <&lcd_pins>;

		/*
		 * SelLCDorHDMI, LOW to select HDMI. This is not really the
		 * panel's enable GPIO, but we don't have HDMI driver support nor
		 * support to switch between two displays, so using this gpio as
		 * panel's enable should be safe.
		 */
		enable-gpios = <&gpio5 8 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>;
			};
		};
	};
};

&am43xx_pinmux {
@@ -171,6 +213,47 @@
			0x9c (PIN_OUTPUT | MUX_MODE0)		/* gpmc_be0n_cle.gpmc_be0n_cle */
		>;
	};

	dss_pins: dss_pins {
		pinctrl-single,pins = <
			0x020 (PIN_OUTPUT_PULLUP | MUX_MODE1) /*gpmc ad 8 -> DSS DATA 23 */
			0x024 (PIN_OUTPUT_PULLUP | MUX_MODE1)
			0x028 (PIN_OUTPUT_PULLUP | MUX_MODE1)
			0x02c (PIN_OUTPUT_PULLUP | MUX_MODE1)
			0x030 (PIN_OUTPUT_PULLUP | MUX_MODE1)
			0x034 (PIN_OUTPUT_PULLUP | MUX_MODE1)
			0x038 (PIN_OUTPUT_PULLUP | MUX_MODE1)
			0x03c (PIN_OUTPUT_PULLUP | MUX_MODE1) /*gpmc ad 15 -> DSS DATA 16 */
			0x0a0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 0 */
			0x0a4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
			0x0a8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
			0x0ac (PIN_OUTPUT_PULLUP | MUX_MODE0)
			0x0b0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
			0x0b4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
			0x0b8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
			0x0bc (PIN_OUTPUT_PULLUP | MUX_MODE0)
			0x0c0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
			0x0c4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
			0x0c8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
			0x0cc (PIN_OUTPUT_PULLUP | MUX_MODE0)
			0x0d0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
			0x0d4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
			0x0d8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
			0x0dc (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 15 */
			0x0e0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS VSYNC */
			0x0e4 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS HSYNC */
			0x0e8 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS PCLK */
			0x0ec (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS AC BIAS EN */

		>;
	};

	lcd_pins: lcd_pins {
		pinctrl-single,pins = <
			/* GPIO 5_8 to select LCD / HDMI */
			0x238 (PIN_OUTPUT_PULLUP | MUX_MODE7)
		>;
	};
};

&i2c0 {
@@ -359,3 +442,17 @@
		};
	};
};

&dss {
	status = "ok";

	pinctrl-names = "default";
	pinctrl-0 = <&dss_pins>;

	port {
		dpi_out: endpoint@0 {
			remote-endpoint = <&lcd_in>;
			data-lines = <24>;
		};
	};
};
+96 −0
Original line number Diff line number Diff line
@@ -19,6 +19,10 @@
	model = "TI AM43x EPOS EVM";
	compatible = "ti,am43x-epos-evm","ti,am4372","ti,am43";

	aliases {
		display0 = &lcd0;
	};

	vmmcsd_fixed: fixedregulator-sd {
		compatible = "regulator-fixed";
		regulator-name = "vmmcsd_fixed";
@@ -27,6 +31,44 @@
		enable-active-high;
	};

	lcd0: display {
		compatible = "osddisplays,osd057T0559-34ts", "panel-dpi";
		label = "lcd";

		pinctrl-names = "default";
		pinctrl-0 = <&lcd_pins>;

		/*
		 * SelLCDorHDMI, LOW to select HDMI. This is not really the
		 * panel's enable GPIO, but we don't have HDMI driver support nor
		 * support to switch between two displays, so using this gpio as
		 * panel's enable should be safe.
		 */
		enable-gpios = <&gpio2 1 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>;
			};
		};
	};

	am43xx_pinmux: pinmux@44e10800 {
		cpsw_default: cpsw_default {
			pinctrl-single,pins = <
@@ -161,6 +203,46 @@
				0x234 (PIN_INPUT_PULLUP | MUX_MODE1)    /* cam1_wen.hdq_gpio */
			>;
		};

		dss_pins: dss_pins {
			pinctrl-single,pins = <
				0x020 (PIN_OUTPUT_PULLUP | MUX_MODE1) /*gpmc ad 8 -> DSS DATA 23 */
				0x024 (PIN_OUTPUT_PULLUP | MUX_MODE1)
				0x028 (PIN_OUTPUT_PULLUP | MUX_MODE1)
				0x02C (PIN_OUTPUT_PULLUP | MUX_MODE1)
				0x030 (PIN_OUTPUT_PULLUP | MUX_MODE1)
				0x034 (PIN_OUTPUT_PULLUP | MUX_MODE1)
				0x038 (PIN_OUTPUT_PULLUP | MUX_MODE1)
				0x03C (PIN_OUTPUT_PULLUP | MUX_MODE1) /*gpmc ad 15 -> DSS DATA 16 */
				0x0A0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 0 */
				0x0A4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
				0x0A8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
				0x0AC (PIN_OUTPUT_PULLUP | MUX_MODE0)
				0x0B0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
				0x0B4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
				0x0B8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
				0x0BC (PIN_OUTPUT_PULLUP | MUX_MODE0)
				0x0C0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
				0x0C4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
				0x0C8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
				0x0CC (PIN_OUTPUT_PULLUP | MUX_MODE0)
				0x0D0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
				0x0D4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
				0x0D8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
				0x0DC (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 15 */
				0x0E0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS VSYNC */
				0x0E4 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS HSYNC */
				0x0E8 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS PCLK */
				0x0EC (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS AC BIAS EN */
			>;
		};

		lcd_pins: lcd_pins {
			pinctrl-single,pins = <
				/* GPMC CLK -> GPIO 2_1 to select LCD / HDMI */
				0x08C (PIN_OUTPUT_PULLUP | MUX_MODE7)
			>;
		};
	};

	matrix_keypad: matrix_keypad@0 {
@@ -468,3 +550,17 @@
	pinctrl-names = "default";
	pinctrl-0 = <&hdq_pins>;
};

&dss {
	status = "ok";

	pinctrl-names = "default";
	pinctrl-0 = <&dss_pins>;

	port {
		dpi_out: endpoint@0 {
			remote-endpoint = <&lcd_in>;
			data-lines = <24>;
		};
	};
};
+50 −0
Original line number Diff line number Diff line
@@ -26,7 +26,44 @@
	};
};

&dss {
	pinctrl-names = "default";
	pinctrl-0 = <
		&dss_dpi_pins1
		&dss_dpi_pins2
	>;
};

&omap3_pmx_core {
	dss_dpi_pins1: pinmux_dss_dpi_pins2 {
		pinctrl-single,pins = <
			OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0)   /* dss_pclk.dss_pclk */
			OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0)   /* dss_hsync.dss_hsync */
			OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0)   /* dss_vsync.dss_vsync */
			OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0)   /* dss_acbias.dss_acbias */

			OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0)   /* dss_data6.dss_data6 */
			OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0)   /* dss_data7.dss_data7 */
			OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0)   /* dss_data8.dss_data8 */
			OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0)   /* dss_data9.dss_data9 */
			OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0)   /* dss_data10.dss_data10 */
			OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0)   /* dss_data11.dss_data11 */
			OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0)   /* dss_data12.dss_data12 */
			OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0)   /* dss_data13.dss_data13 */
			OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0)   /* dss_data14.dss_data14 */
			OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0)   /* dss_data15.dss_data15 */
			OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0)   /* dss_data16.dss_data16 */
			OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0)   /* dss_data17.dss_data17 */

			OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE3)   /* dss_data18.dss_data0 */
			OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE3)   /* dss_data19.dss_data1 */
			OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE3)   /* dss_data20.dss_data2 */
			OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE3)   /* dss_data21.dss_data3 */
			OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE3)   /* dss_data22.dss_data4 */
			OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE3)   /* dss_data23.dss_data5 */
		>;
	};

	mmc1_pins: pinmux_mmc1_pins {
		pinctrl-single,pins = <
			0x114 (PIN_OUTPUT_PULLUP | MUX_MODE0)	/* sdmmc1_clk.sdmmc1_clk */
@@ -75,6 +112,19 @@
	};
};

&omap3_pmx_wkup {
	dss_dpi_pins2: pinmux_dss_dpi_pins1 {
		pinctrl-single,pins = <
			0x0a (PIN_OUTPUT | MUX_MODE3)   /* sys_boot0.dss_data18 */
			0x0c (PIN_OUTPUT | MUX_MODE3)   /* sys_boot1.dss_data19 */
			0x10 (PIN_OUTPUT | MUX_MODE3)   /* sys_boot3.dss_data20 */
			0x12 (PIN_OUTPUT | MUX_MODE3)   /* sys_boot4.dss_data21 */
			0x14 (PIN_OUTPUT | MUX_MODE3)   /* sys_boot5.dss_data22 */
			0x16 (PIN_OUTPUT | MUX_MODE3)   /* sys_boot6.dss_data23 */
		>;
	};
};

&mmc1 {
	pinctrl-names = "default";
	pinctrl-0 = <&mmc1_pins>;
+26 −0
Original line number Diff line number Diff line
@@ -44,6 +44,11 @@

#include "twl4030.dtsi"
#include "twl4030_omap3.dtsi"
#include "omap3-panel-sharp-ls037v7dw01.dtsi"

&backlight0 {
	gpios = <&twl_gpio 18 GPIO_ACTIVE_LOW>;
};

&i2c2 {
	clock-frequency = <400000>;
@@ -61,6 +66,27 @@
	};
};

&lcd_3v3 {
	gpio = <&gpio5 25 GPIO_ACTIVE_LOW>;	/* gpio153 */
	enable-active-low;
};

&lcd0 {
	enable-gpios = <&gpio5 24 GPIO_ACTIVE_HIGH>;	/* gpio152, lcd INI */
	reset-gpios = <&gpio5 27 GPIO_ACTIVE_HIGH>;	/* gpio155, lcd RESB */
	mode-gpios = <&gpio5 26 GPIO_ACTIVE_HIGH	/* gpio154, lcd MO */
		      &gpio1 2 GPIO_ACTIVE_HIGH		/* gpio2, lcd LR */
		      &gpio1 3 GPIO_ACTIVE_HIGH>;	/* gpio3, lcd UD */
};

&mcspi1 {
	tsc2046@0 {
		interrupt-parent = <&gpio6>;
		interrupts = <15 0>;		/* gpio175 */
		pendown-gpio = <&gpio6 15 0>;
	};
};

&mmc1 {
	vmmc-supply = <&vmmc1>;
	vmmc_aux-supply = <&vsim>;
Loading