* Re: [PATCH 1/1] dt-bindings: mfd: add ti,lm8502 combo LED + haptic controller
2026-06-03 8:02 ` [PATCH 1/1] dt-bindings: mfd: add ti,lm8502 combo " Herman van Hazendonk
@ 2026-06-03 8:17 ` Herman van Hazendonk
2026-06-08 10:27 ` Krzysztof Kozlowski
2026-06-08 10:27 ` Krzysztof Kozlowski
2 siblings, 0 replies; 5+ messages in thread
From: Herman van Hazendonk @ 2026-06-03 8:17 UTC (permalink / raw)
To: lee, robh
Cc: krzk+dt, conor+dt, devicetree, linux-kernel, Herman van Hazendonk
Thank you for the review feedback.
Acknowledged — the ti,lm8502-leds / ti,lm8502-haptic compatible strings
are a Linux MFD driver artifact rather than a hardware description. The
description text also mentions the OS split, which should be removed.
Before preparing v2 I wanted to ask how you would prefer this structured:
Option A — LP55xx style (no sub-node compatibles):
Individual led@N nodes (reg 0..9 = D1..D10) go directly on the parent,
following leds-lp55xx.yaml. The haptic function is a plain haptic sub-node
(config container for ti,invert-direction) with no compatible. The parent
driver instantiates children via mfd_cells[] keyed on platform device name;
DT parsing is done in the parent driver. This requires companion changes to
the MFD core and child drivers.
Option B — Single flat node:
Fold everything into the parent node. LED channels and haptic described via
properties directly on the I2C device node, no sub-nodes at all. Simpler
binding, but per-LED led-max-microamp config becomes a list property rather
than per-node, which is less readable for a 10-channel device.
My inclination is Option A as it matches the LP55xx precedent, but happy to
follow your preference or any third approach you have in mind.
Signed-off-by: Herman van Hazendonk <github.com@herrie.org>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] dt-bindings: mfd: add ti,lm8502 combo LED + haptic controller
2026-06-03 8:02 ` [PATCH 1/1] dt-bindings: mfd: add ti,lm8502 combo " Herman van Hazendonk
2026-06-03 8:17 ` Herman van Hazendonk
@ 2026-06-08 10:27 ` Krzysztof Kozlowski
2026-06-08 10:27 ` Krzysztof Kozlowski
2 siblings, 0 replies; 5+ messages in thread
From: Krzysztof Kozlowski @ 2026-06-08 10:27 UTC (permalink / raw)
To: Herman van Hazendonk
Cc: lee, robh, krzk+dt, conor+dt, devicetree, linux-kernel
On Wed, Jun 03, 2026 at 10:02:56AM +0200, Herman van Hazendonk wrote:
> Add a YAML binding for the TI LM8502, an I2C combo LED + haptic
DT binding. There is no YAML binding.
You sent multiple patches on the same days, multiple versions, not
waiting for review and causing SAME review comments.
Please slow down.
Only brief review follows and I will mark all your further other patches
sent so far as changes requested.
> controller used in the HP TouchPad tablet. The chip is exposed as an
> MFD with two child sub-nodes:
>
> ti,lm8502-leds - LED-class outputs D1..D10 (with per-LED reg
> and led-max-microamp properties)
> ti,lm8502-haptic - EV_FF / FF_RUMBLE input device for the internal
> H-bridge vibrator output, optional
> ti,invert-direction property
>
> Signed-off-by: Herman van Hazendonk <github.com@herrie.org>
> ---
> .../devicetree/bindings/mfd/ti,lm8502.yaml | 160 ++++++++++++++++++
> 1 file changed, 160 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/mfd/ti,lm8502.yaml
>
> diff --git a/Documentation/devicetree/bindings/mfd/ti,lm8502.yaml b/Documentation/devicetree/bindings/mfd/ti,lm8502.yaml
> new file mode 100644
> index 000000000000..10f2e32a0738
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/ti,lm8502.yaml
> @@ -0,0 +1,160 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/ti,lm8502.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: TI LM8502 combo LED + haptic controller
> +
> +maintainers:
> + - Herman van Hazendonk <github.com@herrie.org>
> +
> +description: |
> + The TI LM8502 is an I2C combo device with ten constant-current LED
> + outputs (D1..D10) and an internal H-bridge that drives a vibrator
> + motor. Pin D10 is shared between the tenth LED channel and the
> + haptic output; the haptic driver writes D10_CURRENT_CTRL = 0 at each
> + start to mux the pin to the H-bridge path.
> +
> + The chip is exposed in Linux as an MFD with two children:
> + - ti,lm8502-leds - LED-class outputs D1..D10
> + - ti,lm8502-haptic - EV_FF / FF_RUMBLE input device
> +
> + The parent node owns the I2C client, the chip-enable GPIO and the
> + vcc regulator; children share access to the parent's regmap.
> +
> +properties:
> + compatible:
> + const: ti,lm8502
> +
> + reg:
> + maxItems: 1
> +
> + vcc-supply:
> + description:
> + Power supply for the chip (V_DD). On platforms where this supply
> + is provided by an RPM-managed LDO with "regulator-allow-set-load",
> + the driver will request High Power Mode (~100 mA) so the internal
> + boost converter and ten LED outputs are not current-starved.
> +
> + enable-gpios:
> + maxItems: 1
> + description:
> + GPIO connected to the chip-enable pin. Pulled high by the driver
> + at probe time and dropped low across PM suspend.
Drop driver references. Actually description is redundant.
> +
> + pinctrl-names: true
> + pinctrl-0: true
Drop both
> +
> + leds:
> + type: object
> + additionalProperties: false
> + description: LED-class child for outputs D1..D10.
> +
> + properties:
> + compatible:
> + const: ti,lm8502-leds
No need, drop compatible.
> +
> + '#address-cells':
> + const: 1
> +
> + '#size-cells':
> + const: 0
> +
> + patternProperties:
> + '^led@[0-9]$':
> + type: object
> + $ref: /schemas/leds/common.yaml#
> + unevaluatedProperties: false
> +
> + properties:
> + reg:
> + description:
> + Zero-based D-channel index (0 = D1 .. 9 = D10).
> + minimum: 0
> + maximum: 9
> +
> + led-max-microamp:
> + description: |
> + Per-channel current cap. The chip's MAX_CURRENT field
> + quantises this to one of four buckets:
> + <=3000 - 3 mA
> + <=6000 - 6 mA
> + <=9000 - 9 mA (default)
> + >9000 - 12.75 mA
> + default: 9000
> +
> + required:
> + - reg
> +
> + required:
> + - compatible
> +
> + haptic:
> + type: object
> + additionalProperties: false
> + description: FF_RUMBLE child for the internal H-bridge vibrator output.
> +
> + properties:
> + compatible:
> + const: ti,lm8502-haptic
Drop compatible
> +
> + ti,invert-direction:
> + type: boolean
> + description:
> + Flip the H-bridge polarity bit in HAPTIC_FEEDBACK_CTRL so the
> + motor spins in the direction the board expects.
> +
> + required:
> + - compatible
No resources here, so this haptic should be folded into the parent.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] dt-bindings: mfd: add ti,lm8502 combo LED + haptic controller
2026-06-03 8:02 ` [PATCH 1/1] dt-bindings: mfd: add ti,lm8502 combo " Herman van Hazendonk
2026-06-03 8:17 ` Herman van Hazendonk
2026-06-08 10:27 ` Krzysztof Kozlowski
@ 2026-06-08 10:27 ` Krzysztof Kozlowski
2 siblings, 0 replies; 5+ messages in thread
From: Krzysztof Kozlowski @ 2026-06-08 10:27 UTC (permalink / raw)
To: Herman van Hazendonk
Cc: lee, robh, krzk+dt, conor+dt, devicetree, linux-kernel
On Wed, Jun 03, 2026 at 10:02:56AM +0200, Herman van Hazendonk wrote:
> Add a YAML binding for the TI LM8502, an I2C combo LED + haptic
> controller used in the HP TouchPad tablet. The chip is exposed as an
> MFD with two child sub-nodes:
>
> ti,lm8502-leds - LED-class outputs D1..D10 (with per-LED reg
> and led-max-microamp properties)
> ti,lm8502-haptic - EV_FF / FF_RUMBLE input device for the internal
> H-bridge vibrator output, optional
> ti,invert-direction property
>
> Signed-off-by: Herman van Hazendonk <github.com@herrie.org>
> ---
> .../devicetree/bindings/mfd/ti,lm8502.yaml | 160 ++++++++++++++++++
> 1 file changed, 160 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/mfd/ti,lm8502.yaml
>
> diff --git a/Documentation/devicetree/bindings/mfd/ti,lm8502.yaml b/Documentation/devicetree/bindings/mfd/ti,lm8502.yaml
> new file mode 100644
> index 000000000000..10f2e32a0738
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/ti,lm8502.yaml
> @@ -0,0 +1,160 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/ti,lm8502.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: TI LM8502 combo LED + haptic controller
> +
> +maintainers:
> + - Herman van Hazendonk <github.com@herrie.org>
> +
> +description: |
> + The TI LM8502 is an I2C combo device with ten constant-current LED
> + outputs (D1..D10) and an internal H-bridge that drives a vibrator
> + motor. Pin D10 is shared between the tenth LED channel and the
> + haptic output; the haptic driver writes D10_CURRENT_CTRL = 0 at each
> + start to mux the pin to the H-bridge path.
> +
> + The chip is exposed in Linux as an MFD with two children:
> + - ti,lm8502-leds - LED-class outputs D1..D10
> + - ti,lm8502-haptic - EV_FF / FF_RUMBLE input device
> +
> + The parent node owns the I2C client, the chip-enable GPIO and the
> + vcc regulator; children share access to the parent's regmap.
> +
> +properties:
> + compatible:
> + const: ti,lm8502
And where is any user of that? We do not take unused bindings.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 5+ messages in thread