Re: [PATCH v3 04/20] regulator: dt-bindings: add s2mpg11-pmic regulators

From: Krzysztof Kozlowski

Date: Tue Nov 04 2025 - 04:40:26 EST


On Mon, Nov 03, 2025 at 07:14:43PM +0000, André Draszik wrote:
> + The S2MPG11 PMIC provides 12 buck, 1 buck-boost, and 15 LDO regulators.
> +
> + See also Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml for
> + additional information and example.
> +
> +definitions:

defs:


> + s2mpg11-ext-control:
> + properties:
> + samsung,ext-control:
> + description: |
> + These rails can be controlled via one of several possible external
> + (hardware) signals. If so, this property configures the signal the PMIC
> + should monitor. The following values generally corresponding to the
> + respective on-chip pin are valid:
> + - 0 # S2MPG11_PCTRLSEL_PWREN - PWREN pin
> + - 1 # S2MPG11_PCTRLSEL_PWREN_MIF - PWREN_MIF pin
> + - 2 # S2MPG11_PCTRLSEL_AP_ACTIVE_N - ~AP_ACTIVE_N pin
> + - 3 # S2MPG11_PCTRLSEL_G3D_EN - G3D_EN pin
> + - 4 # S2MPG11_PCTRLSEL_G3D_EN2 - G3D_EN & ~AP_ACTIVE_N pins
> + - 5 # S2MPG11_PCTRLSEL_AOC_VDD - AOC_VDD pin
> + - 6 # S2MPG11_PCTRLSEL_AOC_RET - AOC_RET pin
> + - 7 # S2MPG11_PCTRLSEL_UFS_EN - UFS_EN pin
> + - 8 # S2MPG11_PCTRLSEL_LDO13S_EN - VLDO13S_EN pin
> +
> + $ref: /schemas/types.yaml#/definitions/uint32
> + minimum: 0
> + maximum: 8
> +
> + enable-gpios:
> + description:
> + For rails where external control is done via a GPIO, this optional
> + property describes the GPIO line used.
> +
> + dependentRequired:
> + enable-gpios: [ "samsung,ext-control" ]
> +
> +properties:
> + buckboost:
> + type: object
> + $ref: regulator.yaml#
> + unevaluatedProperties: false
> + description:
> + Properties for the buck-boost regulator.
> +
> + properties:
> + regulator-ramp-delay: false
> +
> +patternProperties:
> + # 12 bucks
> + "^buck(([1-9]|10)s|[ad])$":
> + type: object
> + $ref: regulator.yaml#
> + unevaluatedProperties: false
> + description:
> + Properties for a single buck regulator.
> +
> + allOf:
> + - $ref: "#/definitions/s2mpg11-ext-control"

defs

> +
> + properties:
> + regulator-ramp-delay:
> + enum: [6250, 12500, 25000]
> + default: 6250
> +

....


> + allOf:
> + - $ref: "#/definitions/s2mpg11-ext-control"
> +
> + properties:
> + regulator-ramp-delay:
> + enum: [6250, 12500]
> + default: 6250
> +
> +additionalProperties: false

This goes to the end, after allOf, see example-schema.

> +
> +allOf:
> + # Bucks 4, 6, 7 and 10 can not be controlled externally - above definition
> + # allows it and we deny it here. This approach reduces repetition.
> + - if:
> + anyOf:
> + - required: [buck4s]
> + - required: [buck6s]
> + - required: [buck7s]
> + - required: [buck10s]
> + then:
> + patternProperties:
> + "^buck([467]|10)s$":
> + properties:
> + samsung,ext-control: false

Best regards,
Krzysztof