[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c5cfb189-797e-11c4-f77a-61ec35395b15@huawei.com>
Date: Fri, 31 Jan 2020 16:26:46 +0000
From: John Garry <john.garry@...wei.com>
To: Andy Shevchenko <andy.shevchenko@...il.com>
CC: Jiancheng Xue <xuejiancheng@...ilicon.com>,
<chenxiang66@...ilicon.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
<tudor.ambarus@...rochip.com>, Linuxarm <linuxarm@...wei.com>,
linux-spi <linux-spi@...r.kernel.org>,
Marek Vasut <marek.vasut@...il.com>,
Mark Brown <broonie@...nel.org>,
"open list:MEMORY TECHNOLOGY..." <linux-mtd@...ts.infradead.org>,
<liusimin4@...wei.com>,
Mika Westerberg <mika.westerberg@...ux.intel.com>,
wanghuiqiang <wanghuiqiang@...wei.com>, <fengsheng5@...wei.com>
Subject: Re: [PATCH v2 2/3] spi: Add HiSilicon v3xx SPI NOR flash controller
driver
On 31/01/2020 15:46, Andy Shevchenko wrote:
> On Fri, Jan 31, 2020 at 2:03 PM John Garry <john.garry@...wei.com> wrote:
>> On 31/01/2020 11:39, Andy Shevchenko wrote:
>>> On Fri, Jan 31, 2020 at 12:08 PM John Garry <john.garry@...wei.com> wrote:
>>>> On 13/01/2020 14:34, Andy Shevchenko wrote:
>
> ...
>
>>>> About this topic of ACPI having no method to describe device buswidth in
>>>> the resource descriptor, it may be an idea for me to raise a Tianocore
>>>> feature request @ https://bugzilla.tianocore.org/
>>>>
>>>
>>> The 19.6.126 describes the SPI resource, in particular:
>>>
>>> ---8<---8<---
>>> DataBitLength is the size, in bits, of the smallest transfer unit for
>>> this connection. _LEN is automatically
>>> created to refer to this portion of the resource descriptor.
>>> ---8<---8<---
>>>
Hi Andy,
>>> Is it what you are looking for? (As far as I know most of the
>>> firmwares simple abuse this field among others)
>>
>> I didn't think so - I thought that there was a distinction between width
>> and length in SPI terms.
>
> My interpretation of this field is a data width of the slave.
> Basically what we have as transfer->size inside SPI in the Linux
> kernel.
>
>> So how do you find that most firmwares abuse this field? AFAICS, linux
>> kernel doesn't interpret this field at all.
>
>>>From all tables I have this is the result of appearance (some of the
> tables are like 10x times present in my data base, but nevertheless)
>
> 140 SpiSerialBusV2(0x0000,PolarityHigh,FourWireMode,0x08,
> 411 SpiSerialBusV2(0x0000,PolarityLow,FourWireMode,0x08,
> 1 SpiSerialBusV2(0x0000,PolarityLow,FourWireMode,0x08,
> 36 SpiSerialBusV2(0x0000,PolarityLow,FourWireMode,0x10,
> 35 SpiSerialBusV2(0x0000,PolarityLow,FourWireMode,0x18,
> 35 SpiSerialBusV2(0x0000,PolarityLow,FourWireMode,0x20,
> 1 SpiSerialBusV2(0x0000,PolarityLow,ThreeWireMode,0x10,
> 8 SpiSerialBusV2(0x0001,PolarityLow,FourWireMode,0x08,
> 1 SpiSerialBusV2(0x0001,PolarityLow,FourWireMode,0x10,
>
> So, it seems I stand corrected, the field is in right use, although
> cases like 0x10 and 0x20 should be carefully checked.
>
> We may teach kernel to get something meaningful out of it.
>
It seems that someone already had a go at that:
https://lore.kernel.org/lkml/20170317212143.bogj6efzyvvf24yd@sirena.org.uk/
Thanks,
John
Powered by blists - more mailing lists