-----Original Message-----
From: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
Sent: Tuesday, July 5, 2022 8:29 AM
To: Han Xu <han.xu@xxxxxxx>; Bough Chen <haibo.chen@xxxxxxx>;
ashish.kumar@xxxxxxx; yogeshgaur.83@xxxxxxxxx; broonie@xxxxxxxxxx;
robh+dt@xxxxxxxxxx; krzysztof.kozlowski+dt@xxxxxxxxxx;
singh.kuldeep87k@xxxxxxxxx; tudor.ambarus@xxxxxxxxxxxxx; p.yadav@xxxxxx;
michael@xxxxxxxx; miquel.raynal@xxxxxxxxxxx; richard@xxxxxx; vigneshr@xxxxxx;
shawnguo@xxxxxxxxxx; s.hauer@xxxxxxxxxxxxxx; kernel@xxxxxxxxxxxxxx
Cc: linux-spi@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
devicetree@xxxxxxxxxxxxxxx; linux-mtd@xxxxxxxxxxxxxxxxxxx; festevam@xxxxxxxxx;
dl-linux-imx <linux-imx@xxxxxxx>; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx;
zhengxunli@xxxxxxxxxxx
Subject: Re: [PATCH 07/11] dt-bindings: spi: spi-nxp-fspi: add a new property
nxp,fspi-dll-slvdly
On 05/07/2022 15:19, Han Xu wrote:
delay.((nxp,fspi-dll-slvdly+1) * 1/32 * clock cycle of reference clock (serial root clock).+ nxp,fspi-dll-slvdly:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ Specify the DLL slave line delay value.
What are the units?
Do you mean here need to give more detail explain about this properity?
How about change like this?
Specify the DLL slave line delay value. The delay target for slave delay line is:
This would be good.
The range of this value is 0~16.
This needs to go to schema instead as "maximum: 16".
But still the question is - what are the units used in this "delay"? ms? us?
HI Krzysztof,
According to the formula, the range should be 0~15, 16 should do nothing or no
Sure, just add some constraint.
1/32~1/2 clock cycle.
The unit should be clock phase. In other words, the delay can be in range of
So we probably misunderstood each other... looking at the driver it also explains
the confusing. You encoded here register value which is pretty often wrong
approach.
This should be instead meaningful value for the user of the bindings, so usually
using one of property units:
https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com
%2Fdevicetree-org%2Fdt-
schema%2Fblob%2Fmain%2Fdtschema%2Fschemas%2Fproperty-
units.yaml&data=05%7C01%7Chan.xu%40nxp.com%7C0ffe3d706e064f14382
108da5e8a5add%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6379262
45564450475%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV
2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Q4
SfVnBN%2BQ0vYKJzRf%2FXZkCA1WGyPV9doFcb%2BLSKx4w%3D&reserved=0
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.