[U-Boot] [PATCH v3 11/11] spi: cadence_qspi: Support specifying the sample edge used

Marek Vasut marex at denx.de
Tue Dec 6 13:38:53 CET 2016


On 12/06/2016 11:25 AM, Phil Edworthy wrote:
> Hi Marek,
> 
> On 05 December 2016 13:31, Marek Vasut wrote:
>> On 12/05/2016 11:46 AM, Phil Edworthy wrote:
>>> On 05 December 2016 10:42, Jagan Teki wrote:
>>>> On Mon, Dec 5, 2016 at 11:31 AM, Phil Edworthy
>>>> <phil.edworthy at renesas.com> wrote:
>>>>> On 05 December 2016 10:26, Jagan Teki wrote:
>>>>>> On Mon, Dec 5, 2016 at 11:09 AM, Phil Edworthy
>>>>>> <phil.edworthy at renesas.com> wrote:
>>>>>>> On 02 December 2016 14:23, Jagan Teki wrote:
>>>>>>>> On Tue, Nov 29, 2016 at 6:28 PM, Phil Edworthy
>>>>>>>> <phil.edworthy at renesas.com> wrote:
>>>>>>>>> Introduce a new DT property to specify whether the QSPI Controller
>>>>>>>>> samples the data on a rising edge. The default is falling edge.
>>>>>>>>> Some versions of the QSPI Controller do not implement this bit, in
>>>>>>>>> which case the property should be omitted.
>>>>>>>>>
>>>>>>>>> Signed-off-by: Phil Edworthy <phil.edworthy at renesas.com>
>>>>>>>>> ---
>>>>>>>>>  v3:
>>>>>>>>>   - Patch split so this one only has code related to the subject.
>>>>>>>>>   - Commit message updated.
>>>>>>>>>  v2:
>>>>>>>>>   - Change name of DT prop and provide details of what it does.
>>>>>>>>>     Whilst at it, move the code to read the "sram-size" property
>>>>>>>>>     into the other code that reads properties from the node, rather
>>>>>>>>>     than the SF subnode.
>>>>>>>>>
>>>>>>>>>     Also change the code to use a bool for the bypass arg.
>>>>>>>>> ---
>>>>>>>>>  doc/device-tree-bindings/spi/spi-cadence.txt |  2 ++
>>>>>>>>>  drivers/spi/cadence_qspi.c                   | 10 +++++++---
>>>>>>>>>  drivers/spi/cadence_qspi.h                   |  3 ++-
>>>>>>>>>  drivers/spi/cadence_qspi_apb.c               |  8 +++++++-
>>>>>>>>>  4 files changed, 18 insertions(+), 5 deletions(-)
>>>>>>>>>
>>>>>>>>> diff --git a/doc/device-tree-bindings/spi/spi-cadence.txt b/doc/device-
>>>> tree-
>>>>>>>> bindings/spi/spi-cadence.txt
>>>>>>>>> index c1e2233..94c800b 100644
>>>>>>>>> --- a/doc/device-tree-bindings/spi/spi-cadence.txt
>>>>>>>>> +++ b/doc/device-tree-bindings/spi/spi-cadence.txt
>>>>>>>>> @@ -26,3 +26,5 @@ connected flash properties
>>>>>>>>>                           select (n_ss_out).
>>>>>>>>>  - tslch-ns             : Delay in master reference clocks between setting
>>>>>>>>>                           n_ss_out low and first bit transfer
>>>>>>>>> +- sample-edge-rising   : Data outputs from flash memory will be
>> sampled
>>>> on
>>>>>>>> the
>>>>>>>>> +                         rising edge. Default is falling edge.
>>>>>>>>
>>>>>>>> Code look reasonable, but how Linux handling this with the same dt
>>>>>>>> property, any idea? I couldn't find it either.
>>>>>>> The Linux driver does not yet have this property. Is there a policy to add
>> new
>>>>>>> props to Linux first?
>>>>>>
>>>>>> If the same/equal code used in Linux better to have the same property
>>>>>> instead of another name used in U-boot?
>>>>> Of course, but I cannot see this in Linux:
>>>>> https://git.kernel.org/cgit/linux/kernel/git/next/linux-
>>>> next.git/tree/Documentation/devicetree/bindings/spi/spi-cadence.txt
>>>>
>>>> Yeah, I saw this. Do you have any idea how Linux handling this sample edge?
>>> The same way U-Boot currently handles it, i.e. it does nothing with this.
>> Intel/Altera
>>> (Chin Liang) said that they do not have this bit in their version of the Cadence
>> QSPI
>>> Controller.
>>>
>>> We are using a later version that has had this bit added.
>>
>> You were looking at the wrong bindings:
>> https://git.kernel.org/cgit/linux/kernel/git/next/linux-
>> next.git/tree/Documentation/devicetree/bindings/mtd/cadence-quadspi.txt
> Thanks for pointing that out!
> 
>> but yes, Linux does not do support the data edge toggling. I think there
>> was another QSPI patch in Linux which tried adding such property, so
>> check linux-mtd for it. Generic one would be great.
> I had a search around, but couldn't find anything.

Look for negative_edge here:
http://www.spinics.net/lists/devicetree/msg153582.html

>> And no, there is no policy for pushing new props to linux first. New DT
>> props should ideally get approved via devicetree at vger though, but that's
>> about it. Also, while I tried backporting the Linux CQSPI driver to
>> U-Boot, but unfortunately, it turned out to be extremely difficult due
>> significant differences between the Linux and U-Boot SPI NOR  framework.
> OK, thanks for the information.
> 
> Thanks
> Phil
> 


-- 
Best regards,
Marek Vasut


More information about the U-Boot mailing list