From: Rob Herring <robh@kernel.org>
To: Flavio Suligoi <f.suligoi@asem.it>
Cc: Lee Jones <lee@kernel.org>,
Daniel Thompson <daniel.thompson@linaro.org>,
Jingoo Han <jingoohan1@gmail.com>, Helge Deller <deller@gmx.de>,
Pavel Machek <pavel@ucw.cz>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
dri-devel@lists.freedesktop.org, linux-leds@vger.kernel.org,
devicetree@vger.kernel.org, linux-fbdev@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 1/2] dt-bindings: backlight: Add MPS MP3309C
Date: Tue, 10 Oct 2023 11:15:12 -0500 [thread overview]
Message-ID: <20231010161512.GA944015-robh@kernel.org> (raw)
In-Reply-To: <20231010121621.3009154-1-f.suligoi@asem.it>
On Tue, Oct 10, 2023 at 02:16:21PM +0200, Flavio Suligoi wrote:
> The Monolithic Power (MPS) MP3309C is a WLED step-up converter, featuring a
> programmable switching frequency to optimize efficiency.
> The brightness can be controlled either by I2C commands (called "analog"
> mode) or by a PWM input signal (PWM mode).
> This driver supports both modes.
>
> For device driver details, please refer to:
> - drivers/video/backlight/mp3309c_bl.c
>
> The datasheet is available at:
> - https://www.monolithicpower.com/en/mp3309c.html
>
> Signed-off-by: Flavio Suligoi <f.suligoi@asem.it>
> ---
>
> v4:
> - remove not more used allOf keyword
> - add brightness-levels and default-brightness properties
> - remove max-brightness and default-brightness from required properties
> - update example, adding brightness-levels and default-brightness properties
> v3:
> - add default value for mps,overvoltage-protection-microvolt property
> - fix the example, changing from "mps,mp3309c-backlight" to "mps,mp3309c" in
> compatible property
> v2:
> - remove useless properties (dimming-mode, pinctrl-names, pinctrl-0,
> switch-on-delay-ms, switch-off-delay-ms, reset-gpios, reset-on-delay-ms,
> reset-on-length-ms)
> - add common.yaml#
> - remove already included properties (default-brightness, max-brightness)
> - substitute three boolean properties, used for the overvoltage-protection
> values, with a single enum property
> - remove some conditional definitions
> - remove the 2nd example
> v1:
> - first version
>
> .../bindings/leds/backlight/mps,mp3309c.yaml | 82 +++++++++++++++++++
> 1 file changed, 82 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/leds/backlight/mps,mp3309c.yaml
>
> diff --git a/Documentation/devicetree/bindings/leds/backlight/mps,mp3309c.yaml b/Documentation/devicetree/bindings/leds/backlight/mps,mp3309c.yaml
> new file mode 100644
> index 000000000000..e2f9ae2b3fb4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/leds/backlight/mps,mp3309c.yaml
> @@ -0,0 +1,82 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/leds/backlight/mps,mp3309c.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MPS MP3309C backlight
> +
> +maintainers:
> + - Flavio Suligoi <f.suligoi@asem.it>
> +
> +description: |
> + The Monolithic Power (MPS) MP3309C is a WLED step-up converter, featuring a
> + programmable switching frequency to optimize efficiency.
> + It supports two different dimming modes:
> +
> + - analog mode, via I2C commands, as default mode (32 dimming levels)
> + - PWM controlled mode (optional)
> +
> + The datasheet is available at:
> + https://www.monolithicpower.com/en/mp3309c.html
> +
> +properties:
> + compatible:
> + const: mps,mp3309c
> +
> + reg:
> + maxItems: 1
> +
> + pwms:
> + description: if present, the backlight is controlled in PWM mode.
> + maxItems: 1
> +
> + enable-gpios:
> + description: GPIO used to enable the backlight in "analog-i2c" dimming mode.
> + maxItems: 1
> +
> + brightness-levels:
> + description:
> + Array of distinct brightness levels, in PWM dimming mode.
> + Typically these are in the range from 0 to 255, but any range starting
> + at 0 will do.
> + The 0 value means a 0% duty cycle (darkest/off), while the last value in
> + the array represents a 100% duty cycle (brightest).
> + $ref: /schemas/types.yaml#/definitions/uint32-array
This already has a type defined. Please add it to backlight/common.yaml
and remove from led-backlight.yaml and pwm-backlight.yaml.
You say 0-255 here, but your example is 0-10. One of those seems wrong.
Anyways, don't define constraints in prose, use a schema:
items:
maximum: 10 (or 255?)
> +
> + default-brightness:
> + description:
> + The default brightness (index into the levels array).
> + $ref: /schemas/types.yaml#/definitions/uint32
Already has a type. You need to reference backlight/common.yaml.
> +
> + mps,overvoltage-protection-microvolt:
> + description: Overvoltage protection (13.5V, 24V or 35.5V).
> + enum: [ 13500000, 24000000, 35500000 ]
> + default: 35500000
> +
> + mps,no-sync-mode:
> + description: disable synchronous rectification mode
> + type: boolean
> +
> +required:
> + - compatible
> + - reg
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + /* Backlight with PWM control */
> + backlight_pwm: backlight@17 {
> + compatible = "mps,mp3309c";
> + reg = <0x17>;
> + pwms = <&pwm1 0 3333333 0>; /* 300 Hz --> (1/f) * 1*10^9 */
> + brightness-levels = <0 1 2 3 4 5 6 7 8 9 10>;
> + default-brightness = <8>;
> + mps,overvoltage-protection-microvolt = <24000000>;
> + };
> + };
> --
> 2.34.1
>
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Flavio Suligoi <f.suligoi@asem.it>
Cc: devicetree@vger.kernel.org,
Daniel Thompson <daniel.thompson@linaro.org>,
linux-kernel@vger.kernel.org, Pavel Machek <pavel@ucw.cz>,
Jingoo Han <jingoohan1@gmail.com>, Helge Deller <deller@gmx.de>,
Lee Jones <lee@kernel.org>, Conor Dooley <conor+dt@kernel.org>,
dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
linux-leds@vger.kernel.org
Subject: Re: [PATCH v4 1/2] dt-bindings: backlight: Add MPS MP3309C
Date: Tue, 10 Oct 2023 11:15:12 -0500 [thread overview]
Message-ID: <20231010161512.GA944015-robh@kernel.org> (raw)
In-Reply-To: <20231010121621.3009154-1-f.suligoi@asem.it>
On Tue, Oct 10, 2023 at 02:16:21PM +0200, Flavio Suligoi wrote:
> The Monolithic Power (MPS) MP3309C is a WLED step-up converter, featuring a
> programmable switching frequency to optimize efficiency.
> The brightness can be controlled either by I2C commands (called "analog"
> mode) or by a PWM input signal (PWM mode).
> This driver supports both modes.
>
> For device driver details, please refer to:
> - drivers/video/backlight/mp3309c_bl.c
>
> The datasheet is available at:
> - https://www.monolithicpower.com/en/mp3309c.html
>
> Signed-off-by: Flavio Suligoi <f.suligoi@asem.it>
> ---
>
> v4:
> - remove not more used allOf keyword
> - add brightness-levels and default-brightness properties
> - remove max-brightness and default-brightness from required properties
> - update example, adding brightness-levels and default-brightness properties
> v3:
> - add default value for mps,overvoltage-protection-microvolt property
> - fix the example, changing from "mps,mp3309c-backlight" to "mps,mp3309c" in
> compatible property
> v2:
> - remove useless properties (dimming-mode, pinctrl-names, pinctrl-0,
> switch-on-delay-ms, switch-off-delay-ms, reset-gpios, reset-on-delay-ms,
> reset-on-length-ms)
> - add common.yaml#
> - remove already included properties (default-brightness, max-brightness)
> - substitute three boolean properties, used for the overvoltage-protection
> values, with a single enum property
> - remove some conditional definitions
> - remove the 2nd example
> v1:
> - first version
>
> .../bindings/leds/backlight/mps,mp3309c.yaml | 82 +++++++++++++++++++
> 1 file changed, 82 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/leds/backlight/mps,mp3309c.yaml
>
> diff --git a/Documentation/devicetree/bindings/leds/backlight/mps,mp3309c.yaml b/Documentation/devicetree/bindings/leds/backlight/mps,mp3309c.yaml
> new file mode 100644
> index 000000000000..e2f9ae2b3fb4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/leds/backlight/mps,mp3309c.yaml
> @@ -0,0 +1,82 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/leds/backlight/mps,mp3309c.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MPS MP3309C backlight
> +
> +maintainers:
> + - Flavio Suligoi <f.suligoi@asem.it>
> +
> +description: |
> + The Monolithic Power (MPS) MP3309C is a WLED step-up converter, featuring a
> + programmable switching frequency to optimize efficiency.
> + It supports two different dimming modes:
> +
> + - analog mode, via I2C commands, as default mode (32 dimming levels)
> + - PWM controlled mode (optional)
> +
> + The datasheet is available at:
> + https://www.monolithicpower.com/en/mp3309c.html
> +
> +properties:
> + compatible:
> + const: mps,mp3309c
> +
> + reg:
> + maxItems: 1
> +
> + pwms:
> + description: if present, the backlight is controlled in PWM mode.
> + maxItems: 1
> +
> + enable-gpios:
> + description: GPIO used to enable the backlight in "analog-i2c" dimming mode.
> + maxItems: 1
> +
> + brightness-levels:
> + description:
> + Array of distinct brightness levels, in PWM dimming mode.
> + Typically these are in the range from 0 to 255, but any range starting
> + at 0 will do.
> + The 0 value means a 0% duty cycle (darkest/off), while the last value in
> + the array represents a 100% duty cycle (brightest).
> + $ref: /schemas/types.yaml#/definitions/uint32-array
This already has a type defined. Please add it to backlight/common.yaml
and remove from led-backlight.yaml and pwm-backlight.yaml.
You say 0-255 here, but your example is 0-10. One of those seems wrong.
Anyways, don't define constraints in prose, use a schema:
items:
maximum: 10 (or 255?)
> +
> + default-brightness:
> + description:
> + The default brightness (index into the levels array).
> + $ref: /schemas/types.yaml#/definitions/uint32
Already has a type. You need to reference backlight/common.yaml.
> +
> + mps,overvoltage-protection-microvolt:
> + description: Overvoltage protection (13.5V, 24V or 35.5V).
> + enum: [ 13500000, 24000000, 35500000 ]
> + default: 35500000
> +
> + mps,no-sync-mode:
> + description: disable synchronous rectification mode
> + type: boolean
> +
> +required:
> + - compatible
> + - reg
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + /* Backlight with PWM control */
> + backlight_pwm: backlight@17 {
> + compatible = "mps,mp3309c";
> + reg = <0x17>;
> + pwms = <&pwm1 0 3333333 0>; /* 300 Hz --> (1/f) * 1*10^9 */
> + brightness-levels = <0 1 2 3 4 5 6 7 8 9 10>;
> + default-brightness = <8>;
> + mps,overvoltage-protection-microvolt = <24000000>;
> + };
> + };
> --
> 2.34.1
>
next prev parent reply other threads:[~2023-10-10 16:15 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-10 12:16 [PATCH v4 1/2] dt-bindings: backlight: Add MPS MP3309C Flavio Suligoi
2023-10-10 12:16 ` Flavio Suligoi
2023-10-10 16:15 ` Rob Herring [this message]
2023-10-10 16:15 ` Rob Herring
2023-10-11 11:52 ` Flavio Suligoi
2023-10-11 11:52 ` Flavio Suligoi
2023-10-11 15:13 ` Flavio Suligoi
2023-10-11 15:13 ` Flavio Suligoi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20231010161512.GA944015-robh@kernel.org \
--to=robh@kernel.org \
--cc=conor+dt@kernel.org \
--cc=daniel.thompson@linaro.org \
--cc=deller@gmx.de \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=f.suligoi@asem.it \
--cc=jingoohan1@gmail.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=lee@kernel.org \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-leds@vger.kernel.org \
--cc=pavel@ucw.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.