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

Commit 6e16f818 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ARM: dts: msm: enable LT9611UXC HDMI bridge for HDK SM8250"

parents 1f1af6d0 9be20fec
Loading
Loading
Loading
Loading
+124 −0
Original line number Diff line number Diff line
LT9611uxc DSI to HDMI bridge

Required properties:
	- compatible:				Must be "lt,lt9611uxc"
	- reg:					Main I2C slave ID (for I2C host driver)
	- lt,irq-gpio:				Main IRQ gpio mapping
	- lt,reset-gpio				Main reset gpio mapping


	Optional properties:
	- lt,hdmi-ps-gpio:			gpio mapping for HDMI PS
	- lt,hdmi-en-gpio:			gpio mapping for HDMI EN

	- lt,supply-entries:			A node that lists the elements of the supply used to
						power the bridge. There can be more than one instance
						of this binding, in which case the entry would be
						appended with the supply entry index.
	e.g. lt,supply-entry@0
	-- lt,supply-name: name of the supply (vdd/vcc)
	-- lt,supply-min-voltage: minimum voltage level (uV)
	-- lt,supply-max-voltage: maximum voltage level (uV)
	-- lt,supply-enable-load: load drawn (uA) from enabled supply
	-- lt,supply-disable-load: load drawn (uA) from disabled supply
	-- lt,supply-ulp-load: load drawn (uA) from supply in ultra-low power mode
	-- lt,supply-pre-on-sleep: time to sleep (ms) before turning on
	-- lt,supply-post-on-sleep: time to sleep (ms) after turning on
	-- lt,supply-pre-off-sleep: time to sleep (ms) before turning off
	-- lt,supply-post-off-sleep: time to sleep (ms) after turning off

	- lt,non-pluggable: Boolean to indicate if display is non pluggable.
	- lt,customize-modes: Customized modes when it's non-pluggable display.
	e.g. lt,customize-mode-id@0
	-- lt,mode-h-active: Horizontal active pixels for this mode.
	-- lt,mode-h-front-porch: Horizontal front porch in pixels for this mode.
	-- lt,mode-h-pulse-width: Horizontal sync width in pixels for this mode.
	-- lt,mode-h-back-porch: Horizontal back porch in pixels for this mode.
	-- lt,mode-h-active-high: Boolean to indicate if mode horizontal polarity is active high.
	-- lt,mode-v-active: Vertical active lines for this mode.
	-- lt,mode-v-front-porch: Vertical front porch in lines for this mode.
	-- lt,mode-v-pulse-width: Vertical sync width in lines for this mode.
	-- lt,mode-v-back-porch: Vertical back porch in lines for this mode.
	-- lt,mode-v-active-high: Boolean to indicate if mode vertical polarity is active high.
	-- lt,mode-refersh-rate: Mode refresh rate in hertz.
	-- lt,mode-clock-in-khz: Mode pclk in KHz.

Required nodes:

The LT9611 has one video port. Its connection is modelled using the OF
graph bindings specified in Documentation/devicetree/bindings/graph.txt.
Video port 0 is for the DSI input. The remote endpoint phandle should
be a reference to a valid mipi_dsi_host device node.


Example:

&qupv3_se9_i2c {
	status = "okay";
	lt9611@3b {
		compatible = "lt,lt9611uxc";
		reg = <0x3b>;
		interrupt-parent = <&tlmm>;
		interrupts = <125 0>;
		interrupt-names = "lt_irq";
		lt,irq-gpio = <&tlmm 125 0x0>;
		lt,reset-gpio = <&tlmm 134 0x0>;
		lt,hdmi-ps-gpio = <&tlmm 136 0x0>;
		lt,hdmi-en-gpio = <&tlmm 137 0x0>;

		vcc-supply = <&pm660l_l6>;
		vdd-supply = <&pm660_l11>;
		lt,supply-entries {
			#address-cells = <1>;
			#size-cells = <0>;

			lt,supply-entry@0 {
				reg = <0>;
				lt,supply-name = "vcc";
				lt,supply-min-voltage = <3300000>;
				lt,supply-max-voltage = <3300000>;
				lt,supply-enable-load = <200000>;
				lt,supply-post-on-sleep = <50>;
			};

			lt,supply-entry@1 {
				reg = <1>;
				lt,supply-name = "vdd";
				lt,supply-min-voltage = <1800000>;
				lt,supply-max-voltage = <1800000>;
				lt,supply-enable-load = <200000>;
				lt,supply-post-on-sleep = <50>;
			};
		};

		lt,customize-modes {
			lt,customize-mode-id@0 {
				lt,mode-h-active = <1920>;
				lt,mode-h-front-porch = <88>;
				lt,mode-h-pulse-width = <44>;
				lt,mode-h-back-porch = <148>;
				lt,mode-h-active-high;
				lt,mode-v-active = <1080>;
				lt,mode-v-front-porch = <4>;
				lt,mode-v-pulse-width = <5>;
				lt,mode-v-back-porch = <36>;
				lt,mode-v-active-high;
				lt,mode-refresh-rate = <60>;
				lt,mode-clock-in-khz = <148500>;
			};
		};

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

			port@0 {
				reg = <0>;
				lt9611_in: endpoint {
				remote-endpoint = <&ext_dsi_out>;
				};
			};
		};
	};
};
+1 −0
Original line number Diff line number Diff line
@@ -219,6 +219,7 @@ lltc Linear Technology Corporation
logicpd	Logic PD, Inc.
lsi	LSI Corp. (LSI Logic)
lwn	Liebherr-Werk Nenzing GmbH
lt	Lontium Semiconductor Corporation
macnica	Macnica Americas
marvell	Marvell Technology Group Ltd.
maxim	Maxim Integrated Products
+66 −0
Original line number Diff line number Diff line
@@ -30,3 +30,69 @@
		0x03 0x70
		0x03 0x74>;
};

&qupv3_se1_i2c {
	status = "ok";
	lt9611: lt,lt9611@2b {
		compatible = "lt,lt9611uxc";
		reg = <0x2b>;
		interrupt-parent = <&tlmm>;
		interrupts = <1 0>;
		interrupt-names = "lt_irq";
		lt,irq-gpio = <&tlmm 1 0x0>;
		lt,reset-gpio = <&tlmm 2 0x0>;
		instance_id = <0>;
		lt,non-pluggable;

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

		lt,preferred-mode = "1920x1080";

		lt,customize-modes {
			lt,customize-mode-id@0 {
				lt,mode-h-active = <1920>;
				lt,mode-h-front-porch = <88>;
				lt,mode-h-pulse-width = <44>;
				lt,mode-h-back-porch = <148>;
				lt,mode-h-active-high;
				lt,mode-v-active = <1080>;
				lt,mode-v-front-porch = <4>;
				lt,mode-v-pulse-width = <5>;
				lt,mode-v-back-porch = <36>;
				lt,mode-v-active-high;
				lt,mode-refresh-rate = <60>;
				lt,mode-clock-in-khz = <148500>;
			};
		};

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

			port@0 {
				reg = <0>;
				lt9611_in: endpoint {
					remote-endpoint = <&ext_dsi_out>;
				};
			};

		};
	};
};

&sde_dsi {
	qcom,dsi-default-panel = <&dsi_ext_bridge_1080p>;

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

		port@0 {
			reg = <0>;
			ext_dsi_out: endpoint {
				remote-endpoint = <&lt9611_in>;
			};
		};
	};
};
+13 −0
Original line number Diff line number Diff line
@@ -2839,6 +2839,19 @@
			};
		};

		lt9611_pins: lt9611_pins {
			mux {
				pins = "gpio2", "gpio1";
				function = "gpio";
			};

			config {
				pins = "gpio2", "gpio1";
				drive-strength = <8>;
				bias-disable = <0>;
			};
		};

		nfc {
			nfc_int_active: nfc_int_active {
				/* active state */
+13 −0
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@
#include "dsi-panel-nt35597-truly-dualmipi-wqxga-video.dtsi"
#include "dsi-panel-nt35695b-truly-fhd-cmd.dtsi"
#include "dsi-panel-nt35695b-truly-fhd-video.dtsi"
#include "dsi-panel-ext-bridge-1080p.dtsi"
#include "dsi-panel-sim-cmd.dtsi"
#include "dsi-panel-sim-video.dtsi"
#include "dsi-panel-sim-dsc375-cmd.dtsi"
@@ -256,6 +257,18 @@
};

/* PHY TIMINGS REVISION W */
&dsi_ext_bridge_1080p {
	qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0";
	qcom,mdss-dsi-display-timings {
		timing@0 {
			qcom,mdss-dsi-panel-phy-timings = [00 1e 08 07 24 22 08
				08 05 02 04 00 19 17];
			qcom,display-topology = <1 0 1>;
			qcom,default-topology-index = <0>;
		};
	};
};

&dsi_sw43404_amoled_cmd {
	qcom,ulps-enabled;
	qcom,esd-check-enabled;