pru_soc_bus probe error - Linux 4.14 - xenomai - Beaglebone black

Hi all,

I’m getting an error when enabling the PRU in the kernel 4.14-xenomai. The error is:
pruss-soc-bus 4a326000.pruss_soc_bus: platform data (reset configuration information) missing
That error comes from the pruss_soc_probe routine indicating that the data structure pruss_platform_data or its members are NULL (structure shown below).

Do you know if the PRUs infrastructure is working correctly in that release? The latest commit I have is:
commit 904bf7cf09cd4a256d03a3d5edbeea9a85bcd07f (HEAD → 4.14-xenomai, tag: 4.14.108-ti-xenomai-r140, origin/4.14-xenomai)

I added some extra info below, do you think I’m missing something to enable the PRU?

Thanks
Sergio Cruz

Some additional info:

I’m building the kernel using buildroot and using the kernel configuration omap2_plus_defconfig

I enabled the driver by selecting the following configs:

CONFIG_REMOTEPROC=y

CONFIG_OMAP_REMOTEPROC=m
CONFIG_WKUP_M3_RPROC=y
CONFIG_PRUSS_REMOTEPROC=m
CONFIG_RPMSG_VIRTIO=m

And by enabling the nodes in my main device tree:
&pruss_soc_bus {

status = “okay”;
pruss: pruss@0 {
status = “okay”;
};
};

This part seems to be working since the probe function is being called correctly

For the wkup_m3_rproc.c driver, its platform data structure is being registered successfully and it is defined in the same place as the pruss_soc_bus data in pdata-quircks.c.

#if defined(CONFIG_SOC_AM33XX) || defined(CONFIG_SOC_AM43XX)
static struct wkup_m3_platform_data wkup_m3_data = {
.reset_name = “wkup_m3”,
.assert_reset = omap_device_assert_hardreset,
.deassert_reset = omap_device_deassert_hardreset,
};
static struct pruss_platform_data pruss_pdata = {
.reset_name = “pruss”,
.assert_reset = omap_device_assert_hardreset,
.deassert_reset = omap_device_deassert_hardreset,
};
#endif