Configuring PRU with the custom zImage

I am building custom config zImage for BeagleBone Black compatible board. Can’t get something is /sys/class/remoteproc/, it is always empty (though I think I’ve enabled everything in buildroot, linux and device tree).

lsmod shows:
rpmsg_pru 16384 0
rpmsg_core 16384 1 rpmsg_pru
pru_rproc 20480 0
pruss_intc 16384 1 pru_rproc
pruss 16384 1 pru_rproc
remoteproc 36864 1 pru_rproc
virtio 16384 1 remoteproc
virtio_ring 24576 1 remoteproc

My device tree source file fragments responsible for PRUSS:

`
pruss_ocp_gclk {
#clock-cells = <0x0>;
compatible = “ti,mux-clock”;
clocks = <0x10 0x11>;
reg = <0x530>;
};

mbox_pru0 {
ti,mbox-tx = <0x2 0x0 0x0>;
ti,mbox-rx = <0x3 0x0 0x0>;
linux,phandle = <0x4a>;
phandle = <0x4a>;
};

mbox_pru1 {
ti,mbox-tx = <0x4 0x0 0x0>;
ti,mbox-rx = <0x5 0x0 0x0>;
linux,phandle = <0x4b>;
phandle = <0x4b>;
};

pruss@4a300000 {
compatible = “ti,am3352-pruss”;
ti,hwmods = “pruss”;
reg = <0x4a300000 0x2000 0x4a302000 0x2000 0x4a310000 0x3000 0x4a320000 0x2000 0x4a326000 0x2000>;
reg-names = “dram0”, “dram1”, “shrdram2”, “intc”, “cfg”;
interrupts = <0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b>;
#address-cells = <0x1>;
#size-cells = <0x1>;
ranges;

mdio@4a332400 {
reg = <0x4a332400 0x90>;
compatible = “ti,davinci_mdio”;
clock-names = “fck”;
clocks = <0x12>;
status = “disabled”;
#address-cells = <0x1>;
bus_freq = <0xf4240>;
phandle = <0xd5>;
#size-cells = <0x0>;
linux,phandle = <0xd5>;
};

intc@4a320000 {
reg = <0x4a320000 0x2000>;
interrupts = <0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b>;
reg-names = “intc”;
compatible = “ti,am3352-pruss-intc”;
interrupt-names = “host2”, “host3”, “host4”, “host5”, “host6”, “host7”, “host8”, “host9”;
#interrupt-cells = <0x1>;
phandle = <0xd1>;
interrupt-controller;
linux,phandle = <0xd1>;
};

pru@4a334000 {
compatible = “ti,am3352-pru-rproc”;
reg = <0x4a334000 0x2000 0x4a322000 0x400 0x4a322400 0x100>;
reg-names = “iram”, “control”, “debug”;
mboxes = <0x27 0x4a>;
};

pru@4a338000 {
compatible = “ti,am3352-pru-rproc”;
reg = <0x4a338000 0x2000 0x4a324000 0x400 0x4a324400 0x100>;
reg-names = “iram”, “control”, “debug”;
mboxes = <0x27 0x4b>;
};
};
`

find /lib/ -name rpm shows:

/lib/modules/4.14.40/kernel/drivers/rpmsg /lib/modules/4.14.40/kernel/drivers/rpmsg/rpmsg_char.ko /lib/modules/4.14.40/kernel/drivers/rpmsg/virtio_rpmsg_bus.ko /lib/modules/4.14.40/kernel/drivers/rpmsg/qcom_glink_rpm.ko /lib/modules/4.14.40/kernel/drivers/rpmsg/rpmsg_core.ko /lib/modules/4.14.40/kernel/drivers/rpmsg/rpmsg_pru.ko /lib/modules/4.14.40/kernel/drivers/rpmsg/rpmsg-rpc.ko

find /lib/ -name pru shows:

/lib/modules/4.14.40/kernel/drivers/rpmsg/rpmsg_pru.ko /lib/modules/4.14.40/kernel/drivers/uio/uio_pruss.ko /lib/modules/4.14.40/kernel/drivers/net/ethernet/ti/ti_prueth.ko /lib/modules/4.14.40/kernel/drivers/remoteproc/pruss_intc.ko /lib/modules/4.14.40/kernel/drivers/remoteproc/pru_rproc.ko /lib/modules/4.14.40/kernel/drivers/remoteproc/pruss_soc_bus.ko /lib/modules/4.14.40/kernel/drivers/remoteproc/pruss.ko /lib/firmware/pru

ls /sys/firmware/devicetree/base/ocp/pruss@4a300000/pru@4a338000/ shows:

#address-cells compatible interrupts name pru@4a338000 reg ti,hwmods #size-cells intc@4a320000 mdio@4a332400 pru@4a334000 ranges reg-names