As others have been reporting, I am getting a failure of prussdrv_open(). I have been poring and muddling over what others have posted, and still yet can’t find the problem. Can anyone suggest anything?
Thanks!
Phil
Relevant information:
me@beaglebone:~/isp/sensor$ dmesg | grep -i pru
[ 7816.181772] bone_capemgr bone_capemgr: part_number ‘pru_enable’, version ‘N/A’
[ 7816.181868] bone_capemgr bone_capemgr: slot #5: ‘Override Board Name,00A0,Override Manuf,pru_enable’
[ 7816.196949] bone_capemgr bone_capemgr: slot #5: dtbo ‘pru_enable-00A0.dtbo’ loaded; overlay id #0
[ 7816.225712] pruss_uio 4a300000.pruss: No children
me@beaglebone:~/isp/sensor$ lsb_release -irc
Distributor ID: Debian
Release: 8.3
Codename: jessie
me@beaglebone:~/isp/sensor$ uname -or
4.4.19-bone-rt-r13 GNU/Linux
me@beaglebone:~/isp/sensor$ lsmod | grep pru
uio_pruss 4928 0
uio 8632 2 uio_pruss,uio_pdrv_genirq
me@beaglebone:~/isp/sensor$ cat $SLOTS
0: PF---- -1
1: PF---- -1
2: PF---- -1
3: PF---- -1
5: P-O-L- 0 Override Board Name,00A0,Override Manuf,pru_enable
me@beaglebone:~/isp/sensor$ dtc -v
Version: DTC 1.4.1-g1e75ebc9
My device tree overlay:
/dts-v1/;
/plugin/;
/{
compatible = “ti,beaglebone”, “ti,beaglebone-black”;
part-number = “pruss_enable”;
version = “00A0”;
/* This overlay uses the following resources */
exclusive-use =
“pru0”,
“pru1”,
“P9.29”, // fet_off
“P9.30”, // fet_on
“P9.31”; // triac
fragment@0 {
target = <&am33xx_pinmux>;
overlay {
pru_pins: pinmux_pru_pins {
pinctrl-single,pins = <
0x190 0x05 // P9_31 $PINS=100 pr1_pru0_pru_r30_0 mode 5 output pulldown
0x194 0x05 // P9_29 $PINS=101 pr1_pru0_pru_r30_1 mode 5 output pulldown
0x198 0x05 // P9_30 $PINS=102 pr1_pru0_pru_r30_2 mode 5 output pulldown
;
};
};
};
fragment@1 { // Enable the PRUSS
target = <&pruss>;
overlay {
status = “okay”;
pinctrl-names = “default”;
pinctrl-0 = <&pru_pins>;
dig_pru_pins {
pin-names = “FET_OFF”,“FET_ON”,“TRIAC” ;
gpios = <&gpio3 14 0 // P9.31
&gpio3 15 0 // P9.29
&gpio3 16 0>; // P9.30
};
};
};
};