mbox series

[0/4] Add touchscreen for msm8916-samsung-a5u

Message ID 20200426140642.204395-1-stephan@gerhold.net
Headers show
Series Add touchscreen for msm8916-samsung-a5u | expand

Message

Stephan Gerhold April 26, 2020, 2:06 p.m. UTC
This patch series enables the touchscreen
on the Samsung Galaxy A5 (2015) ("samsung-a5u").

Stephan Gerhold (4):
  arm64: dts: qcom: msm8916: Add blsp_i2c1
  arm64: dts: qcom: msm8916: Add blsp_i2c5
  arm64: dts: qcom: msm8916-samsung-a2015: Add touchscreen regulator
  arm64: dts: qcom: msm8916-samsung-a5u: Add touchscreen

 arch/arm64/boot/dts/qcom/msm8916-pins.dtsi    | 48 +++++++++++++++++++
 .../qcom/msm8916-samsung-a2015-common.dtsi    | 25 ++++++++++
 .../boot/dts/qcom/msm8916-samsung-a5u-eur.dts | 35 ++++++++++++++
 arch/arm64/boot/dts/qcom/msm8916.dtsi         | 30 ++++++++++++
 4 files changed, 138 insertions(+)

Comments

Bjorn Andersson May 12, 2020, 6:15 p.m. UTC | #1
On Sun 26 Apr 07:06 PDT 2020, Stephan Gerhold wrote:

> MSM8916 has another I2C QUP controller that can be enabled on
> GPIO 2 and 3.
> 
> Add blsp_i2c1 to msm8916.dtsi and disable it by default.
> 

Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>

Regards,
Bjorn

> Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
> ---
> On samsung-a2015 there is an external TFA9895 speaker amplifier
> connected to blsp_i2c1. There isn't a proper mainline driver
> for it (yet?), but it's nice to have the I2C bus in mainline at least.
> ---
>  arch/arm64/boot/dts/qcom/msm8916-pins.dtsi | 24 ++++++++++++++++++++++
>  arch/arm64/boot/dts/qcom/msm8916.dtsi      | 15 ++++++++++++++
>  2 files changed, 39 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-pins.dtsi b/arch/arm64/boot/dts/qcom/msm8916-pins.dtsi
> index 242aaea68804..b45fd12856ea 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-pins.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8916-pins.dtsi
> @@ -262,6 +262,30 @@ pinconf {
>  		};
>  	};
>  
> +	i2c1_default: i2c1_default {
> +		pinmux {
> +			function = "blsp_i2c1";
> +			pins = "gpio2", "gpio3";
> +		};
> +		pinconf {
> +			pins = "gpio2", "gpio3";
> +			drive-strength = <2>;
> +			bias-disable;
> +		};
> +	};
> +
> +	i2c1_sleep: i2c1_sleep {
> +		pinmux {
> +			function = "gpio";
> +			pins = "gpio2", "gpio3";
> +		};
> +		pinconf {
> +			pins = "gpio2", "gpio3";
> +			drive-strength = <2>;
> +			bias-disable;
> +		};
> +	};
> +
>  	i2c2_default: i2c2_default {
>  		pinmux {
>  			function = "blsp_i2c2";
> diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
> index 8b429954ea29..6ab7cabde370 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
> @@ -612,6 +612,21 @@ blsp_spi6: spi@78ba000 {
>  			status = "disabled";
>  		};
>  
> +		blsp_i2c1: i2c@78b5000 {
> +			compatible = "qcom,i2c-qup-v2.2.1";
> +			reg = <0x078b5000 0x500>;
> +			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
> +			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
> +				 <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>;
> +			clock-names = "iface", "core";
> +			pinctrl-names = "default", "sleep";
> +			pinctrl-0 = <&i2c1_default>;
> +			pinctrl-1 = <&i2c1_sleep>;
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +			status = "disabled";
> +		};
> +
>  		blsp_i2c2: i2c@78b6000 {
>  			compatible = "qcom,i2c-qup-v2.2.1";
>  			reg = <0x078b6000 0x500>;
> -- 
> 2.26.2
>
Bjorn Andersson May 12, 2020, 6:29 p.m. UTC | #2
On Sun 26 Apr 07:06 PDT 2020, Stephan Gerhold wrote:

> A3U and A5U both use an extra touchscreen LDO regulator
> that provides 3.3V for the touch screen controller.
> 
> Add it as fixed regulator to the common include.
> 
> Cc: Michael Srba <Michael.Srba@seznam.cz>
> Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
> ---
>  .../qcom/msm8916-samsung-a2015-common.dtsi    | 25 +++++++++++++++++++
>  1 file changed, 25 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi b/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi
> index 43c5e0f882f1..67a286422a13 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi
> @@ -138,6 +138,19 @@ hall-sensor {
>  		};
>  	};
>  
> +	reg_vdd_tsp: regulator-vdd-tsp {
> +		compatible = "regulator-fixed";
> +		regulator-name = "vdd_tsp";
> +		regulator-min-microvolt = <3300000>;
> +		regulator-max-microvolt = <3300000>;
> +
> +		gpio = <&msmgpio 73 GPIO_ACTIVE_HIGH>;
> +		enable-active-high;
> +
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&tsp_en_default>;
> +	};
> +
>  	i2c-muic {
>  		compatible = "i2c-gpio";
>  		sda-gpios = <&msmgpio 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
> @@ -195,6 +208,18 @@ pinconf {
>  			bias-disable;
>  		};
>  	};
> +
> +	tsp_en_default: tsp_en_default {

Node names should not include '_', so this line should be
	tsp_en_default: tsp-en-default {

I fixed this up in both patch 3 and 4 and applied the series.

Thanks,
Bjorn

> +		pinmux {
> +			function = "gpio";
> +			pins = "gpio73";
> +		};
> +		pinconf {
> +			pins = "gpio73";
> +			drive-strength = <2>;
> +			bias-disable;
> +		};
> +	};
>  };
>  
>  &smd_rpm_regulators {
> -- 
> 2.26.2
>