[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251104-zircon-lobster-of-agility-cbcbb0@kuoka>
Date: Tue, 4 Nov 2025 10:39:50 +0100
From: Krzysztof Kozlowski <krzk@...nel.org>
To: André Draszik <andre.draszik@...aro.org>
Cc: Tudor Ambarus <tudor.ambarus@...aro.org>,
Rob Herring <robh@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
Liam Girdwood <lgirdwood@...il.com>, Mark Brown <broonie@...nel.org>, Lee Jones <lee@...nel.org>,
Linus Walleij <linus.walleij@...aro.org>, Bartosz Golaszewski <brgl@...ev.pl>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Peter Griffin <peter.griffin@...aro.org>,
Will McVicker <willmcvicker@...gle.com>, kernel-team@...roid.com, linux-kernel@...r.kernel.org,
linux-samsung-soc@...r.kernel.org, devicetree@...r.kernel.org, linux-gpio@...r.kernel.org
Subject: Re: [PATCH v3 04/20] regulator: dt-bindings: add s2mpg11-pmic
regulators
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
Powered by blists - more mailing lists