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.