Linux Changes

Module Name
Driver Location
Changes
Link
Linux kernel
Linux kernel source
  • No change. It is the same v4.9.
  • Rebased tree also available
https://kernelnewbies.org/Linux_4.9
https://github.com/Xilinx/linux-xlnx/tree/xlnx_rebase_v4.9
ZynqMP AMS
drivers/iio/adc/xilinx-ams
  • Add suspend resume support.
http://www.wiki.xilinx.com/ZynqMP+AMS
AXI Traffic generator
drivers/misc/xilinx_trafgen.c
  • No Changes
http://www.wiki.xilinx.com/Linux+Trafficgen+Driver
PS CAN, AXI CAN and AXI CANFD
drivers/net/can/xilinx_can.c
  • Fixed runtime power management code
http://www.wiki.xilinx.com/Linux+CAN+driver
devcfg/Zynq PL Programming
drivers/char/xilinx_devcfg.c
  • Fix kernel doc warnings
  • Fix warnings in the driver
  • Remove xilinx_devcfg.h header
  • Remove unneeded PCFG_PROG_B assertion
http://www.wiki.xilinx.com/Solution+Zynq+PL+Programming
FPGA Manager/ZynqMP PL programming
drivers/fpga/zynqmp-fpga.c
  • Removed Authenticated Bit-stream loading support
http://www.wiki.xilinx.com/Solution+ZynqMP+PL+Programming
Soft DMAs (AXIDMA, AXICDMA, AXIVDMA)
drivers/dma/xilinx/xilinx_dma.c
AXI DMA
  • Fixed issues with dma_get_slave_caps API for AXI DMA configuration.
AXI VDMA
  • Fixed issues with vdma mulit fstore configuration.
http://www.wiki.xilinx.com/DMA+Drivers+-+Soft+IPs
ZynqMP DMA (ADMA, GDMA)
drivers/dma/xilinx/zynqmp_dma.c
  • Fixed issue driver does not work when CONFIG_PM is not set and ignore_unused is not passed.
  • Fixed race conditions in the prep_sg
http://www.wiki.xilinx.com/Zynqmp+DMA
EDAC driver
drivers/edac/synopsys_edac.c

http://www.wiki.xilinx.com/Zynq+EDAC+Driver
Zynq, ZynqMP Ethernet, macb
drivers/net/ethernet/cadence/macb.c
  • Added support for partial store and forward
  • Added support for macb suspend/resume
http://www.wiki.xilinx.com/Macb+Driver
Zynq/Zynq Ultrascale+ MPSOC/Microblaze

Axi Ethernet
drivers/net/ethernet/xilinx/xilinx_axienet_main.c
drivers/net/ethernet/xilinx/xilinx_axienet_mdio.c
drivers/net/ethernet/xilinx/xilinx_axienet.h
  • Added Support for Ethernet MCDMA Confgiuration
  • Added Support for 1588 in buffered mode configuration.
http://www.wiki.xilinx.com/Linux+AXI+Ethernet+driver
ZynqMP Clock Framework
drivers/clk/zynqmp/clkc.c drivers/clk/zynqmp/clk-mux-zynqmp.c drivers/clk/zynqmp/pll.c
drivers/clk/zynqmp/clk-gate-zynqmp.c drivers/clk/zynqmp/divider.c
  • No Changes
http://www.wiki.xilinx.com/Common+Clock+Framework
Zynq Ultrascale+ MPSOC USB
drivers/usb/dwc3/
  • Added UASP (USB Attached SCSI PROTOCOL)support for host and device mode
  • Added SMMU support for HOST and DEVICE mode
  • Added workaround for BULK IN streams in HOST UAS mode
  • Add support for disabling clock during suspend
  • Add support for removing VBUS when suspended
  • Corrected errors when dwc3 loaded as module
http://www.wiki.xilinx.com/Zynq+Ultrascale+MPSOC+Linux+USB+device+driver
AXI USB
drivers/usb/gadget/udc/udc-xilinx.c
  • No Changes
http://www.wiki.xilinx.com/AXI+USB+gadget+driver
Zynq Ultrascale+ MPSOC SATA
drivers/ata/ahci_ceva.c
  • Corrected suspend/resume logic for SATA
  • Added SMMU support for SATA
http://www.wiki.xilinx.com/SATA
Zynq and Zynq MP PS UART
drivers/tty/serial/xilinx_uartps.c
  • Fix kernel doc warnings
  • Fix warnings in the driver
http://www.wiki.xilinx.com/PS+UART
Zynq Ultrascale+ MPSOC NAND
drivers/mtd/nand/arasan_nand.c
  • Added runtime support
  • Add 64bit dma support
http://www.wiki.xilinx.com/NAND
Zynq and ZynqMP PS WDT
drivers/watchdog/cadence_wdt.c
  • Fix issue with timeout-sec dt property
  • Make of_device_ids const.
  • Enable access to module parameters
  • Show information when driver is probed
http://www.wiki.xilinx.com/Cadence+WDT+Driver
Zynq and ZynqMP SD Controller
drivers/mmc/host/sdhci-of-arasan.c
  • add support for switching to UHS-I modes on ZynqMP Platform
http://www.wiki.xilinx.com/SD+controller
Zynq/
Zynq Ultrascale+ MPSoC
GPIO
drivers/gpio/gpio-zynq.c
  • Fix kernel doc warnings
  • Fix warnings in the driver
  • Shift zynq_gpio_init() to subsys_initcall level
  • Clarify quirk and provide helper function
  • Provided workaround for GPIO
>
http://www.wiki.xilinx.com/Linux+GPIO+Driver
ZynqMP Serdes/GT
drivers/phy/phy-zynqmp.c
  • Use the configured GT lane instead of hardcoding a value into ICM_CFG1 for tx termination fix
http://www.wiki.xilinx.com/Zynq+Ultrascale+MPSOC+Linux+SIOU+driver
axi_gpio
drivers/gpio/gpio-xilinx.c
  • Fix kernel doc warnings
  • Fix warnings in the driver
http://www.wiki.xilinx.com/AXI+GPIO
ZynqMP
pinctrl
drivers/pinctrl/pinctrl-zynqmp.c
  • make it explicitly non-modular
  • Remove additional space in DRIVE_STRENGTH
  • Use new firmware.h instead of pm.h
http://www.wiki.xilinx.com/ZynqMP+Linux+Pin+Controller+Driver
AXI PM (Zynq, ZynqMP AXIPM)
drivers/uio/uio_xilinx_apm.c
  • Added Runtime support
http://www.wiki.xilinx.com/APM
Zynq/ZynqMp
I2C Controller
drivers/i2c/busses/i2c-cadence.c
  • Re-order the interrupt enable sequence in the i2c send and receive path
  • Fixed repeated start not holding the bus long enough
  • Remove pm_runtime_disable
http://www.wiki.xilinx.com/Cadence+I2C+Driver
GMII2RGMII converter
drivers/net/phy/xilinx_gmii2rgmii.c
  • Fix mask value write on gmii2rgmii converter speed register
http://www.wiki.xilinx.com/Xilinx+GMII2RGMII+convertor
Xilinx DRM KMS
drivers/gpu/drm/xilinx/*
  • Style changes
  • Add a SDI Tx driver
  • Fix for HDMI adapter issue of ZU+ DP
  • Fix for some inter-op issue of ZU+ DP
  • Add debugfs for ZU+ DP
http://www.wiki.xilinx.com/Xilinx+DRM+KMS+driver

Linux Bug Fixes
Module Name
Driver Location
Bug Fixes
Link
Zynq/Zynq Ultrascale+ MPSOC/Microblaze

AXI DMA/CDMA/VDMA
drivers/dma/xilinx/xilinx_dma.c
AXI DMA
  • Fixed issues with dma_get_slave_caps API for AXI DMA configuration.
AXI VDMA
  • Fixed issues with vdma mulit fstore configuration.
http://www.wiki.xilinx.com/DMA+Drivers+-+Soft+IPs
ZynqMP DMA (ADMA, GDMA)
drivers/dma/xilinx/zynqmp_dma.c
  • Fixed issue driver does not work when CONFIG_PM is not set and ignore_unused is not passed.
  • Fixed race conditions in the prep_sg
http://www.wiki.xilinx.com/Zynqmp+DMA
ZynqMP AMS
drivers/iio/adc/xilinx-ams
  • add missing break in AMS_SUPPLY[78] cases
  • reset [ps|pl]-sysmon before channel config
http://www.wiki.xilinx.com/ZynqMP+AMS
Zynqmp QSPI
drivers/spi/spi-zynqmp-gqspi.c
  • Fixed issues with restoring clocks
http://www.wiki.xilinx.com/Linux+ZynqMP+GQSPI+Driver
Zynq/ZynqMP SPI
drivers/spi/spi-cadence.c
  • Updated the sequence of calling PM apis
http://www.wiki.xilinx.com/SPI+Zynq+driver
Common Clock Framework
drivers/clk/zynqmp/clkc.c
  • Fix the usb mux offset
http://www.wiki.xilinx.com/Common+Clock+Framework
Axi Traffic Generator
drivers/misc/xilinx_trafgen.c
  • Fix an issue with the clearing of RAM
http://www.wiki.xilinx.com/Linux+Trafficgen+Driver
PS CAN, AXI CAN and AXI CANFD
drivers/net/can/xilinx_can.c
  • Fix runtime power management code
http://www.wiki.xilinx.com/Linux+CAN+driver
Zynq Ultrascale+ MPSOC USB
drivers/usb/dwc3/
  • Added workaround for BULK IN streams in HOST UAS mode
  • Add support for disabling clock during suspend
  • Add support for removing VBUS when suspended
  • Corrected errors when dwc3 loaded as module
http://www.wiki.xilinx.com/Zynq+Ultrascale+MPSOC+Linux+USB+device+driver
ZynqMP Serdes/GT
drivers/phy/phy-zynqmp.c
  • Use the configured GT lane instead of hardcoding a value into ICM_CFG1 for tx termination fix
http://www.wiki.xilinx.com/Zynq+Ultrascale+MPSOC+Linux+SIOU+driver
Zynq and ZynqMP SD Controller
drivers/mmc/host/sdhci-of-arasan.c
  • For SD boot issues preventing SD driver deferred probe after host init
  • add support for switching to UHS-I modes even if there is not provision for SD power cycle
http://www.wiki.xilinx.com/SD+controller


DTG Feature Changes
Module Name
Feature Changes
Link
Generic
Cascade Interrupt controller support in DTG
http://www.wiki.xilinx.com/Cascade+Interrupt+Controller+support+in+DTG
xdma support
Added support for xdma.




DTG Bug Fixes
Module Name
Bug Fixes
Link
axi_cdma/axi_vdma
Fixes the addition of misc_clk node in cdma/vdma
https://github.com/Xilinx/device-tree-xlnx/commit/4669bd31b09794edf0ebaeaa4aac0bdbc8d67ef5
qspi
Adds the bus-width parameter in qspi
https://github.com/Xilinx/device-tree-xlnx/commit/bcbcfb812a24a0ecb319495a1cb5d9a9dfd0da86
common
Fix the logic when peripheral wont connect to interrupt controller
https://github.com/Xilinx/device-tree-xlnx/commit/4e8f59b15abe94494e05c08adab91e709271f914


Answer Records (ARs)
Module Name
AR Title
AR Link
Zynq, ZynqMP Ethernet, macb
Common MDIO bus support for Multi MAC-Multi PHY configuration
https://www.xilinx.com/support/answers/69132.html