Message ID | 1606447736-7944-1-git-send-email-gene.chen.richtek@gmail.com |
---|---|
Headers | show |
Series | leds: mt6360: Add LED driver for MT6360 | expand |
Hi Gene, On 11/27/20 4:28 AM, Gene Chen wrote: > From: Gene Chen <gene_chen@richtek.com> > > Add bindings document for LED support on MT6360 PMIC > > Signed-off-by: Gene Chen <gene_chen@richtek.com> > --- > .../devicetree/bindings/leds/leds-mt6360.yaml | 164 +++++++++++++++++++++ > 1 file changed, 164 insertions(+) > create mode 100644 Documentation/devicetree/bindings/leds/leds-mt6360.yaml > > diff --git a/Documentation/devicetree/bindings/leds/leds-mt6360.yaml b/Documentation/devicetree/bindings/leds/leds-mt6360.yaml > new file mode 100644 > index 0000000..b2ffbc6 > --- /dev/null > +++ b/Documentation/devicetree/bindings/leds/leds-mt6360.yaml > @@ -0,0 +1,164 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/leds/leds-mt6360.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: LED driver for MT6360 PMIC from MediaTek Integrated. > + > +maintainers: > + - Gene Chen <gene_chen@richtek.com> > + > +description: | > + This module is part of the MT6360 MFD device. > + see Documentation/devicetree/bindings/mfd/mt6360.yaml > + Add MT6360 LED driver include 2-channel Flash LED with torch/strobe mode, > + and 4-channel RGB LED support Register/Flash/Breath Mode > + > +properties: > + compatible: > + const: mediatek,mt6360-led > + > + "#address-cells": > + const: 1 > + > + "#size-cells": > + const: 0 > + > +patternProperties: > + "^led@[0-6]$": > + type: object > + $ref: common.yaml# > + description: > + Properties for a single LED. > + > + properties: > + reg: > + description: Index of the LED. > + enum: > + - 0 # LED output INDICATOR1_RED > + - 1 # LED output INDICATOR1_GREEN > + - 2 # LED output INDICATOR1_BLUE > + - 3 # LED output INDICATOR2_ These LED output descriptions look odd. In the driver you have: enum { MT6360_LED_ISNK1 = 0, MT6360_LED_ISNK2, MT6360_LED_ISNK3, MT6360_LED_ISNKML ... I think the same names should be used for DT reg property documentation: - 0 # LED output ISNK1 - 1 # LED output ISNK2 - 2 # LED output ISNK3 - 3 # LED output ISNKML Here you're describing hardware, i.e. current sinks as they are defined in the device documentation, and not the functions you're assigning in DT to the connected LEDs. > + - 4 # LED output FLED1 > + - 5 # LED output FLED2 > + - 6 # LED output MULTICOLOR This last enum is also disputable, since it is driver specific, and not hardware specific. Actually you should rather check LED color id and basing on that treat the LED as multicolor (for LED_COLOR_ID_RGB). See drivers/leds/leds-lp55xx-common.c for a reference. > +unevaluatedProperties: false > + > +required: > + - compatible > + - "#address-cells" > + - "#size-cells" > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/leds/common.h> > + led-controller { > + compatible = "mediatek,mt6360-led"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + led@3 { > + reg = <3>; > + function = LED_FUNCTION_MOONLIGHT; > + color = <LED_COLOR_ID_WHITE>; > + led-max-microamp = <150000>; > + }; > + led@4 { > + reg = <4>; > + function = LED_FUNCTION_FLASH; > + color = <LED_COLOR_ID_WHITE>; > + function-enumerator = <1>; > + led-max-microamp = <200000>; > + flash-max-microamp = <500000>; > + flash-max-timeout-us = <1024000>; > + }; > + led@5 { > + reg = <5>; > + function = LED_FUNCTION_FLASH; > + color = <LED_COLOR_ID_WHITE>; > + function-enumerator = <2>; > + led-max-microamp = <200000>; > + flash-max-microamp = <500000>; > + flash-max-timeout-us = <1024000>; > + }; > + led@6 { > + reg = <6>; > + function = LED_FUNCTION_INDICATOR; > + color = <LED_COLOR_ID_RGB>; > + led-max-microamp = <24000>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + led@0 { > + reg = <0>; > + function = LED_FUNCTION_INDICATOR; The function is unused in case of the multicolor subleds. Please drop it from here. > + color = <LED_COLOR_ID_RED>; > + }; > + led@1 { > + reg = <1>; > + function = LED_FUNCTION_INDICATOR; Ditto. > + color = <LED_COLOR_ID_GREEN>; > + }; > + led@2 { > + reg = <2>; > + function = LED_FUNCTION_INDICATOR; Ditto. > + color = <LED_COLOR_ID_BLUE>; > + }; > + }; > + }; > + > + - | > + > + led-controller { > + compatible = "mediatek,mt6360-led"; > + #address-cells = <1>; > + #size-cells = <0>; > + > + led@0 { > + reg = <0>; > + function = LED_FUNCTION_INDICATOR; > + color = <LED_COLOR_ID_RED>; > + led-max-microamp = <24000>; > + }; > + led@1 { > + reg = <1>; > + function = LED_FUNCTION_INDICATOR; > + color = <LED_COLOR_ID_GREEN>; > + led-max-microamp = <24000>; > + }; > + led@2 { > + reg = <2>; > + function = LED_FUNCTION_INDICATOR; > + color = <LED_COLOR_ID_BLUE>; > + led-max-microamp = <24000>; > + }; > + led@3 { > + reg = <3>; > + function = LED_FUNCTION_MOONLIGHT; > + color = <LED_COLOR_ID_WHITE>; > + led-max-microamp = <150000>; > + }; > + led@4 { > + reg = <4>; > + function = LED_FUNCTION_FLASH; > + color = <LED_COLOR_ID_WHITE>; > + function-enumerator = <1>; > + led-max-microamp = <200000>; > + flash-max-microamp = <500000>; > + flash-max-timeout-us = <1024000>; > + }; > + led@5 { > + reg = <5>; > + function = LED_FUNCTION_FLASH; > + color = <LED_COLOR_ID_WHITE>; > + function-enumerator = <2>; > + led-max-microamp = <200000>; > + flash-max-microamp = <500000>; > + flash-max-timeout-us = <1024000>; > + }; > + }; > +... > -- Best regards, Jacek Anaszewski
On Fri, 27 Nov 2020 11:28:55 +0800, Gene Chen wrote: > From: Gene Chen <gene_chen@richtek.com> > > Add bindings document for LED support on MT6360 PMIC > > Signed-off-by: Gene Chen <gene_chen@richtek.com> > --- > .../devicetree/bindings/leds/leds-mt6360.yaml | 164 +++++++++++++++++++++ > 1 file changed, 164 insertions(+) > create mode 100644 Documentation/devicetree/bindings/leds/leds-mt6360.yaml > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: ./Documentation/devicetree/bindings/leds/leds-mt6360.yaml:57:2: [warning] wrong indentation: expected 2 but found 1 (indentation) dtschema/dtc warnings/errors: See https://patchwork.ozlabs.org/patch/1406971 The base for the patch is generally the last rc1. Any dependencies should be noted. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit.
On Fri, 27 Nov 2020 11:28:53 +0800, Gene Chen wrote: > From: Gene Chen <gene_chen@richtek.com> > > Add LED_FUNCTION_MOONLIGHT definitions > > Signed-off-by: Gene Chen <gene_chen@richtek.com> > Acked-by: Jacek Anaszewski <jacek.anaszewski@gmail.com> > --- > include/dt-bindings/leds/common.h | 1 + > 1 file changed, 1 insertion(+) > Acked-by: Rob Herring <robh@kernel.org>