Sadly I’m running into the same missing uio directories now that I’m trying to get my beaglebone code that was stable on the 3.8 kernel and Wheezy image. My old compiled dtbo wouldn’t load with a 4.1 kernel until it was recompiled. Even with it loaded, the following modules don’t load: PRU, eQEP, PWM, and GPIO_buttons. I spent today hacking together workarounds for the latter 3, but the PRU still has me stumped.
Looking closely, the am335x-boneblack.dtb file has changed quite a bit. Once decompiled I have the following entries for the PRUSS:
3.8 kernel (2015-03-01 image):
`
pruss@4a300000 {
compatible = “ti,pruss-v2”;
ti,hwmods = “pruss”;
ti,deassert-hard-reset = “pruss”, “pruss”;
reg = <0x4a300000 0x80000>;
ti,pintc-offset = <0x20000>;
interrupt-parent = <0x1>;
status = “disabled”;
interrupts = <0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b>;
linux,phandle = <0x35>;
phandle = <0x35>;
};
`
4.1 kernel (2015-11-12 image)
`
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;
linux,phandle = <0xc6>;
phandle = <0xc6>;
pru@4a334000 {
compatible = “ti,am3352-pru-rproc”;
reg = <0x4a334000 0x2000 0x4a322000 0x400 0x4a322400 0x100>;
reg-names = “iram”, “control”, “debug”;
mboxes = <0x28 0x44>;
linux,phandle = <0xc7>;
phandle = <0xc7>;
};
pru@4a338000 {
compatible = “ti,am3352-pru-rproc”;
reg = <0x4a338000 0x2000 0x4a324000 0x400 0x4a324400 0x100>;
reg-names = “iram”, “control”, “debug”;
mboxes = <0x28 0x45>;
linux,phandle = <0xc8>;
phandle = <0xc8>;
};
};
`
The new entry is missing the “status = “disabled”;” line which explains why my old overlay file which simply changed “disabled” to “enabled” didn’t have an effect. Sadly manually adding the line into the 4.1 kernel version of the am335x-boneblack.dts file and recompiling didn’t help. Does anyone know why this entry was changed and better yet how to get the PRUSS module to load again?