[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHp75Vd=TY0tPfSHMSLTh1Pgg-E7MCP5Gym1yjpLgH0Tx-2xSg@mail.gmail.com>
Date: Fri, 31 Jan 2020 17:46:39 +0200
From: Andy Shevchenko <andy.shevchenko@...il.com>
To: John Garry <john.garry@...wei.com>
Cc: Mark Brown <broonie@...nel.org>, chenxiang66@...ilicon.com,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
liusimin4@...wei.com, Linuxarm <linuxarm@...wei.com>,
linux-spi <linux-spi@...r.kernel.org>,
Marek Vasut <marek.vasut@...il.com>,
"open list:MEMORY TECHNOLOGY..." <linux-mtd@...ts.infradead.org>,
tudor.ambarus@...rochip.com,
Jiancheng Xue <xuejiancheng@...ilicon.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 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<---
> >
> > 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.
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists