Hi Sudeep,

> -----Original Message-----
> From: Sudeep Holla [mailto:sudeep.ho...@arm.com]
> Sent: Tuesday, May 15, 2018 2:34 AM
> To: Jolly Shah <jol...@xilinx.com>; ard.biesheu...@linaro.org;
> mi...@kernel.org; gre...@linuxfoundation.org; m...@codeblueprint.co.uk;
> hkallwe...@gmail.com; keesc...@chromium.org;
> dmitry.torok...@gmail.com; mturque...@baylibre.com;
> sb...@codeaurora.org; michal.si...@xilinx.com; robh...@kernel.org;
> mark.rutl...@arm.com; linux-...@vger.kernel.org
> Cc: Sudeep Holla <sudeep.ho...@arm.com>; Rajan Vaja <raj...@xilinx.com>;
> linux-arm-ker...@lists.infradead.org; linux-kernel@vger.kernel.org;
> devicet...@vger.kernel.org
> Subject: Re: [PATCH v6 04/11] firmware: xilinx: Add query data API
> 
> 
> 
> On 14/05/18 20:16, Jolly Shah wrote:
> > HI Sudeep,
> >
> 
> [...]
> 
> >>
> >> Can you give more insight into this ? How will be this used ? How
> >> this aligns with data we get from DT ? I am just trying to understand
> >> how is this information split between this API and DT for example.
> >>
> >
> > This API is used to get clock information from firmware and register
> > clocks accordingly in driver. In our case, firmware maintains database
> > of all clocks available on chip. DT will provide information for off
> > chip reference clocks only. This is to avoid duplication of clocks
> > data in DT and firmware both as firmware anyways need clock data to
> > manage them.
> >
> 
> I wanted to understand the difference with example. What kind of information
> you get from DT and what you get from firmware ?
> 
> --
> Regards,
> Sudeep


Below is an example showing PLL and Leaf clock derivation:

Input ref clocks->Mux->Multiplier/Divider->PLL*
Pll1/pll2/pll3/pll4->Mux->Divider->Gate->Leaf clock1

Here Off chip input ref clock information comes from DT.
Rest information for Pll/leaf clocks come from firmware using query API. For 
clock driver, query API is used to get topology, flags, parents etc information 
per clock.

Thanks,
Jolly Shah

Reply via email to