Messages in this thread | | | Date | Thu, 29 Sep 2022 10:20:04 +0800 | Subject | Re: [PATCH v1 2/2] dt-bindings: add bindings for QCOM flash LED | From | Fenglin Wu <> |
| |
On 2022/9/28 16:21, Krzysztof Kozlowski wrote: > On 28/09/2022 04:42, Fenglin Wu wrote: >> Add binding document for flash LED module inside Qualcomm Technologies, >> Inc. PMICs. >> >> Signed-off-by: Fenglin Wu <quic_fenglinw@quicinc.com> > > You did not Cc me on first patch, so difficult to say how much it > matches the driver... There is also no DTS. Thanks for reviewing the binding change, I sent the driver changes in the same series and you can check it here: https://lore.kernel.org/linux-leds/6c0e5083-baae-3ed3-5eed-e08bbb9e7576@linaro.org/T/#m97f71ce3f291f62d65f8107352d8ab9507093ab2
I will add you in email to list when sending next patchset. > >> --- >> .../bindings/leds/leds-qcom-flash.yaml | 108 ++++++++++++++++++ >> 1 file changed, 108 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/leds/leds-qcom-flash.yaml >> >> diff --git a/Documentation/devicetree/bindings/leds/leds-qcom-flash.yaml b/Documentation/devicetree/bindings/leds/leds-qcom-flash.yaml >> new file mode 100644 >> index 000000000000..52a99182961b >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/leds/leds-qcom-flash.yaml > > > Filename matching compatible if there is one fallback (e.g. > qcom,spmi-flash-led.yaml). > Sure, I will update the file name to match with the fallback compatible string. >> @@ -0,0 +1,108 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/leds/leds-qcom-flash.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Flash LED device inside Qualcomm Technologies, Inc. PMICs >> + >> +maintainers: >> + - Fenglin Wu <quic_fenglinw@quicinc.com> >> + >> +description: | >> + Flash LED controller is present inside some Qualcomm Technologies, Inc. PMICs. >> + The flash LED module can have different number of LED channels supported >> + e.g. 3 or 4. There are some different registers between them but they can >> + both support maximum current up to 1.5 A per channel and they can also support >> + ganging 2 channels together to supply maximum current up to 2 A. The current >> + will be split symmetrically on each channel and they will be enabled and >> + disabled at the same time. >> + >> +properties: >> + compatible: >> + items: >> + - enum: >> + - qcom,spmi-flash-led >> + - qcom,pm8150c-flash-led >> + - qcom,pm8150l-flash-led >> + - qcom,pm8350c-flash-led > > I doubt these are all different. You should use fallback, which also > will make use of the "items" you used... pm8150c and pm8150l are different PMIC variants which have same flash LED module with 3 flash LED channels, while pm8350c has a different flash LED module with 4 flash LED channels. They can all use "qcom,spmi-flash-led" as the fallback because the driver has code logic to detect HW sub-types. But I was thinking to give out the PMIC names here so anyone who is using the driver could easily identify if the driver is suitable for the HW that he/she is using. > >> + >> + reg: >> + description: address offset of the flash LED controller >> + maxItems: 1 >> + >> +patternProperties: >> + "^led@[0-3]$": >> + type: object >> + $ref: common.yaml# >> + unevaluatedProperties: false >> + description: >> + Represents the physical LED components which are connected to the flash LED channels' output. > > Does not look like wrapped at 80. > > Other places as well. > Sure, will wrap the lines at 80, I thought not exceeding 110 is also acceptable. >> + >> + properties: > > Does not look like you tested the bindings... > > You miss here reg. > will update the node name without using unit name.
>> + led-sources: >> + description: The HW indices of the flash LED channels that connect to the physical LED >> + allOf: >> + - minItems: 1 >> + maxItems: 2 >> + items: >> + enum: [1, 2, 3, 4] >> + >> + led-max-microamp: >> + description: | >> + The maximum current value when LED is not operating in flash mode (i.e. torch mode) >> + Valid values when an LED is connected to one flash LED channel: >> + 5000 - 500000, step by 5000> + Valid values when an LED is connected to two flash LED > channels: >> + 10000 - 1000000, step by 10000 > > You need minimum and maximum. > Sure, I will add them >> + >> + flash-max-microamp: >> + description: | >> + The maximum current value when LED is operating in flash mode. >> + Valid values when an LED is connected to one flash LED channel: >> + 12500 - 1500000, step by 12500 >> + Valid values when an LED is connected to two flash LED channels: >> + 25000 - 2000000, step by 12500 > > You need minimum and maximum. Sure, I will add them > > >> + >> + flash-max-timeout-us: >> + description: | >> + The maximum timeout value when LED is operating in flash mode. >> + Valid values: 10000 - 1280000, step by 10000 > > You need minimum and maximum. > >> + >> + required: >> + - led-sources >> + - led-max-microamp > > reg. > >> + >> +required: >> + - compatible >> + - reg >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + #include <dt-bindings/leds/common.h> >> + flash-led@ee00 { > > Node name: led-controller > >> + compatible = "qcom,spmi-flash-led"; >> + reg = <0xee00>; >> + >> + led@0 { > > Test your bindings... > >> + function = LED_FUNCTION_FLASH; > > Use 4 spaces for indentation of example. > sure, I will update it. >> + color = <LED_COLOR_ID_WHITE>; >> + led-sources = <1>, <4>; >> + led-max-microamp = <300000>; >> + flash-max-microamp = <2000000>; >> + flash-max-timeout-us = <1280000>; >> + function-enumerator = <0>; >> + }; >> + > > Best regards, > Krzysztof >
| |