Yes, overlay handling has migrated to U-Boot, but the overlay files are otherwise unchanged. There will be some differences due to kernel versions, but these differences would exist regardless of whether you are loading the overlay via U-Boot or the cape manager (eg: the naming of some devices and U-Boot nodes will change depending on the kernel version you run).

You can craft a custom overlay for your specific pin configuration, or just enable the universal overlay and use the config-pin utility to specify your pin configuration at run-time:

https://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-Boot_Cape_Universal

On 4/26/2019 4:52 PM, [email protected] wrote:
Hello,

I found this bunch of info:
https://elinux.org/Beagleboard:BeagleBoneBlack_Debian#Where_did_the_slots_file_go.3F
.

Seth

On Friday, April 26, 2019 at 3:07:18 PM UTC-5, Jon Elson wrote:

I did a Beagle Bone PRU project in 2014, based on the Machinekit build,
but otherwise not related to Machinekit.  Now, I've got another similar
project.
I am working with the April 14 2019 Machinekit download.
I need 11 PRU direct outputs and 2 direct inputs.  I created a .dts file
for the earlier project that is pretty close :

/dts-v1/;
/plugin/;

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

   part-number = "BB-BONE-PRU";
   version = "00A0";

   exclusive-use =
     "P8.45",
     "P8.46",
     "P8.43",
     "P8.44",
     "P8.41",
     "P8.42",
     "P8.39",
     "P8.40",
     "P8.27",
     "P8.29",
     "P8.28",
     "P8.30",
     "P9.26",
     "P8.20",
     "P8.21";

   fragment@0 {
     target = <&am33xx_pinmux>;
     __overlay__ {
       mygpio: pinmux_mygpio{
         pinctrl-single,pins = <
           0xa0 0x05 // P8.45  PRU1_out0
           0xa4 0x05 // P8.46  PRU1_out1
           0xa8 0x05 // P8.43  PRU1_out2
           0xac 0x05 // P8.44  PRU1_out3
           0xb0 0x05 // P8.41  PRU1_out4
           0xb4 0x05 // P8.42  PRU1_out5
           0xb8 0x05 // P8.39  PRU1_out6
           0xbc 0x05 // P8.40  PRU1_out7
           0xe0 0x05 // P8.27  PRU1_out8
           0xe4 0x05 // P8.29  PRU1_out9
           0xe8 0x05 // P8.28  PRU1_out10
           0xec 0x05 // P8.30  PRU1_out11
           0x180 0x36 // P9.26  PRU1_in16 mode 6, pull-up, RX active
           0x84 0x36 // P8.20  PRU1_in13 mode 6, pull-up, RX active
           0x80 0x36 // P8.21  PRU1_in12 mode 6, pull-up, RX active

           >;
       };
     };
   };

   fragment@1 {
     target = <&ocp>;
     __overlay__ {
       test_helper: helper {
         compatible = "bone-pinmux-helper";
         pinctrl-names = "default";
         pinctrl-0 = <&mygpio>;
         status = "okay";
       };
     };
   };

   fragment@2{
   target = <&pruss>;
     __overlay__ {
       status = "okay";
     };
   };
};

------------  end of file ---------------------
Is this syntax still correct?

And, then, how do you install the devicetree overlay?
This is how I did it before :
modprobe uio_pruss

cp BB-BONE-PRU-00A0.dtbo /lib/firmware/

echo BB-BONE-PRU:00A0 > /sys/devices/bone_capemgr.9/slots

more /sys/devices/bone_capemgr.9/slots
_________end of file ________

But, this now gives an error,

./dtc_load: 5: ./dtc_load: cannot create
/sys/devices/bone_capemgr.9/slots: Directory nonexistent

Is there a document that explains how to do this?

Thanks much for any help!

Jon



--
Charles Steinkuehler
[email protected]

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: 
https://github.com/machinekit
--- You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to