The ti-sysc driver implements a probe deferral logic to be sure to probe the parent interconnects before their children, postponing the probe of interconnects not marked as "early" instances until one of these is found. Since the driver is alse used for the wkup_uart0 block found on the AM62 SoC, but not for other devices on the same platform, this logic forces the probe for it to be artificially deferred 10 times and can lead to the device not being probed at all. The missed probe was seen on a BeaglePlay with the kernel configuration stripped to bare minimum and no module support. Add the ranges for wkup_uart0 to the list of "early" interconnect instances, forcing the driver to skip the defer logic entirely for this device. Signed-off-by: Francesco Valla <francesco@xxxxxxxx> --- drivers/bus/ti-sysc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c index f67b927ae4ca..917b7168fbd0 100644 --- a/drivers/bus/ti-sysc.c +++ b/drivers/bus/ti-sysc.c @@ -687,6 +687,8 @@ static struct resource early_bus_ranges[] = { { .start = 0x4a300000, .end = 0x4a300000 + 0x30000, }, /* omap5 and dra7 l4_wkup without dra7 dcan segment */ { .start = 0x4ae00000, .end = 0x4ae00000 + 0x30000, }, + /* am62 wkup_uart0 */ + { .start = 0x2b300000, .end = 0x2b300000 + 0x100000, }, }; static atomic_t sysc_defer = ATOMIC_INIT(10); -- 2.47.1