From adc1cd257234fddedb0166f0ed7ebdc989ab8d00 Mon Sep 17 00:00:00 2001 From: Jishnu Prakash Date: Wed, 2 Sep 2020 11:41:52 +0530 Subject: [PATCH 1/2] dt-bindings: backlight: Update qcom-spmi-wled DT bindings Add IIO properties io-channels and io-channel-names, which may be used for WLED to read QG channels. While at it, remove usage of PMIC revid. Change-Id: Ib8503190f0012b85016231d9697c65407ac01a47 --- bindings/leds/backlight/qcom-spmi-wled.txt | 25 +++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/bindings/leds/backlight/qcom-spmi-wled.txt b/bindings/leds/backlight/qcom-spmi-wled.txt index a0447c6d6469..5ef7ce36d223 100644 --- a/bindings/leds/backlight/qcom-spmi-wled.txt +++ b/bindings/leds/backlight/qcom-spmi-wled.txt @@ -138,11 +138,6 @@ platforms. The PMIC is connected to the host processor via SPMI bus. 3 - External signal (e.g. LPG) is used for dimming This property is applicable only to WLED5 peripheral. -- qcom,pmic-revid - Usage: optional - Value type: - Definition: If specified, can be used to get PMIC revision information. - - qcom,leds-per-string Usage: optional Value type: @@ -150,6 +145,18 @@ platforms. The PMIC is connected to the host processor via SPMI bus. during selfie flash operation. If not specified, available current calculated is simply the configured threshold. +- io-channels + Usage: optional + Value type: + Definition: IIO channel specifiers for each name in io-channel-names. + +- io-channel-names + Usage: optional + Value type: + Definition: Names of the IIO channels that are used by WLED. + For details about IIO bindings see: + Documentation/devicetree/bindings/iio/iio-bindings.txt + Following properties are for child subnodes that are needed for WLED preflash (or torch), flash and switch. These child subnodes can be specified only for PMICs that has WLED5 (e.g. PM8150L). @@ -271,6 +278,14 @@ qcom-wled@d800 { interrupt-names = "ovp-irq"; qcom,string-cfg = <7>; + io-channels = <&pm7250b_qg PSY_IIO_RESISTANCE>, + <&pm7250b_qg PSY_IIO_VOLTAGE_OCV>, + <&pm7250b_qg PSY_IIO_CURRENT_NOW>; + + io-channel-names = "rbatt", + "voltage_ocv", + "current_now"; + wled_torch: qcom,wled-torch { label = "torch"; qcom,wled-torch-fsc = <40>; From 70c5ddb1f717403badb64ceba10f9a5f4d246e99 Mon Sep 17 00:00:00 2001 From: Jishnu Prakash Date: Mon, 31 Aug 2020 22:30:30 +0530 Subject: [PATCH 2/2] ARM: dts: msm: Add WLED support on PM6150l for holi Add WLED support on PM6150l for holi. Also add QG IIO channels required by WLED. Change-Id: Ia43387d875abf0365e68f77afb5775c25d2d9f9d --- qcom/holi-pmic-overlay.dtsi | 9 +++++++++ qcom/pm6150l.dtsi | 30 ++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/qcom/holi-pmic-overlay.dtsi b/qcom/holi-pmic-overlay.dtsi index fdea52c3dee0..7935292f7f9c 100644 --- a/qcom/holi-pmic-overlay.dtsi +++ b/qcom/holi-pmic-overlay.dtsi @@ -259,6 +259,15 @@ "flash_active"; }; +&pm6150l_wled { + io-channels = <&pm7250b_qg PSY_IIO_RESISTANCE>, + <&pm7250b_qg PSY_IIO_VOLTAGE_OCV>, + <&pm7250b_qg PSY_IIO_CURRENT_NOW>; + io-channel-names = "rbatt", + "voltage_ocv", + "current_now"; +}; + &thermal_zones { chg-skin-therm-usr { polling-delay-passive = <0>; diff --git a/qcom/pm6150l.dtsi b/qcom/pm6150l.dtsi index 9d98f0d301e0..4608262095b2 100644 --- a/qcom/pm6150l.dtsi +++ b/qcom/pm6150l.dtsi @@ -281,6 +281,36 @@ }; }; + pm6150l_wled: qcom,wled@d800 { + compatible = "qcom,pm6150l-spmi-wled"; + reg = <0xd800>, <0xd900>; + reg-names = "wled-ctrl-base", "wled-sink-base"; + label = "backlight"; + interrupts = <0x5 0xd8 0x1 IRQ_TYPE_EDGE_RISING>, + <0x5 0xd8 0x4 IRQ_TYPE_EDGE_BOTH>, + <0x5 0xd8 0x5 IRQ_TYPE_EDGE_BOTH>; + interrupt-names = "ovp-irq", "pre-flash-irq", + "flash-irq"; + qcom,auto-calibration; + status = "disabled"; + + wled_flash: qcom,wled-flash { + label = "flash"; + qcom,default-led-trigger = "wled_flash"; + }; + + wled_torch: qcom,wled-torch { + label = "torch"; + qcom,default-led-trigger = "wled_torch"; + qcom,wled-torch-timer = <1200>; + }; + + wled_switch: qcom,wled-switch { + label = "switch"; + qcom,default-led-trigger = "wled_switch"; + }; + }; + pm6150l_lpg: qcom,pwms@b100 { compatible = "qcom,pwm-lpg"; reg = <0xb100 0x300>, <0xb000 0x100>;