18c2ecf20Sopenharmony_ci* Dialog DA9062 Power Management Integrated Circuit (PMIC)
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciProduct information for the DA9062 and DA9061 devices can be found here:
48c2ecf20Sopenharmony_ci- https://www.dialog-semiconductor.com/products/da9062
58c2ecf20Sopenharmony_ci- https://www.dialog-semiconductor.com/products/da9061
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ciThe DA9062 PMIC consists of:
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciDevice                   Supply Names    Description
108c2ecf20Sopenharmony_ci------                   ------------    -----------
118c2ecf20Sopenharmony_cida9062-regulator        :               : LDOs & BUCKs
128c2ecf20Sopenharmony_cida9062-rtc              :               : Real-Time Clock
138c2ecf20Sopenharmony_cida9062-onkey            :               : On Key
148c2ecf20Sopenharmony_cida9062-watchdog         :               : Watchdog Timer
158c2ecf20Sopenharmony_cida9062-thermal          :               : Thermal
168c2ecf20Sopenharmony_cida9062-gpio             :               : GPIOs
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciThe DA9061 PMIC consists of:
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciDevice                   Supply Names    Description
218c2ecf20Sopenharmony_ci------                   ------------    -----------
228c2ecf20Sopenharmony_cida9062-regulator        :               : LDOs & BUCKs
238c2ecf20Sopenharmony_cida9062-onkey            :               : On Key
248c2ecf20Sopenharmony_cida9062-watchdog         :               : Watchdog Timer
258c2ecf20Sopenharmony_cida9062-thermal          :               : Thermal
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci======
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ciRequired properties:
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci- compatible : Should be
328c2ecf20Sopenharmony_ci    "dlg,da9062" for DA9062
338c2ecf20Sopenharmony_ci    "dlg,da9061" for DA9061
348c2ecf20Sopenharmony_ci- reg : Specifies the I2C slave address (this defaults to 0x58 but it can be
358c2ecf20Sopenharmony_ci  modified to match the chip's OTP settings).
368c2ecf20Sopenharmony_ci- interrupts : IRQ line information.
378c2ecf20Sopenharmony_ci- interrupt-controller
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ciSee Documentation/devicetree/bindings/interrupt-controller/interrupts.txt for
408c2ecf20Sopenharmony_cifurther information on IRQ bindings.
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ciOptional properties:
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci- gpio-controller : Marks the device as a gpio controller.
458c2ecf20Sopenharmony_ci- #gpio-cells     : Should be two. The first cell is the pin number and the
468c2ecf20Sopenharmony_ci                    second cell is used to specify the gpio polarity.
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ciSee Documentation/devicetree/bindings/gpio/gpio.txt for further information on
498c2ecf20Sopenharmony_ciGPIO bindings.
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ciSub-nodes:
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci- regulators : This node defines the settings for the LDOs and BUCKs.
548c2ecf20Sopenharmony_ci  The DA9062 regulators are bound using their names listed below:
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci    buck1    : BUCK_1
578c2ecf20Sopenharmony_ci    buck2    : BUCK_2
588c2ecf20Sopenharmony_ci    buck3    : BUCK_3
598c2ecf20Sopenharmony_ci    buck4    : BUCK_4
608c2ecf20Sopenharmony_ci    ldo1     : LDO_1
618c2ecf20Sopenharmony_ci    ldo2     : LDO_2
628c2ecf20Sopenharmony_ci    ldo3     : LDO_3
638c2ecf20Sopenharmony_ci    ldo4     : LDO_4
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci  The DA9061 regulators are bound using their names listed below:
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci    buck1    : BUCK_1
688c2ecf20Sopenharmony_ci    buck2    : BUCK_2
698c2ecf20Sopenharmony_ci    buck3    : BUCK_3
708c2ecf20Sopenharmony_ci    ldo1     : LDO_1
718c2ecf20Sopenharmony_ci    ldo2     : LDO_2
728c2ecf20Sopenharmony_ci    ldo3     : LDO_3
738c2ecf20Sopenharmony_ci    ldo4     : LDO_4
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ci  The component follows the standard regulator framework and the bindings
768c2ecf20Sopenharmony_ci  details of individual regulator device can be found in:
778c2ecf20Sopenharmony_ci  Documentation/devicetree/bindings/regulator/regulator.txt
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ci  regulator-initial-mode may be specified for buck regulators using mode values
808c2ecf20Sopenharmony_ci  from include/dt-bindings/regulator/dlg,da9063-regulator.h.
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci- rtc : This node defines settings required for the Real-Time Clock associated
838c2ecf20Sopenharmony_ci  with the DA9062. There are currently no entries in this binding, however
848c2ecf20Sopenharmony_ci  compatible = "dlg,da9062-rtc" should be added if a node is created.
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_ci- onkey : See ../input/da9062-onkey.txt
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ci- watchdog: See ../watchdog/da9062-watchdog.txt
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ci- thermal : See ../thermal/da9062-thermal.txt
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ciExample:
938c2ecf20Sopenharmony_ci
948c2ecf20Sopenharmony_ci	pmic0: da9062@58 {
958c2ecf20Sopenharmony_ci		compatible = "dlg,da9062";
968c2ecf20Sopenharmony_ci		reg = <0x58>;
978c2ecf20Sopenharmony_ci		interrupt-parent = <&gpio6>;
988c2ecf20Sopenharmony_ci		interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
998c2ecf20Sopenharmony_ci		interrupt-controller;
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ci		rtc {
1028c2ecf20Sopenharmony_ci			compatible = "dlg,da9062-rtc";
1038c2ecf20Sopenharmony_ci		};
1048c2ecf20Sopenharmony_ci
1058c2ecf20Sopenharmony_ci		regulators {
1068c2ecf20Sopenharmony_ci			DA9062_BUCK1: buck1 {
1078c2ecf20Sopenharmony_ci				regulator-name = "BUCK1";
1088c2ecf20Sopenharmony_ci				regulator-min-microvolt = <300000>;
1098c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1570000>;
1108c2ecf20Sopenharmony_ci				regulator-min-microamp = <500000>;
1118c2ecf20Sopenharmony_ci				regulator-max-microamp = <2000000>;
1128c2ecf20Sopenharmony_ci				regulator-initial-mode = <DA9063_BUCK_MODE_SYNC>;
1138c2ecf20Sopenharmony_ci				regulator-boot-on;
1148c2ecf20Sopenharmony_ci			};
1158c2ecf20Sopenharmony_ci			DA9062_LDO1: ldo1 {
1168c2ecf20Sopenharmony_ci				regulator-name = "LDO_1";
1178c2ecf20Sopenharmony_ci				regulator-min-microvolt = <900000>;
1188c2ecf20Sopenharmony_ci				regulator-max-microvolt = <3600000>;
1198c2ecf20Sopenharmony_ci				regulator-boot-on;
1208c2ecf20Sopenharmony_ci			};
1218c2ecf20Sopenharmony_ci		};
1228c2ecf20Sopenharmony_ci	};
1238c2ecf20Sopenharmony_ci
124