Dear all,

I have loaded a PRU device tree as follow on Beagle bone black revC
Linux version 4.1.21-bone-rt-r20
Distributor ID:    Debian
Description:    Debian GNU/Linux 8.5 (jessie)
Release:    8.5
Codename:    jessie




/*
* This program configure the PRU PINS.
* There are all configured in a default state, you can change them at all 
moment,
* you just need to exchange 0x05(OUT MODE) to 0x26(IN MODE) and vice versa 
in the pinctrl-single part

* FAST SLEW RATE | RECEIVER DISABLE |   PULLDOWN  | ENABLE PULLUP/DOWN  | 
MODE 5 
*       0        |         0        |      0      |         0           | 
5= 101  =0x00000101=0x05

* FAST SLEW RATE | RECEIVER ENABLE  |   PULLDOWN  | ENABLE PULLUP/DOWN  | 
MODE 6 
*       0        |         1        |      0      |         0           | 
6= 110  =0x00100110=0x26
* In addition, the Pins P8_11, P8_12, P8_15, P8_16, P9_24, P9_26, P9_27 can 
also be used, however, it's not in the 
* default configuration. So to used them, you have to disable furst there 
current functionality, 
* and then add them in this file.
* Be careful :
* P9_24, P9_26, P8_15, P8_16, can only be allocated in input mode,
* P8_11, P8_12 , can only be allocated in output mode but this time in mode 
6.
*/

/dts-v1/;
/plugin/;

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

    /* identification */
    part-number = "BB-PRU-CONFIG";
    version = "00A0";

    /* state the resources this cape uses */
    exclusive-use =
        /* the pin header P8 uses */
        
        "P8.27", /* PRU 1 r3*_8  default IN   */
        "P8.28", /* PRU 1 r3*_10 default IN   */
        "P8.29", /* PRU 1 r3*_9  default IN   */
        
        "P8.39", /* PRU 1 r3*_6  default OUT  */
        "P8.40", /* PRU 1 r3*_7  default OUT  */
        "P8.41", /* PRU 1 r3*_4  default OUT  */
        "P8.42", /* PRU 1 r3*_5  default OUT  */
        "P8.43", /* PRU 1 r3*_2  default OUT  */  
        "P8.44", /* PRU 1 r3*_3  default OUT   */
        "P8.45", /* PRU 1 r3*_0  default OUT   */
        "P8.46", /* PRU 1 r3*_1  default OUT   */
        
        /* the pin header P9 uses */

        "P9.27", /* PRU 0 r3*_5  default IN   */
        
        "P9.28", /* PRU 0 r3*_3  default IN   */
        
        "P9.29", /* PRU 0 r3*_1  default OUT  */
        "P9.30", /* PRU 0 r3*_2  default OUT   */
        "P9.31", /* PRU 0 r3*_0  default OUT   */
        
        "P9.41", /*(mode B) PRU 0 r3*_6  default IN   */
        "P9.42"; /*(mode B) PRU 0 r3*_4  default IN   */

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

            config_pins: pinmux_config_pins{
                pinctrl-single,pins = <
                         /* The pin header P8 uses and PRU 1 part */
                         
                            /*  Input part */
                    0x0e0 0x26  // P8_27 pr1_pru1_pru_r31_8, MODE6 | INPUT 
 | PRU 00100110=0x26
                    0x0e8 0x26  // P8_28 pr1_pru1_pru_r31_10,MODE6 | INPUT 
 | PRU 00100110=0x26
                    0x0e4 0x26  // P8_29 pr1_pru1_pru_r31_9, MODE6 | INPUT 
 | PRU 00100110=0x26
                    
                            /*  Output part */
                    0x0b8 0x05  // P8_39 pr1_pru1_pru_r30_6, MODE5 | OUTPUT 
| PRU 00000101=0x05
                    0x0bc 0x05  // P8_40 pr1_pru1_pru_r30_7, MODE5 | OUTPUT 
| PRU 00000101=0x05
                    0x0b0 0x05  // P8_41 pr1_pru1_pru_r30_4, MODE5 | OUTPUT 
| PRU 00000101=0x05
                        0x0b4 0x05  // P8_42 pr1_pru1_pru_r30_5, MODE5 | 
OUTPUT | PRU 00000101=0x05                
                    0x0a8 0x05  // P8_43 pr1_pru1_pru_r30_2, MODE5 | OUTPUT 
| PRU 00000101=0x05
                    
                    0x0ac 0x05  // P8_44 pr1_pru1_pru_r30_3, MODE5 | OUTPUT 
| PRU 00000101=0x05
                    0x0a0 0x05  // P8_45 pr1_pru1_pru_r30_0, MODE5 | OUTPUT 
| PRU 00000101=0x05
                        0x0a4 0x05  // P8_46 pr1_pru1_pru_r30_1, MODE5 | 
OUTPUT | PRU 00000101=0x05
                        
                        
                        /* The pin header P9 uses and PRU 0 part */
                        
                            /*  Input part */            
                    0x1a4 0x26  // P9_27 pr1_pru0_pru_r31_5, MODE6 | INPUT 
| PRU 00100110=0x26        
                        
                    0x19C 0x26  // P9_28 pr1_pru0_pru_r31_3, MODE6 | INPUT 
| PRU 00100110=0x26
                    0x1a8 0x26  // P9_41B pr1_pru0_pru_r31_6, MODE6 | INPUT 
| PRU 00100110=0x26
                    0x1a0 0x26  // P9_42B pr1_pru0_pru_r31_4, MODE6 | INPUT 
| PRU 00100110=0x26    
                    
                        
                            /*  Output part */
                    0x194 0x05  // P9_29 pr1_pru0_pru_r30_1, MODE5 | OUTPUT 
| PRU 00001101=0x05
                    0x198 0x05  // P9_30 pr1_pru0_pru_r30_2, MODE5 | OUTPUT 
| PRU 00001101=0x05
                    0x190 0x05  // P9_31 pr1_pru0_pru_r30_0, MODE5 | OUTPUT 
| PRU 00001101=0x05    
       
                                      
                >;
            };

        };
    };

    //Allowed us to have the differents uio 
    fragment@1{
        target = <&pruss>;
        __overlay__{
            status = "okay";
            pinctrl-names = "default";         
        };
    };
 
     //Make the uio working
    fragment@2

            target = <&ocp>;
            __overlay__ {            
                #address-cells = <1>;
                #size-cells = <1>;                            

                gpio_keys {
                    compatible = "gpio-keys";
                    pinctrl-names = "default";
                    pinctrl-0 = <&config_pins>;
                    #address-cells = <1>;
                    #size-cells = <0>;
                };

            };
    };
    

};
the DTO is loaded correctly, but when I checked the PINS configuration it 
shows this:
cat $PINS| grep '89\| 103\|100'
pin 36 (44e10890.0) 00000037 pinctrl-single 
pin 37 (44e10894.0) 00000037 pinctrl-single 
pin 38 (44e10898.0) 00000037 pinctrl-single 
pin 39 (44e1089c.0) 00000037 pinctrl-single 
pin 89 (44e10964.0) 00000027 pinctrl-single ?????  
pin 103 (44e1099c.0) 00000026 pinctrl-single 

Why pin 89 is set as 0x27 (GPIO MODE) instead of 0x1a0 0x26  // P9_42B 
pr1_pru0_pru_r31_4, MODE6 | INPUT | PRU 00100110=0x26??

Any Idea what could be the reason???



-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/91cfc419-5e5a-48d8-a390-b12257b5267f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to