15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 25def4c47SEmmanuel Vadot%YAML 1.2 35def4c47SEmmanuel Vadot--- 45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/regulator/dlg,da9121.yaml# 55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 65def4c47SEmmanuel Vadot 75def4c47SEmmanuel Vadottitle: Dialog Semiconductor DA9121 voltage regulator 85def4c47SEmmanuel Vadot 95def4c47SEmmanuel Vadotmaintainers: 105def4c47SEmmanuel Vadot - Adam Ward <Adam.Ward.opensource@diasemi.com> 115def4c47SEmmanuel Vadot 125def4c47SEmmanuel Vadotdescription: | 135def4c47SEmmanuel Vadot Dialog Semiconductor DA9121 Single-channel 10A double-phase buck converter 145def4c47SEmmanuel Vadot Dialog Semiconductor DA9122 Double-channel 5A single-phase buck converter 155def4c47SEmmanuel Vadot Dialog Semiconductor DA9220 Double-channel 3A single-phase buck converter 165def4c47SEmmanuel Vadot Dialog Semiconductor DA9217 Single-channel 6A double-phase buck converter 175def4c47SEmmanuel Vadot Dialog Semiconductor DA9130 Single-channel 10A double-phase buck converter 185def4c47SEmmanuel Vadot Dialog Semiconductor DA9131 Double-channel 5A single-phase buck converter 195def4c47SEmmanuel Vadot Dialog Semiconductor DA9132 Double-channel 3A single-phase buck converter 20e67e8565SEmmanuel Vadot Dialog Semiconductor DA9141 Single-channel 40A quad-phase buck converter 21e67e8565SEmmanuel Vadot Dialog Semiconductor DA9142 Single-channel 20A double-phase buck converter 225def4c47SEmmanuel Vadot 23e67e8565SEmmanuel Vadot Device parameter ranges 245def4c47SEmmanuel Vadot 25e67e8565SEmmanuel Vadot The current limits can be set to at/near double the rated current per channel 26e67e8565SEmmanuel Vadot to allow for transient peaks. 27e67e8565SEmmanuel Vadot Current limit changes when the output is enabled are not supported, as a 28e67e8565SEmmanuel Vadot precaution against undefined behaviour. 295def4c47SEmmanuel Vadot 30e67e8565SEmmanuel Vadot |----------------------------------------------| 31e67e8565SEmmanuel Vadot | | range & reset default value | 32e67e8565SEmmanuel Vadot | Device |------------------------------| 33e67e8565SEmmanuel Vadot | | microvolt | microamp | 34e67e8565SEmmanuel Vadot |----------------------------------------------| 35e67e8565SEmmanuel Vadot | DA9121/DA9130 | Min: 300000 | Min: 7000000 | 36e67e8565SEmmanuel Vadot | | Max: 1900000 | Max: 20000000 | 37e67e8565SEmmanuel Vadot |----------------------------------------------| 38e67e8565SEmmanuel Vadot | DA9121/DA9131 | Min: 300000 | Min: 3500000 | 39e67e8565SEmmanuel Vadot | | Max: 1900000 | Max: 10000000 | 40e67e8565SEmmanuel Vadot |----------------------------------------------| 41e67e8565SEmmanuel Vadot | DA9121/DA9131 | Min: 300000 | Min: 3500000 | 42e67e8565SEmmanuel Vadot | | Max: 1900000 | Max: 6000000 | 43e67e8565SEmmanuel Vadot |----------------------------------------------| 44e67e8565SEmmanuel Vadot | DA9217 | Min: 300000 | Min: 7000000 | 45e67e8565SEmmanuel Vadot | | Max: 1900000 | Max: 12000000 | 46e67e8565SEmmanuel Vadot |----------------------------------------------| 47e67e8565SEmmanuel Vadot | DA9141 | Min: 300000 | Min: 26000000 | 48e67e8565SEmmanuel Vadot | | Max: 1300000 | Max: 78000000 | 49e67e8565SEmmanuel Vadot |----------------------------------------------| 50e67e8565SEmmanuel Vadot | DA9142 | Min: 300000 | Min: 13000000 | 51e67e8565SEmmanuel Vadot | | Max: 1300000 | Max: 39000000 | 52e67e8565SEmmanuel Vadot |----------------------------------------------| 535def4c47SEmmanuel Vadot 545def4c47SEmmanuel Vadotproperties: 555def4c47SEmmanuel Vadot $nodename: 565def4c47SEmmanuel Vadot pattern: "pmic@[0-9a-f]{1,2}" 575def4c47SEmmanuel Vadot compatible: 585def4c47SEmmanuel Vadot enum: 595def4c47SEmmanuel Vadot - dlg,da9121 605def4c47SEmmanuel Vadot - dlg,da9122 615def4c47SEmmanuel Vadot - dlg,da9220 625def4c47SEmmanuel Vadot - dlg,da9217 635def4c47SEmmanuel Vadot - dlg,da9130 645def4c47SEmmanuel Vadot - dlg,da9131 655def4c47SEmmanuel Vadot - dlg,da9132 66e67e8565SEmmanuel Vadot - dlg,da9141 67e67e8565SEmmanuel Vadot - dlg,da9142 685def4c47SEmmanuel Vadot 695def4c47SEmmanuel Vadot reg: 705def4c47SEmmanuel Vadot maxItems: 1 715def4c47SEmmanuel Vadot description: Specifies the I2C slave address. 725def4c47SEmmanuel Vadot 735def4c47SEmmanuel Vadot interrupts: 745def4c47SEmmanuel Vadot maxItems: 1 755def4c47SEmmanuel Vadot description: IRQ line information. 765def4c47SEmmanuel Vadot 775def4c47SEmmanuel Vadot dlg,irq-polling-delay-passive-ms: 785def4c47SEmmanuel Vadot minimum: 1000 795def4c47SEmmanuel Vadot maximum: 10000 805def4c47SEmmanuel Vadot description: | 815def4c47SEmmanuel Vadot Specify the polling period, measured in milliseconds, between interrupt status 825def4c47SEmmanuel Vadot update checks. Range 1000-10000 ms. 835def4c47SEmmanuel Vadot 845def4c47SEmmanuel Vadot regulators: 855def4c47SEmmanuel Vadot type: object 867ef62cebSEmmanuel Vadot additionalProperties: false 875def4c47SEmmanuel Vadot description: | 88e67e8565SEmmanuel Vadot List of regulators provided by the device 895def4c47SEmmanuel Vadot 905def4c47SEmmanuel Vadot patternProperties: 915def4c47SEmmanuel Vadot "^buck([1-2])$": 925def4c47SEmmanuel Vadot type: object 935def4c47SEmmanuel Vadot $ref: regulator.yaml# 94e67e8565SEmmanuel Vadot description: | 95e67e8565SEmmanuel Vadot Properties for a single BUCK regulator 965def4c47SEmmanuel Vadot 975def4c47SEmmanuel Vadot properties: 985def4c47SEmmanuel Vadot regulator-initial-mode: 99e67e8565SEmmanuel Vadot enum: [ 0, 1, 2, 3 ] 1005def4c47SEmmanuel Vadot description: Defined in include/dt-bindings/regulator/dlg,da9121-regulator.h 1015def4c47SEmmanuel Vadot 1025def4c47SEmmanuel Vadot enable-gpios: 1035def4c47SEmmanuel Vadot maxItems: 1 1045def4c47SEmmanuel Vadot description: Specify a valid GPIO for platform control of the regulator 1055def4c47SEmmanuel Vadot 1065def4c47SEmmanuel Vadot dlg,ripple-cancel: 107fac71e4eSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 108e67e8565SEmmanuel Vadot enum: [ 0, 1, 2, 3 ] 1095def4c47SEmmanuel Vadot description: | 1105def4c47SEmmanuel Vadot Defined in include/dt-bindings/regulator/dlg,da9121-regulator.h 1115def4c47SEmmanuel Vadot Only present on multi-channel devices (DA9122, DA9220, DA9131, DA9132) 1125def4c47SEmmanuel Vadot 1135def4c47SEmmanuel Vadot unevaluatedProperties: false 1145def4c47SEmmanuel Vadot 1155def4c47SEmmanuel Vadotrequired: 1165def4c47SEmmanuel Vadot - compatible 1175def4c47SEmmanuel Vadot - reg 1185def4c47SEmmanuel Vadot - regulators 1195def4c47SEmmanuel Vadot 120*aa1a8ff2SEmmanuel VadotallOf: 121*aa1a8ff2SEmmanuel Vadot - if: 122*aa1a8ff2SEmmanuel Vadot properties: 123*aa1a8ff2SEmmanuel Vadot compatible: 124*aa1a8ff2SEmmanuel Vadot not: 125*aa1a8ff2SEmmanuel Vadot contains: 126*aa1a8ff2SEmmanuel Vadot enum: 127*aa1a8ff2SEmmanuel Vadot - dlg,da9122 128*aa1a8ff2SEmmanuel Vadot - dlg,da9131 129*aa1a8ff2SEmmanuel Vadot - dlg,da9132 130*aa1a8ff2SEmmanuel Vadot - dlg,da9220 131*aa1a8ff2SEmmanuel Vadot then: 132*aa1a8ff2SEmmanuel Vadot properties: 133*aa1a8ff2SEmmanuel Vadot regulators: 134*aa1a8ff2SEmmanuel Vadot properties: 135*aa1a8ff2SEmmanuel Vadot buck2: false 136*aa1a8ff2SEmmanuel Vadot 1375def4c47SEmmanuel VadotadditionalProperties: false 1385def4c47SEmmanuel Vadot 1395def4c47SEmmanuel Vadotexamples: 1405def4c47SEmmanuel Vadot - | 1415def4c47SEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 1425def4c47SEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 1435def4c47SEmmanuel Vadot #include <dt-bindings/regulator/dlg,da9121-regulator.h> 1445def4c47SEmmanuel Vadot i2c { 1455def4c47SEmmanuel Vadot #address-cells = <1>; 1465def4c47SEmmanuel Vadot #size-cells = <0>; 1475def4c47SEmmanuel Vadot pmic@68 { 1485def4c47SEmmanuel Vadot compatible = "dlg,da9121"; 1495def4c47SEmmanuel Vadot reg = <0x68>; 1505def4c47SEmmanuel Vadot 1515def4c47SEmmanuel Vadot interrupt-parent = <&gpio6>; 1525def4c47SEmmanuel Vadot interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 1535def4c47SEmmanuel Vadot 1545def4c47SEmmanuel Vadot dlg,irq-polling-delay-passive-ms = <2000>; 1555def4c47SEmmanuel Vadot 1565def4c47SEmmanuel Vadot regulators { 1575def4c47SEmmanuel Vadot DA9121_BUCK1: buck1 { 1585def4c47SEmmanuel Vadot regulator-name = "BUCK1"; 1595def4c47SEmmanuel Vadot regulator-min-microvolt = <300000>; 1605def4c47SEmmanuel Vadot regulator-max-microvolt = <1900000>; 1615def4c47SEmmanuel Vadot regulator-min-microamp = <7000000>; 1625def4c47SEmmanuel Vadot regulator-max-microamp = <20000000>; 1635def4c47SEmmanuel Vadot regulator-boot-on; 1645def4c47SEmmanuel Vadot regulator-initial-mode = <DA9121_BUCK_MODE_AUTO>; 1655def4c47SEmmanuel Vadot enable-gpios = <&gpio 1 GPIO_ACTIVE_HIGH>; 1665def4c47SEmmanuel Vadot }; 1675def4c47SEmmanuel Vadot }; 1685def4c47SEmmanuel Vadot }; 1695def4c47SEmmanuel Vadot }; 1705def4c47SEmmanuel Vadot 1715def4c47SEmmanuel Vadot - | 1725def4c47SEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 1735def4c47SEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 1745def4c47SEmmanuel Vadot #include <dt-bindings/regulator/dlg,da9121-regulator.h> 1755def4c47SEmmanuel Vadot i2c { 1765def4c47SEmmanuel Vadot #address-cells = <1>; 1775def4c47SEmmanuel Vadot #size-cells = <0>; 1785def4c47SEmmanuel Vadot pmic@68 { 1795def4c47SEmmanuel Vadot compatible = "dlg,da9122"; 1805def4c47SEmmanuel Vadot reg = <0x68>; 1815def4c47SEmmanuel Vadot 1825def4c47SEmmanuel Vadot interrupt-parent = <&gpio6>; 1835def4c47SEmmanuel Vadot interrupts = <11 IRQ_TYPE_LEVEL_LOW>; 1845def4c47SEmmanuel Vadot 1855def4c47SEmmanuel Vadot dlg,irq-polling-delay-passive-ms = <2000>; 1865def4c47SEmmanuel Vadot 1875def4c47SEmmanuel Vadot regulators { 1885def4c47SEmmanuel Vadot DA9122_BUCK1: buck1 { 1895def4c47SEmmanuel Vadot regulator-name = "BUCK1"; 1905def4c47SEmmanuel Vadot regulator-min-microvolt = <300000>; 1915def4c47SEmmanuel Vadot regulator-max-microvolt = <1900000>; 1925def4c47SEmmanuel Vadot regulator-min-microamp = <3500000>; 1935def4c47SEmmanuel Vadot regulator-max-microamp = <10000000>; 1945def4c47SEmmanuel Vadot regulator-boot-on; 1955def4c47SEmmanuel Vadot regulator-initial-mode = <DA9121_BUCK_MODE_AUTO>; 1965def4c47SEmmanuel Vadot enable-gpios = <&gpio6 1 GPIO_ACTIVE_HIGH>; 1975def4c47SEmmanuel Vadot dlg,ripple-cancel = <DA9121_BUCK_RIPPLE_CANCEL_NONE>; 1985def4c47SEmmanuel Vadot }; 1995def4c47SEmmanuel Vadot DA9122_BUCK2: buck2 { 2005def4c47SEmmanuel Vadot regulator-name = "BUCK2"; 2015def4c47SEmmanuel Vadot regulator-min-microvolt = <300000>; 2025def4c47SEmmanuel Vadot regulator-max-microvolt = <1900000>; 2035def4c47SEmmanuel Vadot regulator-min-microamp = <3500000>; 2045def4c47SEmmanuel Vadot regulator-max-microamp = <10000000>; 2055def4c47SEmmanuel Vadot regulator-boot-on; 2065def4c47SEmmanuel Vadot regulator-initial-mode = <DA9121_BUCK_MODE_AUTO>; 2075def4c47SEmmanuel Vadot enable-gpios = <&gpio6 2 GPIO_ACTIVE_HIGH>; 2085def4c47SEmmanuel Vadot dlg,ripple-cancel = <DA9121_BUCK_RIPPLE_CANCEL_NONE>; 2095def4c47SEmmanuel Vadot }; 2105def4c47SEmmanuel Vadot }; 2115def4c47SEmmanuel Vadot }; 2125def4c47SEmmanuel Vadot }; 2135def4c47SEmmanuel Vadot... 214