Hi Sudeep, > -----Original Message----- > From: Sudeep Holla [mailto:[email protected]] > Sent: Tuesday, May 15, 2018 2:34 AM > To: Jolly Shah <[email protected]>; [email protected]; > [email protected]; [email protected]; [email protected]; > [email protected]; [email protected]; > [email protected]; [email protected]; > [email protected]; [email protected]; [email protected]; > [email protected]; [email protected] > Cc: Sudeep Holla <[email protected]>; Rajan Vaja <[email protected]>; > [email protected]; [email protected]; > [email protected] > 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

