I current have PRU code working on Linux 3.8.13-bone73, and now 
want to move to Linux 4.1.x

Having troubles - here is what I have done so far:

1. apt-get install linux-image-4.1.4-ti-r9
   (good, or should I use linux-image-4.1.4-bone15 ?)

2. Add dtb=am335x-boneblack-overlay.dtb to uEnv.txt

3. Update dtc per https://github.com/beagleboard/bb.org-overlays

4. Rebuild my dt overlay:
   dtc -O dtb -o bbb-k-pru-00A0.dtbo -b 0 -@ bbb-k-pru.dts
   cp bbb-k-pru-00A0.dtbo /lib/firmware/

5. Loading the overlay with:
   echo "bbb-k-pru" > /sys/devices/platform/bone_capemgr/slots 

   Which produces this:
   [   43.410941] bone_capemgr bone_capemgr: part_number 'bbb-k-pru', 
version 'N/A'
   [   43.421476] bone_capemgr bone_capemgr: slot #4: override
   [   43.426969] bone_capemgr bone_capemgr: Using override eeprom data at 
slot 4
   [   43.434081] bone_capemgr bone_capemgr: slot #4: 'Override Board 
Name,00A0,Override Manuf,bbb-k-pru'
   [   43.458733] gpio-of-helper ocp:gpio_helper: ready
   [   43.474759] bone_capemgr bone_capemgr: slot #4: dtbo 
'bbb-k-pru-00A0.dtbo' loaded; overlay id #0
   [   43.543242] pruss_uio 4a300000.pruss: No children


Now Attempting to run my PRU app produces:
   "Failed to open the PRU-ICSS, have you loaded the overlay?"

But, lsmod shows uio_pruss loaded.

Any ideas about what is wrong?

(One thing I was wondering is if I need a new version of the libprussdrv
which I link with for the PRU app.  If so, how/where would I get this?)

Thanks.


BTW, For reference my bbb-k-pru.dts is below:

-----cut-----

// Device Tree Overlay for enabling PRU stuff

/dts-v1/;
/plugin/;

/ {
   compatible = "ti,beaglebone", "ti,beaglebone-black";

   part-number = "bbb-k-pru";
   version = "00A0";

   /* This overlay uses the following resources */
   exclusive-use =
         "P9.11", "P9.13", "P9.27", "P9.28", "P9.25", "P9.29", "P9.30", 
"pru0";

   fragment@0 {
      target = <&am33xx_pinmux>;
      __overlay__ {

         gpio_pins: pinmux_gpio_pins {         // The GPIO pins
            pinctrl-single,pins = <
               0x070 0x07  // P9_11 MODE7 | OUTPUT | GPIO pull-down
               0x074 0x27  // P9_13 MODE7 | INPUT  | GPIO pull-down
            >;
         };

         pru_pru_pins: pinmux_pru_pru_pins {   // The PRU pin modes
            pinctrl-single,pins = <
               0x1a4 0x05  // P9_27 pr1_pru0_pru_r31_5, MODE5 | OUTPUT | PRU
               0x19c 0x26  // P9_28 pr1_pru0_pru_r30_3, MODE6 | INPUT  | PRU
               0x1ac 0x26  // P9_25 pr1_pru0_pru_r30_7, MODE6 | INPUT  | PRU
               0x194 0x26  // P9_29 pr1_pru0_pru_r30_1, MODE6 | INPUT  | PRU
               0x198 0x26  // P9_30 pr1_pru0_pru_r30_2, MODE6 | INPUT  | PRU
            >;
         };
      };
   };

   fragment@1 {         // Enable the PRUSS
      target = <&pruss>;
      __overlay__ {
         status = "okay";
         pinctrl-names = "default";
         pinctrl-0 = <&pru_pru_pins>;
      };
   };

   fragment@2 {         // Enable the GPIOs
      target = <&ocp>;
      __overlay__ {
         gpio_helper {
            compatible = "gpio-of-helper";
            status = "okay";
            pinctrl-names = "default";
            pinctrl-0 = <&gpio_pins>;
         };
      };
   };
};

-----cut-----

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to