1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/regulator/pfuze100.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: PFUZE100 family of regulators 8 9maintainers: 10 - Robin Gong <yibin.gong@nxp.com> 11 12description: | 13 The valid names for regulators are: 14 --PFUZE100 15 sw1ab,sw1c,sw2,sw3a,sw3b,sw4,swbst,vsnvs,vrefddr,vgen1~vgen6 16 --PFUZE200 17 sw1ab,sw2,sw3a,sw3b,swbst,vsnvs,vrefddr,vgen1~vgen6,coin 18 --PFUZE3000 19 sw1a,sw1b,sw2,sw3,swbst,vsnvs,vrefddr,vldo1,vldo2,vccsd,v33,vldo3,vldo4 20 --PFUZE3001 21 sw1,sw2,sw3,vsnvs,vldo1,vldo2,vccsd,v33,vldo3,vldo4 22 23 Each regulator is defined using the standard binding for regulators. 24 25properties: 26 $nodename: 27 pattern: "^pmic@[0-9]$" 28 29 compatible: 30 enum: 31 - fsl,pfuze100 32 - fsl,pfuze200 33 - fsl,pfuze3000 34 - fsl,pfuze3001 35 36 reg: 37 maxItems: 1 38 39 fsl,pfuze-support-disable-sw: 40 $ref: /schemas/types.yaml#/definitions/flag 41 description: | 42 Boolean, if present disable all unused switch regulators to save power 43 consumption. Attention, ensure that all important regulators 44 (e.g. DDR ref, DDR supply) has set the "regulator-always-on" property. 45 If not present, the switched regulators are always on and can't be 46 disabled. This binding is a workaround to keep backward compatibility 47 with old dtb's which rely on the fact that the switched regulators are 48 always on and don't mark them explicit as "regulator-always-on". 49 50 fsl,pmic-stby-poweroff: 51 $ref: /schemas/types.yaml#/definitions/flag 52 description: | 53 if present, configure the PMIC to shutdown all 54 power rails when PMIC_STBY_REQ line is asserted during the power off sequence. 55 Use this option if the SoC should be powered off by external power management 56 IC (PMIC) on PMIC_STBY_REQ signal. 57 As opposite to PMIC_STBY_REQ boards can implement PMIC_ON_REQ signal. 58 59 regulators: 60 type: object 61 description: | 62 list of regulators provided by this controller. 63 64 patternProperties: 65 "^sw([1-4]|[1-4][a-c]|[1-4][a-c][a-c])$": 66 $ref: "regulator.yaml#" 67 type: object 68 69 "^vgen[1-6]$": 70 $ref: "regulator.yaml#" 71 type: object 72 73 "^vldo[1-4]$": 74 $ref: "regulator.yaml#" 75 type: object 76 77 "^(vsnvs|vref|vrefddr|swbst|coin|v33|vccsd)$": 78 $ref: "regulator.yaml#" 79 type: object 80 81 additionalProperties: false 82 83required: 84 - compatible 85 - reg 86 87additionalProperties: false 88 89examples: 90 - | 91 i2c { 92 #address-cells = <1>; 93 #size-cells = <0>; 94 95 pmic@8 { 96 compatible = "fsl,pfuze100"; 97 reg = <0x08>; 98 99 regulators { 100 sw1a_reg: sw1ab { 101 regulator-min-microvolt = <300000>; 102 regulator-max-microvolt = <1875000>; 103 regulator-boot-on; 104 regulator-always-on; 105 regulator-ramp-delay = <6250>; 106 }; 107 108 sw1c_reg: sw1c { 109 regulator-min-microvolt = <300000>; 110 regulator-max-microvolt = <1875000>; 111 regulator-boot-on; 112 regulator-always-on; 113 }; 114 115 sw2_reg: sw2 { 116 regulator-min-microvolt = <800000>; 117 regulator-max-microvolt = <3300000>; 118 regulator-boot-on; 119 regulator-always-on; 120 }; 121 122 sw3a_reg: sw3a { 123 regulator-min-microvolt = <400000>; 124 regulator-max-microvolt = <1975000>; 125 regulator-boot-on; 126 regulator-always-on; 127 }; 128 129 sw3b_reg: sw3b { 130 regulator-min-microvolt = <400000>; 131 regulator-max-microvolt = <1975000>; 132 regulator-boot-on; 133 regulator-always-on; 134 }; 135 136 sw4_reg: sw4 { 137 regulator-min-microvolt = <800000>; 138 regulator-max-microvolt = <3300000>; 139 }; 140 141 swbst_reg: swbst { 142 regulator-min-microvolt = <5000000>; 143 regulator-max-microvolt = <5150000>; 144 }; 145 146 snvs_reg: vsnvs { 147 regulator-min-microvolt = <1000000>; 148 regulator-max-microvolt = <3000000>; 149 regulator-boot-on; 150 regulator-always-on; 151 }; 152 153 vref_reg: vrefddr { 154 regulator-boot-on; 155 regulator-always-on; 156 }; 157 158 vgen1_reg: vgen1 { 159 regulator-min-microvolt = <800000>; 160 regulator-max-microvolt = <1550000>; 161 }; 162 163 vgen2_reg: vgen2 { 164 regulator-min-microvolt = <800000>; 165 regulator-max-microvolt = <1550000>; 166 }; 167 168 vgen3_reg: vgen3 { 169 regulator-min-microvolt = <1800000>; 170 regulator-max-microvolt = <3300000>; 171 }; 172 173 vgen4_reg: vgen4 { 174 regulator-min-microvolt = <1800000>; 175 regulator-max-microvolt = <3300000>; 176 regulator-always-on; 177 }; 178 179 vgen5_reg: vgen5 { 180 regulator-min-microvolt = <1800000>; 181 regulator-max-microvolt = <3300000>; 182 regulator-always-on; 183 }; 184 185 vgen6_reg: vgen6 { 186 regulator-min-microvolt = <1800000>; 187 regulator-max-microvolt = <3300000>; 188 regulator-always-on; 189 }; 190 }; 191 }; 192 }; 193