All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Marangi <ansuelsmth@gmail.com>
To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Andy Gross <agross@kernel.org>,
	Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konrad.dybcio@somainline.org>,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>,
	Alexey Dobriyan <adobriyan@gmail.com>,
	Takashi Iwai <tiwai@suse.de>,
	Christian Brauner <brauner@kernel.org>,
	Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
	Marc Herbert <marc.herbert@intel.com>,
	James Smart <jsmart2021@gmail.com>,
	Justin Tee <justin.tee@broadcom.com>,
	Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org
Subject: Re: [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
Date: Sat, 17 Sep 2022 22:58:10 +0200	[thread overview]
Message-ID: <63265f52.050a0220.93255.3a4c@mx.google.com> (raw)
In-Reply-To: <7F54CF10-F2EF-46C6-B291-9339FE5D10E4@linaro.org>

On Sat, Sep 17, 2022 at 11:46:23PM +0300, Dmitry Baryshkov wrote:
> 
> 
> On 17 September 2022 22:44:00 GMT+03:00, Christian Marangi <ansuelsmth@gmail.com> wrote:
> >On Sat, Sep 17, 2022 at 08:57:44PM +0200, Christian Marangi wrote:
> >> On Sat, Sep 17, 2022 at 04:45:21PM +0300, Dmitry Baryshkov wrote:
> >> > On Sat, 17 Sept 2022 at 00:54, Christian Marangi <ansuelsmth@gmail.com> wrote:
> >> > >
> >> > > On Fri, Sep 16, 2022 at 11:31:49PM +0300, Dmitry Baryshkov wrote:
> >> > > > On Fri, 16 Sept 2022 at 23:27, Christian Marangi <ansuelsmth@gmail.com> wrote:
> >> > > > >
> >> > > > > On Fri, Sep 16, 2022 at 11:22:17PM +0300, Dmitry Baryshkov wrote:
> >> > > > > > On Fri, 16 Sept 2022 at 23:13, Christian Marangi <ansuelsmth@gmail.com> wrote:
> >> > > > > > >
> >> > > > > > > On Fri, Sep 16, 2022 at 11:06:35PM +0300, Dmitry Baryshkov wrote:
> >> > > > > > > > On Fri, 16 Sept 2022 at 22:43, Christian Marangi <ansuelsmth@gmail.com> wrote:
> >> > > > > > > > >
> >> > > > > > > > > On Fri, Sep 16, 2022 at 02:17:15PM -0500, Rob Herring wrote:
> >> > > > > > > > > > On Wed, Sep 14, 2022 at 04:22:53PM +0200, Christian Marangi wrote:
> >> > > > > > > > > > > Convert kpss-acc driver Documentation to yaml.
> >> > > > > > > > > > > The original Documentation was wrong all along. Fix it while we are
> >> > > > > > > > > > > converting it.
> >> > > > > > > > > > > The example was wrong as kpss-acc-v2 should only expose the regs but we
> >> > > > > > > > > > > don't have any driver that expose additional clocks. The kpss-acc driver
> >> > > > > > > > > > > is only specific to v1. For this exact reason, limit all the additional
> >> > > > > > > > > > > bindings (clocks, clock-names, clock-output-names and #clock-cells) to
> >> > > > > > > > > > > v1 and also flag that these bindings should NOT be used for v2.
> >> > > > > > > > > >
> >> > > > > > > > > > Odd that a clock controller has no clocks, but okay.
> >> > > > > > > > > >
> >> > > > > > > > >
> >> > > > > > > > > As said in the commit v2 is only used for regs. v2 it's only used in
> >> > > > > > > > > arch/arm/mach-qcom/platsmp.c to setup stuff cpu hotplug and bringup.
> >> > > > > > > > >
> >> > > > > > > > > Should we split the 2 driver? To me the acc naming seems to be just
> >> > > > > > > > > recycled for v2 and it's not really a clk controller.
> >> > > > > > > > >
> >> > > > > > > > > So keeping v2 in arm/msm/qcom,kpss-acc-v2.yaml and v1 moved to clock?
> >> > > > > > > >
> >> > > > > > > > I suspect that qcom,kpss-acc-v2 is misnamed as the "clock-controller".
> >> > > > > > > > According to msm-3.10, these regions are used by the Krait core
> >> > > > > > > > regulators.
> >> > > > > > > >
> >> > > > > > >
> >> > > > > > > Well we need to understand how to handle this... change the compatible
> >> > > > > > > it's a nono for sure. In platsmp.c they are used for cpu power control
> >> > > > > > > so could be that they are actually used to regulators. I would honestly
> >> > > > > > > move v1 to clock and leave v2 to arm/msm but I'm not cetain on what name
> >> > > > > > > to assign to the 2 yaml.
> >> > > > > > >
> >> > > > > > > What do you think?
> >> > > > > >
> >> > > > > > This is fine for me. If somebody gets better understanding of
> >> > > > > > underlying hardware and works on actually using these blocks, he will
> >> > > > > > update the bindings.
> >> > > > > >
> >> > > > > > My only suggestion would be to rename kpss-acc-v2 nodes to
> >> > > > > > 'power-controller@address' and document them so.
> >> > > > > >
> >> > > > >
> >> > > > > Ok so something like this?
> >> > > > >
> >> > > > >     power-controller@f9088000 {
> >> > > > >       compatible = "qcom,kpss-acc-v2";
> >> > > > >       reg = <0xf9088000 0x1000>,
> >> > > > >             <0xf9008000 0x1000>;
> >> > > > >     };
> >> > > > >
> >> > > > > (and I will have to fix dtbs warning as they will be unmatched I think.)
> >> > > > > Yaml naming:
> >> > > > > qcom,kpss-acc-v1.yaml
> >> > > > > qcom,kpss-acc-v2.yaml
> >> > > > > Right?
> >> > > >
> >> > > > Sounds good to me.
> >> > > >
> >> > > > I'd even say clock/qcom,kpss-acc-v1.yaml and
> >> > > > arm/msm/qcom,kpss-acc-v2.yaml or maybe power/qcom,kpss-acc-v2.yaml
> >> > > >
> >> > >
> >> > > Wonder if the gcc driver should have the same tretement? It's also a
> >> > > clock-controller driver that doesn't use clock at all... Do you have
> >> > > some info about it?
> >> > 
> >> > As far as I understand, the kpss-gcc is a normal clock controller,
> >> > isn't it? It provides clocks to other devices.
> >> > 
> >> 
> >> Hi again... Having acc-v2 as power-controller would require to set
> >> #power-domain-cells = <0>;
> 
> Why? I don't think so. Rob/Krzysztof, please correct me if I'm wrong.
> 

make dtbs_check and dt_binding_check complains about that.

> >> 
> >> Would that be acceptable? Considering it wouldn't expose any PM domain?
> >> 
> >> About kpss-gcc we have some device that for some reason doesn't have the
> >> required clocks defined in the dts. I checked the related gcc and no PXO
> >> defined and no pll8_vote clock defined. (the affected dts are all listed
> >> in the related Documentation)
> >> 
> >> No idea how they currently work with the kpss-gcc driver as these
> >> parents are missing. Guess the driver just fails to probe?
> >> So this was the question if you had more info about it... since to me it
> >> seems just another gcc v2 that doesn't expose clocks but it's just a
> >> power-controller just like acc-v2. 
> >> 
> >> -- 
> >> 	Ansuel
> >
> >(Also sorry for the double email)
> >I'm checking the regs for apq8084 for example (from the dtsi)
> >Are we really sure they are power-controller?
> 
> It looks like it's a regularor on steroids. See krait-regulator.c and corresponding bindings in msm-3.10/3.14. So I'd use either the regulator or the power-controller (with significant bias towards controller)
> 

Ok so on that platform they are both power-controller(saw and acc)...
Think we only need to understand about the binding power-domain-cells
binding...

Will check the driver and binding on msm-3.10

> >Checking the regs it seems they just changed the location and they
> >placed clock-controller and right after the power-controller.
> >So one can get confused and say that 0xf9... can be all related to power
> >controller. I posted the regs for reference.
> >
> >acc0 0xf9088000 0x1000
> >saw0 0xf9089000 0x1000
> >
> >acc1 0xf9098000 0x1000
> >saw1 0xf9099000 0x1000
> >
> >acc2 0xf90a8000 0x1000
> >saw2 0xf90b9000 0x1000
> >
> >Anyway while at it there seems to be a bit of confusion about the naming
> >here... We have on ipq8064 and ipq4019 the saw node set as regulator and
> >with the regulator binding but on msm8974 and apq8084 the saw node set
> >as power-controller (with the l2 node with the regulator binding).
> >
> >Think we should chose a name and fix every dts.
> >So the main question here is...
> >Should we keep acc as clock-controller or change it to power-controller
> >(for v2)?
> >
> >Should we change saw node to regulator or power-controller?
> >
> >From what I know acc are used to enable the cpu so it seems sane to keep
> >them as clock-controller (even if v2 doesn't export clock)
> >Saw node handle power (and in theory even low power state) so it seems
> >sane to change them to power-controller.
> >
> >Currently we have no warning for saw node as they are not converted to
> >yaml but as soon as someone convert the txt to yaml then we will have
> >all sort of inconsistency so better take a decision now instead of
> >convert saw to yaml and then change acc node again to fix them for good.
> 
> 
> The saw is definitely a bigger thing than just a regularor (or a set of them). It is used to control pmics, it handles low-power states, so `power-controller'.
> 
> -- 
> With best wishes
> Dmitry

-- 
	Ansuel

  reply	other threads:[~2022-09-17 23:59 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-14 14:22 [PATCH v5 0/5] Krait Documentation conversion Christian Marangi
2022-09-14 14:22 ` [PATCH v5 1/5] dt-bindings: clock: Convert qcom,krait-cc to yaml Christian Marangi
2022-09-14 14:22 ` [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation " Christian Marangi
2022-09-14 16:47   ` Rob Herring
2022-09-14 16:54     ` Christian Marangi
2022-09-16 19:17   ` Rob Herring
2022-09-16 19:42     ` Christian Marangi
2022-09-16 20:06       ` Dmitry Baryshkov
2022-09-16 20:13         ` Christian Marangi
2022-09-16 20:22           ` Dmitry Baryshkov
2022-09-16 20:27             ` Christian Marangi
2022-09-16 20:31               ` Dmitry Baryshkov
2022-09-16 21:54                 ` Christian Marangi
2022-09-17 13:45                   ` Dmitry Baryshkov
2022-09-17 18:57                     ` Christian Marangi
2022-09-17 19:44                       ` Christian Marangi
2022-09-17 20:46                         ` Dmitry Baryshkov
2022-09-17 20:58                           ` Christian Marangi [this message]
2022-09-14 14:22 ` [PATCH v5 3/5] dt-bindings: arm: msm: Rework kpss-gcc " Christian Marangi
2022-09-14 16:47   ` Rob Herring
2022-09-15  9:34   ` Krzysztof Kozlowski
2022-09-16 19:19   ` Rob Herring
2022-09-14 14:22 ` [PATCH v5 4/5] ARM: dts: qcom: fix various wrong definition for kpss-gcc node Christian Marangi
2022-12-23 10:17   ` Krzysztof Kozlowski
2022-12-23 10:17     ` Krzysztof Kozlowski
2022-09-14 14:22 ` [PATCH v5 5/5] ARM: dts: qcom: fix various wrong definition for kpss-acc Christian Marangi

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=63265f52.050a0220.93255.3a4c@mx.google.com \
    --to=ansuelsmth@gmail.com \
    --cc=adobriyan@gmail.com \
    --cc=agross@kernel.org \
    --cc=andersson@kernel.org \
    --cc=brauner@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.baryshkov@linaro.org \
    --cc=jsmart2021@gmail.com \
    --cc=justin.tee@broadcom.com \
    --cc=konrad.dybcio@somainline.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marc.herbert@intel.com \
    --cc=martin.petersen@oracle.com \
    --cc=mturquette@baylibre.com \
    --cc=pierre-louis.bossart@linux.intel.com \
    --cc=ranjani.sridharan@linux.intel.com \
    --cc=robh@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=tiwai@suse.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.