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

Commit 2fb69736 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ARM: dts: msm: add lt9611 support for qcs605 lc"

parents 53ab9fee 01414175
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -78,6 +78,8 @@ Required properties
Optional properties:
- clock-rate:		List of clock rates in Hz.
- clock-max-rate:	List of maximum clock rate in Hz that this device supports.
- connectors:		Specifies the connector components.
- bridges:		Specifies the bridge components.
- qcom,platform-supply-entries:	A node that lists the elements of the supply. There
				can be more than one instance of this binding,
				in which case the entry would be appended with
+6 −1
Original line number Diff line number Diff line
@@ -47,9 +47,14 @@
	status = "disabled";
};

&mdss_mdp {
	bridges = <&lt9611>;
};

&qupv3_se9_i2c {
	status = "okay";
	lt9611@3b {

	lt9611: lt,lt9611@3b {
		compatible = "lt,lt9611";
		reg = <0x3b>;
		interrupt-parent = <&tlmm>;
+73 −0
Original line number Diff line number Diff line
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

#include <dt-bindings/clock/mdss-10nm-pll-clk.h>

&soc {
	ext_dsi_bridge_display: qcom,dsi-display@0 {
		compatible = "qcom,dsi-display";
		label = "ext_dsi_bridge_display";
		qcom,display-type = "primary";

		qcom,dsi-ctrl = <&mdss_dsi0>;
		qcom,dsi-phy = <&mdss_dsi_phy0>;
		clocks = <&mdss_dsi0_pll BYTECLK_MUX_0_CLK>,
			<&mdss_dsi0_pll PCLK_MUX_0_CLK>;
		clock-names = "src_byte_clk", "src_pixel_clk";

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

			port@0 {
				reg = <0>;
				ext_dsi_out: endpoint {
				};
			};
		};
	};

	sde_wb: qcom,wb-display@0 {
		compatible = "qcom,wb-display";
		cell-index = <0>;
		label = "wb_display";
	};

	ext_disp: qcom,msm-ext-disp {
		compatible = "qcom,msm-ext-disp";

		ext_disp_audio_codec: qcom,msm-ext-disp-audio-codec-rx {
			compatible = "qcom,msm-ext-disp-audio-codec-rx";
		};
	};
};

&mdss_dsi0 {
	vdda-1p2-supply = <&pm660_l2>;
};

&mdss_dsi1 {
	vdda-1p2-supply = <&pm660_l2>;
};

&mdss_dsi_phy0 {
	vdda-0p9-supply = <&pm660_l6>;
};

&mdss_dsi_phy1 {
	vdda-0p9-supply = <&pm660_l6>;
};

&sde_dp {
	vdda-0p9-supply = <&pm660_l6>;
};
+92 −6
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@
#include "qcs605.dtsi"
#include "pm8005.dtsi"
#include "qcs605-pm660-pm8005-regulator.dtsi"
#include "qcs605-lc-sde-display.dtsi"

/ {
	model = "Qualcomm Technologies, Inc. QCS605 SoC";
@@ -209,16 +210,101 @@
	parent-supply = <&pm8005_s2>;
};

&mdss_dsi_phy0 {
	/delete-property/ vdda-0p9-supply;
&mdss_mdp {
	connectors = <&sde_rscc &sde_wb>;
	bridges = <&lt9611>;
};

&mdss_dsi_phy1 {
	/delete-property/ vdda-0p9-supply;
&sde_dp {
	status = "disabled";
};

&qupv3_se9_i2c {
	status = "okay";

	lt9611: lt,lt9611@3b {
		compatible = "lt,lt9611";
		reg = <0x3b>;
		interrupt-parent = <&tlmm>;
		interrupts = <96 0>;
		interrupt-names = "lt_irq";
		lt,irq-gpio = <&tlmm 96 0x0>;
		lt,reset-gpio = <&tlmm 95 0x0>;
		lt,hdmi-en-gpio = <&tlmm 53 0x0>;
		lt,non-pluggable;

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

			lt,supply-entry@0 {
				reg = <0>;
				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>;
			};

			lt,customize-mode-id@1 {
				lt,mode-h-active = <3840>;
				lt,mode-h-front-porch = <176>;
				lt,mode-h-pulse-width = <88>;
				lt,mode-h-back-porch = <296>;
				lt,mode-h-active-high;
				lt,mode-v-active = <2160>;
				lt,mode-v-front-porch = <8>;
				lt,mode-v-pulse-width = <10>;
				lt,mode-v-back-porch = <72>;
				lt,mode-v-active-high;
				lt,mode-refresh-rate = <30>;
				lt,mode-clock-in-khz = <297000>;
			};
		};

&sde_dp {
	/delete-property/ vdda-0p9-supply;
		ports {
			#address-cells = <1>;
			#size-cells = <0>;

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

&soc {
	qcom,dsi-display@0 {
		qcom,dsi-display-active;

		ports {
			port@0 {
				endpoint {
					remote-endpoint = <&lt9611_in>;
				};
			};
		};
	};
};

&qusb_phy0 {
+19 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@
#include <linux/i2c.h>
#include <linux/gpio.h>
#include <linux/interrupt.h>
#include <linux/component.h>
#include <linux/of_gpio.h>
#include <linux/of_graph.h>
#include <linux/of_irq.h>
@@ -1997,6 +1998,20 @@ static void lt9611_sysfs_remove(struct device *dev)
	sysfs_remove_group(&dev->kobj, &lt9611_sysfs_attr_grp);
}

static int lt9611_bind(struct device *dev, struct device *master, void *data)
{
	return 0;
}

static void lt9611_unbind(struct device *dev, struct device *master, void *data)
{
}

static const struct component_ops lt9611_comp_ops = {
	.bind = lt9611_bind,
	.unbind = lt9611_unbind,
};

static int lt9611_probe(struct i2c_client *client,
	 const struct i2c_device_id *id)
{
@@ -2078,6 +2093,10 @@ static int lt9611_probe(struct i2c_client *client,

	drm_bridge_add(&pdata->bridge);

	ret = component_add(&client->dev, &lt9611_comp_ops);
	if (ret)
		pr_err("component add failed, rc=%d\n", ret);

	return ret;

err_sysfs_init:
Loading