On Tue, 2015-05-05 at 16:02 -0500, Liberman Igal-B31950 wrote:
> 
> 
> Regards,
> Igal Liberman.
> 
> > -----Original Message-----
> > From: Wood Scott-B07421
> > Sent: Saturday, May 02, 2015 2:43 AM
> > To: Liberman Igal-B31950
> > Cc: devicet...@vger.kernel.org; linuxppc-dev@lists.ozlabs.org; Tang
> > Yuantian-B29983
> > Subject: Re: [v3] dt/bindings: qoriq-clock: Add binding for FMan clock mux
> > 
> > On Thu, 2015-04-30 at 09:28 -0500, Liberman Igal-B31950 wrote:
> > > > -----Original Message-----
> > > > From: Wood Scott-B07421
> > > > Sent: Thursday, April 30, 2015 3:31 AM
> > > > To: Liberman Igal-B31950
> > > > Cc: devicet...@vger.kernel.org; linuxppc-dev@lists.ozlabs.org; Tang
> > > > Yuantian-B29983
> > > > Subject: Re: [v3] dt/bindings: qoriq-clock: Add binding for FMan
> > > > clock mux
> > > >
> > > > On Wed, 2015-04-22 at 05:47 -0500, Liberman Igal-B31950 wrote:
> > > > > We have 2 cases:
> > > > >       - Devices (T2/T4/B4) with CLKCG1HWACSR register.
> > > > >       - Devices (Pxxxx, T1) without CLKCG1HWACSR register (Pxxxx
> > > > devices
> > > > > have many options, T1 has only one option)
> > > > >
> > > > > For the first group, we can have " qoriq-hwacsr" property in the clock
> > node.
> > > >
> > > > No, we're not going to describe every register with its own property.
> > > > Describe the chip and let the driver be the place with the knowledge
> > > > of what each chip is like.
> > > >
> > >
> > > I think that FMan clock mux (as we defined it) is similar to other muxes
> > available in our SoC.
> > 
> > I realize that.  I'm saying the way we described existing muxes seems to be 
> > a
> > mistake.  We're putting too much complexity in the device tree.
> > Better to put the complexity in a place that isn't stable ABI.
> > 
> > > If we take T4 as example, it has 3 muxes defined in the device tree (mux0,
> > mux1 and mux2).
> > > Each mux has its own reg property (and clock providers).
> > >   mux2: mux2@40 {
> > >           #clock-cells = <0>;
> > >           reg = <0x40 0x4>;
> > >           compatible = "fsl,qoriq-core-mux-2.0";
> > >           clocks = <&pll3 0>, <&pll3 1>, <&pll3 2>,
> > >                   <&pll4 0>, <&pll4 1>, <&pll4 2>;
> > >           clock-names = "pll3", "pll3-div2", "pll3-div4",
> > >                   "pll4", "pll4-div2", "pll4-div4";
> > >           clock-output-names = "cmux2";
> > >   };
> > >
> > > I agree that "fm1-clk-mux" need to be moved from the "guts" node to
> > "clockgen" node.
> > 
> > That's not what I was saying.  I'm saying get rid of the node entirely, in 
> > favor
> > of having the clockgen node itself be a clock source with multiple post-mux
> > outputs.
> > 
> 
> Scott,
> Currently the clockgen node has a number of sub nodes (platform clock, 
> sysclock, PLLs and muxes, the number of muxes/PLLs is SoC dependent).
> The clockgen node has reg property, however, all other nodes have reg 
> property too (The clockgen points to the clocking block address and the sub 
> nodes point to the specific register in the clock block).
> Do you want to change this structure completely?

Yes, I want to change it completely (while ensuring the kernel still
works, albeit without new functionality, with older device trees).

> I'm not sure I understand the exact way you want see those nodes (in the 
> final state).

Something like:

clockgen: global-utilities@e1000 {
        compatible = "fsl,<whatever>-clockgen";
        clock-frequency = <...>;
        reg = <0xe1000 0x1000>;
        #clock-cells = <2>;
};

cpu0: PowerPC,e6500@0 {
        device_type = "cpu";
        reg = <0 1>;
        clocks = <&clockgen 0 0>;
        next-level-cache = <&L2_1>;
        fsl,portid-mapping = <0x80000000>;
};


cpu4: PowerPC,e6500@0 {
        device_type = "cpu";
        reg = <4 5>;
        clocks = <&clockgen 0 1>;
        next-level-cache = <&L2_1>;
        fsl,portid-mapping = <0x80000000>;
};

fman@... {
        ...
        clocks = <&clockgen 1 0>;
        ...
};

...with the clockgen binding explaining the format of the clock
specifier, and the clockgen driver containing the chip-specific muxing
details.

-Scott


_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to