03-15-2018 07:43 AM
It may be not related to Xilinx chip but I hope I can find support here.
I have ZCU102 board and implemented AXI-GPIO in ZynqMP.
I have to build my own driver for this GPIO, I decided to work with GPIOLIB to control it. This GPIO is 8 bit. I am trying to build driver and check functionality using 8 leds connected to this GPIO.
I can use gpiod_set_array_value almost successfully except for one issue:
Sending ascii character B (which is: 0100_0010), triggers the right leds(-x--_--x-).
Sending ascii character A (which is: 0100_0001), tirggers the right leds(-x--_---x).
After that LSB keeps high (its led is always on)
So sending again ascii character B, triggers wrong leds(-x--_--xx).
This happens with any odd number (LSB is '1'), I can't set it to 0 again.
When I try to control this LSB pin individually using gpiod_set_value. it is working fine (I can switch it on/off), so I don't think there is a problem in the Hardware.
Can anyone please advise, whout could be the problem
03-16-2018 02:40 AM - edited 03-16-2018 02:41 AM
I found one workaround for this problem. May be it is useful for someone:
I had to close the created gpiod descriptor then re-assign it again before setting any value to my gpio. Please see below figure to understand my kernel module configuration
I have no clue actually why it is only working like this.
03-16-2018 02:40 AM - edited 03-16-2018 02:41 AM
I found one workaround for this problem. May be it is useful for someone:
I had to close the created gpiod descriptor then re-assign it again before setting any value to my gpio. Please see below figure to understand my kernel module configuration
I have no clue actually why it is only working like this.