On 24/07/2019 16:53, Nils Hölscher wrote: > Hi, > > @Vijay Kumar Banerjee <mailto:vijaykumar9...@gmail.com> thanks for the > dtb file. > I build my file from FreeBSD master. > > Prcm attaches now but still after the pruss driver...: > " > nexus0: <RTEMS Nexus device> > ofwbus0: <Open Firmware Device Tree> on nexus0 > simplebus0: <Flattened device tree simple bus> on ofwbus0 > *ti_pruss0: <TI Programmable Realtime Unit Subsystem> mem > 0x4a300000-0x4a37ffff irq 20,21,22,23,24,25,26,27 on simplebus0 > ti_pruss0: could not enable PRUSS clock > device_attach: ti_pruss0 attach returned 6* > simplebus1: <Flattened device tree simple bus> on simplebus0* > am335x_prcm0: <AM335x Power and Clock Management> mem 0x200000-0x203fff > on simplebus1*
Hello Nils, I'm not sure about the order. But what seems a little bit odd is that the prcm0 is found in simplebus0 while am335x_prcm0 is found on simplebus1. Maybe it's worth investigating how that order is created and how it is handled in RTEMS. A general note regarding the prcm module: In RTEMS most (non-libbsd) drivers enable their power and clocks themself. Please make sure that the FreeBSD prcm doesn't interfere with that. Otherwise you might get odd effects. Best regards Christian > *====am335x_prcm_attach====* > " > > Is there anything else I can do besides using MODULE_DEPENDENCY, which I > already use. > The prcm module is also a EARLY_DRIVER_MODULE. > > Best, > Nils > > On Wed, 24 Jul 2019 at 16:04, Vijay Kumar Banerjee > <vijaykumar9...@gmail.com <mailto:vijaykumar9...@gmail.com>> wrote: > > > > On Wed, Jul 24, 2019 at 7:03 PM Nils Hölscher <nilho...@gmail.com > <mailto:nilho...@gmail.com>> wrote: > > > > On Wed, 24 Jul 2019 at 15:14, Vijay Kumar Banerjee > <vijaykumar9...@gmail.com <mailto:vijaykumar9...@gmail.com>> wrote: > > > > > On Wed, Jul 24, 2019 at 6:36 PM Nils Hölscher > <nilho...@gmail.com <mailto:nilho...@gmail.com>> wrote: > > Hi again, > > Hi Nils > > I just decompiled my device tree and checked. > The probe code of the prcm driver is as follows: > " > static int > am335x_prcm_probe(device_t dev) > { > printk("am335x_prcm_probe\n"); > > if (!ofw_bus_status_okay(dev)){ > printk("ofw_bus_status_not_okay\n"); > return (ENXIO); > } > > Do you get the "ofw_bus_status_not_okay" print ? > > Yes. But I also see the other print. except the success one. > > if (ofw_bus_is_compatible(dev, "ti,am3-prcm")) { > device_set_desc(dev, "AM335x Power and Clock > Management"); > printk("PROBE SUCESSFULL\n"); > return(BUS_PROBE_DEFAULT); > } > printk("ofw_bus incompatible\n"); > return (ENXIO); > } > " > So it seems the prcm part in the device tree has to be > compatible to "ti,am3-prcm". > The thing is the decompiled device tree states just that: > " > prcm@0 { > compatible = > "ti,am3-prcm\0simple-bus"; > > In my device tree, it runs successfully and the decompiled > compatible looks like : > ``` > prcm@200000 { > compatible = "ti,am3-prcm"; > reg = < 0x200000 0x4000 >; > linux,phandle = < 0x4a >; > phandle = < 0x4a >; > ``` > > OK, this is awkward, cause we both should have used the same > sources. > > Have you checked that your source is from the tree matching the > libBSD HEAD > commit? > > reg = <0x00 0x2000>; > #address-cells = <0x01>; > #size-cells = <0x01>; > ranges = <0x00 0x00 0x2000>; > phandle = <0x5a>; > [...] > " > Any ideas would help, cause I am currently not able to > understand this behaviour. > Also without this driver even the dev_usb_bbb driver > shouldn't work. > However it attaches because it doesn't check for the > clocks error code. > > I remember testing this a few days ago for my fb drivers and > it was attaching alright, > if I remember correctly. If changing the dtb doesn't work > for you, I won't mind checking > again, this will give me a hint for the display issue as well. > > I will keep you updated on this. > Would you be so kind and send me your compiled device tree? > > Please find it attached in this mail. > > Note: I have removed the devel from the cc because the attachment > might be > big for the list. Please continue the discussion in the mailing list > and maybe note > it somewhere that you already received the dtb from me in private mail. > > Regards, > Vijay > > > > Best, > Nils > > > > On Wed, 24 Jul 2019 at 14:43, Nils Hölscher > <nilho...@gmail.com <mailto:nilho...@gmail.com>> wrote: > > Hi, > > I just found out that the prcm driver fails to probe > on the simplebus and therefore cannot apply itself. > Seems like I am back to checking dtb. > > Best, > Nils > > On Tue, 23 Jul 2019 at 14:26, Nils Hölscher > <nilho...@gmail.com <mailto:nilho...@gmail.com>> wrote: > > Hi, > > After debugging with printk, didn't get the > module loading working as suggested by Sebastian. > I just found out that my PRU driver can't be > attached, cause the AM35xx clock driver isn't > loaded. > The driver can be found her: > > https://github.com/RTEMS/rtems-libbsd/blob/610349693dd31d8b0efd33776516b7187cc5cda2/freebsd/sys/arm/ti/am335x/am335x_prcm.c > > Can anyone tell me how to load this driver and > obisouly before I initialize my BSD modules? > > FYI: The code line that fails is this one, cause > the driver hasn't been initialized. > > https://github.com/RTEMS/rtems-libbsd/blob/610349693dd31d8b0efd33776516b7187cc5cda2/freebsd/sys/arm/ti/am335x/am335x_prcm.c#L854 > > Thanks, > Nils > > _______________________________________________ > devel mailing list > devel@rtems.org <mailto:devel@rtems.org> > http://lists.rtems.org/mailman/listinfo/devel > > > _______________________________________________ > devel mailing list > devel@rtems.org > http://lists.rtems.org/mailman/listinfo/devel > _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel