[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220705155031.zk36jsq4q2ac2ow4@umbrella>
Date: Tue, 5 Jul 2022 10:50:31 -0500
From: Han Xu <han.xu@....com>
To: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
Cc: Michael Walle <michael@...le.cc>, Bough Chen <haibo.chen@....com>,
ashish.kumar@....com, yogeshgaur.83@...il.com, broonie@...nel.org,
robh+dt@...nel.org, krzysztof.kozlowski+dt@...aro.org,
singh.kuldeep87k@...il.com, tudor.ambarus@...rochip.com,
p.yadav@...com, miquel.raynal@...tlin.com, richard@....at,
vigneshr@...com, shawnguo@...nel.org, s.hauer@...gutronix.de,
kernel@...gutronix.de, linux-spi@...r.kernel.org,
linux-kernel@...r.kernel.org, devicetree@...r.kernel.org,
linux-mtd@...ts.infradead.org, festevam@...il.com,
dl-linux-imx <linux-imx@....com>,
linux-arm-kernel@...ts.infradead.org, zhengxunli@...c.com.tw
Subject: Re: [PATCH 07/11] dt-bindings: spi: spi-nxp-fspi: add a new property
nxp,fspi-dll-slvdly
On 22/07/05 05:38PM, Krzysztof Kozlowski wrote:
> On 05/07/2022 16:52, Han Xu wrote:
> > On 22/07/05 04:12PM, Krzysztof Kozlowski wrote:
> >> On 05/07/2022 16:06, Michael Walle wrote:
> >>>
> >>>>>
> >>>>> I think you could use here clock cycles or clock phase, but then it
> >>>>> has to be obvious
> >>>>> it is that unit.
> >>>>
> >>>> Hi Krzysztof,
> >>>>
> >>>> Let me clarify it, in the document a term "delay cell" was used to
> >>>> descript this register bit. Each delay cell equals "1/32 clock phase",
> >>>> so the unit of delay cell is clock phase. The value user need set in
> >>>> DT just number to define how many delay cells needed.
> >>>
> >>> Then should the unit be "-degrees" and the possible range 0-180?
> >>
> >> Thanks. We don't have it documented currently, but the unit seems
> >> reasonable.
> >
> > IMO, use the unit "-degrees" makes it more complicate. Personaly I would
> > calculate how many clock cycle delay needed, such as 1/4 clock cycle or half
> > clock cycle. Using degree brings extra calculation.
>
> And what if the next device uses a bit different divider? Like 1/16?
> This is why we have standard units so people won't push register values
> into the bindings.
>
> >
> > The granularity of the clock phase change is 1/32 of 180 degree, but the range
> > 0-180 make people feel it can be set in any degree in range.
>
> Yes, because that's how the bindings are being written - allowing any
> reasonable value, not register-specific value, to be used because it is
> the most flexible, hardware-independent and allows further customization
> of bindings (e.g. new devices). Embedding device programming model into
> the bindings contradicts it.
>
> Second, nothing stops you from narrowing the acceptable values with an
> enum. This still allows extension. Your 1/32 does not.
>
> >
> > If I describe all details of the relation between "nxp,fspi-dll-slvdly" and
> > "delay cell" in patch v2, do you think it's clear for users?
>
> 1/32 could be a nice unit, but degrees is better. Just like uV is better
> than 1/32 of V. Like 1 us is better than 1/32 of ms.
>
> Do you see in the bindings many other values like time, potential,
> current or power described in 1/32 units?
That make sense. I will use degree as the unit and round to register proper
value in driver as Michael suggested. Thanks for all comments.
>
> Best regards,
> Krzysztof
Powered by blists - more mailing lists