Re: [PATCH RESEND V2 1/3] clocksource/drivers/sysctr: Add optional clock-frequency property

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Anson,

On 27/06/2019 10:11, Anson Huang wrote:
> Hi, Daniel
> 
>> On 27/06/2019 02:43, Anson Huang wrote:
>>> Hi, Daniel
>>>
>>>> On 26/06/2019 03:42, Anson Huang wrote:
>>>>> Hi, Daniel
>>>>>
>>>>>> On 23/06/2019 14:38, Anson.Huang@xxxxxxx wrote:
>>>>>>> From: Anson Huang <Anson.Huang@xxxxxxx>
>>>>>>>
>>>>>>> Systems which use platform driver model for clock driver require
>>>>>>> the clock frequency to be supplied via device tree when system
>>>>>>> counter driver is enabled.
>>>>>>>
>>>>>>> This is necessary as in the platform driver model the of_clk
>>>>>>> operations do not work correctly because system counter driver is
>>>>>>> initialized in early phase of system boot up, and clock driver
>>>>>>> using platform driver model is NOT ready at that time, it will
>>>>>>> cause system counter driver initialization failed.
>>>>>>>
>>>>>>> Add the optinal clock-frequency to the device tree bindings of the
>>>>>>> NXP system counter, so the frequency can be handed in and the
>>>>>>> of_clk operations can be skipped.
>>>>>>
>>>>>> Isn't it possible to create a fixed-clock and refer to it? So no
>>>>>> need to create a specific action before calling timer_of_init() ?
>>>>>>
>>>>>
>>>>> As the clock must be ready before the TIMER_OF_DECLARE, so adding a
>>>>> CLK_OF_DECLARE_DRIVER in clock driver to ONLY register a fixed-clock?
>>>>> The system counter's frequency are different on different platforms,
>>>>> so adding fixed clock in system counter driver is NOT a good idea,
>>>>> ONLY the DT node or the clock driver can create this fixed clock
>>>>> according to
>>>> platforms, can you advise where to create this fixed clock is better?
>>>>
>>>> Can you point me to a DT with the "nxp,sysctr-timer" ?
>>>
>>> The DT node of system counter is new added in 3/3 of this patch
>>> series, also can be found from below link:
>>> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatc
>>>
>> hwork.kernel.org%2Fpatch%2F11011703%2F&amp;data=02%7C01%7Canson.
>> huang%
>>>
>> 40nxp.com%7C8b9519ecceb346712be808d6fad675e4%7C686ea1d3bc2b4c6f
>> a92cd99
>>>
>> c5c301635%7C0%7C0%7C636972196338405582&amp;sdata=sOQQzDFxoCqe
>> VuHFuYPHh
>>> F8Bdj2Zu9WS7Go%2FV9lrWa8%3D&amp;reserved=0
>>
>> Sorry, I was unclear. I meant a patch with the timer defined using a clock as
>> defined currently in the binding (no clock-frequency).
> 
> OK, for i.MX8MM, we use clocks, check below patch series:
> 
> https://patchwork.kernel.org/patch/11008519/
> 
> code piece as below:
> 
> +			system_counter: timer@306a0000 {
> +				compatible = "nxp,sysctr-timer";
> +				reg = <0x306a0000 0x30000>;
> +				interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
> +					     <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
> +				clocks = <&clk IMX8MM_CLK_SYS_CTR>;
> +				clock-names = "per";
> +			};

Thanks,

The fixed-clock can help to keep the code and the DT definition for the
timer untouched as the 'clocks' above will refer to it. But that means
we describe a fake clock. So it is up to you to decide if you want to
stick the clock-frequency or use a fixed-clock.




-- 
 <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux