[U-Boot] [PATCH] serial: ns16550: Fix serial output on Tegra186

Paul Burton paul.burton at imgtec.com
Fri Sep 30 11:47:38 CEST 2016


On Friday, 30 September 2016 17:53:38 BST Alexandre Courbot wrote:
> On 09/30/2016 05:46 PM, Thierry Reding wrote:
> > From: Thierry Reding <treding at nvidia.com>
> > 
> > For Tegra186 there are currently no UART clocks wired up in device tree.
> > This exposes a regression introduced in commit 50fce1d5d874 ("serial:
> > ns16550: Support clocks via phandle"), which causes the p2771-0000-500
> > board (and probably any Tegra186-based board as well) to fail to boot.
> > 
> > The reason is that if no clocks property exists, then clk_get_by_index()
> > returns -ENOENT (via fdtdec_parse_phandle_with_args()) rather than
> > -ENODEV as the above-mentioned commit expects.
> > 
> > Fix this by checking for the right error code.
> 
> Tested-by: Alexandre Courbot <acourbot at nvidia.com>
> 
> I sent a similar patch ~10 minutes before this one, but Thierry's commit
> message is clearer than mine (and his handling of -ENODEV probably more
> correct as well), so let's go with this version!


Hi Thierry & Alexandre,

Apologies for the breakage!

If a DT contains a clock & the UART node references it by phandle then I 
believe clk_get_by_index() could return -ENODEV via 
uclass_get_device_by_of_offset & uclass_find_device_by_of_offset. So we 
probably need to handle both -ENOENT for the "no clocks property" case & -
ENODEV for the "clocks property but no driver" case, as Alexandre's patch 
does?

Thanks,
    Paul
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20160930/43799725/attachment.sig>


More information about the U-Boot mailing list