I have an issue regarding a custom board the GPIOs where all the HPS IO’s are set to high impedance no matter to how they are set.
I have tested the following:
- GPIO system on linux enabling each of the GPIOs as an output through the controller... and writing values to them... (findings it changes to output state but the value doesn’t alter and reads back high - unchanged)
- GPIO controller address read/write (findings values don’t change)
- Pre-Linux Hardware GPIO Loaning Pins driving a value change on preloader startup to enable a LED (findings no value on GPIO changes value)
So overall the pin mux is there just the GPIO is always set to high... no matter if the gpio output is enabled and values are written to it. All three methods work on our development board with or without Linux drivers included for the LEDs “gpio-leds” simple driver, but not on the custom board. Our PCB has the HPS GPIO LEDs that do not light or even the unconnected header pin doesn’t change value (in your experience does a open gpio pin change value (we think it should still be driven) – this would mean that it is not a driver issue)
The LED output schematic and just applying a 1 or 0 would change this state no problem. It is a different type of Led than the one used on the development board. It uses a power driven led that has a dual red and green operation so should work.
With the open gpio pins not changing state this points to high impedance for all gpio’s, which I am trying to see the differences.
1) Our GPIO Controller has 67 I/O pins connected but none of the 14 input ony pins. (I will try searching for this configurable through u-boot?) – states if not connected need to be weak pull-up.
2) Device Tree can be set without LED driver on the sockit to drive the simple LED’s or can be set accordingly without setting the GPIO through the altera software.
With our leds requiring a power-supply are there special flags to use in the driver but the power is already been supplied, but even the open pin doesn’t drive a signal so I doubt this is the issue.
3) Current Drive or signal circuitry?
Please Advise on what could make the GPIO's not change state and become driven always at the 3.3V outputted voltage?