Re: [PATCH] arm64: tegra: Fix HSUART for Smaug

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 17, 2023 at 10:03:19AM +0200, Krzysztof Kozlowski wrote:
> On 14/07/2023 12:10, Diogo Ivo wrote:
> > After commit 71de0a054d0e ("arm64: tegra: Drop serial clock-names and
> > reset-names") was applied, the HSUART failed to probe and the following
> > error is seen:
> > 
> >  serial-tegra 70006300.serial: Couldn't get the reset
> >  serial-tegra: probe of 70006300.serial failed with error -2
> > 
> > Commit 71de0a054d0e ("arm64: tegra: Drop serial clock-names and
> > reset-names") is correct because the "reset-names" property is not
> > needed for 8250 UARTs. However, the "reset-names" is required for the
> > HSUART and should have been populated as part of commit a63c0cd83720c
> > ("arm64: dts: tegra: smaug: Add Bluetooth node") that enabled the HSUART
> > for the Pixel C. Fix this by populating the "reset-names" property for
> > the HSUART on the Pixel C.
> > 
> > Fixes: a63c0cd83720 ("arm64: dts: tegra: smaug: Add Bluetooth node")
> > Signed-off-by: Diogo Ivo <diogo.ivo@xxxxxxxxxxxxxxxxxx>
> > ---
> >  arch/arm64/boot/dts/nvidia/tegra210-smaug.dts | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
> > index 2c608d645642..bcb533cc002c 100644
> > --- a/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
> > +++ b/arch/arm64/boot/dts/nvidia/tegra210-smaug.dts
> > @@ -1364,6 +1364,7 @@ serial@70006000 {
> >  
> >  	uartd: serial@70006300 {
> >  		compatible = "nvidia,tegra30-hsuart";
> > +		reset-names = "serial";
> 
> Why reset-names is board specific? This makes little sense. If you need
> reset-names, then it is part of SoC.

As the commit message explains, this is because we have two
"conflicting" device tree bindings for these devices. One is a standard
UART, typically used when the device is a debug serial console and a
more specialized high-speed UART which then requires additional
properties.

Effectively this means that whenever we override the standard UART with
the high-speed UART we need to extend the device tree with those
additional properties. We actually have similar issues with dmas and
dma-names, which are only valid for the HS UART and I have a couple of
patches[0][1] to clean that all up. It's a bit weird because we
basically have a patch that removes reset-names (for standard UART) and
then we have another patch that adds the reset-names (for HS UART), but
I don't see a way around it given the bindings that we have.

Thierry

[0]: http://patchwork.ozlabs.org/project/linux-tegra/list/?series=364269
[1]: http://patchwork.ozlabs.org/project/linux-tegra/list/?series=364270

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux