Here is a good example I think, but I'm confused as to why he has multiple mode / pullup / pulldown configurations for the same pin. But I would take that as only on mode / pullup/pulldown config is meant to be used at any one given time.
https://github.com/nomel/beaglebone/tree/master/pru-gpio/generated On Tue, Dec 8, 2015 at 4:00 AM, William Hermans <[email protected]> wrote: > I think a good example of how to enable pins and the PRUs in the same > overlay file would be Beagelpilot. I'll check it's dts's too since I'm > currently not doing anything . . . > > On Tue, Dec 8, 2015 at 3:47 AM, William Hermans <[email protected]> wrote: > >> The aliases am33xx_pinmux, and pruss already exist in the stock board >> files. But look at this snippet as an example. >> >> >> >> >> >> *fragment@0 { target = <&am33xx_pinmux>; __overlay__ { >> bb_gpio_relay_pins: pinmux_bb_gpio_relay_pins *{ >> pinctrl-single,pins = < >> BONE_P9_15 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* >> gpmc_a0.gpio1_16 */ >> BONE_P9_23 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* >> gpmc_a1.gpio1_17 */ >> BONE_P9_12 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* >> gpmc_be1n.gpio1_28 */ >> BONE_P9_27 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* >> mcasp0_fsr.gpio3_19 */ >> >; >> }; >> >> }; >> }; >> fragment@1 { >> target-path="/"; >> __overlay__ { >> >> leds { >> >> *pinctrl-names = "default"; pinctrl-0 = >> <&bb_gpio_relay_pins>;* >> >> compatible = "gpio-leds"; >> >> jp@1 { >> label = "relay-jp1"; >> gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>; >> default-state = "keep"; >> }; >> >> jp@2 { >> label = "relay-jp2"; >> gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>; >> default-state = "keep"; >> }; >> >> jp@3 { >> label = "relay-jp3"; >> gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>; >> default-state = "keep"; >> }; >> >> jp@4 { >> label = "relay-jp4"; >> gpios = <&gpio3 19 GPIO_ACTIVE_HIGH>; >> default-state = "keep"; >> }; >> }; >> }; >> }; >> >> Passed that, why do you need to "bind" these pins to the PRUs ? The PRU's >> can access any GPIO / hardware module directly through it's register >> addresses. Whats more, I'm not even sure what you're trying to do is >> possible. The PRUs are not like any of the other hardware modules on the >> processor, in that they are directly connected to pads / pins. >> >> On Tue, Dec 8, 2015 at 2:59 AM, Micka <[email protected]> wrote: >> >>> Hi, >>> >>> I'm trying to use the pru and I got : >>> >>> pruss_uio 4a300000.pruss: No children >>> >>> >>> my pru.dtsi file : >>> >>> &am33xx_pinmux { >>> >>> pru_pru_pins: pinmux_pru_pru_pins { >>> pinctrl-single,pins = < >>> 0x158 0x72 /* spi0_d1.i2c1_sda, SLEWCTRL_SLOW | INPUT_PULLUP | MODE2 */ >>> 0x15c 0x72 /* spi0_cs0.i2c1_scl, SLEWCTRL_SLOW | INPUT_PULLUP | MODE2 */ >>> >; >>> }; >>> }; >>> >>> &pruss{ >>> status = "okay"; >>> pinctrl-names = "default"; >>> pinctrl-0 = <&pru_pru_pins>; >>> }; >>> >>> >>> What is wrong ? >>> … >>> >>> Micka, >>> >>> -- >>> 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. >>> >> >> > -- 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.
