Linux Kernel JTAG Support

Derek Mantey derekma at microsoft.com
Tue Apr 26 08:45:49 AEST 2022


It looks like there was a discussion a while back (~2017) about adding a Kernel driver for JTAG devices.  We are looking at using this for a variety of scenarios like OpenOCD and FW update for CPLD/FPGA components.  I was hoping to get some insight into the current status of the JTAG drivers and if there was anyone working on it.

The patches I saw from 2017 were: https://patchwork.ozlabs.org/project/openbmc/list/?series=18558&state=%2A&archive=both

Additionally, it looks like there are multiple implementations that exist:
  1. Facebook: https://github.com/facebook/openbmc-linux/commits/dev-5.6/drivers/jtag
  2. Aspeed: https://github.com/AspeedTech-BMC/linux/commits/aspeed-master-v5.15/drivers/jtag
  3. Ampere: https://github.com/ampere-openbmc/linux/commits/ampere/drivers/jtag

It looks like these have different version of the driver with slight differences in the interface.

  1. What is current status of the JTAG driver?  Is anyone still actively working on getting this pushed into the upstream kernel?
	a. Was there pushback from the Linux Kernel on taking these changes?
	b. If the upstream Kernel doesn't want to take these changes, would we consider having them in the https://github.com/openbmc/linux fork?
  2. Does the community have a "preferred" JTAG driver that they are working on?  I am not sure how much people are sharing the changes to JTAG.  Is there a "best" driver to start from?
  3. Are there any other people working on or looking at the JTAG driver?  I would like to know what others are doing so that we can align ideas and requirements, and not re-implement if possible.

Thanks,
	Derek


More information about the openbmc mailing list