arm64: dts: qcom: msm8916-longcheer-l8150: Enable PM8916 vibrator
PATCH 1/6 arm64: dts: qcom: msm8916-longcheer-l8150: Enable PM8916 vibrator
From: Nikita Travkin <[email protected]>
L8150 has a vibrator connected to PM8916. Add it to the device tree.
--- arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts | 4 ++++ 1 file changed, 4 insertions(+)
arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts +4 -0
@@ -61,6 +61,10 @@ &pm8916_resin { linux,code = <KEY_VOLUMEDOWN>; }; +&pm8916_vib { + status = "okay"; +}; + &pronto { status = "okay"; };
Signature · 1 line
2.25.1
PATCH 2/6 arm64: dts: msm8916-longcheer-l8150: Add touchscreen
From: Nikita Travkin <[email protected]>
L8150 has RMI4 compatible Synaptics touchscreen on blsp_i2c5. It is powered by fixed regulator. Add both to the device tree.
--- .../boot/dts/qcom/msm8916-longcheer-l8150.dts | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+)
arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts +63 -0
@@ -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 = <®_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";
Signature · 1 line
2.25.1
PATCH 3/6 arm64: dts: msm8916-longcheer-l8150: Add position sensors
In reply to [email protected]From: Nikita Travkin <[email protected]>
L8150 has:
- BMC156 accelerometer and magnetic sensor
- BMG160 gyroscope sensor
Add them to the device tree.
--- .../boot/dts/qcom/msm8916-longcheer-l8150.dts | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+)
arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts +46 -0
@@ -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";
Signature · 1 line
2.25.1
PATCH 4/6 arm64: dts: qcom: msm8916-longcheer-l8150: Add flash LED
In reply to [email protected]From: Nikita Travkin <[email protected]>
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.
--- .../boot/dts/qcom/msm8916-longcheer-l8150.dts | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+)
arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts +24 -0
@@ -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";
Signature · 1 line
2.25.1
PATCH 5/6 arm64: dts: qcom: msm8916-longcheer-l8150: Add notification LED
In reply to [email protected]From: Nikita Travkin <[email protected]>
L8150 uses aw2013 LED contriller for notification LED on the front of the device. Add it to the device tree
--- .../boot/dts/qcom/msm8916-longcheer-l8150.dts | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+)
arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts +34 -0
@@ -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";
Signature · 1 line
2.25.1
PATCH 6/6 arm64: dts: qcom: msm8916-samsung-a2015: Disable muic i2c pin bias
In reply to [email protected]From: Nikita Travkin <[email protected]>
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.
--- .../boot/dts/qcom/msm8916-samsung-a2015-common.dtsi | 11 +++++++++++ 1 file changed, 11 insertions(+)
arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi +11 -0
@@ -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";
Signature · 1 line
2.25.1
Hi,
Thanks for sending these!
Quoted 5 lines · On Fri, Nov 13, 2020 at 10:59:12PM +0500, [email protected] wrote:
From: Nikita Travkin <[email protected]>
L8150 has a vibrator connected to PM8916. Add it to the device tree.
Signed-off-by Nikita Travkin <[email protected]>
For all 6 patches in this series:
Quoted 22 lines
--- arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts | 4 ++++ 1 file changed, 4 insertions(+)arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts +4
-0@@ -61,6 +61,10 @@ &pm8916_resin { linux,code = <KEY_VOLUMEDOWN>; }; +&pm8916_vib { + status = "okay"; +}; + &pronto { status = "okay"; };Signature · 1 line
2.25.1
This series was applied to qcom/linux.git (refs/heads/for-next):
Hello:
This series was applied to qcom/linux.git (refs/heads/for-next):
Quoted 8 lines · On Fri, 13 Nov 2020 22:59:12 +0500 you wrote:
From: Nikita Travkin <[email protected]>
L8150 has a vibrator connected to PM8916. Add it to the device tree.
Signed-off-by Nikita Travkin <[email protected]>--- arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts | 4 ++++ 1 file changed, 4 insertions(+)
Here is the summary with links:
- [1/6] arm64: dts: qcom: msm8916-longcheer-l8150: Enable PM8916 vibrator
https://git.kernel.org/qcom/c/0af8bbdb6bb8 - [2/6] arm64: dts: msm8916-longcheer-l8150: Add touchscreen https://git.kernel.org/qcom/c/6eb815289a37 - [3/6] arm64: dts: msm8916-longcheer-l8150: Add position sensors https://git.kernel.org/qcom/c/6bd2cae7ddd6 - [4/6] arm64: dts: qcom: msm8916-longcheer-l8150: Add flash LED https://git.kernel.org/qcom/c/6b4ad4be6469 - [5/6] arm64: dts: qcom: msm8916-longcheer-l8150: Add notification LED https://git.kernel.org/qcom/c/38260b9e6310 - [6/6] arm64: dts: qcom: msm8916-samsung-a2015: Disable muic i2c pin bias https://git.kernel.org/qcom/c/4e8692c2ee3d
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html