From patchwork Fri Dec 17 17:05:03 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thierry Reding X-Patchwork-Id: 525173 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C90DBC433EF for ; Fri, 17 Dec 2021 17:05:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239592AbhLQRFP (ORCPT ); Fri, 17 Dec 2021 12:05:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52496 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239589AbhLQRFO (ORCPT ); Fri, 17 Dec 2021 12:05:14 -0500 Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com [IPv6:2a00:1450:4864:20::42a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EED28C061574; Fri, 17 Dec 2021 09:05:13 -0800 (PST) Received: by mail-wr1-x42a.google.com with SMTP id t26so5305847wrb.4; Fri, 17 Dec 2021 09:05:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=um5nB/KXnHI/DITG6uZ2rZ7Qv5xgTfR6aRWla1VMiTI=; b=NAY3Y3CN3AEZqKnci8rVhQhUcaMdm56YmCpJoqylNFBfgIQSWEuiDpsCI7730kaLEg ZAHPBE/oLc8xJKZy/TxMzbgjxxN1HXDiUJwZAYYWrdefE28uYUy9pzsy7gmmDvsCaAlB mbh64nkrOaNyeHKk4Jm2Y5DSuNDs4P0vZ83+h1TBZwY+KkMHYmKkDwfanIJeoY/8cZfu aHScRuQ0uIIx4obED1tpRMiRSyc/oDDTq1gz1RN67QQnH7wM9xOR96HbyLcZ65DLfKA9 V4emKsqv+lMQKDU4vjLsyX9y/dNPW3wHtixhu0zjap3FJhEx7OzHEiXj8ooi/emdGinm ZTEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=um5nB/KXnHI/DITG6uZ2rZ7Qv5xgTfR6aRWla1VMiTI=; b=FA/d3zGLcyQsStc/ifmtF5vUenUTwqMEjt5X6BtcT5dkLw0ZZr6FevoMHPkjcJ9Gv9 oznBmfhuClFEwBj022TNZh5Xqg7jqGFljpnqZhdA6JIjadJ3w2mE05Qi8kghfPqLzwZn 2dO3uZRtkYoOQFj1nZSCYZTUvdq7+JMmg6/jFxUVpbSwBY0wCa1H97jY5flAmywAjmcN dCUmNVkEV8Sc0kX+mKAQpRN2EI+kiQbNAHRDxKyatIV+aTjPPlGcvjxCG5XK+oQF4j41 PvGcAXxmbUupYhGAaeFmD+shutRGA8m2nulBftfG41HQokUEaFoJ6yqry/PCWd90Yoqq MY3A== X-Gm-Message-State: AOAM533VcG/GoILHd1+oS8k88Y9uzDAOMFjlIz71WZY0/I2zP6yWpr32 b3gX/DqlaP/bP5WXY8Mx1Lc= X-Google-Smtp-Source: ABdhPJyz8a9OmnyH8ogZf25HqJdmJfkjInhBDRlIjecpab42Jjv+XXdt7LLC1BP7bWJtyNSzeu0CEg== X-Received: by 2002:a5d:51d2:: with SMTP id n18mr3252462wrv.83.1639760712439; Fri, 17 Dec 2021 09:05:12 -0800 (PST) Received: from localhost ([193.209.96.43]) by smtp.gmail.com with ESMTPSA id p12sm9563423wrr.10.2021.12.17.09.05.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Dec 2021 09:05:11 -0800 (PST) From: Thierry Reding To: Lee Jones , Rob Herring Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/6] dt-bindings: regulator: pwm: Convert to json-schema Date: Fri, 17 Dec 2021 18:05:03 +0100 Message-Id: <20211217170507.2843568-2-thierry.reding@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20211217170507.2843568-1-thierry.reding@gmail.com> References: <20211217170507.2843568-1-thierry.reding@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org From: Thierry Reding Convert the generic PWM regulator bindings from the free-form text format to json-schema. Signed-off-by: Thierry Reding --- .../bindings/regulator/pwm-regulator.txt | 92 ------------- .../bindings/regulator/pwm-regulator.yaml | 121 ++++++++++++++++++ 2 files changed, 121 insertions(+), 92 deletions(-) delete mode 100644 Documentation/devicetree/bindings/regulator/pwm-regulator.txt create mode 100644 Documentation/devicetree/bindings/regulator/pwm-regulator.yaml diff --git a/Documentation/devicetree/bindings/regulator/pwm-regulator.txt b/Documentation/devicetree/bindings/regulator/pwm-regulator.txt deleted file mode 100644 index 3d78d507e29f..000000000000 --- a/Documentation/devicetree/bindings/regulator/pwm-regulator.txt +++ /dev/null @@ -1,92 +0,0 @@ -Bindings for the Generic PWM Regulator -====================================== - -Currently supports 2 modes of operation: - -Voltage Table: When in this mode, a voltage table (See below) of - predefined voltage <=> duty-cycle values must be - provided via DT. Limitations are that the regulator can - only operate at the voltages supplied in the table. - Intermediary duty-cycle values which would normally - allow finer grained voltage selection are ignored and - rendered useless. Although more control is given to - the user if the assumptions made in continuous-voltage - mode do not reign true. - -Continuous Voltage: This mode uses the regulator's maximum and minimum - supplied voltages specified in the - regulator-{min,max}-microvolt properties to calculate - appropriate duty-cycle values. This allows for a much - more fine grained solution when compared with - voltage-table mode above. This solution does make an - assumption that a %50 duty-cycle value will cause the - regulator voltage to run at half way between the - supplied max_uV and min_uV values. - -Required properties: --------------------- -- compatible: Should be "pwm-regulator" - -- pwms: PWM specification (See: ../pwm/pwm.txt) - -Only required for Voltage Table Mode: -- voltage-table: Voltage and Duty-Cycle table consisting of 2 cells - First cell is voltage in microvolts (uV) - Second cell is duty-cycle in percent (%) - -Optional properties for Continuous mode: -- pwm-dutycycle-unit: Integer value encoding the duty cycle unit. If not - defined, <100> is assumed, meaning that - pwm-dutycycle-range contains values expressed in - percent. - -- pwm-dutycycle-range: Should contain 2 entries. The first entry is encoding - the dutycycle for regulator-min-microvolt and the - second one the dutycycle for regulator-max-microvolt. - Duty cycle values are expressed in pwm-dutycycle-unit. - If not defined, <0 100> is assumed. - -NB: To be clear, if voltage-table is provided, then the device will be used -in Voltage Table Mode. If no voltage-table is provided, then the device will -be used in Continuous Voltage Mode. - -Optional properties: --------------------- -- enable-gpios: GPIO to use to enable/disable the regulator - -Any property defined as part of the core regulator binding can also be used. -(See: ../regulator/regulator.txt) - -Continuous Voltage With Enable GPIO Example: - pwm_regulator { - compatible = "pwm-regulator"; - pwms = <&pwm1 0 8448 0>; - enable-gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>; - regulator-min-microvolt = <1016000>; - regulator-max-microvolt = <1114000>; - regulator-name = "vdd_logic"; - /* unit == per-mille */ - pwm-dutycycle-unit = <1000>; - /* - * Inverted PWM logic, and the duty cycle range is limited - * to 30%-70%. - */ - pwm-dutycycle-range = <700 300>; /* */ - }; - -Voltage Table Example: - pwm_regulator { - compatible = "pwm-regulator"; - pwms = <&pwm1 0 8448 0>; - regulator-min-microvolt = <1016000>; - regulator-max-microvolt = <1114000>; - regulator-name = "vdd_logic"; - - /* Voltage Duty-Cycle */ - voltage-table = <1114000 0>, - <1095000 10>, - <1076000 20>, - <1056000 30>, - <1036000 40>, - <1016000 50>; - }; diff --git a/Documentation/devicetree/bindings/regulator/pwm-regulator.yaml b/Documentation/devicetree/bindings/regulator/pwm-regulator.yaml new file mode 100644 index 000000000000..d87e8110989d --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/pwm-regulator.yaml @@ -0,0 +1,121 @@ +# SPDX-License-Identifier: GPL-2.0-only +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/regulator/pwm-regulator.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Generic PWM Regulator + +maintainers: + - Rob Herring + - Mark Brown + +description: | + Currently supports 2 modes of operation: + + - Voltage Table: When in this mode, a voltage table (See below) of predefined voltage <=> + duty-cycle values must be provided via DT. Limitations are that the regulator can only + operate at the voltages supplied in the table. Intermediary duty-cycle values which would + normally allow finer grained voltage selection are ignored and rendered useless. Although + more control is given to the user if the assumptions made in continuous-voltage mode do not + reign true. + + - Continuous Voltage: This mode uses the regulator's maximum and minimum supplied voltages + specified in the regulator-{min,max}-microvolt properties to calculate appropriate duty-cycle + values. This allows for a much more fine grained solution when compared with voltage-table + mode above. This solution does make an assumption that a %50 duty-cycle value will cause the + regulator voltage to run at half way between the supplied max_uV and min_uV values. + + NB: To be clear, if voltage-table is provided, then the device will be used + in Voltage Table Mode. If no voltage-table is provided, then the device will + be used in Continuous Voltage Mode. + + Any property defined as part of the core regulator binding can also be used. (See: + ../regulator/regulator.txt) + +properties: + compatible: + const: pwm-regulator + + pwms: + $ref: "/schemas/types.yaml#/definitions/phandle-array" + description: phandle and PWM specifier (see ../pwm/pwm.txt) + + # Only required for Voltage Table Mode: + voltage-table: + description: Voltage and Duty-Cycle table consisting of 2 cells. The first cell is the voltage + in microvolts (uV) and the second cell is duty-cycle in percent (%). + $ref: "/schemas/types.yaml#/definitions/uint32-matrix" + + # Optional properties for Continuous mode: + pwm-dutycycle-unit: + description: Integer value encoding the duty cycle unit. If not defined, <100> is assumed, + meaning that pwm-dutycycle-range contains values expressed in percent. + $ref: "/schemas/types.yaml#/definitions/uint32" + + pwm-dutycycle-range: + description: Should contain 2 entries. The first entry is encoding the dutycycle for + regulator-min-microvolt and the second one the dutycycle for regulator-max-microvolt. Duty + cycle values are expressed in pwm-dutycycle-unit. If not defined, <0 100> is assumed. + $ref: "/schemas/types.yaml#/definitions/uint32-array" + + # Optional properties: + enable-gpios: + description: GPIO to use to enable/disable the regulator + + # from regulator.yaml + regulator-enable-ramp-delay: true + regulator-max-microvolt: true + regulator-min-microvolt: true + regulator-name: true + regulator-ramp-delay: true + regulator-settling-time-us: true + vin-supply: true + +allOf: + - $ref: "regulator.yaml" + +additionalProperties: false + +required: + - compatible + - pwms + +examples: + # Continuous Voltage With Enable GPIO: + - | + #include + + pwm_regulator { + compatible = "pwm-regulator"; + pwms = <&pwm1 0 8448 0>; + enable-gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>; + regulator-min-microvolt = <1016000>; + regulator-max-microvolt = <1114000>; + regulator-name = "vdd_logic"; + /* unit == per-mille */ + pwm-dutycycle-unit = <1000>; + /* + * Inverted PWM logic, and the duty cycle range is limited + * to 30%-70%. + */ + pwm-dutycycle-range = <700 300>; /* */ + }; + + # Voltage Table: + - | + regulator { + compatible = "pwm-regulator"; + pwms = <&pwm1 0 8448 0>; + regulator-min-microvolt = <1016000>; + regulator-max-microvolt = <1114000>; + regulator-name = "vdd_logic"; + + /* Voltage Duty-Cycle */ + voltage-table = <1114000 0>, + <1095000 10>, + <1076000 20>, + <1056000 30>, + <1036000 40>, + <1016000 50>; + }; From patchwork Fri Dec 17 17:05:04 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thierry Reding X-Patchwork-Id: 525172 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5F3C8C433EF for ; Fri, 17 Dec 2021 17:05:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239614AbhLQRFY (ORCPT ); Fri, 17 Dec 2021 12:05:24 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52506 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239600AbhLQRFQ (ORCPT ); Fri, 17 Dec 2021 12:05:16 -0500 Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com [IPv6:2a00:1450:4864:20::434]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 84B7BC061574; Fri, 17 Dec 2021 09:05:16 -0800 (PST) Received: by mail-wr1-x434.google.com with SMTP id v11so5257922wrw.10; Fri, 17 Dec 2021 09:05:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=3hnze5afaNK8KAxASs6tu173oJOe5Xah/nMoU4ZDZfY=; b=QnJrI6lrGj6zO0PXH0bUbjMgM4Hs2cnttprfNLWChbBCuTA2zTw4hzi5MpQ0exvg3J 7SNWBqZRCYASbMhNPzxPkmW6Rhwuzle/LJlALy/HlUivuA49aNTNMeahtFMk0iwYkiFi o28XOwLq16fgKFq68DR9MiLADABRM8xjg5ucEsMw6ob3sYTJgWtjuO0g0dy2MyfWmGXy +yhhW71DGZRkvVRGWFmJ1Dq3dK7DFb79COSH46P3EzxaKrd3jucK91Hv0LQeeOFZJAo6 XXRk++VY+Bd7gJsTqMaG/oLVhIlgCHfyPJkWCRJ/h9VAj9AJPY5dMzChk7tDnMu510cQ H4yQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=3hnze5afaNK8KAxASs6tu173oJOe5Xah/nMoU4ZDZfY=; b=trqNEEKdDIhz57iggBjnbAeZDjY4AubDNH2dYg8GcBEeybqoIb8wXI7OBrljs5Kj8l GOC9oi0b5w9xfbRVL3bLFgE1YWni8/WA6BK+Uqt4dZ4DtetiLOTBHFNPKXmvxRAP8jsu 18t7Zjia08aqwETofe+YEGBmZ39YY5SRBNDMiyUDbPUC0ZuEN7sKHDiS3oYHMBiMbFut Yl7MN1n26clWcvgoMUN2qvCnJCWk4lK4TTlisZUeXOhMuQyp23xnV1wxCX/vinvgUOSU 8dAbsU5zNwoiTpHOVV/kL+f3kF/1jQYSle/FsOHsYsrjfmqhXYMc0XAS6kUVirJ/nvuc HymA== X-Gm-Message-State: AOAM530n3i62kRqiKP7LAIEMQXrIZgPgkumMlghkk8n6RxLmY44rqvTm SgW/Xuln13MemdejNE2KL41P33og7jSbQg== X-Google-Smtp-Source: ABdhPJziSvR6Z88BVDbaXtYHMd+tyWSWSQHX/2pyHAbolhUNZrs5lSzmOmRgttgdHOpkFCx9MK/3TQ== X-Received: by 2002:a5d:6daa:: with SMTP id u10mr3308671wrs.641.1639760715155; Fri, 17 Dec 2021 09:05:15 -0800 (PST) Received: from localhost ([193.209.96.43]) by smtp.gmail.com with ESMTPSA id i9sm5598112wrb.84.2021.12.17.09.05.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Dec 2021 09:05:14 -0800 (PST) From: Thierry Reding To: Lee Jones , Rob Herring Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/6] dt-bindings: regulator: tps51632: Convert to json-schema Date: Fri, 17 Dec 2021 18:05:04 +0100 Message-Id: <20211217170507.2843568-3-thierry.reding@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20211217170507.2843568-1-thierry.reding@gmail.com> References: <20211217170507.2843568-1-thierry.reding@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org From: Thierry Reding Convert the Texas Instruments TPS51632 bindings from the free-form text format to json-schema. Signed-off-by: Thierry Reding Reviewed-by: Rob Herring --- .../bindings/regulator/ti,tps51632.yaml | 53 +++++++++++++++++++ .../bindings/regulator/tps51632-regulator.txt | 27 ---------- 2 files changed, 53 insertions(+), 27 deletions(-) create mode 100644 Documentation/devicetree/bindings/regulator/ti,tps51632.yaml delete mode 100644 Documentation/devicetree/bindings/regulator/tps51632-regulator.txt diff --git a/Documentation/devicetree/bindings/regulator/ti,tps51632.yaml b/Documentation/devicetree/bindings/regulator/ti,tps51632.yaml new file mode 100644 index 000000000000..ebe4d36dc750 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/ti,tps51632.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: GPL-2.0-only +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/regulator/ti,tps51632.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Texas Instruments TPS51632 voltage regulator + +maintainers: + - Mark Brown + +properties: + compatible: + const: ti,tps51632 + + reg: + maxItems: 1 + + ti,enable-pwm-dvfs: + $ref: /schemas/types.yaml#/definitions/flag + description: Enable the DVFS voltage control through the PWM interface. + + ti,dvfs-step-20mV: + $ref: /schemas/types.yaml#/definitions/flag + description: The 20 mV step voltage when PWM DVFS enabled. Missing this will set 10 mV step + voltage in PWM DVFS mode. In normal mode, the voltage step is 10 mV as per datasheet. + +allOf: + - $ref: regulator.yaml + +unevaluatedProperties: false + +required: + - compatible + - reg + +examples: + - | + i2c { + #address-cells = <1>; + #size-cells = <0>; + + regulator@43 { + compatible = "ti,tps51632"; + reg = <0x43>; + regulator-name = "tps51632-vout"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <1500000>; + regulator-boot-on; + ti,enable-pwm-dvfs; + ti,dvfs-step-20mV; + }; + }; diff --git a/Documentation/devicetree/bindings/regulator/tps51632-regulator.txt b/Documentation/devicetree/bindings/regulator/tps51632-regulator.txt deleted file mode 100644 index 2f7e44a96414..000000000000 --- a/Documentation/devicetree/bindings/regulator/tps51632-regulator.txt +++ /dev/null @@ -1,27 +0,0 @@ -TPS51632 Voltage regulators - -Required properties: -- compatible: Must be "ti,tps51632" -- reg: I2C slave address - -Optional properties: -- ti,enable-pwm-dvfs: Enable the DVFS voltage control through the PWM interface. -- ti,dvfs-step-20mV: The 20mV step voltage when PWM DVFS enabled. Missing this - will set 10mV step voltage in PWM DVFS mode. In normal mode, the voltage - step is 10mV as per datasheet. - -Any property defined as part of the core regulator binding, defined in -regulator.txt, can also be used. - -Example: - - tps51632 { - compatible = "ti,tps51632"; - reg = <0x43>; - regulator-name = "tps51632-vout"; - regulator-min-microvolt = <500000>; - regulator-max-microvolt = <1500000>; - regulator-boot-on; - ti,enable-pwm-dvfs; - ti,dvfs-step-20mV; - }; From patchwork Fri Dec 17 17:05:06 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thierry Reding X-Patchwork-Id: 525171 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id F3D01C433FE for ; Fri, 17 Dec 2021 17:05:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239600AbhLQRF0 (ORCPT ); Fri, 17 Dec 2021 12:05:26 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52544 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239613AbhLQRFY (ORCPT ); Fri, 17 Dec 2021 12:05:24 -0500 Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5AE7CC061748; Fri, 17 Dec 2021 09:05:21 -0800 (PST) Received: by mail-wm1-x330.google.com with SMTP id y83-20020a1c7d56000000b003456dfe7c5cso3581310wmc.1; Fri, 17 Dec 2021 09:05:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=N9hIAHZe2nNZJ5Axu76isAk7I5KUQauC+n1Gzmxr3O4=; b=aTT5yMmSmXGPKfZyAo3I8QxPQaP25o7io12t2HNDJwrX2HPAyNYg+WG9Z48ioid0GC VY0FKEtb/NdmGBMkLBt37Spa9Y2lTUEr3dB1CavUIJB6ETzIPq1vEhrm+42ta2q4CGtK AlvCzJPqlglDTynkYwrHXT0cVo/1GxaNjC0cIzlWYAxXcWVSlDJlM+yLUK3ZsqunpF4a /Q9EQQ3aB4cYtz5zWDptYw27kmiIhGLCatvi7JoB0js2gLC+y4OS+h0EpGJDnPjR7U8t 2j6llNfGKrrj9I5g3733o9GNyW4fEnmjGvx7LHapHRT1g/I3MP1bfJdNqGkVUmmPqJty 0RsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=N9hIAHZe2nNZJ5Axu76isAk7I5KUQauC+n1Gzmxr3O4=; b=xi6WFHbu1we6hJHv4lw1anunm67gtbzI6+6Z80plY5S4EbW3dz1rg6l1LwoXDv1UFh tYDkSzkDN/zFrL6b2ajVXMXdjstsuiQVmu8fYfUwnyoMhkG88BsRZo9uPfgY69GlG9sB vWRVDmtNDJjBGE8CX+FaDMCTSNhQ5DUm+e1apasROj+GPEdPG90R3bvEjReq4fNc+vwi 62dum0FNDj8/JdC7+0Tkmz50h4Zo3VK536/kE3PbxWtNZMoUx3lw1QwO3CGndeo1qx+D J08OB0mzsBrq/Orx4iN1xYY3dbuIaeKGoHF5v2fFeAxBcN0qpOq5mhNw4Cy8AS3behwp 1gzA== X-Gm-Message-State: AOAM532z4sTJnnBQTtPD2A0DX9TQA8EFNQWklVBGLuYyLg23Qdf9YZZ0 pcoH9a4C8hYK5hhH7QGCNIc3798+WMZiHw== X-Google-Smtp-Source: ABdhPJw+iD2WUNc1BT49CzoxR659kkkboodHMlBQSfw8cUlXvzpoeRr0Mq+92v6acf/EVtxKQV3EOQ== X-Received: by 2002:a7b:c10a:: with SMTP id w10mr10224535wmi.183.1639760719852; Fri, 17 Dec 2021 09:05:19 -0800 (PST) Received: from localhost ([193.209.96.43]) by smtp.gmail.com with ESMTPSA id b6sm13488018wmq.45.2021.12.17.09.05.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Dec 2021 09:05:19 -0800 (PST) From: Thierry Reding To: Lee Jones , Rob Herring Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 5/6] dt-bindings: regulator: tps6586x: Convert to json-schema Date: Fri, 17 Dec 2021 18:05:06 +0100 Message-Id: <20211217170507.2843568-5-thierry.reding@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20211217170507.2843568-1-thierry.reding@gmail.com> References: <20211217170507.2843568-1-thierry.reding@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org From: Thierry Reding Convert the Texas Instruments TPS6586x bindings from the free-form text format to json-schema. Signed-off-by: Thierry Reding --- .../bindings/regulator/ti,tps6586x.yaml | 184 ++++++++++++++++++ .../bindings/regulator/tps6586x.txt | 135 ------------- 2 files changed, 184 insertions(+), 135 deletions(-) create mode 100644 Documentation/devicetree/bindings/regulator/ti,tps6586x.yaml delete mode 100644 Documentation/devicetree/bindings/regulator/tps6586x.txt diff --git a/Documentation/devicetree/bindings/regulator/ti,tps6586x.yaml b/Documentation/devicetree/bindings/regulator/ti,tps6586x.yaml new file mode 100644 index 000000000000..c5ea7012c653 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/ti,tps6586x.yaml @@ -0,0 +1,184 @@ +# SPDX-License-Identifier: GPL-2.0-only +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/regulator/ti,tps6586x.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Texas Instruments TPS6586x family of voltage regulator + +maintainers: + - Mark Brown + +properties: + compatible: + const: ti,tps6586x + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + sys-supply: + description: input supply for SYS + + vin-sm0-supply: + description: input supply for SM0 + + vin-sm1-supply: + description: input supply for SM1 + + vin-sm2-supply: + description: input supply for SM2 + + vinldo01-supply: + description: input supply for LDO0 and LDO1 + + vinldo23-supply: + description: input supply for LDO2 and LDO3 + + vinldo4-supply: + description: input supply for LDO4 + + vinldo678-supply: + description: input supply for LDO6, LDO7 and LDO8 + + vinldo9-supply: + description: input supply for LDO9 + + ti,system-power-controller: + $ref: /schemas/types.yaml#/definitions/flag + description: If this property exists, it specifies that this PMIC controls the system power. + + regulators: + type: object + description: | + A node that houses a sub-node for each regulator within the device. Each sub-node is + identified using the node's name (or the deprecated regulator-compatible property if + present), with valid values listed below. The content of each sub-node is defined by the + standard binding for regulators; see regulator.yaml. + + Note: LDO5 and LDO_RTC is supplied by SYS regulator internally and the operating system + needs to take care of establishing the proper parent child relationships. + + patternProperties: + "^sys|sm[0-2]|ldo[0-9]|ldo_rtc$": + $ref: regulator.yaml + +allOf: + - $ref: /schemas/gpio/gpio.yaml + +unevaluatedProperties: false + +required: + - compatible + - reg + - interrupts + +examples: + - | + i2c { + #address-cells = <1>; + #size-cells = <0>; + + pmic@34 { + compatible = "ti,tps6586x"; + reg = <0x34>; + interrupts = <0 88 0x4>; + + #gpio-cells = <2>; + gpio-controller; + + ti,system-power-controller; + + sys-supply = <&dummy>; + vin-sm0-supply = <&dummy>; + vin-sm1-supply = <&dummy>; + vin-sm2-supply = <&dummy>; + vinldo01-supply = <&dummy>; + vinldo23-supply = <&dummy>; + vinldo4-supply = <&dummy>; + vinldo678-supply = <&dummy>; + vinldo9-supply = <&dummy>; + + regulators { + sys { + regulator-name = "vdd_sys"; + regulator-boot-on; + regulator-always-on; + }; + + sm0 { + regulator-min-microvolt = < 725000>; + regulator-max-microvolt = <1500000>; + regulator-boot-on; + regulator-always-on; + }; + + sm1 { + regulator-min-microvolt = < 725000>; + regulator-max-microvolt = <1500000>; + regulator-boot-on; + regulator-always-on; + }; + + sm2 { + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <4550000>; + regulator-boot-on; + regulator-always-on; + }; + + ldo0 { + regulator-name = "PCIE CLK"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + + ldo1 { + regulator-min-microvolt = < 725000>; + regulator-max-microvolt = <1500000>; + }; + + ldo2 { + regulator-min-microvolt = < 725000>; + regulator-max-microvolt = <1500000>; + }; + + ldo3 { + regulator-min-microvolt = <1250000>; + regulator-max-microvolt = <3300000>; + }; + + ldo4 { + regulator-min-microvolt = <1700000>; + regulator-max-microvolt = <2475000>; + }; + + ldo5 { + regulator-min-microvolt = <1250000>; + regulator-max-microvolt = <3300000>; + }; + + ldo6 { + regulator-min-microvolt = <1250000>; + regulator-max-microvolt = <3300000>; + }; + + ldo7 { + regulator-min-microvolt = <1250000>; + regulator-max-microvolt = <3300000>; + }; + + ldo8 { + regulator-min-microvolt = <1250000>; + regulator-max-microvolt = <3300000>; + }; + + ldo9 { + regulator-min-microvolt = <1250000>; + regulator-max-microvolt = <3300000>; + }; + }; + }; + }; diff --git a/Documentation/devicetree/bindings/regulator/tps6586x.txt b/Documentation/devicetree/bindings/regulator/tps6586x.txt deleted file mode 100644 index 8b40cac24d93..000000000000 --- a/Documentation/devicetree/bindings/regulator/tps6586x.txt +++ /dev/null @@ -1,135 +0,0 @@ -TPS6586x family of regulators - -Required properties: -- compatible: "ti,tps6586x" -- reg: I2C slave address -- interrupts: the interrupt outputs of the controller -- #gpio-cells: number of cells to describe a GPIO -- gpio-controller: mark the device as a GPIO controller -- regulators: A node that houses a sub-node for each regulator within the - device. Each sub-node is identified using the node's name (or the deprecated - regulator-compatible property if present), with valid values listed below. - The content of each sub-node is defined by the standard binding for - regulators; see regulator.txt. - sys, sm[0-2], ldo[0-9] and ldo_rtc -- sys-supply: The input supply for SYS. -- vin-sm0-supply: The input supply for the SM0. -- vin-sm1-supply: The input supply for the SM1. -- vin-sm2-supply: The input supply for the SM2. -- vinldo01-supply: The input supply for the LDO1 and LDO2 -- vinldo23-supply: The input supply for the LDO2 and LDO3 -- vinldo4-supply: The input supply for the LDO4 -- vinldo678-supply: The input supply for the LDO6, LDO7 and LDO8 -- vinldo9-supply: The input supply for the LDO9 - -Optional properties: -- ti,system-power-controller: Telling whether or not this pmic is controlling - the system power. - -Each regulator is defined using the standard binding for regulators. - -Note: LDO5 and LDO_RTC is supplied by SYS regulator internally and driver - take care of making proper parent child relationship. - -Example: - - pmu: tps6586x@34 { - compatible = "ti,tps6586x"; - reg = <0x34>; - interrupts = <0 88 0x4>; - - #gpio-cells = <2>; - gpio-controller; - - ti,system-power-controller; - - sys-supply = <&some_reg>; - vin-sm0-supply = <&some_reg>; - vin-sm1-supply = <&some_reg>; - vin-sm2-supply = <&some_reg>; - vinldo01-supply = <...>; - vinldo23-supply = <...>; - vinldo4-supply = <...>; - vinldo678-supply = <...>; - vinldo9-supply = <...>; - - regulators { - sys_reg: sys { - regulator-name = "vdd_sys"; - regulator-boot-on; - regulator-always-on; - }; - - sm0_reg: sm0 { - regulator-min-microvolt = < 725000>; - regulator-max-microvolt = <1500000>; - regulator-boot-on; - regulator-always-on; - }; - - sm1_reg: sm1 { - regulator-min-microvolt = < 725000>; - regulator-max-microvolt = <1500000>; - regulator-boot-on; - regulator-always-on; - }; - - sm2_reg: sm2 { - regulator-min-microvolt = <3000000>; - regulator-max-microvolt = <4550000>; - regulator-boot-on; - regulator-always-on; - }; - - ldo0_reg: ldo0 { - regulator-name = "PCIE CLK"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - }; - - ldo1_reg: ldo1 { - regulator-min-microvolt = < 725000>; - regulator-max-microvolt = <1500000>; - }; - - ldo2_reg: ldo2 { - regulator-min-microvolt = < 725000>; - regulator-max-microvolt = <1500000>; - }; - - ldo3_reg: ldo3 { - regulator-min-microvolt = <1250000>; - regulator-max-microvolt = <3300000>; - }; - - ldo4_reg: ldo4 { - regulator-min-microvolt = <1700000>; - regulator-max-microvolt = <2475000>; - }; - - ldo5_reg: ldo5 { - regulator-min-microvolt = <1250000>; - regulator-max-microvolt = <3300000>; - }; - - ldo6_reg: ldo6 { - regulator-min-microvolt = <1250000>; - regulator-max-microvolt = <3300000>; - }; - - ldo7_reg: ldo7 { - regulator-min-microvolt = <1250000>; - regulator-max-microvolt = <3300000>; - }; - - ldo8_reg: ldo8 { - regulator-min-microvolt = <1250000>; - regulator-max-microvolt = <3300000>; - }; - - ldo9_reg: ldo9 { - regulator-min-microvolt = <1250000>; - regulator-max-microvolt = <3300000>; - }; - }; - };