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