GSoC PRU: AM35xx Clock driver
Nils Hölscher
nilhoel1 at gmail.com
Wed Jul 24 14:53:57 UTC 2019
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/20190724/055dc6ea/attachment-0002.html>
More information about the devel
mailing list