Re: [PATCH v6 04/41] clk: davinci: Add platform information for TI DA850 PLL

From: Sekhar Nori
Date: Fri Feb 02 2018 - 03:24:29 EST


On Friday 02 February 2018 12:34 AM, David Lechner wrote:
> On 02/01/2018 02:58 AM, Sekhar Nori wrote:
>> On Saturday 20 January 2018 10:43 PM, David Lechner wrote:
>>> This adds platform-specific declarations for the PLL clocks on TI DA850/
>>> OMAP-L138/AM18XX SoCs.
>>>
>>> Signed-off-by: David Lechner <david@xxxxxxxxxxxxxx>
>>
>>> +static const struct davinci_pll_clk_info da850_pll1_info __initconst
>>> = {
>>> +ÂÂÂ .name = "pll1",
>>> +ÂÂÂ .unlock_reg = CFGCHIP(3),
>>> +ÂÂÂ .unlock_mask = CFGCHIP3_PLL1_MASTER_LOCK,
>>
>> I guess this will change with the cfgchip handling discussion last week.
>
> Actually no, there really weren't any changes to the clock drivers because
> of this change. Only a small change in mach-davinci.
>
>>
>>> +ÂÂÂ .pllm_mask = GENMASK(4, 0),
>>> +ÂÂÂ .pllm_min = 4,
>>> +ÂÂÂ .pllm_max = 32,
>>> +ÂÂÂ .pllout_min_rate = 300000000,
>>> +ÂÂÂ .pllout_max_rate = 600000000,
>>> +ÂÂÂ .flags = PLL_HAS_POSTDIV,
>>> +};
>>> +
>>
>> [...]
>>
>>> +void __init da850_pll_clk_init(void __iomem *pll0, void __iomem *pll1)
>>> +{
>>> +ÂÂÂ const struct davinci_pll_sysclk_info *info;
>>> +
>>> +ÂÂÂ davinci_pll_clk_register(&da850_pll0_info, "ref_clk", pll0);
>>> +
>>> +ÂÂÂ davinci_pll_auxclk_register("pll0_auxclk", pll0);
>>> +
>>> +ÂÂÂ for (info = da850_pll0_sysclk_info; info->name; info++)
>>> +ÂÂÂÂÂÂÂ davinci_pll_sysclk_register(info, pll0);
>>> +
>>> +ÂÂÂ davinci_pll_obsclk_register(&da850_pll0_obsclk_info, pll0);
>>> +
>>> +ÂÂÂ davinci_pll_clk_register(&da850_pll1_info, "oscin", pll1);
>>
>> Both PLL0 and PLL1 use the same reference clock. So this should be
>> "ref_clk". I dont think we ever need to register a clock called oscin
>> along with "ref_clk". There is only one reference clock. It can either
>> be obtained using internal oscillator or external oscillator.
>>
>
> As per my response to the previous path, this depends on which both
> which SoC and which diagram in the TRM for that SoC you are looking at.
> It works either way.

I see the distinction you are making between clock inputs to the two
PLLs now. A comment somewhere (probably in pll.c) should do it.

Thanks,
Sekhar