1*4882a593SmuzhiyunBinding for Samsung S2M family regulator block 2*4882a593Smuzhiyun============================================== 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunThis is a part of device tree bindings for S2M family multi-function devices. 5*4882a593SmuzhiyunMore information can be found in bindings/mfd/sec-core.txt file. 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunThe S2MPS11/13/14/15 and S2MPU02 devices provide buck and LDO regulators. 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunTo register these with regulator framework instantiate under main device node 10*4882a593Smuzhiyuna sub-node named "regulators" with more sub-nodes for each regulator using the 11*4882a593Smuzhiyuncommon regulator binding documented in: 12*4882a593Smuzhiyun - Documentation/devicetree/bindings/regulator/regulator.txt 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun 15*4882a593SmuzhiyunNames of regulators supported by different devices: 16*4882a593Smuzhiyun - LDOn 17*4882a593Smuzhiyun - valid values for n are: 18*4882a593Smuzhiyun - S2MPS11: 1 to 38 19*4882a593Smuzhiyun - S2MPS13: 1 to 40 20*4882a593Smuzhiyun - S2MPS14: 1 to 25 21*4882a593Smuzhiyun - S2MPS15: 1 to 27 22*4882a593Smuzhiyun - S2MPU02: 1 to 28 23*4882a593Smuzhiyun - Example: LDO1, LDO2, LDO28 24*4882a593Smuzhiyun - BUCKn 25*4882a593Smuzhiyun - valid values for n are: 26*4882a593Smuzhiyun - S2MPS11: 1 to 10 27*4882a593Smuzhiyun - S2MPS13: 1 to 10 28*4882a593Smuzhiyun - S2MPS14: 1 to 5 29*4882a593Smuzhiyun - S2MPS15: 1 to 10 30*4882a593Smuzhiyun - S2MPU02: 1 to 7 31*4882a593Smuzhiyun - Example: BUCK1, BUCK2, BUCK9 32*4882a593SmuzhiyunNote: The 'n' in LDOn and BUCKn represents the LDO or BUCK number 33*4882a593Smuzhiyunas per the datasheet of device. 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun 36*4882a593SmuzhiyunOptional properties of the nodes under "regulators" sub-node: 37*4882a593Smuzhiyun - regulator-ramp-delay: ramp delay in uV/us. May be 6250, 12500, 38*4882a593Smuzhiyun 25000 (default) or 50000. 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun Additionally S2MPS11 supports disabling ramp delay for BUCK{2,3,4,6} 41*4882a593Smuzhiyun by setting it to <0>. 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun Note: On S2MPS11 some bucks share the ramp rate setting i.e. same ramp value 44*4882a593Smuzhiyun will be set for a particular group of bucks so provide the same 45*4882a593Smuzhiyun regulator-ramp-delay value for them. 46*4882a593Smuzhiyun Groups sharing ramp rate: 47*4882a593Smuzhiyun - buck{1,6}, 48*4882a593Smuzhiyun - buck{3,4}, 49*4882a593Smuzhiyun - buck{7,8,10}. 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun - samsung,ext-control-gpios: On S2MPS14 the LDO10, LDO11 and LDO12 can be 52*4882a593Smuzhiyun configured to external control over GPIO. To turn this feature on this 53*4882a593Smuzhiyun property must be added to the regulator sub-node: 54*4882a593Smuzhiyun - samsung,ext-control-gpios: GPIO specifier for one GPIO 55*4882a593Smuzhiyun controlling this regulator (enable/disable) 56*4882a593Smuzhiyun Example: 57*4882a593Smuzhiyun LDO12 { 58*4882a593Smuzhiyun regulator-name = "V_EMMC_2.8V"; 59*4882a593Smuzhiyun regulator-min-microvolt = <2800000>; 60*4882a593Smuzhiyun regulator-max-microvolt = <2800000>; 61*4882a593Smuzhiyun samsung,ext-control-gpios = <&gpk0 2 0>; 62*4882a593Smuzhiyun }; 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun 65*4882a593SmuzhiyunExample: 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun s2mps11_pmic@66 { 68*4882a593Smuzhiyun compatible = "samsung,s2mps11-pmic"; 69*4882a593Smuzhiyun reg = <0x66>; 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun regulators { 72*4882a593Smuzhiyun ldo1_reg: LDO1 { 73*4882a593Smuzhiyun regulator-name = "VDD_ABB_3.3V"; 74*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 75*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 76*4882a593Smuzhiyun }; 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun ldo2_reg: LDO2 { 79*4882a593Smuzhiyun regulator-name = "VDD_ALIVE_1.1V"; 80*4882a593Smuzhiyun regulator-min-microvolt = <1100000>; 81*4882a593Smuzhiyun regulator-max-microvolt = <1100000>; 82*4882a593Smuzhiyun regulator-always-on; 83*4882a593Smuzhiyun }; 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun buck1_reg: BUCK1 { 86*4882a593Smuzhiyun regulator-name = "vdd_mif"; 87*4882a593Smuzhiyun regulator-min-microvolt = <950000>; 88*4882a593Smuzhiyun regulator-max-microvolt = <1350000>; 89*4882a593Smuzhiyun regulator-always-on; 90*4882a593Smuzhiyun regulator-boot-on; 91*4882a593Smuzhiyun }; 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun buck2_reg: BUCK2 { 94*4882a593Smuzhiyun regulator-name = "vdd_arm"; 95*4882a593Smuzhiyun regulator-min-microvolt = <950000>; 96*4882a593Smuzhiyun regulator-max-microvolt = <1350000>; 97*4882a593Smuzhiyun regulator-always-on; 98*4882a593Smuzhiyun regulator-boot-on; 99*4882a593Smuzhiyun regulator-ramp-delay = <50000>; 100*4882a593Smuzhiyun }; 101*4882a593Smuzhiyun }; 102*4882a593Smuzhiyun }; 103