This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

UCD90160A: GPIO Read Issue with UCD90160A – Guidance Required

Part Number: UCD90160A
Other Parts Discussed in Thread: UCD90160

Tool/software:

Hi Team,
I am currently working with the UCD90160A IC and encountering issues while attempting to read the GPIOs. The device is correctly enumerated, and I can see the GPIO entries under /sys/kernel/debug/gpio:


[2025-06-09 19:20:54] root@zynqmp-iwg36m:~# cat /sys/kernel/debug/gpio 
[2025-06-09 19:21:01] gpiochip0: GPIOs 512-515, parent: platform/firmware:zynqmp-firmware:gpio, firmware:zynqmp-firmware:gpio:
[2025-06-09 19:21:01] 
[2025-06-09 19:21:01] gpiochip1: GPIOs 516-516, parent: platform/a0010000.gpio, a0010000.gpio:
[2025-06-09 19:21:01] 
[2025-06-09 19:21:01] gpiochip2: GPIOs 517-517, parent: platform/a0020000.gpio, a0020000.gpio:
[2025-06-09 19:21:01] 
[2025-06-09 19:21:01] gpiochip3: GPIOs 518-519, parent: platform/a0000000.gpio, a0000000.gpio:
[2025-06-09 19:21:01] 
[2025-06-09 19:21:01] gpiochip4: GPIOs 520-693, parent: platform/ff0a0000.gpio, zynqmp_gpio:
[2025-06-09 19:21:01]  gpio-528 (                    |b-wdt-kick          ) out lo ACTIVE LOW
[2025-06-09 19:21:01]  gpio-563 (                    |ssd_vqmmc           ) out hi 
[2025-06-09 19:21:01] 
[2025-06-09 19:21:01] gpiochip5: GPIOs 694-719, parent: i2c/0-0065, ucd90160, can sleep:
[2025-06-09 19:21:01] root@zynqmp-iwg36m:~# 
[2025-06-09 19:21:02] root@zynqmp-iwg36m:~# 

My requirement is to read the status of GPIO19 to GPIO22. These are connected to the QA to QD outputs of a SN74LV163ARGYR binary counter, and the WDO pin of the UCD90160A is used as the clock input for the counter. This setup is intended to track the number of reboots caused by the watchdog.

I have been trying to read the GPIO values via I2C using the following steps:



GPIO19
============
i2cset -f -y 0x0 0x65 0xFA 0x15

i2cget -f -y 0x0 0x65 0xFB

GPIO20
===============
i2cset -f -y 0x0 0x65 0xFA 0x14

i2cget -f -y 0x0 0x65 0xFB

GPIO21
=============
i2cset -f -y 0x0 0x65 0xFA 0x17

i2cget -f -y 0x0 0x65 0xFB

GPIO22
=============
i2cset -f -y 0x0 0x65 0xFA 0x16

i2cget -f -y 0x0 0x65 0xFB

However, I am consistently receiving incorrect or unexpected values from the above procedure.

Is this the correct sequence to read GPIO values on the UCD90160A using I2C?

s there any additional configuration required using the TI Fusion Digital Power Designer GUI tool to enable or configure GPIOs for read operations?

Do GPIOs 19–22 need to be explicitly configured as inputs with monitoring enabled in the PMBus or Fusion GUI?

Could you advise on a recommended or validated approach to reliably read the GPIO status in this setup?

Our aim is to monitor the QA–QD output of the counter IC (SN74LV163ARGYR) via GPIO19–22 and determine the number of times the system has rebooted due to a watchdog timeout (by counting pulses from WDO).

Any insights or suggestions to resolve this issue would be highly appreciated.



your Inputs on this will be appreciated. 

Thanks & Regards,
Madhusankar SP