public inbox for linux-kernel@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox