Re: [PATCH v3 2/7] dt-bindings: mfd: Add Actions Semi ATC260x PMIC binding

2020-12-11 Thread Cristian Ciocaltea
On Thu, Dec 10, 2020 at 09:17:43PM -0600, Rob Herring wrote:
> On Sun, 06 Dec 2020 03:27:02 +0200, Cristian Ciocaltea wrote:
> > Add devicetree binding for Actions Semi ATC260x PMICs.
> > 
> > Signed-off-by: Cristian Ciocaltea 
> > ---
> > Changes in v3 (according to Rob's review):
> >  - Dropped the 'pwrc' and 'onkey' nodes
> >  - Used a common 'reset-time-sec' property
> > 
> >  .../bindings/mfd/actions,atc260x.yaml | 181 ++
> >  1 file changed, 181 insertions(+)
> >  create mode 100644 
> > Documentation/devicetree/bindings/mfd/actions,atc260x.yaml
> > 
> 
> Reviewed-by: Rob Herring 

Thanks for reviewing,
Cristi


Re: [PATCH v3 2/7] dt-bindings: mfd: Add Actions Semi ATC260x PMIC binding

2020-12-10 Thread Rob Herring
On Sun, 06 Dec 2020 03:27:02 +0200, Cristian Ciocaltea wrote:
> Add devicetree binding for Actions Semi ATC260x PMICs.
> 
> Signed-off-by: Cristian Ciocaltea 
> ---
> Changes in v3 (according to Rob's review):
>  - Dropped the 'pwrc' and 'onkey' nodes
>  - Used a common 'reset-time-sec' property
> 
>  .../bindings/mfd/actions,atc260x.yaml | 181 ++
>  1 file changed, 181 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/mfd/actions,atc260x.yaml
> 

Reviewed-by: Rob Herring 


[PATCH v3 2/7] dt-bindings: mfd: Add Actions Semi ATC260x PMIC binding

2020-12-05 Thread Cristian Ciocaltea
Add devicetree binding for Actions Semi ATC260x PMICs.

Signed-off-by: Cristian Ciocaltea 
---
Changes in v3 (according to Rob's review):
 - Dropped the 'pwrc' and 'onkey' nodes
 - Used a common 'reset-time-sec' property

 .../bindings/mfd/actions,atc260x.yaml | 181 ++
 1 file changed, 181 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/mfd/actions,atc260x.yaml

diff --git a/Documentation/devicetree/bindings/mfd/actions,atc260x.yaml 
b/Documentation/devicetree/bindings/mfd/actions,atc260x.yaml
new file mode 100644
index ..86aab77ba688
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/actions,atc260x.yaml
@@ -0,0 +1,181 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/actions,atc260x.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Actions Semi ATC260x Power Management IC bindings
+
+maintainers:
+  - Manivannan Sadhasivam 
+  - Cristian Ciocaltea 
+
+description: |
+  ATC260x series PMICs integrates Audio Codec, Power Management, RTC, IR
+  and GPIO controller blocks. Currently only the PM related functionalities
+  (i.e. regulators and system power-off/reboot) for the ATC2603C and ATC2609A
+  chip variants are supported.
+  ATC2603C includes 3 programmable DC-DC converters and 9 LDO regulators.
+  ATC2609A includes 5 programmable DC-DC converters and 10 LDO regulators.
+
+allOf:
+  - $ref: ../input/input.yaml
+
+properties:
+  compatible:
+enum:
+  - actions,atc2603c
+  - actions,atc2609a
+
+  reg:
+maxItems: 1
+
+  interrupts:
+maxItems: 1
+
+  reset-time-sec:
+description: |
+  Duration in seconds which the key should be kept pressed for device
+  to reset automatically. The hardware default is 8. Use 0 to disable
+  this functionality.
+enum: [0, 6, 8, 10, 12]
+
+  regulators:
+type: object
+description: |
+  List of child nodes specifying the regulators, depending on chip variant:
+  * ATC2603C: dcdc[1-3], ldo[1-3,5-8,11], switchldo1
+  * ATC2609A: dcdc[0-4], ldo[0-9]
+
+properties:
+  compatible:
+enum:
+  - actions,atc2603c-regulator
+  - actions,atc2609a-regulator
+
+  switchldo1:
+type: object
+$ref: ../regulator/regulator.yaml
+
+properties:
+  regulator-name: true
+  regulator-boot-on: true
+  regulator-always-on: true
+  regulator-min-microvolt: true
+  regulator-max-microvolt: true
+  regulator-allow-bypass: true
+  regulator-active-discharge: true
+
+additionalProperties: false
+
+patternProperties:
+  "^(dcdc[0-4]|ldo[0-9]|ldo11|switchldo1)-supply$":
+description: ATC260x voltage regulators supplies
+
+  "^(dcdc[0-4]|ldo[0-9]|ldo11)$":
+type: object
+$ref: ../regulator/regulator.yaml
+
+properties:
+  regulator-name: true
+  regulator-boot-on: true
+  regulator-always-on: true
+  regulator-min-microvolt: true
+  regulator-max-microvolt: true
+  regulator-allow-bypass: true
+
+additionalProperties: false
+
+allOf:
+  - if:
+  properties:
+compatible:
+  contains:
+const: actions,atc2603c-regulator
+then:
+  patternProperties:
+"^(dcdc[0,4]|ldo[0,4,9])(-supply)?$": false
+
+"^(ldo|dcdc)":
+  properties:
+regulator-allow-bypass: false
+  - if:
+  properties:
+compatible:
+  contains:
+const: actions,atc2609a-regulator
+then:
+  patternProperties:
+"^(ldo11|switchldo1)(-supply)?$": false
+
+"^(dcdc|ldo[3-9])":
+  properties:
+regulator-allow-bypass: false
+
+required:
+  - compatible
+
+additionalProperties: false
+
+additionalProperties: false
+
+required:
+  - compatible
+  - reg
+  - interrupts
+
+examples:
+  - |
+#include 
+i2c0 {
+#address-cells = <1>;
+#size-cells = <0>;
+
+pmic@65 {
+compatible = "actions,atc2603c";
+reg = <0x65>;
+interrupt-parent = <&sirq>;
+interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
+
+reset-time-sec = <6>;
+
+regulators {
+compatible = "actions,atc2603c-regulator";
+
+dcdc1-supply = <®_5v0>;
+dcdc3-supply = <®_5v0>;
+ldo5-supply = <®_5v0>;
+switchldo1-supply = <&vcc>;
+
+vdd_cpu: dcdc1 {
+regulator-name = "VDD_CPU";
+regulator-min-microvolt = <70>;
+regulator-max-microvolt = <140>;
+regulator-always-on;
+};
+
+vcc: dcdc3 {
+regulator-name = "VCC";
+