linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Andrew Davis <afd@ti.com>
Cc: Romain Naour <romain.naour@smile.fr>,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-omap@vger.kernel.org, conor+dt@kernel.org,
	krzk+dt@kernel.org, kristo@kernel.org, vigneshr@ti.com,
	nm@ti.com, Romain Naour <romain.naour@skf.com>
Subject: Re: [PATCH v5 1/2] dt-bindings: mfd: syscon: Add ti,j721e-acspcie-proxy-ctrl compatible
Date: Fri, 10 Jan 2025 11:35:31 -0600	[thread overview]
Message-ID: <20250110173531.GA3025883-robh@kernel.org> (raw)
In-Reply-To: <3e8ccd7d-0bc1-4ccb-8446-c9d10efbc969@ti.com>

On Fri, Jan 10, 2025 at 10:17:15AM -0600, Andrew Davis wrote:
> On 1/10/25 9:35 AM, Rob Herring wrote:
> > On Fri, Jan 10, 2025 at 11:03:30AM +0100, Romain Naour wrote:
> > > From: Romain Naour <romain.naour@skf.com>
> > > 
> > > The ACSPCIE_PROXY_CTRL registers within the CTRL_MMR space of TI's J721e
> > > SoC are used to drive the reference clock to the PCIe Endpoint device via
> > > the PAD IO Buffers. Add the compatible for allowing the PCIe driver to
> > > obtain the regmap for the ACSPCIE_CTRL register within the System
> > > Controller device-tree node in order to enable the PAD IO Buffers.
> > > 
> > > Using the ti,j721e-acspcie-proxy-ctrl compatible imply to use "Proxy1"
> > > address (1A090h) instead of "Proxy0" (18090h) to access
> > > CTRLMMR_ACSPCIE0_CTRL register:
> > > 
> > >    CTRLMMR_ACSPCIE0_CTRL Register (Proxy0 Offset = 18090h; Proxy1 Offset = 1A090h)
> > > 
> > > "Proxy0" is used as the default access path that can be locked with the
> > > help of "CTRLMMR_LOCK0_KICK0" and "CTRLMMR_LOCK0_KICK1" registers.
> > > 
> > > The Technical Reference Manual for J721e SoC with details of the
> > > ASCPCIE_CTRL registers is available at:
> > > https://www.ti.com/lit/zip/spruil1
> > > 
> > > Signed-off-by: Romain Naour <romain.naour@skf.com>
> > > ---
> > > v5:
> > >    - Add missing change to the J721e system controller binding
> > >      to avoid DT check warning when the new acspcie0_proxy_ctrl (syscon)
> > >      will be added to J721e system controller node (Andrew Davis).
> > > 
> > >    https://lore.kernel.org/linux-devicetree/90f47fae-a493-471d-8fe6-e7df741161be@ti.com/
> > > 
> > >    - Explain why "Proxy1" address (1A090h) should be used while using
> > >      ti,j721e-acspcie-proxy-ctrl compatible (Siddharth Vadapalli).
> > > 
> > >    https://lore.kernel.org/linux-devicetree/begojbvvrpyjfr3pye7mqwiw73ucw5ynepdfujssr4jx4vs33a@pwahnph3qesl/
> > > 
> > > v4: Add missing change in the second list (From Andrew Davis) [1]
> > >    Rebase after the ti,j784s4-acspcie-proxy-ctrl compatible fix [2]
> > >    [1] https://lore.kernel.org/linux-devicetree/20250103174524.28768-1-afd@ti.com/
> > >    [2] https://lore.kernel.org/linux-devicetree/20250103174524.28768-2-afd@ti.com/
> > > 
> > > v3: new commit
> > > ---
> > >   Documentation/devicetree/bindings/mfd/syscon.yaml           | 2 ++
> > >   .../bindings/soc/ti/ti,j721e-system-controller.yaml         | 6 ++++++
> > >   2 files changed, 8 insertions(+)
> > > 
> > > diff --git a/Documentation/devicetree/bindings/mfd/syscon.yaml b/Documentation/devicetree/bindings/mfd/syscon.yaml
> > > index 0e68c69e7bc9..1f3e67f432e7 100644
> > > --- a/Documentation/devicetree/bindings/mfd/syscon.yaml
> > > +++ b/Documentation/devicetree/bindings/mfd/syscon.yaml
> > > @@ -115,6 +115,7 @@ select:
> > >             - ti,am625-dss-oldi-io-ctrl
> > >             - ti,am62p-cpsw-mac-efuse
> > >             - ti,am654-dss-oldi-io-ctrl
> > > +          - ti,j721e-acspcie-proxy-ctrl
> > >             - ti,j784s4-acspcie-proxy-ctrl
> > >             - ti,j784s4-pcie-ctrl
> > >             - ti,keystone-pllctrl
> > > @@ -213,6 +214,7 @@ properties:
> > >             - ti,am625-dss-oldi-io-ctrl
> > >             - ti,am62p-cpsw-mac-efuse
> > >             - ti,am654-dss-oldi-io-ctrl
> > 
> > > +          - ti,j721e-acspcie-proxy-ctrl
> > >             - ti,j784s4-acspcie-proxy-ctrl
> > 
> > How do these 2 compare? Are they compatible?
> > 
> 
> Yes, they are 100% identical and compatible, but we were told
> to make a new string anyway.. [0]
> 
> [0] https://lore.kernel.org/all/1bfdf1f1-7542-4149-a85d-2ac4b659b26b@kernel.org/

Then you should have:

"ti,j721e-acspcie-proxy-ctrl", "ti,j784s4-acspcie-proxy-ctrl", "syscon"

> 
> 
> > >             - ti,j784s4-pcie-ctrl
> > >             - ti,keystone-pllctrl
> > > diff --git a/Documentation/devicetree/bindings/soc/ti/ti,j721e-system-controller.yaml b/Documentation/devicetree/bindings/soc/ti/ti,j721e-system-controller.yaml
> > > index 378e9cc5fac2..16929218d611 100644
> > > --- a/Documentation/devicetree/bindings/soc/ti/ti,j721e-system-controller.yaml
> > > +++ b/Documentation/devicetree/bindings/soc/ti/ti,j721e-system-controller.yaml
> > > @@ -68,6 +68,12 @@ patternProperties:
> > >       description:
> > >         The node corresponding to SoC chip identification.
> > > +  "^syscon@[0-9a-f]+$":
> > > +    type: object
> > > +    $ref: /schemas/mfd/syscon.yaml#
> > > +    description:
> > > +      This is the ASPCIe control region.
> > 
> > So this is a syscon child of a syscon. The primary reason for 'syscon'
> > compatible is to create a regmap. Why can't you use the parent's syscon?
> > 
> 
> The parent node will not be a syscon soon. We made this whole bus a "syscon"
> so we could just poke any register we wanted which was a hacky solution we
> want to fix. The parent will be converted into a normal "simple-bus".

Sigh... And that can be done without ABI breakage?

> Most of the IP in this region can be described using normal DT devices,
> but there are still just a couple registers like this where we need a raw
> syscon (or we could make a proper device driver for these registers, but
> that might be excessive, instead seems easy enough to just poke them
> directly from the PCIe driver).

Given it was already a syscon, keeping that is fine.

Rob


      reply	other threads:[~2025-01-10 17:38 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-10 10:03 [PATCH v5 1/2] dt-bindings: mfd: syscon: Add ti,j721e-acspcie-proxy-ctrl compatible Romain Naour
2025-01-10 10:03 ` [PATCH v5 2/2] arm64: dts: ti: k3-j721e-beagleboneai64: Enable ACSPCIE output for PCIe1 Romain Naour
2025-01-10 15:35 ` [PATCH v5 1/2] dt-bindings: mfd: syscon: Add ti,j721e-acspcie-proxy-ctrl compatible Rob Herring
2025-01-10 16:17   ` Andrew Davis
2025-01-10 17:35     ` 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=20250110173531.GA3025883-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=afd@ti.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=kristo@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=romain.naour@skf.com \
    --cc=romain.naour@smile.fr \
    --cc=vigneshr@ti.com \
    /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).