Re: [PATCH v8 1/2] regulator: dt-bindings: willsemi,wl2868c: add the WL2868C camera PMIC
From: Conor Dooley
Date: Fri Nov 06 2026 - 12:12:36 EST
On Fri, Nov 06, 2026 at 07:42:51PM +0800, Qianhui Xu wrote:
> The WL2868C is an I2C-controlled camera power management IC from Will
> Semiconductor. It provides seven programmable LDOs: LDO1 and LDO2 are fed
> from a shared VIN12 input and cover 0.496 V to 1.512 V, LDO3 and LDO4 share
> VIN34, and LDO5 to LDO7 each have their own input, covering 1.504 V to
> 3.544 V. All outputs are programmable in 8 mV steps and are gated by
> per-output enable bits with a chip-wide SYS_EN master. The chip also
> exposes an optional active-low RST_N input.
>
> VIN7 and VSYS are both inputs of the internal control logic, which is
> powered from the higher of the two voltages, so a device tree has to
> describe at least one of them. The remaining inputs only feed LDOs, so
> they stay optional: an input can be left unconnected when the outputs it
> feeds are unused on a given board.
>
> Signed-off-by: Qianhui Xu <xiaqinghuan@xxxxxxxxxxxxxxxx>
Rob#s feedback on v6 was ignored:
https://lore.kernel.org/all/20261106141036.GA2921668-robh@xxxxxxxxxx/
pw-bot: changes-requested
Thanks,
Conor.
> ---
> .../bindings/regulator/willsemi,wl2868c.yaml | 104 ++++++++++++++++++
> MAINTAINERS | 7 ++
> 2 files changed, 111 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/regulator/willsemi,wl2868c.yaml
>
> diff --git a/Documentation/devicetree/bindings/regulator/willsemi,wl2868c.yaml b/Documentation/devicetree/bindings/regulator/willsemi,wl2868c.yaml
> new file mode 100644
> index 0000000000..df7990d0d8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/regulator/willsemi,wl2868c.yaml
> @@ -0,0 +1,104 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/regulator/willsemi,wl2868c.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Will Semiconductor WL2868C camera power management IC
> +
> +maintainers:
> + - Qianhui Xu <xiaqinghuan@xxxxxxxxxxxxxxxx>
> +
> +description:
> + The WL2868C is a camera power management IC with seven programmable LDOs.
> + LDO1 and LDO2 share the VIN12 input and cover 0.496 V to 1.512 V; LDO3 and
> + LDO4 share VIN34, and LDO5 to LDO7 have one input each, covering 1.504 V to
> + 3.544 V. All outputs are programmable in 8 mV steps.
> +
> + VIN7 and VSYS feed the internal control logic, which is powered from the
> + higher of the two, so at least one of them has to be connected. The other
> + inputs only feed LDOs, so an input may be left unconnected on a board
> + that does not use the outputs it feeds, which is why they are not
> + mandatory.
> +
> +properties:
> + compatible:
> + const: willsemi,wl2868c
> +
> + reg:
> + maxItems: 1
> +
> + reset-gpios:
> + maxItems: 1
> + description: Active-low RST_N input.
> +
> + vin12-supply:
> + description: Input supply for LDO1 and LDO2.
> +
> + vin34-supply:
> + description: Input supply for LDO3 and LDO4.
> +
> + vin5-supply:
> + description: Input supply for LDO5.
> +
> + vin6-supply:
> + description: Input supply for LDO6.
> +
> + vin7-supply:
> + description:
> + Input supply for LDO7 and one of the two supplies of the internal
> + control logic.
> +
> + vsys-supply:
> + description:
> + System supply, the other supply of the internal control logic. The
> + control logic is powered from the higher of VIN7 and VSYS.
> +
> + regulators:
> + type: object
> + additionalProperties: false
> +
> + patternProperties:
> + "^ldo[1-7]$":
> + type: object
> + $ref: regulator.yaml#
> + unevaluatedProperties: false
> +
> +required:
> + - compatible
> + - reg
> + - regulators
> +
> +anyOf:
> + - required:
> + - vin7-supply
> + - required:
> + - vsys-supply
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + pmic@2f {
> + compatible = "willsemi,wl2868c";
> + reg = <0x2f>;
> + vsys-supply = <&vsys_reg>;
> +
> + regulators {
> + ldo1 {
> + regulator-max-microvolt = <1128000>;
> + regulator-min-microvolt = <1128000>;
> + };
> + };
> + };
> + };
> +
> + vsys_reg: regulator-vsys {
> + compatible = "regulator-fixed";
> + regulator-name = "vsys";
> + };
> +...
> diff --git a/MAINTAINERS b/MAINTAINERS
> index fe23913b1e..08cfa3db0e 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -30180,6 +30180,13 @@ L: linux-input@xxxxxxxxxxxxxxx
> S: Maintained
> F: drivers/hid/hid-wiimote*
>
> +WILLSEMI WL2868C CAMERA PMIC
> +M: Qianhui Xu <xiaqinghuan@xxxxxxxxxxxxxxxx>
> +L: linux-kernel@xxxxxxxxxxxxxxx
> +S: Maintained
> +F: Documentation/devicetree/bindings/regulator/willsemi,wl2868c.yaml
> +F: drivers/regulator/wl2868c-regulator.c
> +
> WILOCITY WIL6210 WIRELESS DRIVER
> L: linux-wireless@xxxxxxxxxxxxxxx
> S: Orphan
>
Attachment:
signature.asc
Description: PGP signature