Linux Changes

Module Name
Driver Location
Changes
Link
Linux kernel
Linux kernel source
  • Upgrade to 4.14
>
https://kernelnewbies.org/Linux_4.14
Ethernet driver (GEM)
drivers/net/ethernet/cadence/macb_main.c
drivers/net/ethernet/cadence/macb_ptp.c
  • Add clock management for tsu-clk
  • Add WOL support for ZynqMP
  • Use mainline implementation of 64 bit addressing
  • Use mainline implementation of PTP support
http://www.wiki.xilinx.com/Macb+Driver
Axi Ethernet Driver
drivers/net/ethernet/xilinx/xilinx_axienet_main.c
drivers/net/ethernet/xilinx/xilinx_axienet_mdio.c
drivers/net/ethernet/xilinx/xilinx_axienet.h
  • Add support for USXGMII
http://www.wiki.xilinx.com/Linux+AXI+Ethernet+driver
PM driver
drivers/soc/xilinx/zynqmp/
  • Replaced old PM driver(drivers/soc/xilinx/zynqmp/pm.c) with new driver(drivers/soc/xilinx/zynqmp/power.c). Power.c now only contains power management related functions. Earlier pm.c had some platform management functions which are now moved to firmware interface.
  • Power Management driver now uses mailbox for receiving PM callbacks from firmware instead of registering IPI interrupt handler.
  • Changed Sysfs/debugfs paths and their usage
  • Change in device tree bindings
    • Removed "xlnx,zynqmp-pm" binding and replaced with new binding("xlnx,zynqmp-power") for power management driver
    • Replaced IPI interrupt properties with mailbox properties
http://www.wiki.xilinx.com/Zynq+UltraScale%EF%BC%8B+MPSoC+Power+Management+-+Linux+Kernel
Firmware driver
drivers/firmware/xilinx/zynqmp/
  • Replaced old firmware interface (drivers/soc/xilinx/zynqmp/firmware.c) with new firmware interface(drivers/firmware/xilinx/zynqmp/*)
  • Extracted firmware interface part from old PM driver(drivers/soc/xilinx/zynqmp/pm.c) to firmware driver.
  • Removed MMIO interface
  • Added sysfs to set shutdown scope
  • Extracted firmware related property from old PM binding and created separate DT binding for ZynqMP firmware("xlnx,zynqmp-firmware")
ZynqMP firmware driver
Pin control driver
drivers/pinctrl/pinctrl-zynqmp.c
  • Request pin information from firmware instead of registering hard coded pin information in driver
  • Use firmware interface APIs to control/configure pins
  • Change in device tree binding
    • Removed "xlnx,pinctrl-zynqmp" binding and replaced with new "xlnx,zynqmp-pinctrl" binding
http://www.wiki.xilinx.com/ZynqMP+Linux+Pin+Controller+Driver
Common Clock Framework
drivers/clk/zynqmp/clkc.c
  • Request clock information from firmware instead of registering hard coded clocks in driver
  • Use firmware APIs to control clocks
  • Change in device tree binding
    • Removed "xlnx,zynqmp-clkc" binding and replaced with new "xlnx,zynqmp-clk" binding
http://www.wiki.xilinx.com/Common+Clock+Framework
SHA
drivers/crypto/zynqmp-sha.c
  • Replaced MMIO read/write with new firmware APIs
http://www.wiki.xilinx.com/SHA%20Driver
RSA
drivers/crypto/zynqmp-rsa.c
  • Replaced MMIO read/write with new firmware APIs

QSPI
drivers/spi/spi-zynqmp-gqspi.c
  • Replaced MMIO read/write with new firmware APIs
http://www.wiki.xilinx.com/Linux%20ZynqMP%20GQSPI%20Driver
ZynqMP Serdes/GT
drivers/phy/phy-zynqmp.c
  • Replaced MMIO read/write with new firmware APIs
http://www.wiki.xilinx.com/Zynq+Ultrascale+MPSOC+Linux+SIOU+driver
Tap Delay
drivers/soc/xilinx/zynqmp/tap_delays.c
  • Replaced MMIO read/write with new firmware APIs

FPGA Manager/ZynqMP PL programming
drivers/fpga/zynqmp-fpga.c
  • Replaced MMIO read/write with new firmware APIs
http://www.wiki.xilinx.com/Solution+ZynqMP+PL+Programming
Nvmem-
SoC revision read mechanism
drivers/nvmem/zynqmp_nvmem.c
  • Replaced MMIO read/write with new firmware APIs
http://www.wiki.xilinx.com/Solution%20ZynqMP%20SoC%20revision%20read%20mechanism
ZynqMP R5 remoteproc driver
drivers/remoteproc/zynqmp_r5_remoteproc.c
  • Replaced MMIO read/write with new firmware APIs

ZynqMP power domain driver
drivers/soc/xilinx/zynqmp/pm_domains.c
  • Replaced MMIO read/write with new firmware APIs

Reset-Controller
drivers/reset/reset-zynqmp.c
  • Replaced MMIO read/write with new firmware APIs
http://www.wiki.xilinx.com/Zynqmp%20Linux%20Reset-controller%20Driver

Linux Bug Fixes
Module Name
Driver Location
Bug Fixes
Link


















DTG Feature Changes

Module Name
Feature Changes
Link
Generic
Clock support in the DTG
http://www.wiki.xilinx.com/DTG+Common+clock+framework
TSN IP
TSN IP driver support
http://www.wiki.xilinx.com/TSN+IP+driver+support+in+DTG
Generic
Add the placeholder comment for generic drivers
https://github.com/Xilinx/device-tree-xlnx/commit/2cb30975c26dd879d81793fb75d234761681c166
Generic
Added support for interrupt name property
https://github.com/Xilinx/device-tree-xlnx/commit/8679339fd0e1fee45b35ef978ce4af2aa4bc5141



DTG Bug Fixes
Module Name
Bug Fixes
Link
Generic
Fix the reg property if this is greater than 32-bits
https://github.com/Xilinx/device-tree-xlnx/commit/d8c43b3f11685dc66c37d3d732ec78d44ba213b6
mig_7series
Update the ddr4 if it has more memory ranges
https://github.com/Xilinx/device-tree-xlnx/commit/7e0fd7c255c9d31c6f0abce2dad335f0a7a9887c
Generic
Fix the alias support for I2c device
https://github.com/Xilinx/device-tree-xlnx/commit/1cf412b0ce282f66b0e3b15aabff0be7ed220f4d
Generic
Adding support for uart less designs
https://github.com/Xilinx/device-tree-xlnx/commit/2345bb6f68205e39f16a5328e0656fb684bba7f6
axi_vcu
Fix the clock names for vcu based on bindinds
https://github.com/Xilinx/device-tree-xlnx/commit/e4ac516acf5b44f671850f095759e77ce6befd90
usb
Support for USB 2.0 high speed property
https://github.com/Xilinx/device-tree-xlnx/commit/75b9919e349e2a4c97cbf0461a0674b3546d0646
Generic
Check the interrupt controller in get_intr_type
https://github.com/Xilinx/device-tree-xlnx/commit/6f57428485a42d75afbf637c9102cc432bcbed32

Answer Records (ARs)
Module Name
AR Title
AR Link