1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/regulator/samsung,s2mpg11-regulator.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Samsung S2MPG11 Power Management IC regulators 8 9maintainers: 10 - André Draszik <andre.draszik@linaro.org> 11 12description: | 13 This is part of the device tree bindings for the S2MG11 Power Management IC 14 (PMIC). 15 16 The S2MPG11 PMIC provides 12 buck, 1 buck-boost, and 15 LDO regulators. 17 18 See also Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml for 19 additional information and example. 20 21properties: 22 buckboost: 23 type: object 24 $ref: regulator.yaml# 25 unevaluatedProperties: false 26 description: 27 Properties for the buck-boost regulator. 28 29 properties: 30 regulator-ramp-delay: false 31 32patternProperties: 33 # 12 bucks 34 "^buck(([1-9]|10)s|[ad])$": 35 type: object 36 $ref: regulator.yaml# 37 unevaluatedProperties: false 38 description: 39 Properties for a single buck regulator. 40 41 allOf: 42 - $ref: "#/$defs/s2mpg11-ext-control" 43 44 properties: 45 regulator-ramp-delay: 46 enum: [6250, 12500, 25000] 47 default: 6250 48 49 # 11 standard LDOs 50 "^ldo([3-79]|1[01245])s$": 51 type: object 52 $ref: regulator.yaml# 53 unevaluatedProperties: false 54 description: 55 Properties for a single LDO regulator. 56 57 properties: 58 regulator-ramp-delay: false 59 60 # 2 LDOs with possible external control 61 "^ldo(8|13)s$": 62 type: object 63 $ref: regulator.yaml# 64 unevaluatedProperties: false 65 description: 66 Properties for single LDO regulator. 67 68 allOf: 69 - $ref: "#/$defs/s2mpg11-ext-control" 70 71 properties: 72 regulator-ramp-delay: false 73 74 # 2 LDOs with ramp support and possible external control 75 "^ldo[12]s$": 76 type: object 77 $ref: regulator.yaml# 78 unevaluatedProperties: false 79 description: 80 Properties for a single LDO regulator. 81 82 allOf: 83 - $ref: "#/$defs/s2mpg11-ext-control" 84 85 properties: 86 regulator-ramp-delay: 87 enum: [6250, 12500] 88 default: 6250 89 90$defs: 91 s2mpg11-ext-control: 92 properties: 93 samsung,ext-control: 94 description: | 95 These rails can be controlled via one of several possible external 96 (hardware) signals. If so, this property configures the signal the PMIC 97 should monitor. The following values generally corresponding to the 98 respective on-chip pin are valid: 99 - 0 # S2MPG11_EXTCTRL_PWREN - PWREN pin 100 - 1 # S2MPG11_EXTCTRL_PWREN_MIF - PWREN_MIF pin 101 - 2 # S2MPG11_EXTCTRL_AP_ACTIVE_N - ~AP_ACTIVE_N pin 102 - 3 # S2MPG11_EXTCTRL_G3D_EN - G3D_EN pin 103 - 4 # S2MPG11_EXTCTRL_G3D_EN2 - G3D_EN & ~AP_ACTIVE_N pins 104 - 5 # S2MPG11_EXTCTRL_AOC_VDD - AOC_VDD pin 105 - 6 # S2MPG11_EXTCTRL_AOC_RET - AOC_RET pin 106 - 7 # S2MPG11_EXTCTRL_UFS_EN - UFS_EN pin 107 - 8 # S2MPG11_EXTCTRL_LDO13S_EN - VLDO13S_EN pin 108 109 $ref: /schemas/types.yaml#/definitions/uint32 110 minimum: 0 111 maximum: 8 112 113 enable-gpios: 114 description: 115 For rails where external control is done via a GPIO, this optional 116 property describes the GPIO line used. 117 118 dependentRequired: 119 enable-gpios: [ "samsung,ext-control" ] 120 121allOf: 122 # Bucks 4, 6, 7 and 10 can not be controlled externally - above definition 123 # allows it and we deny it here. This approach reduces repetition. 124 - if: 125 anyOf: 126 - required: [buck4s] 127 - required: [buck6s] 128 - required: [buck7s] 129 - required: [buck10s] 130 then: 131 patternProperties: 132 "^buck([467]|10)s$": 133 properties: 134 samsung,ext-control: false 135 136additionalProperties: false 137