linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Viresh Kumar <vireshk@kernel.org>, Nishanth Menon <nm@ti.com>,
	Stephen Boyd <sboyd@kernel.org>,
	devicetree@vger.kernel.org,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Yangtao Li <tiny.windzz@gmail.com>,
	Maxime Ripard <mripard@kernel.org>, Chen-Yu Tsai <wens@csie.org>,
	"open list:THERMAL" <linux-pm@vger.kernel.org>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	Georgi Djakov <djakov@kernel.org>,
	Shawn Guo <shawnguo@kernel.org>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Leonard Crestez <leonard.crestez@nxp.com>,
	dri-devel <dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH 2/2] dt-bindings: opp: Convert to DT schema
Date: Thu, 24 Jun 2021 08:00:20 -0600	[thread overview]
Message-ID: <CAL_JsqJZf-i_utyar46aa0AD4fJBi1PeUHqm8cyk28GMSEtbDw@mail.gmail.com> (raw)
In-Reply-To: <20210624043240.n6m3cdftz75lhm3t@vireshk-i7>

On Wed, Jun 23, 2021 at 10:32 PM Viresh Kumar <viresh.kumar@linaro.org> wrote:
>
> Thanks for taking it up :)
>
> On 23-06-21, 17:07, Rob Herring wrote:
> > diff --git a/Documentation/devicetree/bindings/opp/opp-v2-base.yaml b/Documentation/devicetree/bindings/opp/opp-v2-base.yaml
> > +$id: http://devicetree.org/schemas/opp/opp-v2-base.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Generic OPP (Operating Performance Points) Common Binding
> > +
> > +maintainers:
> > +  - Viresh Kumar <viresh.kumar@linaro.org>
> > +
> > +description: |
> > +  Devices work at voltage-current-frequency combinations and some implementations
> > +  have the liberty of choosing these. These combinations are called Operating
> > +  Performance Points aka OPPs. This document defines bindings for these OPPs
> > +  applicable across wide range of devices. For illustration purpose, this document
> > +  uses CPU as a device.
> > +
> > +  This describes the OPPs belonging to a device.
> > +
> > +select: false
> > +
> > +properties:
> > +  $nodename:
> > +    pattern: '^opp-table(-[a-z0-9]+)?$'
> > +
> > +  opp-shared:
> > +    description:
> > +      Indicates that device nodes using this OPP Table Node's phandle switch
> > +      their DVFS state together, i.e. they share clock/voltage/current lines.
> > +      Missing property means devices have independent clock/voltage/current
> > +      lines, but they share OPP tables.
> > +    type: boolean
> > +
> > +patternProperties:
> > +  '^opp-?[0-9]+$':
> > +    type: object
> > +    description:
> > +      One or more OPP nodes describing voltage-current-frequency combinations.
> > +      Their name isn't significant but their phandle can be used to reference an
> > +      OPP. These are mandatory except for the case where the OPP table is
> > +      present only to indicate dependency between devices using the opp-shared
> > +      property.
> > +
> > +    properties:
> > +      opp-hz:
> > +        description:
> > +          Frequency in Hz, expressed as a 64-bit big-endian integer. This is a
> > +          required property for all device nodes, unless another "required"
> > +          property to uniquely identify the OPP nodes exists. Devices like power
> > +          domains must have another (implementation dependent) property.
> > +
> > +      opp-peak-kBps:
> > +        description:
> > +          Peak bandwidth in kilobytes per second, expressed as an array of
> > +          32-bit big-endian integers. Each element of the array represents the
> > +          peak bandwidth value of each interconnect path. The number of elements
> > +          should match the number of interconnect paths.
> > +        minItems: 1
> > +        maxItems: 32  # Should be enough
>
> Can we move this down, closer to opp-avg-kBps ?

Sure.

> > +
> > +      opp-microvolt:
> > +        description: |
> > +          Voltage for the OPP
> > +
> > +          A single regulator's voltage is specified with an array of size one or three.
> > +          Single entry is for target voltage and three entries are for <target min max>
> > +          voltages.
> > +
> > +          Entries for multiple regulators shall be provided in the same field separated
> > +          by angular brackets <>. The OPP binding doesn't provide any provisions to
> > +          relate the values to their power supplies or the order in which the supplies
> > +          need to be configured and that is left for the implementation specific
> > +          binding.
> > +
> > +          Entries for all regulators shall be of the same size, i.e. either all use a
> > +          single value or triplets.
> > +        minItems: 1
> > +        maxItems: 8
>
> For consistency with rest of the doc, maybe add
>
> # Should be enough regulators
>
> > +        items:
> > +          minItems: 1
> > +          maxItems: 3
> > +
> > +      opp-microamp:
> > +        description: |
> > +          The maximum current drawn by the device in microamperes considering
> > +          system specific parameters (such as transients, process, aging,
> > +          maximum operating temperature range etc.) as necessary. This may be
> > +          used to set the most efficient regulator operating mode.
> > +
> > +          Should only be set if opp-microvolt(-name)? is set for the OPP.
>
> What is the significance of '?' here ?

regex. '?' means optional.

> > +          Entries for multiple regulators shall be provided in the same field
> > +          separated by angular brackets <>. If current values aren't required
> > +          for a regulator, then it shall be filled with 0. If current values
> > +          aren't required for any of the regulators, then this field is not
> > +          required. The OPP binding doesn't provide any provisions to relate the
> > +          values to their power supplies or the order in which the supplies need
> > +          to be configured and that is left for the implementation specific
> > +          binding.
> > +        minItems: 1
> > +        maxItems: 8   # Should be enough regulators
> > +        items:
> > +          minItems: 1
> > +          maxItems: 3

Actually, I need to drop these 3 lines as opp-microamp doesn't have a
range like opp-microvolt.

>
> Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
>
> --
> viresh

      reply	other threads:[~2021-06-24 14:00 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-23 23:07 [PATCH 0/2] dt-bindings: Convert OPP bindings to DT schema Rob Herring
2021-06-23 23:07 ` [PATCH 1/2] dt-bindings: Clean-up OPP binding node names in examples Rob Herring
2021-06-24  4:07   ` Viresh Kumar
2021-06-23 23:07 ` [PATCH 2/2] dt-bindings: opp: Convert to DT schema Rob Herring
2021-06-24  4:32   ` Viresh Kumar
2021-06-24 14:00     ` Rob Herring [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAL_JsqJZf-i_utyar46aa0AD4fJBi1PeUHqm8cyk28GMSEtbDw@mail.gmail.com \
    --to=robh@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=djakov@kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=leonard.crestez@nxp.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mripard@kernel.org \
    --cc=nm@ti.com \
    --cc=s.hauer@pengutronix.de \
    --cc=sboyd@kernel.org \
    --cc=shawnguo@kernel.org \
    --cc=tiny.windzz@gmail.com \
    --cc=viresh.kumar@linaro.org \
    --cc=vireshk@kernel.org \
    --cc=wens@csie.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).