lkml.org 
[lkml]   [2024]   [May]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v3 3/6] dt-bindings: clock: imx8mp: Add reset-controller sub-node
On Fri, May 17, 2024 at 06:13:21PM +0100, Conor Dooley wrote:
> On Fri, May 17, 2024 at 01:10:05PM -0400, Frank Li wrote:
> > On Fri, May 17, 2024 at 05:21:32PM +0100, Conor Dooley wrote:
> > > On Thu, May 16, 2024 at 11:56:27PM -0400, Frank Li wrote:
> > >
> > > > Look like it is easy to register auxdev "reset" devices. But I have a
> > > > problem. How to use it by DT phandle? "reset" devices is service provider.
> > > > Some client will use it.
> > > >
> > > > Generally, reset node will used by other devices nodes. like
> > > >
> > > > ABC: reset {
> > > > compatible="simple-reset";
> > > > ...
> > > > }
> > > >
> > > > other node will use "reset = <&ABC 0>". If use auxdev, how to get &ABC
> > > > in dts file.
> > >
> > > Whether or not you use auxdev or any other method etc, does not matter
> > > in a DT system, the consumer will always have a phandle to the provider
> > > node:
> > >
> > > ABC: whatever {
> > > compatible = "whatever";
> > > #clock-cells = <...>;
> > > #reset-cells = <...>;
> > > }
> > >
> > > something-else {
> > > clocks = <&ABC ...>;
> > > resets = <&ABC ...>;
> > > }
> >
> >
> > It goes back to old problem, "reset-cells" will be in "clock-controller".
> >
> > clock-controller@30e20000 {
> > compatible = "fsl,imx8mp-audio-blk-ctrl", "syscon", "simple-mfd";
> > reg = <0x30e20000 0x10000>;
> > ...
> >
> > #reset-cells = <...>;
> > ^^^
> > };
> >
> > If create new "whatever" auxdev bus driver which included two aux devices,
> > (clock and reset).
> >
> > it will be similar with mfd. Still need change
> > clock-controller@30e20000 drivers.
> >
> > "Which is I suspect is gonna require a change to your clock driver,
> > because the range in the existing clock nodes:
> > audio_blk_ctrl: clock-controller@30e20000 {
> > compatible = "fsl,imx8mp-audio-blk-ctrl";
> > reg = <0x30e20000 0x10000>;
> > };
> > would then have to move to the mfd parent node, and your clock child
> > would have a reg property that overlaps the reset region. You'd need to
> > then define a new binding that splits the range in two - obviously
> > doable, but significantly more work and more disruptive than using an
> > auxdev."
> >
> > So I don't know why auxdev will be better than mfd.
>
> I think Stephen and I have spent enough time trying to explain why using
> auxdev is beneficial here. I, at least, won't be wasting any more of my
> (metaphorical) breath.

Thanks for your time. After I did more rearch, especially read your
previous patch:
https://lore.kernel.org/linux-clk/20240424-strangle-sharpener-34755c5e6e3e@spud/

I have better view about auxdev.

Frank

>
> > A possible benefit may be that Auxdev needn't binding doc for clock and
> > reset node devices.
>



\
 
 \ /
  Last update: 2024-05-17 21:25    [W:0.064 / U:0.108 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site