[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8b763492-b2b3-93d3-9801-2f2f0ec90241@lucaceresoli.net>
Date: Thu, 3 Jun 2021 10:44:57 +0200
From: Luca Ceresoli <luca@...aceresoli.net>
To: Stephen Boyd <sboyd@...nel.org>, linux-clk@...r.kernel.org
Cc: Michael Turquette <mturquette@...libre.com>,
linux-kernel@...r.kernel.org, Adam Ford <aford173@...il.com>
Subject: Re: [PATCH RESEND] clk: vc5: fix output disabling when enabling a FOD
Hi Stephen,
On 02/06/21 10:00, Stephen Boyd wrote:
> Quoting Luca Ceresoli (2021-05-27 14:16:47)
>> On 5P49V6965, when an output is enabled we enable the corresponding
>> FOD. When this happens for the first time, and specifically when writing
>> register VC5_OUT_DIV_CONTROL in vc5_clk_out_prepare(), all other outputs
>> are stopped for a short time and then restarted.
>>
>> According to Renesas support this is intended: "The reason for that is VC6E
>> has synced up all output function".
>>
>> This behaviour can be disabled at least on VersaClock 6E devices, of which
>> only the 5P49V6965 is currently implemented by this driver. This requires
>> writing bit 7 (bypass_sync{1..4}) in register 0x20..0x50. Those registers
>> are named "Unused Factory Reserved Register", and the bits are documented
>> as "Skip VDDO<N> verification", which does not clearly explain the relation
>> to FOD sync. However according to Renesas support as well as my testing
>> setting this bit does prevent disabling of all clock outputs when enabling
>> a FOD.
>>
>> See "VersaClock ® 6E Family Register Descriptions and Programming Guide"
>> (August 30, 2018), Table 116 "Power Up VDD check", page 58:
>> https://www.renesas.com/us/en/document/mau/versaclock-6e-family-register-descriptions-and-programming-guide
>>
>> Signed-off-by: Luca Ceresoli <luca@...aceresoli.net>
>> Reviewed-by: Adam Ford <aford173@...il.com>
>>
>> ---
>
> Any Fixes tag for this patch?
I didn't add any as there is no commit that is clearly introducing the
problem. This patch fixes a behavior of the chip, which is there by
design by causes problems in some use cases.
If a Fixes tag is required than I guess it should be the commit adding
support for the 5P49V6965, which is the only supported variant of VC[56]
having having the problematic behavior _and_ the reserved register bits
to prevent it. However I hardly could blame the author of that code for
such a "peculiar" chip behaviour. Do you still want me to add such a tag?
--
Luca
Powered by blists - more mailing lists