# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/regulator/samsung,s2mpg11-regulator.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Samsung S2MPG11 Power Management IC regulators maintainers: - André Draszik description: | This is part of the device tree bindings for the S2MG11 Power Management IC (PMIC). 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. 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: "#/$defs/s2mpg11-ext-control" properties: regulator-ramp-delay: enum: [6250, 12500, 25000] default: 6250 # 11 standard LDOs "^ldo([3-79]|1[01245])s$": type: object $ref: regulator.yaml# unevaluatedProperties: false description: Properties for a single LDO regulator. properties: regulator-ramp-delay: false # 2 LDOs with possible external control "^ldo(8|13)s$": type: object $ref: regulator.yaml# unevaluatedProperties: false description: Properties for single LDO regulator. allOf: - $ref: "#/$defs/s2mpg11-ext-control" properties: regulator-ramp-delay: false # 2 LDOs with ramp support and possible external control "^ldo[12]s$": type: object $ref: regulator.yaml# unevaluatedProperties: false description: Properties for a single LDO regulator. allOf: - $ref: "#/$defs/s2mpg11-ext-control" properties: regulator-ramp-delay: enum: [6250, 12500] default: 6250 $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_EXTCTRL_PWREN - PWREN pin - 1 # S2MPG11_EXTCTRL_PWREN_MIF - PWREN_MIF pin - 2 # S2MPG11_EXTCTRL_AP_ACTIVE_N - ~AP_ACTIVE_N pin - 3 # S2MPG11_EXTCTRL_G3D_EN - G3D_EN pin - 4 # S2MPG11_EXTCTRL_G3D_EN2 - G3D_EN & ~AP_ACTIVE_N pins - 5 # S2MPG11_EXTCTRL_AOC_VDD - AOC_VDD pin - 6 # S2MPG11_EXTCTRL_AOC_RET - AOC_RET pin - 7 # S2MPG11_EXTCTRL_UFS_EN - UFS_EN pin - 8 # S2MPG11_EXTCTRL_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" ] 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 additionalProperties: false