GSoC PRU: AM35xx Clock driver

Nils Hölscher nilhoel1 at gmail.com
Wed Jul 24 13:06:41 UTC 2019


Hi again,

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);
    }

    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";
                        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.

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
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20190724/bc1cd918/attachment-0001.html>


More information about the devel mailing list