          b->def_i2c_bus = 0;
          b->i2c_bus[0].bus_id = 1;
 diff --git a/src/arm/arm.c b/src/arm/arm.c
-index 40eccf5..f834058 100644
+index 40eccf5..b893e81 100644
 --- a/src/arm/arm.c
 +++ b/src/arm/arm.c
-@@ -90,6 +90,8 @@ mraa_arm_platform()
+@@ -90,6 +90,10 @@ mraa_arm_platform()
          else if (mraa_file_contains("/proc/device-tree/model",
                                      "HiKey Development Board"))
              platform_type = MRAA_96BOARDS;
-+        else if (mraa_file_contains("/sys/firmware/devicetree/base/model", "ZynqMP ZCU100"))
++       else if (mraa_file_contains("/sys/firmware/devicetree/base/model", "Avnet Ultra96 Rev1"))
++            platform_type = MRAA_96BOARDS;
++       else if (mraa_file_contains("/sys/firmware/devicetree/base/model", "ZynqMP ZCU100"))
 +            platform_type = MRAA_96BOARDS;
          else if (mraa_file_contains("/proc/device-tree/model", "s900"))
              platform_type = MRAA_96BOARDS;

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Peter Ryser <peter.ryser@xilinx.com>
Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
---
 src/arm/96boards.c | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 src/arm/arm.c      |  2 ++
 2 files changed, 72 insertions(+), 1 deletion(-)

diff --git a/src/arm/96boards.c b/src/arm/96boards.c
index a0afc68..863c03c 100644
--- a/src/arm/96boards.c
+++ b/src/arm/96boards.c
@@ -29,6 +29,7 @@

             ls_gpio_pins = hikey_ls_gpio_pins;
             b->uart_dev[0].device_path = hikey_serialdev[0];
             b->uart_dev[1].device_path = hikey_serialdev[1];
+        } else if ((mraa_file_contains(DT_BASE "/model", "Avnet Ultra96 Rev1")) || (mraa_file_contains(DT_BASE "/model", "ZynqMP ZCU100"))) {
+            b->platform_name = PLATFORM_NAME_ULTRA96;
+            if (ultra96_update_ls_gpio_pins() == -1) {
+                syslog(LOG_CRIT, "ULTRA96: failed to find ZynqMP GPIO");
