OSDZU3-REF Getting Started Guide

Published On: January, 16, 2023 By: Eshtaartha Basu | Updated: November 25, 2025 by Neeraj Dantu

Welcome to the OSDZU3-REF, a full featured development platform for the OSDZU3 System in Package. It provides access to most the commonly used peripherals on the OSDZU3. It also provides options for easy expandability through industry standard interfaces. This application note will walk you through the process of getting up and running with the OSDZU3-REF so you can quickly begin developing and prototyping your application.

This application note will be updated as the platform matures. Make sure you stay up to date on the latest by signing up for updates below.

 

*” indicates required fields

Table of Contents

Note on Board Revisions:
This guide was written for Board Revisions 2x and latter.  For board revisions 1x and earlier you will see a box like this one in the section outlining any differences to what is written.  The Board Revision can be found below the fan next to the Octavo Systems Logo.  See the image below for where to find it.

1.

Tutorial Requirements

This tutorial may require the following software and hardware setup for some of the use cases.

1.1

Software

  1. To establish JTAG connection over Vivado as described under “JTAG” section below, install Vivado:
 
  1. To establish JTAG connection over Vitis as described under “JTAG” section below, install Vitis:
1.2

Hardware

The following additional hardware (not included in the box) have been used in this tutorial:

 

2.

OSDZU3-REF Platform Overview

The OSDZU3-REF platform package includes the OSDZU3-REF platform itself as well as a 12V Power Supply, Display Port to HDMI adapter, µUSB to USB-A cable and a µSD card preloaded with the Octavo Systems Petalinux Distribution.

OSDZU3-REF_Box_Contents
OSDZU3-REF Platform Contents
2.1

Features Walk Through

The video below will walk you through the OSDZU3-REF features and peripherals.  It closely follows the steps outlined in this guide.

The completely Opensource OSDZU3-REF platform features:

 

  • OSDZU3EG1-2G-BFA (see NOTE 1)
    • XCZU3EG-1 Zynq UltraScale+ MPSoC
      • Quad-core A53, Dual-core R5F
      • Mali™-400 MP2 GPU
      • PL-FPGA fabric
    • 2GB (16Gb) LPDDR4
    • 2x Infineon IRPS5401 PMICs
    • 2x LDO
    • QSPI Flash
    • EEPROM
    • 2x Oscillator
    • Passives
  •  Connectivity
    • 10/100/1000 Ethernet
    • USB-C
    • USB 3.0
    • SYSMON
    • JTAG
    • JTAG over USB
    • SATA
    • UART over USB
  •  Memory
    • µSD Card
    • eMMC
    • QSPI Flash
  •  Display
    • Display Port
    • LVDS Touch Panel
  •  Expansion
    • FMC LPC
    • 2x PL PMOD
    • 8x 100 mil PL Expansion Headers
    • PS PMOD
OSDZU3-REF Top View Key Components Labeled
OSDZU3-REF Top Side
OSDZU3-REF Back Side Key Components Labeled
OSDZU3-REF Bottom

Full schematics, layout, and other design files for the OSDZU3-REF can be found here.

Note on Board Revisions:
For revision 1x boards the OSDZU3EG1-2G-IFB-ES (Engineering Sample) is used. See ES Errata for more information on special considerations.

Other Changes Made between 1x revisions and later revisions include:

  1. Changed Bank 500 to 1.8V to support eMMC boot
  2. Fixed JTAG TCK issue (https://octavosystems.com/forums/topic/osdzu3-ref-errata-using-jtag-while-running-petalinux/)
  3. Fixed PS PMOD connector(See section 8.1.1) 
  4. Fixed FMC inter pair length matching
3.

OSDZU3-REF Boot Options

The OSDZU3-REF by default is set to boot from µSD card. It provides other boot options as well. These options are set using the 4-bit switches next to the USB host port.

 

To boot from µSD card, the boot switches must be set to SD1 as shown below.  Please note that the Least Significant Bit (LSB) is on the left edge of the boot switch corresponding to “1” on-switch marking, and the Most Significant Bit (MSB) is on the right edge of the boot switch corresponding to “4” on-switch marking. The boot mode bits must be read from Right to Left (MSB to LSB) instead of the conventional left to right.

Boot Mode Switches - SD Card
OSDZU3-REF Boot Mode Switches

All the other boot mode options can be found in the OSDZU3-REF Schematics (see Note 2).

OSDZU3 Boot Modes
OSDZU3-REF Boot Mode Settings

Note on Board Revisions:
Revisions 1x of the OSDZU3-REF do not support eMMC boot. This is because for ES devices, QSPI is connected to 3.3V power supply. Therefore, Bank 500 must be 3.3V IO. This means the eMMC interface (Bank 500) is using 3.3V IO. eMMC boot is available for 1.8V IO only. See section “Boot Modes” of Zynq Ultrascale+ TRM.

See ES Errata for more information on special considerations.

 

For Board revisions ≥ 2x, eMMC boot is supported because OSDZU3EG1-2G-IFB with Bank 500 voltage set to 1.8V is used.

4.

OSDZU3 Petalinux Software Image

The OSDZU3-REF comes with a µSD card pre-installed with Petalinux. This allows you to quickly evaluate different peripherals and interfaces as described in the following sections.

 

PetaLinux is a reference Linux distribution integrated and tested for AMD devices. The reference Linux distribution includes several packages including:

 

  • Boot loader
  • AMD CPU-optimized kernel
  • Linux application libraries
  • C, C++ and Python development tools
  • Thread and FPU support
  • Integrated web server
 

The Petalinux distribution from AMD has been adopted for OSDZU3 family and updated with following add-on packages, tools and PL IPs (PL instantiations) by our technology partner DesignLinx Hardware Solutions Inc for Octavo Systems:

 

  • PL IP to support LVDS display output
  • PL IP to provide I2C, UART, PWM and GPIO support for PMOD, Click and User IO interfaces
  • C, C++ and Python development tools –
    • gcc, g++, pip, pip3, smbus
    • Nano editor
    • Zip archive manager

You can also find the source and project files on the Software Section of the OSDZU3-REF product page.

Note: The Rest of this application guide assumes you are using the default Petalinux image that is loaded on the given µSD card.

5.

Powering the OSDZU3-REF

The OSDZU3-REF can be powered through the DC barrel connector with the provided power supply. The included power supply is capable of delivering at least 3A@12VDC with a center-positive barrel connector of 2.5mm inner diameter and 5.5mm outer diameter. If you would like to use your own power supply, it must meet this spec.

OSDZU3-REF Power Jack
OSDZU3-REF Power Jack

Once the board is connected to power, flip the power switch (S2) to ON position. The 12VIN LED (D13) should illuminate indicating input power. The other three Power Good (PG) LEDs i.e., PG SiP, PG FMC and PG BRD should also come up indicating successful power up of SiP, FMC and the Reference Board respectively. The power switch (S2) can be used to turn the board ON/OFF as necessary.

OSDZU3-REF Power Connector
OSDZU3-REF Powered On
6.

Interacting with the OSDZU3-REF

The OSDZU3-REF with the default image supports 3 ways to interact with it:

 

  1. UART
  2. JTAG (on-board and external)
  3. External display, keyboard & mouse

This section will go through each of these approaches. It is assumed that the OSDZU3-REF is connected to the power supply but switched off for each of these approaches.

6.1

UART

UART console provides critical, useful boot log information during OSDZU3 boot that helps debug any potential boot issues and determine if various hardware peripherals have come up successfully. Two UART interfaces (UART0 and UART1) of the OSDZU3 are made available on the OSDZU3-REF via µUSB port (thanks to USB to Dual UART Bridge) for added flexibility. By default, the Petalinux image provided by OctavoSystems uses UART1 interface for boot log output. We highly recommend that you access the UART console by connecting a USB-A to µUSB cable between the OSDZU3-REF and your PC. To do this:

 

  1. Make sure you have the necessary USB-UART bridge driver installed on your post PC.  They can be downloaded from here.
  2. Connect the OSDZU3-REF via the UART µUSB to a host computer.
OSDZU3-REF UART Port
UART µUSB interface
OSDZU3-REF UART Connected
USB cable connected to UART µUSB port
  1. Open Serial Console Client on your PC like Putty.
  2. You will see 2 UART ports appear on your host computer. For example, you may see something like COM6 and COM7 under Windows OS Device Manager’s COM ports or /dev/ttyUSB0 and /dev/ttyUSB1 under Linux based OS like Ubuntu. Choose the port with higher index for UART1 (COM7 or /dev/ttyUSB1 in this example)
    Note: The actual COM port or TTY interface index you see on your computer may be different.
  3. Set the baud rate of your Serial (UART) connection to 115200 on your client
    (other parameters of the serial port can be left in their default state i.e., Data Bits = 8, Stop Bits = 1, Parity = None, Flow Control = XON/XOFF).
  4. Set the Boot Mode to SD1 (i.e., BOOT MODE [3:0] = 0, 1, 0, 1).
  5. Insert the given µSD card in the slot (J1).
  6. Turn ON the platform by flipping the power switch (S2) and the boot messages should scroll by.
  7. If your µSD card has available empty space, you may a see a prompt from Disk Expander Script as shown below. The Disk Expander Script will help you maximize rootfs partition size to occupy all of the remaining empty space on the µSD card. If you wish to proceed with the rootfs expansion process, input “y” from the keyboard and press Enter. Otherwise, input “n” to skip this prompt until next reboot.
A picture containing text Description automatically generated
OSDZU3 Disk Expander Script Prompt
  1. Once the boot is complete you will be prompted for the Linux Login. By default, the log in is:

 

  • User Name: root
  • Password: root
OSDZU3-REF UART Console Output
Example UART console
6.2

JTAG

OSDZU3-REF platform provides 2 ways to connect via JTAG:

 

  1. The On-board JTAG-SMT2™ Programming Module
  2. The J11 JTAG header which requires a AMD SmartLynq Data Cable to connect. This method is outside the scope of this app note, but you can refer OSDZU3 Vivado Tutorial for more information.

 

The On-board JTAG-SMT2™ Programming Module is a fully self-contained USB to JTAG module from Digilent that can be directly accessed from Vivado or Vitis. The steps to establish a successful JTAG connection over Vivado and Vitis are described below.

Note on Board Revisions:
For board Revisions 1x, if you experience an issue using JTAG while running PetaLinux please refer to this forum post.

  1. Connect a µUSB to USB-A cable between the JTAG-SMT2™ Programming Module and your host computer running Vivado/Vitis.
OSDZU3-REF JTAG Connector
Digilent JTAG to USB Module
  1. Set the Boot Mode to PS JTAG (i.e., BOOT MODE [3:0] = 0, 0, 0, 0).
  2. Turn ON the platform by flipping the power switch (S2).

 

On Vivado:

 

 

  1. Open Vivado on your host computer
  2. In Vivado toolbar, go to Flow > Hardware Manager
  3. Once Hardware Manager opens, click on Tools > Auto Connect
  4. The digilent module will show up under localhost as shown below.
OSDZU3-REF JTAG in Vivado Hardware Manager
Vivado Hardware Manager
  1. Double click on SysMon under xczu3_0. A new Dashboard window will open. Put in a name for the dashboard and click OK.
Vivado New Dashboard
Vivado New Dashboard window
  1. Sysmon dashboard will appear indicating ZU3 SoC temperature.
Sysmon Dashboard Temperature Reading
Sysmon Dashboard

On Vitis:

 

  1. Open Vitis on your host computer
  2. In Vitis toolbar, go to > Window > Show View > Xilinx > Target Connections
  3. Under Hardware Server:
  • See if a default Local target is visible as shown below.
Default Local Target
Default Local target
  • If yes, right click on Local and press View. Target connection details should be similar to what is shown below.
OSDZU3-REF Local Target Details
Target Connection Details
  • Click on Test Connection and verify if the connection is successful.

 

  1. If no default targets are available under Hardware Server, create a new target:
    • Right click on Hardware Server > New Target
    • Set Target Name to OSDZU3-Ref-JTAG, other parameters as follows and click OK:
      • Type: Hardware Server
      • Host: 127.0.0.1
      • Port: 3121
      • Use Symbol Server Checkbox: Check it
      • Click on Test Connection and verify if the connection is successful
OSDZU3-REF Target Connection Details
JTAG successfully connected
  1. Newly added OSDZU3-Ref-JTAG [default] hardware server should appear under Target Connections window.

Note: If Vitis fails to identify JTAG-SMT2, you can reinstall drivers by following below methods:

6.3

External display, keyboard & mouse

To interact seamlessly with the Graphical User Interface (GUI) of the OSDZU3-REF, you can:

 

  • Connect an external display via:
    • Display Port interface or
    • Use the provided Display Port to HDMI adapter.
    • Refer Display Port output section below for more info.

      • Connect a USB-C keyboard and mouse. Refer USB-C Host section below for more info.
      • Insert the provided µSD card in the slot J1.
      • Set the Boot Mode to SD1.
      • Turn ON the platform by flipping the power switch (S2).
 

OSDZU3-REF external display desktop is shown in image below.

OSDZU3-REF Default Desktop Image
OSDZU3-REF Default Desktop Image
7.

OSDZU3-REF Platform Peripherals

The OSDZU3-REF has many common peripherals that are used in a wide variety of applications. This section will briefly explain how to use them with their default functionality.

7.1

Display Port output

By default, the Petalinux Image provided my Octavo Systems uses Display Port (DP) for external display output. Simply plug in a display port cable into the OSDZU3-REF and the other end into a Display Port monitor and you will see the default desktop. The Display Port can support up to 4K x 2K video @30 Hz video resolution as highlighted here https://docs.xilinx.com/r/en-US/ug1449-multimedia/DisplayPort-Interface.

Display Port cable connected to Display Port Connector on OSDZU3-REF
Display Port cable connected to Display Port Connector on OSDZU3-REF

If you do not have access to a display that supports Display Port you can use the provided DP to HDMI adaptor to connect to an HDMI monitor. You will then be able to see the default desktop. The maximum supported HDMI output resolution is same as Display Port maximum mentioned above.nux is a reference Linux distribution integrated and tested for AMD devices. The reference Linux distribution includes several packages including:

Connecting HDMI monitor with provided Display Port to HDMI converter.
Connecting HDMI monitor with provided Display Port to HDMI converter.
OSDZU3-REF Default Desktop Image
Standard Monitor Showing Default Desktop
7.2

LVDS Touch Display

OSDZU3, by default, provides Display Port interface for video output. Display Port is excellent for computer monitors and other larger displays. However, for handheld and other smart devices that require smaller screens, Display Port interface is seldom used. To bridge this gap, our technology partner DesignLinx Hardware Solutions Inc. has developed a dedicated LVDS Display PL IP for Octavo Systems. This IP powers the LVDS display connector on OSDZU3-REF board.

 

OSDZU3-REF has one LVDS display panel connector (40pin, 0.5mm pitch, right-angle) on the bottom edge of the board, one touch connector (8pin, 0.5mm pitch, right-angle) on the top edge as shown in below picture below. OSDZU3-REF can support LVDS displays up to 3840 x 2160 resolution.

 

The default Octavo Systems Petalinux image will automatically switch between Display Port and LVDS. The Display Port is the priority display and will be selected as the output whenever it is connected. In order for the display to be output on the LVDS, the Display Port must not be connected.

 

LVDS displays that are known to work well with the Octavo Systems LVDS IP (at the time of writing this app note) are listed below. Please note that the device tree for the OSDZU3-REF must be changed to reflect the actual LVDS display panel and touch module being connected. The default device tree setting is for the GLT0701024600IS2-CTP panel shown below.

  1. GLT0701024600IS2-CTP (https://www.digikey.com/en/products/detail/global-technologies-group-inc/GLT0701024600IS2-CTP/13997788)
  2. DT070DTFT-IPS-HB (https://www.digikey.com/en/products/detail/displaytech/DT070DTFT-IPS-HB/11561140)
LVDS touch display connected to the OSDZU3-REF platform
LVDS touch display connected to the OSDZU3-REF platform
LDVS touch display showing the default background.
LDVS touch display showing the default background.
7.2.1

Backlight brightness control

To power the LCD backlights, a dedicated LCD backlight driver IC is available on-board. LCD backlight can be configured using jumpers JP7 and JP17. Set the jumpers in their default positions shown below.

Position 1-2Always enabled (default)
Position 2-3Control by ZU3
Position 1-2Control by ZU3 (default)
Position 2-3Disabled

The LVDS display backlight brightness can be controlled by writing brightness level (0 to 7) to brightness in /sys/class/backlight/backlight under Petalinux. Lowest brightness level is 0 and the highest is 7.

				
					root@peta1inux—osdzu3—refdesign:/sys/class/backlight/backlight# echo 0 > brightness
root@peta1inux—osdzu3—refdesign:/sys/class/backlight/backlight# echo 3 > brightness
root@peta1inux—osdzu3—refdesign:/sys/class/backlight/backlight# echo 7 > brightness
				
			
7.3

USB-C Host

The OSDZU3-REF has a USB3.0 Super Speed USB-C Host Interface that can be used to interface to a wide range of USB devices. An USB-C to USB-A hub may be required to connect devices with USB-A port.

OSDZU3-REF USB-C Host Port
OSDZU3-REF USB-C Host Port

Here is an example of a Logitech keyboard + mouse USB dongle connected to the USB-C host port via a USB-C Hub.

Example wireless USB-A peripheral connected to USB-C Hub connected to the OSDZU3-REF
Example wireless USB-A peripheral connected to USB-C Hub connected to the OSDZU3-REF
Example using lsusb command to view USB peripherals
Example using lsusb command to view USB peripherals
7.4

Ethernet

The OSDZU3-REF has a 1Gbit Ethernet port. This can be used to connect to any network and provide internet access. To use the Ethernet port, connect an ethernet cable to the OSDZU3-REF and to a compatible network switch.

Ethernet cable connected to 1Gb Ethernet port
Ethernet cable connected to 1Gb Ethernet port

If your network automatically assigns IP Addresses via DHCP the OSDZU3-REF will automatically receive an IP address.

Example Ethernet receiving an IP Address
Example Ethernet receiving an IP Address
7.5

eMMC

Note on Board Revisions:
Board revisions 1x do not support eMMC boot due to reasons stated earlier. It is supported on revisions 2x and later.

OSDZU3-REF comes with a blank on-board eMMC. 

 

You can start using eMMC as nonvolatile on-board storage once you mount it and reformat it as follows:

 

    1. List all the available memory blocks using fdisk -l command. eMMC is /dev/mmcblk0.
Example fdisk-l command with the eMMC
Example fdisk-l command with the eMMC
  1. Create a new partition using following steps:
    • fdisk /dev/mmcblk0
    • Type n to create a new partition
    • Type to choose primary partition
    • Type 1 for partition number, use default first and last sectors by hitting enter
    • Type w and hit enter to write the changes to eMMC
  2. Format the newly created partition using command: mkfs.ext4 /dev/mmcblk0
  3. Create mount point: mkdir /emmc (can be any folder you want)
  4. Mount the disk: mount /dev/mmcblk0 /emmc
 

You can now use /emmc mount point to write and read data from the emmc.

Text Description automatically generated
Example Output of formatting eMMC using fdisk
System-on-Module layout showing labeled components and signal paths
Example creating eMMC directory and mounting eMMC
7.6

SATA

The OSDZU3-REF comes with a SATA (Rev3.1) port. When you plug in a SATA drive you may see UART console messages indicating the SATA link coming up, its speed and other hardware information.

Messages when connecting a SATA driver
Messages when connecting a SATA driver

You can check for SATA drive using fdisk -l command. SATA drive is /dev/sda (466GB) in our example shown below. SATA drive can be partitioned, mounted and used as a mass storage device using the steps already laid out in the eMMC section above.

Example fdisk command output with SATA drive connected
Example fdisk command output with SATA drive connected
7.7

EEPROM

OSDZU3-REF has two EEPROMs available:

 

  • 32Kb EEPROM internal to the OSDZU3 SiP with I2C address: Bus 0, 0x50
  • 2Kb on-board EEPROM with I2C address: Bus 0, 0x51
Example Interactions with EEPROM
Example Interactions with EEPROM

As a simple demo, we can write to and read from the OSDZU3 SiP’s internal EEPROM using “echo” and “hexdump” commands respectively, as shown in the below figure.

 

Ensure EPRM_WP on-board jumper is populated to disable the internal EEPROM’s write protection before writing to the EEPROM. When populated, EPRM_WP jumper shorts EEPROM_WP pin of the OSDZU3 SiP to GND. More info on this is available in the OSDZU3 datasheet and OSDZU3-REF schematic.

EEPROM Read Write Simple Demo
8.

OSDZU3-REF Platform Expansion

The OSDZU3-REF also has standard expansion interfaces that can be used to add functionality to the OSDZU3-REF platform. This section will provide a high-level overview of each of the expansion options.

8.1

Pmod

The Pmod interface is used to connect low frequency, low I/O pin count peripheral modules (i.e., SPI, I²C, UART, I2S, H-bridge or GPIO protocols) to the OSDZU3-REF. The board provides dual PL Pmod ports (2 x 12 pins) and one PS Pmod port (1 x 12pins).

Various Pmod add-on boards are available here:
https://digilent.com/shop/boards-and-components/system-board-expansion-modules/pmods/

PMOD specification is available here:
https://digilent.com/reference/_media/reference/pmod/pmod-interface-specification-1_2_0.pdf

8.1.1

PS PMOD header

The pinout of PS PMOD header is given below.

OSDZU3-REF Rev 2x PS PMOD pinout
OSDZU3-REF Rev 2x PS PMOD pinout
PS PMOD Header (JPS) – uses Pmod Interface Type 2A (expanded SPI)
PMOD pin #OSDZU3 pinFunctionPetalinux Kernel Default ObjectComments
1MIO_41CSspi0 n_ss_out[0]
2MIO_43MOSIspi0 mosiShared with Click Interface,
populate J22 to use MIO_36,
populate J21 to use MIO_37
3MIO_42MISOspi0 miso
4MIO_38SCKspi0 sclk_out
5GNDGND
6+3.3V+3.3V
7MIO_36INTgpiochip9 36
8MIO_37RESETgpiochip9 37
9MIO_39CS2spi0 n_ss_out[2]
10MIO_40CS1spi0 n_ss_out[1]
11GNDGND
12+3.3V+3.3V

Note on Board Revisions:
For board Revisions 1x the PS-PMOD connector implemented the incorrect specification for the PMOD header. It only supports a single row PMOD by default.  If you would like to use a dual row PMOD you will need to swap Pins 1-4 with Pins 7-10 with a custom connector.  See the below image for the Revision 1x PS-PMOD pinout.

8.1.2

PL PMOD headers

PL-PMOD Pin Layout
PL-PMOD Pin Layout

Note: The 2021.2-1.0 and 2023.1-1.0 versions of the software (BSP, prebuilt images and Vivado projects) that shipped with OSDZU3-REF boards before 9/24/2024 have a bug in the PL-PMOD pin muxing. They only support single row PMOD add-on boards by default.  This pinmux bug has been resolved in the latest version of the software (i.e., 2021.2-2.0,  2023.1-2.0, and later).

Please update to the latest version of the PetaLinux release found here..

The pinout of PL PMOD headers is given below.

PL PMOD Header (JA) – uses Pmod Interface Type 3A (expanded UART)
PMOD pin #OSDZU3 pinFunctionPetalinux Kernel Default ObjectComments
1JX2_HD_SE_03_NCTSttyS2
(baud rate: 9600)
UART & GPIO interfaces are instantiated in PL by DesignLinx Hardware Solutions Inc. for Octavo Systems.
2JX2_HD_SE_05_GC_NTXD
3JX2_HD_SE_07_GC_NRXD
4JX2_HD_SE_09_NRTS
5GNDGND
6+3.3V+3.3V
7JX2_HD_SE_03_PINTgpiochip4 0
8JX2_HD_SE_05_GC_PRESETgpiochip4 1
9JX2_HD_SE_07_GC_PGPIOgpiochip4 2
10JX2_HD_SE_09_PGPIOgpiochip4 3
11GNDGND
12+3.3V+3.3V
PL PMOD Header (JB) – uses Pmod Interface Type 6 (expanded I²C)
PMOD pin #OSDZU3 pinFunctionPetalinux Kernel Default ObjectComments
1JX2_HD_SE_02_NINTgpiochip5 0I2C & GPIO interfaces are instantiated in PL by DesignLinx Hardware Solutions Inc. for Octavo Systems.
2JX2_HD_SE_04_GC_NRESETgpiochip5 1
3JX2_HD_SE_06_GC_NSCLi2c bus 3
4JX2_HD_SE_08_NSDA
5GNDGND
6+3.3V+3.3V
7JX2_HD_SE_02_PGPIOgpiochip5 2
8JX2_HD_SE_04_GC_PGPIOgpiochip5 3
9JX2_HD_SE_06_GC_PGPIOgpiochip5 4
10JX2_HD_SE_08_PGPIOgpiochip5 5
11GNDGND
12+3.3V+3.3V
8.2

mikroBUS (for Click boards)

The OSDZU3-REF features a mikroBus header to help users take advantage of a wide range of sensors, actuators and UI devices available via pluggable Mikro Click add-on boards.

 

mikroBUS provides three groups of communications pins (SPI, UART and I2C), five additional pins (PWM, Interrupt, Analog input, Reset and Chip select), and two power groups (+3.3V, GND & 5V, GND).

 

See table below for detailed information on the available Click interfaces.

 

mikroBUS specification is available here: https://download.mikroe.com/documents/standards/mikrobus/mikrobus-standard-specification-v200.pdf

mikroBUS Click Pin Assignments
mikroBUS Click Pin Assignments

OSDZU3 pin to click header pin mapping is given in table below.

Click header pinOSDZU3 pinPetalinux Kernel Default ObjectComments
ANADC (PS)i2c 2-0014Uses dedicated I2C ADC on I2C1 bus, address 0x52
RSTMIO_37 (PS)gpiochip9 37Shared with PS_PMOD Interface,
populate jumper J15 to use
CSMIO_41 / MIO40 (PS)spi0 n_ss_out[0]
or
spi0 n_ss_out[1]
Shared with PS_PMOD Interface;
use jumper JP6 to choose between
MIO_40 and MIO_41
SCKMIO_38 (PS)spi0 sclk_outShared with PS_PMOD Interface
MISOMIO_42 (PS)spi0 misoShared with PS_PMOD Interface
MOSIMIO_43 (PS)spi0 mosiShared with PS_PMOD Interface
INTMIO_36 (PS)gpiochip9 36Shared with PS_PMOD Interface,
populate jumper J16 to use
PWM44N_L6 (PL)pwmchip0UART, I2C & PWM interfaces are instantiated in PL DesignLinx Hardware Solutions Inc. for Octavo Systems.
RX44N_L5 (PL)ttyS3
(baud rate: 9600)
TX44P_L5 (PL)
SCL44N_L7 (PL)i2c bus 1
SDA44P_L7 (PL)
8.3

FPGA Mezzanine Card (FMC) Low Pin Count (LPC) interface

The FPGA Mezzanine Card (FMC) is an ANSI standard that provides a standard mezzanine card form factor, connectors, and modular interface to an FPGA located on a base board. Decoupling the I/O interfaces from the FPGA simplifies I/O interface module design while maximizing carrier card reuse. FMC was developed by a consortium of companies ranging from FPGA vendors to end users.

 

The FMC LPC interface on the OSDZU3-REF provides:

 

  • 34 user-defined, differential pairs
  • 2 user differential clock pairs

 

More detailed information on FMC cards is available here – https://fmchub.github.io/appendix/VITA57_FMC_HPC_LPC_SIGNALS_AND_PINOUT.html

NOTE 3:
FMC LPC interface usage requires suitable PL instantiation and OSDZU3-REF does not support FMC LPC interface usage out-of-the-box. Further discussion on FMC LPC is beyond the scope of this document.

FMC cards for various applications are available here – https://www.xilinx.com/products/boards-and-kits/fmc-cards.html

9.

OSDZU3 Additional Interfaces

The OSDZU3-REF also has several on-board user LEDs, buttons and switches connected to both the PS and the PL of the OSDZU3 for easy interaction with the board.

 

The PL IP required to enable User GPIO functionality is developed by our technology partner DesignLinx Hardware Solutions Inc. for Octavo Systems.

9.1

LEDs

The 8 PL User LEDs and one PS User LED are available under sysfs (/sys/class/leds) . The LED names are based on their respective on-board designators (D20, D24, D21 etc) and are listed below.

 

  • PL User LEDS
    • led0-d20/
    • led1-d24/
    • led2-d21/
    • led3-d25/
    • led4-d22/
    • led5-d26/
    • led6-d23/
    • led7-d27/
  • PS User LED
    • psled1-d6/
 

The LEDs can be turned ON or OFF by writing 1 or 0 to their “brightness” property.

				
					echo 1 > /sys/class/leds/led0-d20/brightness
echo 0 > /sys/class/leds/led0-d20/brightness
				
			
Example executing LED on and off commands
Example executing LED on and off commands

As a simple demo, you can use the following command to make a pattern shown below.

Command to turn on alternate PL LEDs
Command to turn on alternate PL LEDs
Alternate LEDs lit based on the command
Alternate LEDs lit based on the command
9.2

User DIP Switches

The PL standard GPIOs can be accessed using the libgpiod utilities that come with Petalinux.  You can view all the available GPIOs by running the “gpiodetect” command.

A picture containing text Description automatically generated
gpiodetect command output

The 8 PL User DIP Switches are available in petalinux under “gpiochip8”.  The switch number and the corresponding GPIOchip8 number is outlined in the table below.

User PL DIP Switch Number on SW5Gpiochip8 number
10
21
32
43
54
65
76
87

You can check their input status using the following command.

				
					gpioget 8 0 1 2 3 4 5 6 7
				
			
9.3

User Push Buttons

The 3 PL User Push Buttons SW1, SW2, SW3 are available in petalinux under “gpiochip6”. SW4 is configured as a PL reset button in the default reference board configuration.  It can be reconfigured for other purposes in the hardware platform for the OSDZU3-REF.

User PL Push Button on-board designatorGpiochip6 Pin Number
SW10
SW21
SW32
SW4PL Reset

To access the state of the push buttons, use the gpioget command with the gpiochip number followed by the gpio pin numbers.

				
					gpioget 6 0 1 2
				
			

Example Output of Button State

10.

Revision History

Revision NumberRevision DateChangesAuthor
101/03/2023Initial RevisionEshtaartha Basu
202/17/2023Minor updates - Revision History table added, Additional Interfaces section updatedGreg Sheridan
307/19/2023Minor updates to sections Platform Overview, Boot Options, Powering the OSDZU3-REF, UART, JTAG, EEPROM, Additional Interfaces. Tutorial Requirements section added.Eshtaartha Basu
408/23/2024Added Warning about PMOD header incompatibilityEshtaartha Basu
509/24/2024Updated PL PMOD for new software versionEshtaartha Basu
611/26/2025Updates for Board Revision 2ANeeraj Dantu
Related Products

Table of Contents

Determine Your OSDZU3-REF Revision

There has been multiple revisions to the OSDZU3-REF and some of the documentation is for specific revisions.

The revision of your OSDZU3-REF is printed under the fan next to the Octavo Systems logo.  See the image below.

If there are multiple versions of a document make sure you select the one that matches your revision.

Document Change Notifications