HDROB > Hardware > Peripherals

Zynq PS native peripherals

Quad SPI (NOR) flash controller

Handled by: Linux kernel driver, compatible string “xlnx,zynq-qspi-1.0”

QSPI and NAND flash share some wires, so only one can be enabled at a time.

Quad SPI (NOR) flash array

Handled by: Linux kernel driver, compatible string “micron,n25q128”
The electrical interface runs at 2.5V; hence, the clock is limited to 66 MHz although it runs fine, but out of spec, at 125 MHz.

Parallel (NAND) flash controller

Handled by: Linux kernel driver, compatible string “arm,pl353-nand-r2p1” and Linux kernel driver, compatible string “arm,pl353-smc-r2p1”

QSPI and NAND flash share some wires, so only one can be enabled at a time.

Parallel (NAND) flash array

Handled by: Linux kernel driver, compatible string “spansion,s25fl512s”

CEb (Chip enable, active low) connected to MIO0 with pull-up, defaults to disabled state

The electrical interface runs at 2.5V. The flash chip is a single supply device, thus it runs at 2.9V to be compatible with 2.5V and 3.3V I/O voltage.

Gigabit Ethernet MAC

Handled by: Linux kernel driver, compatible string “xlnx,ps7-ethernet-1.00.a” (Petalinux 2014.4) or “cdns,gem” (Petalinux 2015.2)

The electrical interface to the PHY runs at 2.5V.

Gigabit Ethernet Twisted Pair PHY

Connected to the MAC via RGMII interface. MDIO address is 3.

Handled by: Linux kernel driver, compatible string “micrel,ksz9031”

USB 2.0 controller

Handled by: Linux kernel driver, compatible string “xlnx,zynq-usb-1.00.a” (Petalinux 2014.4) or “chipidea,usb2” (Petalinux 2015.2)

The USB controller can either run in host or device mode. Switching between these modes can be done at firmware build time by modification of the device tree, or at runtime if the gadget mode is selected. Then, the operation mode depends on shorting the USB_MODE to GND by connecting a special cable.

USB 2.0 PHY

Handled by: Linux kernel driver, compatible string “usb-nop-xceiv” (Petalinux 2015.2)
The electrical interface to the PHY runs at 2.5V.

SD controller

Handled by: Linux kernel driver, compatible string “arasan,sdhci-8.9a”

The electrical interface runs at 3.3V by a level shifter (the SD core runs at 2.5V).

UART

Handled by: Linux kernel driver, compatible string “xlnx,xuartps”

Used as serial boot console with the following connection parameters:
115200 bps baud rate
1 start bit, 8 data bits, 1 stop bit
no parity
no hardware/software flow control

The electrical interface runs at 2.5V but can accept 3.3V signalling voltage.

I2C controller

Handled by: Linux kernel driver, compatible string “cdns,i2c-r1p10”

The electrical interface runs at 3.3V.

CAN controller

Handled by: Linux kernel driver, compatible string “xlnx,zynq-can-1.0”

XADC

Handled by: Linux kernel driver, compatible string “xlnx,zynq-xadc-1.00.a”

GPIO

Some pins are handled by specialized drivers, like LED or Button.

Handled by: Linux kernel driver, compatible string “xlnx,zynq-gpio-1.0”

SPI controller

Handled by: Linux kernel driver, compatible string “xlnx,zynq-spi-r1p6”

Device configuration port

Handled by: Linux kernel driver, compatible string “xlnx,zynq-devcfg-1.0”

Zynq PS GPIO peripherals

LED

Handled by: Linux kernel driver, compatible string “gpio-leds”

Device access: /sys/devices/soc0/gpio_leds/leds/led_mio049

Button

Handled by: Linux kernel driver, compatible string “gpio-keys”

Device access: /sys/devices/soc0/gpio_keys/input/input0

I2C peripherals

See the dedicated I2C peripherals page.

Latest revision: 10.05.2016
Up