1af41e8dbSPrzemyslaw MarczakVoltage/Current regulator
2af41e8dbSPrzemyslaw Marczak
3af41e8dbSPrzemyslaw MarczakBinding:
4af41e8dbSPrzemyslaw MarczakThe regulator devices don't use the "compatible" property. The binding is done
5af41e8dbSPrzemyslaw Marczakby the prefix of regulator node's name. Usually the pmic I/O driver will provide
6af41e8dbSPrzemyslaw Marczakthe array of 'struct pmic_child_info' with the prefixes and compatible drivers.
7af41e8dbSPrzemyslaw MarczakThe bind is done by calling function: pmic_bind_childs().
8af41e8dbSPrzemyslaw MarczakExample drivers:
9af41e8dbSPrzemyslaw Marczakpmic: drivers/power/pmic/max77686.c
10af41e8dbSPrzemyslaw Marczakregulator: drivers/power/regulator/max77686.c
11af41e8dbSPrzemyslaw Marczak
12af41e8dbSPrzemyslaw MarczakFor the node name e.g.: "prefix[:alpha:]num { ... }":
13*bd2259e3SFelix Brack- the driver prefix should be: "prefix" - case sensitive
14af41e8dbSPrzemyslaw Marczak- the node name's "num" is set as "dev->driver_data" on bind
15af41e8dbSPrzemyslaw Marczak
16*bd2259e3SFelix BrackExample the prefix "ldo" will pass for: "ldo1", "ldo@1", "ldoreg@1, ...
17af41e8dbSPrzemyslaw Marczak
18af41e8dbSPrzemyslaw MarczakOptional properties:
1940ade2ceSPeng Fan- regulator-name: a string, required by the regulator uclass
20af41e8dbSPrzemyslaw Marczak- regulator-min-microvolt: a minimum allowed Voltage value
21af41e8dbSPrzemyslaw Marczak- regulator-max-microvolt: a maximum allowed Voltage value
22af41e8dbSPrzemyslaw Marczak- regulator-min-microamp: a minimum allowed Current value
23af41e8dbSPrzemyslaw Marczak- regulator-max-microamp: a maximum allowed Current value
24af41e8dbSPrzemyslaw Marczak- regulator-always-on: regulator should never be disabled
25af41e8dbSPrzemyslaw Marczak- regulator-boot-on: enabled by bootloader/firmware
26af41e8dbSPrzemyslaw Marczak
2740ade2ceSPeng FanNote
2840ade2ceSPeng FanThe "regulator-name" constraint is used for setting the device's uclass
2940ade2ceSPeng Fanplatform data '.name' field. And the regulator device name is set from
3040ade2ceSPeng Fanit's node name. If "regulator-name" is not provided in dts, node name
3140ade2ceSPeng Fanis chosen for setting the device's uclass platform data '.name' field.
3240ade2ceSPeng Fan
33af41e8dbSPrzemyslaw MarczakOther kernel-style properties, are currently not used.
34af41e8dbSPrzemyslaw Marczak
35af41e8dbSPrzemyslaw MarczakNote:
36af41e8dbSPrzemyslaw MarczakFor the regulator autoset from constraints, the framework expects that:
37af41e8dbSPrzemyslaw Marczak- regulator-min-microvolt is equal to regulator-max-microvolt
38af41e8dbSPrzemyslaw Marczak- regulator-min-microamp is equal to regulator-max-microamp
39af41e8dbSPrzemyslaw Marczak- regulator-always-on or regulator-boot-on is set
40af41e8dbSPrzemyslaw Marczak
41af41e8dbSPrzemyslaw MarczakExample:
42af41e8dbSPrzemyslaw Marczakldo0 {
43af41e8dbSPrzemyslaw Marczak	/* Optional */
4440ade2ceSPeng Fan	regulator-name = "VDDQ_EMMC_1.8V";
45af41e8dbSPrzemyslaw Marczak	regulator-min-microvolt = <1800000>;
46af41e8dbSPrzemyslaw Marczak	regulator-max-microvolt = <1800000>;
47af41e8dbSPrzemyslaw Marczak	regulator-min-microamp = <100000>;
48af41e8dbSPrzemyslaw Marczak	regulator-max-microamp = <100000>;
49af41e8dbSPrzemyslaw Marczak	regulator-always-on;
50af41e8dbSPrzemyslaw Marczak	regulator-boot-on;
51af41e8dbSPrzemyslaw Marczak};
52