My DTS is:
/dts-v1/;
/plugin/;
/ {
compatible = "ti,beaglebone", "ti,beaglebone-black";
/* identification */
part-number = "BB-BONE-W";
version = "00A0";
exclusive-use = "P9.24";
fragment@0 {
target = <&am33xx_pinmux>;
__overlay__ {
mygpio: pinmux_mygpio{
pinctrl-single,pins = <
0x184 0x16 /* P9 24 pr1_pru0_pru_r31_16.GPIO0_15: | PULLUP | MODE6
| INPUT */
>;
};
};
};
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";
pinctrl-names = "default";
pinctrl-0 = <&mygpio>;
};
};
};
and the
cat /sys/devices/bone_capemgr.*/slots
0: 54:PF---
1: 55:PF---
2: 56:PF---
3: 57:PF---
4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
5: ff:P-O-- Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
6: ff:P-O-- Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN
8: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-BONE-W
cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pins | grep "pin 97"
pin 97 (44e10984) 00000037 pinctrl-single BEFORE
root@donkeytom-t001:/texka/pinmux# echo BB-BONE-W >
/sys/devices/bone_capemgr.9/slots
root@donkeytom-t001:/texka/pinmux# cat
/sys/kernel/debug/pinctrl/44e10800.pinmux/pins | grep "pin 97"
pin 97 (44e10984) 00000016 pinctrl-single AFTER
When I do an interruput up or down the ASM keeps waiting and nothing....
Thank you!
Manuel
El lunes, 10 de marzo de 2014 23:36:42 UTC-3, Charles Steinkuehler escribió:
>
> Provide the *.dts source for the overlay you are trying to load, and the
> contents of /sys/devices/bone_capemgr.*/slots, and maybe we can figure
> out what's going wrong. It looks like something has already grabbed the
> pin you want to use.
>
> Note the "pruss: failed to hardreset" always shows up and doesn't
> indicate a problem (or at least not the problem you're having). Your
> issue is presumably the pin overlay that fails to load.
>
> On 3/10/2014 9:20 PM, Manu wrote:
> > I was finding what is wrong and finally I got it. The thing is that I
> don't
> > know how to fix it.
> > My BBB is Ubuntu last 12.04 version with 3.8 kernel by nelson.
> > The error is here:
> > *706.650640] omap_hwmod: pruss: failed to hardreset*
> > [ 706.682785] pinctrl-single 44e10800.pinmux: pin 44e10984 already
> > requested by helper.12; cannot claim for 4a300000.pruss
> > [ 706.694442] pinctrl-single 44e10800.pinmux: pin-97 (4a300000.pruss)
> > status -22
> > [ 706.702096] pinctrl-single 44e10800.pinmux: could not request pin 97
> on
> > device pinctrl-single
> > [ 706.738323] pruss_uio 4a300000.pruss: pins are not configured from
> the
> > driver
> > [ 706.765286] bone-capemgr bone_capemgr.9: slot #7: Applied #3
> overlays.
> >
> >
> >
> >
> > El lunes, 10 de marzo de 2014 20:10:55 UTC-3, Brandon I escribió:
> >>
> >> Along with what the others have described, since you're the arm
> processor
> >> gpio rather than a pru gpio, meaning you're going all the way out to
> system
> >> memory, you have to connect the pru to system memory. Here's an example
> of
> >> accessing system memory with the pru:
> >>
> >>
> >>
> http://nomel.tumblr.com/post/30006622413/beaglebone-tutorial-accessing-main-memory-from-the-pru
>
> >>
> >> To set the pin mux for arm gpio, you can use one of these gpio
> overlays.
> >> Just follow the instructions:
> >>
> >> https://github.com/nomel/beaglebone/tree/master/gpio-header
> >>
> >> Also, there are a few pru debuggers out there now so you can view/step
> pru
> >> execution.
> >>
> >> -Brandon
> >>
> >>
> >> On Sunday, March 9, 2014 6:37:09 PM UTC-7, Manu wrote:
> >>>
> >>> I was trying a few days to enable PRU (BBB Ubuntu 12.04) and run a
> input
> >>> testing code using the pin P9_24.
> >>>
> >>> MUX = pin 97 (44e10984) 00000006 pinctrl-single (SET to MODE 6)
> >>>
> >>> P9 24 pr1_pru0_pru_r31_16.GPIO0_15: | MODE6 | INPUT
> >>>
> >>> Nothing happens when I put the pin to 1.8 or GND
> >>>
> >>> The ASM code is:
> >>>
> >>> .origin 0
> >>> .entrypoint START
> >>>
> >>> #define PRU0_ARM_INTERRUPT 19
> >>> #define AM33XX
> >>>
> >>> #define GPIO1 0x4804c000
> >>> #define GPIO_CLEARDATAOUT 0x190
> >>> #define GPIO_SETDATAOUT 0x194
> >>>
> >>> START:
> >>> // clear that bit
> >>> LBCO r0, C4, 4, 4
> >>> CLR r0, r0, 4
> >>> SBCO r0, C4, 4, 4
> >>>
> >>> MOV r0, 1000000000 //# cycles
> >>>
> >>> INPUTTEST:
> >>>
> >>> WBS r31.t15 //Wait til GPIO-15-in is high... P9_24
> >>> SUB r0, r0, 1 //Subtract from counter
> >>> QBNE INPUTTEST, r0, 0 //Loop if counter not at zero
> >>> // Send notification to Host for program completion
> >>> MOV R31.b0, PRU0_ARM_INTERRUPT+16
> >>>
> >>> MOV r0, 0
> >>> HALT
> >>>
> >>> I don't know what I am doing wrong and in Internet are not examples
> for
> >>> INPUT tests.
> >>>
> >>>
> >>>
> >>>
> >>>
> >
>
>
> --
> Charles Steinkuehler
> [email protected] <javascript:>
>
--
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.