Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp4245460pxk; Tue, 8 Sep 2020 14:48:53 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzAHsUPouR7RdYVGQqhcOB0qRrPmFEEhimy+xVNJBWC2PlZ8yRbOt6IksM1g6+waZ027Xnz X-Received: by 2002:a17:906:f747:: with SMTP id jp7mr527944ejb.22.1599601732776; Tue, 08 Sep 2020 14:48:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1599601732; cv=none; d=google.com; s=arc-20160816; b=yH9KQyQsYwac4s/h9XOMTqm/Z0+dutoDtxzSVVg9gDjAIwZSYsOdaVc3G4vVoDMF7x ze8UQfp6XloXpBMI1oY4xiZcYURFHF2ceBwUs+gX8v7w+KixDxTQa28g2Xz36xtLJUSr MBOeESwPxMw4PNZEbc/ogcp1JjUmhzmguDZgndQ1N8+xiKstR+CLMWl7KJUlqGs9qUvp i7nZBI2CmT3UCfNSUUtqQil1Km1bYE4E9EM4VR6URnConTdi4rMt9b21a0SKm4VMSdk2 sB+AIQ3un0nOVxExnD2dwjvP6KGJXLqh6E+WWL9UGx/yNvyBUrSHfG2muD6pMFAB+++Q Vmfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=sTYXaiUD/OWZiYcJk0O2vC8QjC9OKmIZkmz3CFH6qNM=; b=guZzfBhQzkYY3vt2N8cZAvnWgM7u5gI7K5jrbUbVHa6I3FI/jr26ZTHzEE9f9d0K16 KjOwc37xQNsYhNqNVImPVwjsLqKq40KRKSJwJepXY4rVCKvDO5coByPGZSGcAGlFVhSH jGvM+V9akZxh/DJ/fYFEf07BuXvI+OK9CGKNVaYP1aNFXCj0KysWlBnZTL8XYYwWfqJ5 ysDRydFr4kX8G7S8DRe3K/2an0PHfhCtRh3d7NKZHBQ/NNYUK46kCY70hn6VZW+NZna9 LFtglTpT2Ik1qdDIqnVtDbKC5Eh17eQo3kcQAXsF2M8rqfcV1rPySTFVNEtZlONIGIq6 xz6g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j2si211562edt.312.2020.09.08.14.48.27; Tue, 08 Sep 2020 14:48:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728363AbgIHVr3 (ORCPT + 99 others); Tue, 8 Sep 2020 17:47:29 -0400 Received: from mail-io1-f65.google.com ([209.85.166.65]:44324 "EHLO mail-io1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726434AbgIHVr1 (ORCPT ); Tue, 8 Sep 2020 17:47:27 -0400 Received: by mail-io1-f65.google.com with SMTP id g128so956886iof.11; Tue, 08 Sep 2020 14:47:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=sTYXaiUD/OWZiYcJk0O2vC8QjC9OKmIZkmz3CFH6qNM=; b=LcxvS798SuRJRSf7YxSkTHFCmPY/kyyC0841c8ZiyC6NgA2I2s1ROPV2Y8sIQMI6Pa CVAd6HLRt7gZc6wscSmNgxFRWedfPaAAZi+i32/K/YX0AXJnhwiueYaAd52FfttxLDey GQS45DvnYCWbzOCMjmHbjeZFsz49llRbQzVYtaCVQL3dhDxpoEkxmCOeKqJIJ7f0v6wn 8Top7yp48MIqVk4arE4Mor746xFTBfbYU+T/rsaUMp+YCaqOErVbOgwrVBC3AfADWWNi /IcjVdiyhsf/7IGgKR6f1a6VThfa1HNXcghS/xiVgk+x6ZO1NPQzEg8/MtgA3hr7ghpS 1SHw== X-Gm-Message-State: AOAM531MYxiA5pQYohVS3KaAZPyNIN8juEUPkMGsuz7wAMGUATBHBF2S zNtGKvzFDH4YQluxBMA3iw== X-Received: by 2002:a6b:244:: with SMTP id 65mr835231ioc.7.1599601646180; Tue, 08 Sep 2020 14:47:26 -0700 (PDT) Received: from xps15 ([64.188.179.251]) by smtp.gmail.com with ESMTPSA id y10sm282425ioy.25.2020.09.08.14.47.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Sep 2020 14:47:25 -0700 (PDT) Received: (nullmailer pid 985029 invoked by uid 1000); Tue, 08 Sep 2020 21:47:24 -0000 Date: Tue, 8 Sep 2020 15:47:24 -0600 From: Rob Herring To: Cristian Ciocaltea Cc: Lee Jones , Dmitry Torokhov , Sebastian Reichel , Liam Girdwood , Mark Brown , Manivannan Sadhasivam , Andreas =?iso-8859-1?Q?F=E4rber?= , linux-actions@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-input@vger.kernel.org, linux-pm@vger.kernel.org Subject: Re: [PATCH v2 1/6] dt-bindings: mfd: Add Actions Semi ATC260x PMIC binding Message-ID: <20200908214724.GA959481@bogus> References: <863c9c1e44cfbe6184bf0bd4893ff456af0e7bb8.1598043782.git.cristian.ciocaltea@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <863c9c1e44cfbe6184bf0bd4893ff456af0e7bb8.1598043782.git.cristian.ciocaltea@gmail.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Aug 22, 2020 at 01:19:47AM +0300, Cristian Ciocaltea wrote: > Add devicetree binding for Actions Semi ATC260x PMICs. > > Signed-off-by: Cristian Ciocaltea > --- > .../bindings/mfd/actions,atc260x.yaml | 221 ++++++++++++++++++ > 1 file changed, 221 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 000000000000..4a55bbe1306e > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/actions,atc260x.yaml > @@ -0,0 +1,221 @@ > +# 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. > + > +properties: > + compatible: > + enum: > + - actions,atc2603c > + - actions,atc2609a > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + pwrc: > + type: object > + description: | > + The power controller integrated in ATC260x provides system power-off > + and reboot operations. No need for this node as there are no properties, just instantiate what's needed in the MFD driver. > + > + properties: > + compatible: > + enum: > + - actions,atc2603c-pwrc > + - actions,atc2609a-pwrc > + > + required: > + - compatible > + > + additionalProperties: false > + > + onkey: > + type: object > + description: | > + Use the ONKEY built into ATC260x PMICs as an input device reporting > + power button status. ONKEY can be used to wakeup from low power > + modes and force a reset on long press. > + > + properties: > + compatible: > + enum: > + - actions,atc2603c-onkey > + - actions,atc2609a-onkey > + > + actions,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] We already have 'power-off-time-sec' in input.yaml. How about adding 'reset-time-sec' there. This could really just be a property in the parent node. > + > + required: > + - compatible > + > + additionalProperties: false > + > + 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>; > + > + pwrc { > + compatible = "actions,atc2603c-pwrc"; > + }; > + > + onkey { > + compatible = "actions,atc2603c-onkey"; > + actions,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 = <700000>; > + regulator-max-microvolt = <1400000>; > + regulator-always-on; > + }; > + > + vcc: dcdc3 { > + regulator-name = "VCC"; > + regulator-min-microvolt = <2600000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + }; > + > + vcc_3v1: ldo5 { > + regulator-name = "VCC_3V1"; > + regulator-min-microvolt = <2600000>; > + regulator-max-microvolt = <3300000>; > + }; > + > + sd_vcc: switchldo1 { > + regulator-name = "SD_VCC"; > + regulator-min-microvolt = <3000000>; > + regulator-max-microvolt = <3300000>; > + regulator-always-on; > + regulator-boot-on; > + }; > + }; > + }; > + }; > + > +... > -- > 2.28.0 >