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,s2mpg10-regulator.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Samsung S2MPG10 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 S2MG10 Power Management IC 14 (PMIC). 15 16 The S2MPG10 PMIC provides 10 buck and 31 LDO regulators. 17 18 See also Documentation/devicetree/bindings/mfd/samsung,s2mps11.yaml for 19 additional information and example. 20 21properties: 22 # 1 LDO with possible (but limited) external control 23 ldo20m: 24 type: object 25 $ref: regulator.yaml# 26 unevaluatedProperties: false 27 description: 28 Properties for a single LDO regulator. 29 30 allOf: 31 - $ref: "#/$defs/s2mpg10-ext-control" 32 33 properties: 34 regulator-ramp-delay: false 35 36 samsung,ext-control: 37 minimum: 11 38 39patternProperties: 40 # 10 bucks 41 "^buck([1-9]|10)m$": 42 type: object 43 $ref: regulator.yaml# 44 unevaluatedProperties: false 45 description: 46 Properties for a single buck regulator. 47 48 allOf: 49 - $ref: "#/$defs/s2mpg10-ext-control" 50 51 properties: 52 regulator-ramp-delay: 53 enum: [6250, 12500, 25000] 54 default: 6250 55 56 samsung,ext-control: 57 maximum: 10 58 59 # 12 standard LDOs 60 "^ldo(2[1-9]?|3[0-1])m$": 61 type: object 62 $ref: regulator.yaml# 63 unevaluatedProperties: false 64 description: 65 Properties for single LDO regulator. 66 67 properties: 68 regulator-ramp-delay: false 69 70 # 12 LDOs with possible external control 71 "^ldo([3-689]|1[046-9])m$": 72 type: object 73 $ref: regulator.yaml# 74 unevaluatedProperties: false 75 description: 76 Properties for a single LDO regulator. 77 78 allOf: 79 - $ref: "#/$defs/s2mpg10-ext-control" 80 81 properties: 82 regulator-ramp-delay: false 83 84 samsung,ext-control: 85 maximum: 10 86 87 # 6 LDOs with ramp support, 5 out of those with possible external control 88 "^ldo(1[1235]?|7)m$": 89 type: object 90 $ref: regulator.yaml# 91 unevaluatedProperties: false 92 description: 93 Properties for a single LDO regulator. 94 95 allOf: 96 - $ref: "#/$defs/s2mpg10-ext-control" 97 98 properties: 99 regulator-ramp-delay: 100 enum: [6250, 12500] 101 default: 6250 102 103 samsung,ext-control: 104 maximum: 10 105 106$defs: 107 s2mpg10-ext-control: 108 properties: 109 samsung,ext-control: 110 description: | 111 These rails can be controlled via one of several possible external 112 (hardware) signals. If so, this property configures the signal the PMIC 113 should monitor. For S2MPG10 rails where external control is possible other 114 than ldo20m, the following values generally corresponding to the 115 respective on-chip pin are valid: 116 - 0 # S2MPG10_EXTCTRL_PWREN - PWREN pin 117 - 1 # S2MPG10_EXTCTRL_PWREN_MIF - PWREN_MIF pin 118 - 2 # S2MPG10_EXTCTRL_AP_ACTIVE_N - ~AP_ACTIVE_N pin 119 - 3 # S2MPG10_EXTCTRL_CPUCL1_EN - CPUCL1_EN pin 120 - 4 # S2MPG10_EXTCTRL_CPUCL1_EN2 - CPUCL1_EN & PWREN pins 121 - 5 # S2MPG10_EXTCTRL_CPUCL2_EN - CPUCL2_EN pin 122 - 6 # S2MPG10_EXTCTRL_CPUCL2_EN2 - CPUCL2_E2 & PWREN pins 123 - 7 # S2MPG10_EXTCTRL_TPU_EN - TPU_EN pin 124 - 8 # S2MPG10_EXTCTRL_TPU_EN2 - TPU_EN & ~AP_ACTIVE_N pins 125 - 9 # S2MPG10_EXTCTRL_TCXO_ON - TCXO_ON pin 126 - 10 # S2MPG10_EXTCTRL_TCXO_ON2 - TCXO_ON & ~AP_ACTIVE_N pins 127 128 For S2MPG10 ldo20m, the following values are valid 129 - 11 # S2MPG10_EXTCTRL_LDO20M_EN2 - VLDO20M_EN & LDO20M_SFR 130 - 12 # S2MPG10_EXTCTRL_LDO20M_EN - VLDO20M_EN pin 131 132 $ref: /schemas/types.yaml#/definitions/uint32 133 minimum: 0 134 maximum: 12 135 136 enable-gpios: 137 description: 138 For rails where external control is done via a GPIO, this optional 139 property describes the GPIO line used. 140 141 dependentRequired: 142 enable-gpios: [ "samsung,ext-control" ] 143 144allOf: 145 # Bucks 8, 9, and LDO 1 can not be controlled externally - above definition 146 # allows it and we deny it here. This approach reduces repetition. 147 - if: 148 anyOf: 149 - required: [buck8m] 150 - required: [buck9m] 151 - required: [ldo1m] 152 then: 153 patternProperties: 154 "^(buck[8-9]|ldo1)m$": 155 properties: 156 samsung,ext-control: false 157 158additionalProperties: false 159