linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/6] arm64: dts: qcom: msm8916-longcheer-l8150: Enable PM8916 vibrator
@ 2020-11-13 17:59 nikitos.tr
  2020-11-13 17:59 ` [PATCH 2/6] arm64: dts: msm8916-longcheer-l8150: Add touchscreen nikitos.tr
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: nikitos.tr @ 2020-11-13 17:59 UTC (permalink / raw)
  To: agross, bjorn.andersson
  Cc: robh+dt, stephan, Michael.Srba, linux-arm-msm, devicetree,
	linux-kernel, phone-devel, ~postmarketos/upstreaming,
	Nikita Travkin

From: Nikita Travkin <nikitos.tr@gmail.com>

L8150 has a vibrator connected to PM8916. Add it to the device tree.

Signed-off-by: Nikita Travkin <nikitos.tr@gmail.com>
---
 arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
index 2c204d535d66..d106bdbfda68 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
@@ -61,6 +61,10 @@ &pm8916_resin {
 	linux,code = <KEY_VOLUMEDOWN>;
 };
 
+&pm8916_vib {
+	status = "okay";
+};
+
 &pronto {
 	status = "okay";
 };
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/6] arm64: dts: msm8916-longcheer-l8150: Add touchscreen
  2020-11-13 17:59 [PATCH 1/6] arm64: dts: qcom: msm8916-longcheer-l8150: Enable PM8916 vibrator nikitos.tr
@ 2020-11-13 17:59 ` nikitos.tr
  2020-11-13 17:59 ` [PATCH 3/6] arm64: dts: msm8916-longcheer-l8150: Add position sensors nikitos.tr
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: nikitos.tr @ 2020-11-13 17:59 UTC (permalink / raw)
  To: agross, bjorn.andersson
  Cc: robh+dt, stephan, Michael.Srba, linux-arm-msm, devicetree,
	linux-kernel, phone-devel, ~postmarketos/upstreaming,
	Nikita Travkin

From: Nikita Travkin <nikitos.tr@gmail.com>

L8150 has RMI4 compatible Synaptics touchscreen on
blsp_i2c5. It is powered by fixed regulator. Add
both to the device tree.

Signed-off-by: Nikita Travkin <nikitos.tr@gmail.com>
---
 .../boot/dts/qcom/msm8916-longcheer-l8150.dts | 63 +++++++++++++++++++
 1 file changed, 63 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
index d106bdbfda68..21f2e8e0d05e 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
@@ -5,6 +5,7 @@
 #include "msm8916-pm8916.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/interrupt-controller/irq.h>
 
 / {
 	model = "Longcheer L8150";
@@ -50,6 +51,52 @@ volume-up {
 			linux,code = <KEY_VOLUMEUP>;
 		};
 	};
+
+	reg_ctp: regulator-ctp {
+		compatible = "regulator-fixed";
+		regulator-name = "ctp";
+
+		regulator-min-microvolt = <2800000>;
+		regulator-max-microvolt = <2800000>;
+
+		gpio = <&msmgpio 17 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&ctp_pwr_en_default>;
+	};
+};
+
+&blsp_i2c5 {
+	status = "okay";
+
+	rmi4@20 {
+		compatible = "syna,rmi4-i2c";
+		reg = <0x20>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		interrupt-parent = <&msmgpio>;
+		interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
+
+		vdd-supply = <&reg_ctp>;
+		vio-supply = <&pm8916_l6>;
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&tp_int_default>;
+
+		syna,startup-delay-ms = <10>;
+
+		rmi4-f01@1 {
+			reg = <0x1>;
+			syna,nosleep-mode = <1>; // Allow sleeping
+		};
+
+		rmi4-f12@12 {
+			reg = <0x12>;
+			syna,sensor-type = <1>; // Touchscreen
+		};
+	};
 };
 
 &blsp1_uart2 {
@@ -201,6 +248,14 @@ l18 {
 };
 
 &msmgpio {
+	ctp_pwr_en_default: ctp-pwr-en-default {
+		pins = "gpio17";
+		function = "gpio";
+
+		drive-strength = <2>;
+		bias-disable;
+	};
+
 	gpio_keys_default: gpio-keys-default {
 		pins = "gpio107";
 		function = "gpio";
@@ -209,6 +264,14 @@ gpio_keys_default: gpio-keys-default {
 		bias-pull-up;
 	};
 
+	tp_int_default: tp-int-default {
+		pins = "gpio13";
+		function = "gpio";
+
+		drive-strength = <2>;
+		bias-disable;
+	};
+
 	usb_vbus_default: usb-vbus-default {
 		pins = "gpio62";
 		function = "gpio";
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/6] arm64: dts: msm8916-longcheer-l8150: Add position sensors
  2020-11-13 17:59 [PATCH 1/6] arm64: dts: qcom: msm8916-longcheer-l8150: Enable PM8916 vibrator nikitos.tr
  2020-11-13 17:59 ` [PATCH 2/6] arm64: dts: msm8916-longcheer-l8150: Add touchscreen nikitos.tr
@ 2020-11-13 17:59 ` nikitos.tr
  2020-11-13 17:59 ` [PATCH 4/6] arm64: dts: qcom: msm8916-longcheer-l8150: Add flash LED nikitos.tr
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: nikitos.tr @ 2020-11-13 17:59 UTC (permalink / raw)
  To: agross, bjorn.andersson
  Cc: robh+dt, stephan, Michael.Srba, linux-arm-msm, devicetree,
	linux-kernel, phone-devel, ~postmarketos/upstreaming,
	Nikita Travkin

From: Nikita Travkin <nikitos.tr@gmail.com>

L8150 has:
 - BMC156 accelerometer and magnetic sensor
 - BMG160 gyroscope sensor
Add them to the device tree.

Signed-off-by: Nikita Travkin <nikitos.tr@gmail.com>
---
 .../boot/dts/qcom/msm8916-longcheer-l8150.dts | 46 +++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
index 21f2e8e0d05e..79a2475e3cd5 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
@@ -67,6 +67,44 @@ reg_ctp: regulator-ctp {
 	};
 };
 
+&blsp_i2c2 {
+	status = "okay";
+
+	accelerometer@10 {
+		compatible = "bosch,bmc150_accel";
+		reg = <0x10>;
+
+		vdd-supply = <&pm8916_l17>;
+		vddio-supply = <&pm8916_l6>;
+
+		mount-matrix = "0", "1", "0",
+			      "-1", "0", "0",
+			       "0", "0", "1";
+	};
+
+	magnetometer@12 {
+		compatible = "bosch,bmc150_magn";
+		reg = <0x12>;
+
+		vdd-supply = <&pm8916_l17>;
+		vddio-supply = <&pm8916_l6>;
+	};
+
+	gyroscope@68 {
+		compatible = "bosch,bmg160";
+		reg = <0x68>;
+
+		interrupt-parent = <&msmgpio>;
+		interrupts = <23 IRQ_TYPE_EDGE_RISING>;
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&gyro_int_default>;
+
+		vdd-supply = <&pm8916_l17>;
+		vddio-supply = <&pm8916_l6>;
+	};
+};
+
 &blsp_i2c5 {
 	status = "okay";
 
@@ -264,6 +302,14 @@ gpio_keys_default: gpio-keys-default {
 		bias-pull-up;
 	};
 
+	gyro_int_default: gyro-int-default {
+		pins = "gpio23";
+		function = "gpio";
+
+		drive-strength = <2>;
+		bias-disable;
+	};
+
 	tp_int_default: tp-int-default {
 		pins = "gpio13";
 		function = "gpio";
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 4/6] arm64: dts: qcom: msm8916-longcheer-l8150: Add flash LED
  2020-11-13 17:59 [PATCH 1/6] arm64: dts: qcom: msm8916-longcheer-l8150: Enable PM8916 vibrator nikitos.tr
  2020-11-13 17:59 ` [PATCH 2/6] arm64: dts: msm8916-longcheer-l8150: Add touchscreen nikitos.tr
  2020-11-13 17:59 ` [PATCH 3/6] arm64: dts: msm8916-longcheer-l8150: Add position sensors nikitos.tr
@ 2020-11-13 17:59 ` nikitos.tr
  2020-11-13 17:59 ` [PATCH 5/6] arm64: dts: qcom: msm8916-longcheer-l8150: Add notification LED nikitos.tr
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: nikitos.tr @ 2020-11-13 17:59 UTC (permalink / raw)
  To: agross, bjorn.andersson
  Cc: robh+dt, stephan, Michael.Srba, linux-arm-msm, devicetree,
	linux-kernel, phone-devel, ~postmarketos/upstreaming,
	Nikita Travkin

From: Nikita Travkin <nikitos.tr@gmail.com>

L8150 uses SGM3785 Flash LED driver. It is similar to SGM3140 but
can also be controlled with PWM. Since SoC doesn't have PWM, add
led to the device tree using sgm3140 driver.

Signed-off-by: Nikita Travkin <nikitos.tr@gmail.com>
---
 .../boot/dts/qcom/msm8916-longcheer-l8150.dts | 24 +++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
index 79a2475e3cd5..2b8670dd4b71 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
@@ -6,6 +6,7 @@
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
 #include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/leds/common.h>
 
 / {
 	model = "Longcheer L8150";
@@ -65,6 +66,21 @@ reg_ctp: regulator-ctp {
 		pinctrl-names = "default";
 		pinctrl-0 = <&ctp_pwr_en_default>;
 	};
+
+	flash-led-controller {
+		compatible = "sgmicro,sgm3140";
+		flash-gpios = <&msmgpio 31 GPIO_ACTIVE_HIGH>;
+		enable-gpios = <&msmgpio 32 GPIO_ACTIVE_HIGH>;
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&camera_flash_default>;
+
+		flash_led: led {
+			function = LED_FUNCTION_FLASH;
+			color = <LED_COLOR_ID_WHITE>;
+			flash-max-timeout-us = <250000>;
+		};
+	};
 };
 
 &blsp_i2c2 {
@@ -286,6 +302,14 @@ l18 {
 };
 
 &msmgpio {
+	camera_flash_default: camera-flash-default {
+		pins = "gpio31", "gpio32";
+		function = "gpio";
+
+		drive-strength = <2>;
+		bias-disable;
+	};
+
 	ctp_pwr_en_default: ctp-pwr-en-default {
 		pins = "gpio17";
 		function = "gpio";
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 5/6] arm64: dts: qcom: msm8916-longcheer-l8150: Add notification LED
  2020-11-13 17:59 [PATCH 1/6] arm64: dts: qcom: msm8916-longcheer-l8150: Enable PM8916 vibrator nikitos.tr
                   ` (2 preceding siblings ...)
  2020-11-13 17:59 ` [PATCH 4/6] arm64: dts: qcom: msm8916-longcheer-l8150: Add flash LED nikitos.tr
@ 2020-11-13 17:59 ` nikitos.tr
  2020-11-13 17:59 ` [PATCH 6/6] arm64: dts: qcom: msm8916-samsung-a2015: Disable muic i2c pin bias nikitos.tr
  2020-11-14 13:56 ` [PATCH 1/6] arm64: dts: qcom: msm8916-longcheer-l8150: Enable PM8916 vibrator Stephan Gerhold
  5 siblings, 0 replies; 7+ messages in thread
From: nikitos.tr @ 2020-11-13 17:59 UTC (permalink / raw)
  To: agross, bjorn.andersson
  Cc: robh+dt, stephan, Michael.Srba, linux-arm-msm, devicetree,
	linux-kernel, phone-devel, ~postmarketos/upstreaming,
	Nikita Travkin

From: Nikita Travkin <nikitos.tr@gmail.com>

L8150 uses aw2013 LED contriller for notification LED on the front
of the device. Add it to the device tree

Signed-off-by: Nikita Travkin <nikitos.tr@gmail.com>
---
 .../boot/dts/qcom/msm8916-longcheer-l8150.dts | 34 +++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
index 2b8670dd4b71..1e893c0b6fbc 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
@@ -83,6 +83,40 @@ flash_led: led {
 	};
 };
 
+&blsp_i2c1 {
+	status = "okay";
+
+	led-controller@45 {
+		compatible = "awinic,aw2013";
+		reg = <0x45>;
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		vcc-supply = <&pm8916_l17>;
+
+		led@0 {
+			reg = <0>;
+			led-max-microamp = <5000>;
+			function = LED_FUNCTION_INDICATOR;
+			color = <LED_COLOR_ID_RED>;
+		};
+
+		led@1 {
+			reg = <1>;
+			led-max-microamp = <5000>;
+			function = LED_FUNCTION_INDICATOR;
+			color = <LED_COLOR_ID_GREEN>;
+		};
+
+		led@2 {
+			reg = <2>;
+			led-max-microamp = <5000>;
+			function = LED_FUNCTION_INDICATOR;
+			color = <LED_COLOR_ID_BLUE>;
+		};
+	};
+};
+
 &blsp_i2c2 {
 	status = "okay";
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 6/6] arm64: dts: qcom: msm8916-samsung-a2015: Disable muic i2c pin bias
  2020-11-13 17:59 [PATCH 1/6] arm64: dts: qcom: msm8916-longcheer-l8150: Enable PM8916 vibrator nikitos.tr
                   ` (3 preceding siblings ...)
  2020-11-13 17:59 ` [PATCH 5/6] arm64: dts: qcom: msm8916-longcheer-l8150: Add notification LED nikitos.tr
@ 2020-11-13 17:59 ` nikitos.tr
  2020-11-14 13:56 ` [PATCH 1/6] arm64: dts: qcom: msm8916-longcheer-l8150: Enable PM8916 vibrator Stephan Gerhold
  5 siblings, 0 replies; 7+ messages in thread
From: nikitos.tr @ 2020-11-13 17:59 UTC (permalink / raw)
  To: agross, bjorn.andersson
  Cc: robh+dt, stephan, Michael.Srba, linux-arm-msm, devicetree,
	linux-kernel, phone-devel, ~postmarketos/upstreaming,
	Nikita Travkin

From: Nikita Travkin <nikitos.tr@gmail.com>

Some versions of the firmware leave i2c gpios in a wrong state.
Add pinctrl that disables pin bias since external pull-up resistors
are present.

Fixes: 1329c1ab0730 ("arm64: dts: qcom: Add device tree for Samsung Galaxy A3U/A5U")
Signed-off-by: Nikita Travkin <nikitos.tr@gmail.com>
---
 .../boot/dts/qcom/msm8916-samsung-a2015-common.dtsi   | 11 +++++++++++
 1 file changed, 11 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 0b0dfd3059de..f91269492d72 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi
@@ -78,6 +78,9 @@ i2c-muic {
 		sda-gpios = <&msmgpio 105 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
 		scl-gpios = <&msmgpio 106 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
 
+		pinctrl-names = "default";
+		pinctrl-0 = <&muic_i2c_default>;
+
 		#address-cells = <1>;
 		#size-cells = <0>;
 
@@ -304,6 +307,14 @@ mdss_sleep: mdss-sleep {
 		};
 	};
 
+	muic_i2c_default: muic-i2c-default {
+		pins = "gpio105", "gpio106";
+		function = "gpio";
+
+		drive-strength = <2>;
+		bias-disable;
+	};
+
 	muic_int_default: muic-int-default {
 		pins = "gpio12";
 		function = "gpio";
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/6] arm64: dts: qcom: msm8916-longcheer-l8150: Enable PM8916 vibrator
  2020-11-13 17:59 [PATCH 1/6] arm64: dts: qcom: msm8916-longcheer-l8150: Enable PM8916 vibrator nikitos.tr
                   ` (4 preceding siblings ...)
  2020-11-13 17:59 ` [PATCH 6/6] arm64: dts: qcom: msm8916-samsung-a2015: Disable muic i2c pin bias nikitos.tr
@ 2020-11-14 13:56 ` Stephan Gerhold
  5 siblings, 0 replies; 7+ messages in thread
From: Stephan Gerhold @ 2020-11-14 13:56 UTC (permalink / raw)
  To: nikitos.tr
  Cc: agross, bjorn.andersson, robh+dt, Michael.Srba, linux-arm-msm,
	devicetree, linux-kernel, phone-devel, ~postmarketos/upstreaming

Hi,

Thanks for sending these!

On Fri, Nov 13, 2020 at 10:59:12PM +0500, nikitos.tr@gmail.com wrote:
> From: Nikita Travkin <nikitos.tr@gmail.com>
> 
> L8150 has a vibrator connected to PM8916. Add it to the device tree.
> 
> Signed-off-by: Nikita Travkin <nikitos.tr@gmail.com>

For all 6 patches in this series:

Reviewed-by: Stephan Gerhold <stephan@gerhold.net>

> ---
>  arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
> index 2c204d535d66..d106bdbfda68 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
> @@ -61,6 +61,10 @@ &pm8916_resin {
>  	linux,code = <KEY_VOLUMEDOWN>;
>  };
>  
> +&pm8916_vib {
> +	status = "okay";
> +};
> +
>  &pronto {
>  	status = "okay";
>  };
> -- 
> 2.25.1
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-11-14 13:57 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-13 17:59 [PATCH 1/6] arm64: dts: qcom: msm8916-longcheer-l8150: Enable PM8916 vibrator nikitos.tr
2020-11-13 17:59 ` [PATCH 2/6] arm64: dts: msm8916-longcheer-l8150: Add touchscreen nikitos.tr
2020-11-13 17:59 ` [PATCH 3/6] arm64: dts: msm8916-longcheer-l8150: Add position sensors nikitos.tr
2020-11-13 17:59 ` [PATCH 4/6] arm64: dts: qcom: msm8916-longcheer-l8150: Add flash LED nikitos.tr
2020-11-13 17:59 ` [PATCH 5/6] arm64: dts: qcom: msm8916-longcheer-l8150: Add notification LED nikitos.tr
2020-11-13 17:59 ` [PATCH 6/6] arm64: dts: qcom: msm8916-samsung-a2015: Disable muic i2c pin bias nikitos.tr
2020-11-14 13:56 ` [PATCH 1/6] arm64: dts: qcom: msm8916-longcheer-l8150: Enable PM8916 vibrator Stephan Gerhold

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).