Re: [regression] jetson-tk1: spi do not probe anymore
From: Aaron Kling
Date: Sun May 04 2025 - 22:11:22 EST
On Sun, May 4, 2025 at 5:37 PM Mark Brown <broonie@xxxxxxxxxx> wrote:
>
> On Sun, May 04, 2025 at 01:23:29PM +0200, Corentin Labbe wrote:
>
> > On my jetson-tk1, SPI do not probe anymore:
> > [ 1.330681] spi spi1.0: Invalid delay unit 2, should be SPI_DELAY_UNIT_SCK
> > [ 1.335185] spi-tegra114 7000da00.spi: can't setup spi1.0, status -22
> > [ 1.341643] spi_master spi1: spi_device register error /spi@7000da00/flash@0
> > [ 1.348637] spi_master spi1: Failed to create SPI device for /spi@7000da00/flash@0
> > I tested 6.14.7
> > The SPI probed perfectly in 4.17.14
>
> That's a pretty big jump in versions...
>
> > I tried to debug a bit, and the driver requires units to be SPI_DELAY_UNIT_SCK, but it seems there is no way to set it.
> > Removing the "return -EINVAL" in tegra_spi_set_hw_cs_timing() lead to a successfull probe and the flash device appear.
> > But I agree, it is not a correct fix:)
> >
> > Since only the test made it fail, I think the driver is bad since commit 810593668468 ("spi: tegra114: change format for `spi_set_cs_timing()` function")
>
> Adding Alexandru who wrote that commit. Assuming the delays came from
> DT (I'm not actually finding them, I didn't look too hard though) and
> are therefore in units of wall clock time I think we need to add a
> conversion helper for the units which the driver can use to convert to
> whatever units it actually wants to use, we do need to accept units of
> wall clock time given the generic binding there. That gets a bit
> annoying if the bus speed changes, though that's quite infrequent in
> practice.
This should be fixed by a patch [0] which was recently picked up. I
saw the same issue on a tegra 210 device and submitted that to fix it.
Can you verify if it fixes this case too?
Sincerely,
Aaron
[0] https://lore.kernel.org/all/20250423-spi-tegra114-v1-1-2d608bcc12f9@xxxxxxxxx/