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>; 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 c5028363e7e9..428097af9fdc 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>, <0xb000>;