GSoC PRU: AM35xx Clock driver

Nils Hölscher nilhoel1 at gmail.com
Thu Jul 25 10:47:14 UTC 2019


Hi,

I just found out that the Module Dependencies don't have any influence on
the initialization process.
I have to look at SYSINIT and am currently reading their docs.

If anyone could point me to the rtems part of this, it would be great.

Best,
Nils

On Wed, 24 Jul 2019 at 16:53, Nils Hölscher <nilhoel1 at gmail.com> wrote:

> Hi,
>
> @Vijay Kumar Banerjee <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 simplebus0ti_pruss0:
> could not enable PRUSS clockdevice_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*
> *====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> wrote:
>
>>
>>
>> On Wed, Jul 24, 2019 at 7:03 PM Nils Hölscher <nilhoel1 at gmail.com> wrote:
>>
>>>
>>>
>>> On Wed, 24 Jul 2019 at 15:14, Vijay Kumar Banerjee <
>>> vijaykumar9597 at gmail.com> wrote:
>>>
>>>>
>>>>
>>>>
>>>> On Wed, Jul 24, 2019 at 6:36 PM Nils Hölscher <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>
>>>>> 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>
>>>>>> 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
>>>>> http://lists.rtems.org/mailman/listinfo/devel
>>>>
>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20190725/694b2396/attachment.html>


More information about the devel mailing list