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