Having some trouble understanding what I am seeing, this is probably the simplest thing that I have to tackle right now, after getting just about every other piece of silicon working on the BBAI…a simple, read a GPIO.
I am using devicetrees, and I believe that I have my IO configured correctly from what I see, according to many feedback points:
shiow-pins:
P9.18b 173 slow rx up 14 gpio 4.02 gpio@4805b000 (gpio5)
sysfs
/sys/class/gpio/gpio162
direction: in
value: 0
active_low: 0
edge: none
I want to read this pin accurately.
My oscope shows the pin HIGH at 3V.
Everything else shows the pin LOW.
I am successful with many other pins, however I also have an output that is basically giving me the same grief.
P9.15 69 fast down 14 gpio 2.12 gpio@48057000 (gpio3)
/sys/class/gpio/gpio108
direction: out
value: 1
active_low: 0
edge: none
In this case, as an IO, I can change the value to 1 or 0, and sysfs keeps track of it just fine, but the oscope shows that pin stuck at 0.
Do I need to cut some of the 0-ohm resistors off the BBAI?
I do have the P9.18a pin floating, to not have a contention…
DRA7XX_CORE_IOPAD( 0x36B4, PIN_INPUT_PULLUP | MUX_MODE14 | SLEWCONTROL ) // G12 P9.18b GPIO5-2 Switch2
DRA7XX_CORE_IOPAD( 0x37C8, PIN_INPUT | MUX_MODE14 ) // G17 P9.18a not used, default
Like I said, I have just had amazing luck over the past few weeks with the PRU coding without a debugger, that was a lot of fun, but it is a pretty bad ass core, all 4 of them.
All I want to do now is monitor a switch, and turn on and off an LED! While I am doing that successfully with other pins, these two (there are a few more) just either won’t report the correct value, or not drive the right value.
Any help will keep some hair on my head!