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

Commit b4e58a56 authored by Vidyasagar Pasmel's avatar Vidyasagar Pasmel Committed by Gerrit - the friendly Code Review server
Browse files

ARM: dts: msm: Support TLC591xx LED on apq8017



Add TI TLC591xx LED interface node support
on APQ8017 platform.

Change-Id: I3013718f905a0e09afc71a09a09fdf3e60a5a9df
Signed-off-by: default avatarVidyasagar Pasmel <vpasme@codeaurora.org>
parent 96a3baea
Loading
Loading
Loading
Loading
+147 −0
Original line number Diff line number Diff line
@@ -158,3 +158,150 @@
&secure_mem {
	status = "disabled";
};

/* Warning, SPI6 & I2C6 cannot be enabled at the same time due to pin usage. */
&spi_6 {
	status = "disabled";
};

&i2c_6 {
	status = "ok";
	qcom,clk-freq-out = <100000>;

	/* TI591XX LED Drivers */
	tlc59116@60 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "ti,tlc59116";
		reg = <0x60>;
		out0@0 {
			label = "ledsec1_g";
			reg = <0x0>;
		};
		out1@1 {
			label = "ledsec1_r";
			reg = <0x1>;
		};
		out2@2 {
			label = "ledsec1_b";
			reg = <0x2>;
		};
		out3@3 {
			label = "ledsec2_g";
			reg = <0x3>;
		};
		out4@4 {
			label = "ledsec2_r";
			reg = <0x4>;
		};
		out5@5 {
			label = "ledsec2_b";
			reg = <0x5>;
		};
		out6@6 {
			label = "ledsec3_g";
			reg = <0x6>;
		};
		out7@7 {
			label = "ledsec3_r";
			reg = <0x7>;
		};
		out8@8 {
			label = "ledsec3_b";
			reg = <0x8>;
		};
		out9@9 {
			label = "ledsec4_g";
			reg = <0x9>;
		};
		out10@10 {
			label = "ledsec4_r";
			reg = <0xa>;
		};
		out11@11 {
			label = "ledsec4_b";
			reg = <0xb>;
		};
		out12@12 {
			label = "ledsec5_g";
			reg = <0xc>;
		};
		out13@13 {
			label = "ledsec5_r";
			reg = <0xd>;
		};
		out14@14 {
			label = "ledsec5_b";
			reg = <0xe>;
		};
	};

	tlc59116@61 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "ti,tlc59116";
		reg = <0x61>;
		out0@0 {
			label = "ledsec6_g";
			reg = <0x0>;
		};
		out1@1 {
			label = "ledsec6_r";
			reg = <0x1>;
		};
		out2@2 {
			label = "ledsec6_b";
			reg = <0x2>;
		};
		out3@3 {
			label = "ledsec7_g";
			reg = <0x3>;
		};
		out4@4 {
			label = "ledsec7_r";
			reg = <0x4>;
		};
		out5@5 {
			label = "ledsec7_b";
			reg = <0x5>;
		};
		out6@6 {
			label = "ledsec8_g";
			reg = <0x6>;
		};
		out7@7 {
			label = "ledsec8_r";
			reg = <0x7>;
		};
		out8@8 {
			label = "ledsec8_b";
			reg = <0x8>;
		};
		out9@9 {
			label = "ledsec9_g";
			reg = <0x9>;
		};
		out10@10 {
			label = "ledsec9_r";
			reg = <0xa>;
		};
		out11@11 {
			label = "ledsec9_b";
			reg = <0xb>;
		};
	};
};

&soc {
	pinctrl@1000000 {
		i2c6{
			tlc59116_reset: tlc59116_reset {
				config {
					pins = "gpio20";
					drive-strength = <16>;
					bias-pull-up;
				};
			};
		};
	};
};
+146 −0
Original line number Diff line number Diff line
@@ -62,3 +62,149 @@
&dsi_adv7533_1080p {
	qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
};

/* Warning, SPI6 & I2C6 cannot be enabled at the same time due to pin usage. */
&spi_6 {
	status = "disabled";
};

&i2c_6 {
	status = "ok";
	qcom,clk-freq-out = <100000>;

	/* TI591XX LED Drivers */
	tlc59116@60 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "ti,tlc59116";
		reg = <0x60>;
		out0@0 {
			label = "ledsec1_g";
			reg = <0x0>;
		};
		out1@1 {
			label = "ledsec1_r";
			reg = <0x1>;
		};
		out2@2 {
			label = "ledsec1_b";
			reg = <0x2>;
		};
		out3@3 {
			label = "ledsec2_g";
			reg = <0x3>;
		};
		out4@4 {
			label = "ledsec2_r";
			reg = <0x4>;
		};
		out5@5 {
			label = "ledsec2_b";
			reg = <0x5>;
		};
		out6@6 {
			label = "ledsec3_g";
			reg = <0x6>;
		};
		out7@7 {
			label = "ledsec3_r";
			reg = <0x7>;
		};
		out8@8 {
			label = "ledsec3_b";
			reg = <0x8>;
		};
		out9@9 {
			label = "ledsec4_g";
			reg = <0x9>;
		};
		out10@10 {
			label = "ledsec4_r";
			reg = <0xa>;
		};
		out11@11 {
			label = "ledsec4_b";
			reg = <0xb>;
		};
		out12@12 {
			label = "ledsec5_g";
			reg = <0xc>;
		};
		out13@13 {
			label = "ledsec5_r";
			reg = <0xd>;
		};
		out14@14 {
			label = "ledsec5_b";
			reg = <0xe>;
		};
	};
	tlc59116@61 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "ti,tlc59116";
		reg = <0x61>;
		out0@0 {
			label = "ledsec6_g";
			reg = <0x0>;
		};
		out1@1 {
			label = "ledsec6_r";
			reg = <0x1>;
		};
		out2@2 {
			label = "ledsec6_b";
			reg = <0x2>;
		};
		out3@3 {
			label = "ledsec7_g";
			reg = <0x3>;
		};
		out4@4 {
			label = "ledsec7_r";
			reg = <0x4>;
		};
		out5@5 {
			label = "ledsec7_b";
			reg = <0x5>;
		};
		out6@6 {
			label = "ledsec8_g";
			reg = <0x6>;
		};
		out7@7 {
			label = "ledsec8_r";
			reg = <0x7>;
		};
		out8@8 {
			label = "ledsec8_b";
			reg = <0x8>;
		};
		out9@9 {
			label = "ledsec9_g";
			reg = <0x9>;
		};
		out10@10 {
			label = "ledsec9_r";
			reg = <0xa>;
		};
		out11@11 {
			label = "ledsec9_b";
			reg = <0xb>;
		};
	};
};

&soc {
	pinctrl@1000000 {
		i2c6{
			tlc59116_reset: tlc59116_reset {
				config {
					pins = "gpio20";
					drive-strength = <16>;
					bias-pull-up;
				};
			};
		};
	};
};
+30 −0
Original line number Diff line number Diff line
@@ -1290,6 +1290,36 @@
			};
		};

		i2c_6 {
			i2c_6_active: i2c_6_active {
				/* active state */
				mux {
					pins = "gpio22", "gpio23";
					function = "blsp_i2c6";
				};

				config {
					pins = "gpio22", "gpio23";
					drive-strength = <2>;
					bias-disable;
				};
			};

			i2c_6_sleep: i2c_6_sleep {
				/* suspended state */
				mux {
					pins = "gpio22", "gpio23";
					function = "gpio";
				};

				config {
					pins = "gpio22", "gpio23";
					drive-strength = <2>;
					bias-disable;
				};
			};
		};

		pmx_rd_nfc_int {
			/*qcom,pins = <&gp 17>;*/
			pins = "gpio17";
+27 −0
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@
		i2c5 = &i2c_5;
		i2c3 = &i2c_3;
		i2c4 = &i2c_4;
		i2c6 = &i2c_6;
		sdhc1 = &sdhc_1; /* SDC1 eMMC slot */
		sdhc2 = &sdhc_2; /* SDC2 for SD card */
	};
@@ -649,6 +650,32 @@
		dma-names = "tx", "rx";
	};

	i2c_6: i2c@7af6000 { /* BLSP2 QUP2 */
		compatible = "qcom,i2c-msm-v2";
		#address-cells = <1>;
		#size-cells = <0>;
		reg-names = "qup_phys_addr";
		reg = <0x7af6000 0x600>;
		interrupt-names = "qup_irq";
		interrupts = <0 300 0>;
		qcom,clk-freq-out = <400000>;
		qcom,clk-freq-in  = <19200000>;
		clock-names = "iface_clk", "core_clk";
		clocks = <&clock_gcc clk_gcc_blsp2_ahb_clk>,
			<&clock_gcc clk_gcc_blsp2_qup2_i2c_apps_clk>;

		pinctrl-names = "i2c_active", "i2c_sleep";
		pinctrl-0 = <&i2c_6_active>;
		pinctrl-1 = <&i2c_6_sleep>;
		qcom,noise-rjct-scl = <0>;
		qcom,noise-rjct-sda = <0>;
		qcom,master-id = <84>;
		dmas = <&dma_blsp2 6 64 0x20000020 0x20>,
			<&dma_blsp2 7 32 0x20000020 0x20>;
		dma-names = "tx", "rx";
		status = "disabled";
	};

	rpm_bus: qcom,rpm-smd {
		compatible = "qcom,rpm-smd";
		rpm-channel-name = "rpm_requests";