Hi Geert, On Thu, 14 Apr 2022 10:45:54 +0200 Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: > Hi Hervé, > > Thanks for your patch! > > On Thu, Apr 14, 2022 at 9:40 AM Herve Codina <herve.codina@xxxxxxxxxxx> wrote: > > The PCI rcar-gen2 does not call any clk_prepare_enable(). > > Correct, this driver manages the clocks indirectly through Runtime PM. > > > This lead to an access failure when the driver tries to access > > the IP (at least on a RZ/N1D platform). > > I expect adding > > power-domans = <&sysctrl>; > > to the pci_usb node makes this patch redundant. Seems not enough. I tried what you suggest : - Added 'power-domains = <&systrl>;' to the pci_usb node - Added missing '#power-domain-cells = <0>;' to sysctrl node - Reverted my patch. The system crashed at boot: --- 8< --- ... [ 0.705309] loop: module loaded [ 0.709597] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 0.716804] ehci-pci: EHCI PCI platform driver [ 0.721716] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 0.728522] ohci-pci: OHCI PCI platform driver [ 0.733581] usbcore: registered new interface driver usb-storage [ 0.740458] ThumbEE CPU extension supported. [ 0.745093] Registering SWP/SWPB emulation handler [ 0.797518] rzn1-pinctrl 40067000.pinctrl: probed [ 0.803311] pci-rcar-gen2 40030000.pci: host bridge /soc/pci@40030000 ranges: [ 0.811255] pci-rcar-gen2 40030000.pci: MEM 0x0040020000..0x004002ffff -> 0x0040020000 [ 0.820373] pci-rcar-gen2 40030000.pci: IB MEM 0x0080000000..0x00bfffffff -> 0x0080000000 [ 0.829609] 8<--- cut here --- [ 0.832958] Unhandled fault: external abort on non-linefetch (0x1008) at 0x90b5f848 [ 0.841259] [90b5f848] *pgd=82149811, *pte=40030653, *ppte=40030453 [ 0.848093] Internal error: : 1008 [#1] SMP ARM [ 0.853024] Modules linked in: [ 0.856398] CPU: 0 PID: 31 Comm: kworker/u4:1 Not tainted 5.18.0-rc2-00009-g803ee9fd9fa5-dirty #5 [ 0.865998] Hardware name: Generic DT based system [ 0.871176] Workqueue: events_unbound deferred_probe_work_func [ 0.877539] PC is at rcar_pci_probe+0x15c/0x2f8 [ 0.882454] LR is at _raw_spin_unlock_irqrestore+0x24/0x2c [ 0.888434] pc : [<803ea428>] lr : [<804dc9b0>] psr: 60000013 [ 0.895193] sp : 90aa5e40 ip : 8217c4e0 fp : 00000000 [ 0.900857] r10: 80e7bd30 r9 : 80000000 r8 : 40000000 [ 0.906532] r7 : 80000000 r6 : 8217c410 r5 : 821d3400 r4 : 90b5f000 [ 0.913580] r3 : 00000009 r2 : 5c120fb6 r1 : 60000013 r0 : 00000000 [ 0.920646] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none [ 0.928365] Control: 10c5387d Table: 8000406a DAC: 00000051 ... --- 8< --- I also added a trace printk in r9a06g032-clocks.c and r9a06g032_attach_dev() was never called. Did I miss to set something ? Regards, Hervé