On Mon, 15 Jun 2020 15:08:18 -0700 (PDT), in
gmane.comp.hardware.beagleboard.user P B
<mmmbarley-re5jqeeqqe8avxtiumw...@public.gmane.org> wrote:


>Unfortunately, I also want
>P9-12 (GPIO 60) as pulldown output to turn on pump 1 using a relay, where 
>P9-12's default state is pullup input, and
>P9-15 (GPIO 48) as pulldown output to turn on pump 2 using a relay, where 
>P9-15's default state is pulldown input.
>
>I have been trying to work through RCN's dtb-rebuilder with Derek Molloy's 
>book to accomplish this.  

        First or second edition? It may be pertinent.

>
>But I have not impacted this default state.
>

        OTOH, I note you mentioned checking using config-pin, but not trying to
set using it. Have you tried using config-pin at run time instead of all
this DTB hassle? {the /old/ config-pin script, not the less-capable binary
that is now in the path} 

-=-=-=-
debian@beaglebone:~$ config-pin -h

GPIO Pin Configurator

Usage: config-pin -c <filename>
       config-pin -l <pin>
       config-pin -q <pin>
       config-pin <pin> <mode>

debian@beaglebone:~$
/opt/source/bb.org-overlays/tools/beaglebone-universal-io/config-pin -h
config-pin [-a] <pin> <mode>
    Set <pin> to <mode>, configuring pin multiplexing and optionally
    configuring the gpio.  Valid <mode> strings vary based on <pin>,
    however all pins have a default and gpio mode.  The default mode is
    the reset state of the pin, with the pin mux set to gpio, the pull
    up/down resistor set to it's reset value, and the pin receive buffer
    enabled.  To setup gpio, the following <mode> strings are all valid:

        gpio :
            Set pinmux to gpio, existing direction and value unchanged
        in | input:
            Set pinmux to gpio and set gpio direction to input
        out | output :
            Set pinmux to gpio and set gpio direction to output
        hi | high | 1 :
            Set pinmux to gpio and set gpio direction to output driving
high
        lo | low | 0 :
            Set pinmux to gpio and set gpio direction to output driving low

    To enable pull-up or pull-down resistors, a suffex may be appended to
    any of the above gpio modes.  Use + or _pu to enable the pull-up
resistor
    and - or _pd to enable the pull-down resistor.  Examples:

        in+ | in_pu:
            Enable pull-up resistor and setup pin as per input, above.
        hi- | hi_pd:
            Enable pull-down resistor and setup pin as per high, above.
            While the pull-down resistor will be enabled, it will not do
much
            until application software changes the pin direction to input.

config-pin -l <pin>
    list valid <mode> values for <pin>

config-pin -i <pin>
    show information to <pin>

config-pin -q <pin>
    query pin and report configuration details

config-pin -f [file]
    Read list of pin configurations from file, one per line
    Comments and white-space are allowed
    With no file, or when file is -, read standard input.
config-pin -h
    Display this help text

debian@beaglebone:~$
-=-=-=- <snipping irrelevant>
debian@beaglebone:~$ /opt/scripts/device/bone/show-pins.pl


P9.15                             16 R13 fast rx down 7 gpio 1.16
ocp/P9_15_pinmux (pinmux_P9_15_default_pin)

P9.12                             30 U18 fast rx  up  7 gpio 1.28
ocp/P9_12_pinmux (pinmux_P9_12_default_pin)

debian@beaglebone:~$ config-pin -q p9.12

Current mode for P9_12 is:     default

debian@beaglebone:~$ config-pin -q p9.15

Current mode for P9_15 is:     default

debian@beaglebone:~$
/opt/source/bb.org-overlays/tools/beaglebone-universal-io/config-pin -q
p9.12
P9_12 Mode: default Direction: in Value: 1
debian@beaglebone:~$
/opt/source/bb.org-overlays/tools/beaglebone-universal-io/config-pin -q
p9.15
P9_15 Mode: default Direction: in Value: 1
debian@beaglebone:~$
/opt/source/bb.org-overlays/tools/beaglebone-universal-io/config-pin p9.12
out_pd
debian@beaglebone:~$
/opt/source/bb.org-overlays/tools/beaglebone-universal-io/config-pin p9.15
out_pd
debian@beaglebone:~$
/opt/source/bb.org-overlays/tools/beaglebone-universal-io/config-pin -q
p9.12
P9_12 Mode: gpio_pd Direction: out Value: 0
debian@beaglebone:~$
/opt/source/bb.org-overlays/tools/beaglebone-universal-io/config-pin -q
p9.15
P9_15 Mode: gpio_pd Direction: out Value: 0
debian@beaglebone:~$ config-pin -q p9.12

Current mode for P9_12 is:     gpio_pd

debian@beaglebone:~$ config-pin -q p9.15

Current mode for P9_15 is:     gpio_pd

debian@beaglebone:~$
-=-=-=-

{the "modern" config-pin binary seems to lack an ability to set direction,
but does have gpio_pd/gpio_pu; the old script version has direction and
option to set _pu/_pd on the direction: out, out_pu, out_pd, in, in_pu,
in_pd}

        As an aside -- setting an output to pull-up/pull-down seems to me
rather perverse. My understanding of circuits is that pull-up/-down is
meant to ensure one reads a particular state when external devices are
/not/ driving a line to either rail, or are tri-stated (floating) when the
line is shared among devices. Once your application is running, your
outputs should be driven to one or the other state, they won't be floating.
>From the script config-pin help:
"""
            While the pull-down resistor will be enabled, it will not do
much
            until application software changes the pin direction to input.
"""


{config-pin, either version, are not available if using the BB AI -- that
board must use device tree edits}


-- 
Dennis L Bieber

-- 
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 beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/77nheflae4s1h5lchqf8gq94ss9n7j6uq4%404ax.com.

Reply via email to