On Sat, Oct 31, 2026 at 02:55:31PM +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. > > Its user on the Lenovo Legion Tab (TB322FC, SM8750) is the camera > subsystem: the rear samsung,s5kjns sensor takes DVDD from LDO1, AVDD > from LDO4 and DOVDD from LDO7, and the rear giantec,gt9764 voice coil > motor takes VDD from LDO5 and VDDIO from LDO7. The front sensor is > powered from LDO2, LDO3 and LDO7, but its binding is still pending, so > its supply wiring follows with that series. The board DTS patch of this > series describes the supply wiring that is documented; LDO6 is the only > output with no user on this board. None of this is relevant to the wl2868c binding. > > Signed-off-by: Qianhui Xu > --- > .../devicetree/bindings/arm/qcom.yaml | 1 + > .../bindings/regulator/willsemi,wl2868c.yaml | 79 +++++++++++++++++++ > 2 files changed, 80 insertions(+) > create mode 100644 Documentation/devicetree/bindings/regulator/willsemi,wl2868c.yaml > > diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml > index ff8a35df78..41d5e65c4e 100644 > --- a/Documentation/devicetree/bindings/arm/qcom.yaml > +++ b/Documentation/devicetree/bindings/arm/qcom.yaml > @@ -1168,6 +1168,7 @@ properties: > > - items: > - enum: > + - lenovo,elden This has nothing to do with the willsemi device and should not be in this patch. > - qcom,sm8750-mtp > - qcom,sm8750-qrd > - const: qcom,sm8750 > diff --git a/Documentation/devicetree/bindings/regulator/willsemi,wl2868c.yaml b/Documentation/devicetree/bindings/regulator/willsemi,wl2868c.yaml > new file mode 100644 > index 0000000000..96541870cd > --- /dev/null > +++ b/Documentation/devicetree/bindings/regulator/willsemi,wl2868c.yaml > @@ -0,0 +1,79 @@ > +# 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 > + > +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. > + > +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. > + > + regulators: > + type: object > + additionalProperties: false > + > + patternProperties: > + "^ldo[1-7]$": > + type: object > + $ref: regulator.yaml# > + unevaluatedProperties: false > + > +required: > + - compatible > + - reg > + - regulators I assume you didn't make the input supplies mandatory because if their output is not used, they're not actually needed? That said, you're missing the vsys supply which I suspect may actually be mandatory? At the very least, one of vin7 and vsys is mandatory, because the higher of the two powers the internal control logic... pw-bot: changes-requested Thanks, Conor. > + > +additionalProperties: false > + > +examples: > + - | > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + pmic@2f { > + compatible = "willsemi,wl2868c"; > + reg = <0x2f>; > + > + regulators { > + ldo1 { > + regulator-max-microvolt = <1128000>; > + regulator-min-microvolt = <1128000>; > + }; > + }; > + }; > + }; > +... > -- > 2.53.0 >