Re: [PATCH 2/2] PM / devfreq: exynos-ppmu: Update documentation to support PPMUv2

Chanwoo Choi
2015-07-23T08:02:56Z

On 07/23/2015 04:58 PM, Krzysztof Kozlowski wrote:
> On 23.07.2015 16:48, Chanwoo Choi wrote:
>> On 07/23/2015 04:37 PM, Krzysztof Kozlowski wrote:
>>> On 23.07.2015 10:57, Chanwoo Choi wrote:
>>>> This patch updates the documentation to include the information of PPMUv2.
>>>> The PPMUv2 is used for Exynos5433 and Exynos7420 to monitor the performance
>>>> of each IP in Exynos SoC.
>>>>
>>>> Cc: MyungJoo Ham <myungjoo.ham@samsung.com>
>>>> Cc: Kyungmin Park <kyungmin.park@samsung.com>
>>>> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
>>>> ---
>>>> .../bindings/devfreq/event/exynos-ppmu.txt | 42 ++++++++++++++++++++--
>>>> 1 file changed, 40 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt b/Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt
>>>> index b54bf3a2ff57..e8fa6b6a1827 100644
>>>> --- a/Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt
>>>> +++ b/Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt
>>>> @@ -11,7 +11,7 @@ to various devfreq devices. The devfreq devices would use the event data when
>>>> derterming the current state of each IP.
>>>>
>>>> Required properties:
>>>> -- compatible: Should be "samsung,exynos-ppmu".
>>>> +- compatible: Should be "samsung,exynos-ppmu" or "samsung,exynos-ppmu-v2.
>>>
>>> I have doubts about "-v2" suffix. Why not using SoCs compatible suffix?
>>> Is it related to ARM Performance Monitoring Unit v2 or maybe Samsung
>>> just labelled it v2 for marketing purposes?
>>
>> As I knew, the version of PPMU was decided by SoC designer without any dependency.
>>
>> If we prefer to use the SoC name instead of '-v2' version on compatible name,
>> we can change them as following:
>> - samsung,exynos-ppmu -> samsung,exynos4210-ppmu
>> (because Exynos4210 used the PPMU v1 for the first time)
>> - samsung,exynos-ppmu-v2 -> samsung,exynos5433-ppmu
>> (because Exynos5433 used the PPMU v2 for the first time)
>
> Does the Exynos5433 datasheet mention the "version 2"? I could not find
> such annotation in mine.

Yes, Exynos5433 datasheet don't include the detailed information of PPMU.
I check the version of PPMU on the released kernel source by System L.S.I.

>
> Krzysztof
>
>>
>> Best Regards,
>> Chanwoo Choi
>>
>>>
>>> Best regards,
>>> Krzysztof
>>>
>>>> - reg: physical base address of each PPMU and length of memory mapped region.
>>>>
>>>> Optional properties:
>>>> @@ -19,7 +19,7 @@ Optional properties:
>>>> - clocks : phandles for clock specified in "clock-names" property
>>>> - #clock-cells: should be 1.
>>>>
>>>> -Example1 : PPMU nodes in exynos3250.dtsi are listed below.
>>>> +Example1 : PPMUv1 nodes in exynos3250.dtsi are listed below.
>>>>
>>>> ppmu_dmc0: ppmu_dmc0@106a0000 {
>>>> compatible = "samsung,exynos-ppmu";
>>>> @@ -108,3 +108,41 @@ Example2 : Events of each PPMU node in exynos3250-rinato.dts are listed below.
>>>> };
>>>> };
>>>> };
>>>> +
>>>> +Example3 : PPMUv2 nodes in exynos5433.dtsi are listed below.
>>>> +
>>>> + ppmu_d0_cpu: ppmu_d0_cpu@10480000 {
>>>> + compatible = "samsung,exynos-ppmu-v2";
>>>> + reg = <0x10480000 0x2000>;
>>>> + status = "disabled";
>>>> + };
>>>> +
>>>> + ppmu_d0_general: ppmu_d0_general@10490000 {
>>>> + compatible = "samsung,exynos-ppmu-v2";
>>>> + reg = <0x10490000 0x2000>;
>>>> + status = "disabled";
>>>> + };
>>>> +
>>>> + ppmu_d0_rt: ppmu_d0_rt@104a0000 {
>>>> + compatible = "samsung,exynos-ppmu-v2";
>>>> + reg = <0x104a0000 0x2000>;
>>>> + status = "disabled";
>>>> + };
>>>> +
>>>> + ppmu_d1_cpu: ppmu_d1_cpu@104b0000 {
>>>> + compatible = "samsung,exynos-ppmu-v2";
>>>> + reg = <0x104b0000 0x2000>;
>>>> + status = "disabled";
>>>> + };
>>>> +
>>>> + ppmu_d1_general: ppmu_d1_general@104c0000 {
>>>> + compatible = "samsung,exynos-ppmu-v2";
>>>> + reg = <0x104c0000 0x2000>;
>>>> + status = "disabled";
>>>> + };
>>>> +
>>>> + ppmu_d1_rt: ppmu_d1_rt@104d0000 {
>>>> + compatible = "samsung,exynos-ppmu-v2";
>>>> + reg = <0x104d0000 0x2000>;
>>>> + status = "disabled";
>>>> + };
>>>>
>>>
>>>
>>
>>
>
>