GSoC PRU: AM35xx Clock driver
Nils Hölscher
nilhoel1 at gmail.com
Sun Jul 28 09:22:53 UTC 2019
On Sat, 27 Jul 2019 at 14:34, Christian Mauderer <list at c-mauderer.de> wrote:
> On 24/07/2019 16:53, Nils Hölscher wrote:
> > Hi,
> >
> > @Vijay Kumar Banerjee <mailto:vijaykumar9597 at 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.
Thanks for the information.
I think the way rtems initializes the bsd modules differs from the way
described in the libbsd manuel.
But I will have to investigate that further.
> 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.
>
Thanks I will keep that in mind.
Best,
Nils
>
> 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
> > <vijaykumar9597 at gmail.com <mailto:vijaykumar9597 at gmail.com>> wrote:
> >
> >
> >
> > On Wed, Jul 24, 2019 at 7:03 PM Nils Hölscher <nilhoel1 at gmail.com
> > <mailto:nilhoel1 at gmail.com>> wrote:
> >
> >
> >
> > On Wed, 24 Jul 2019 at 15:14, Vijay Kumar Banerjee
> > <vijaykumar9597 at gmail.com <mailto:vijaykumar9597 at gmail.com>>
> wrote:
> >
> >
> >
> >
> > On Wed, Jul 24, 2019 at 6:36 PM Nils Hölscher
> > <nilhoel1 at gmail.com <mailto:nilhoel1 at 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 at 0 {
> > compatible =
> > "ti,am3-prcm\0simple-bus";
> >
> > In my device tree, it runs successfully and the decompiled
> > compatible looks like :
> > ```
> > prcm at 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
> > <nilhoel1 at gmail.com <mailto:nilhoel1 at 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
> > <nilhoel1 at gmail.com <mailto:nilhoel1 at 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 at rtems.org <mailto:devel at rtems.org>
> > http://lists.rtems.org/mailman/listinfo/devel
> >
> >
> > _______________________________________________
> > devel mailing list
> > devel at rtems.org
> > http://lists.rtems.org/mailman/listinfo/devel
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20190728/0bacd47e/attachment-0002.html>
More information about the devel
mailing list