From: Randy Dunlap <rdunlap@infradead.org>
To: Oleksandr Shamray <oleksandrs@mellanox.com>,
gregkh@linuxfoundation.org, arnd@arndb.de
Cc: system-sw-low-level@mellanox.com, devicetree@vger.kernel.org,
jiri@resnulli.us, vadimp@mellanox.com, linux-api@vger.kernel.org,
openbmc@lists.ozlabs.org, linux-kernel@vger.kernel.org,
openocd-devel-owner@lists.sourceforge.net, robh+dt@kernel.org,
joel@jms.id.au, linux-serial@vger.kernel.org,
tklauser@distanz.ch, mchehab@kernel.org, davem@davemloft.net,
linux-arm-kernel@lists.infradead.org
Subject: Re: [patch v25 4/4] Documentation: jtag: Add ABI documentation
Date: Tue, 29 May 2018 11:54:30 -0700 [thread overview]
Message-ID: <b1afae1e-b93b-3b86-1a45-ab0e408087e1@infradead.org> (raw)
In-Reply-To: <1527605618-15705-5-git-send-email-oleksandrs@mellanox.com>
On 05/29/2018 07:53 AM, Oleksandr Shamray wrote:
> Added document that describe the ABI for JTAG class drivrer
Sorry, there are still a few typos. Please see below.
> ---
> Documentation/ABI/testing/gpio-cdev | 1 -
> Documentation/ABI/testing/jtag-dev | 23 +++++++
> Documentation/jtag/overview | 27 +++++++++
> Documentation/jtag/transactions | 109 +++++++++++++++++++++++++++++++++++
> MAINTAINERS | 1 +
> 5 files changed, 160 insertions(+), 1 deletions(-)
> create mode 100644 Documentation/ABI/testing/jtag-dev
> create mode 100644 Documentation/jtag/overview
> create mode 100644 Documentation/jtag/transactions
>
> diff --git a/Documentation/jtag/overview b/Documentation/jtag/overview
> new file mode 100644
> index 0000000..f179095
> --- /dev/null
> +++ b/Documentation/jtag/overview
> @@ -0,0 +1,27 @@
> +Linux kernel JTAG support
> +=========================
> +
> +JTAG is an industry standard for verifying hardware.JTAG provides access to
needs space:
hardware. JTAG provides
> +many logic signals of a complex integrated circuit, including the device pins.
> +
> +A JTAG interface is a special interface added to a chip.
> +Depending on the version of JTAG, two, four, or five pins are added.
> +
> +The connector pins are:
> + TDI (Test Data In)
> + TDO (Test Data Out)
> + TCK (Test Clock)
> + TMS (Test Mode Select)
> + TRST (Test Reset) optional
> +
> +JTAG interface is designed to have two parts - basic core driver and
> +hardware specific driver. The basic driver introduces a general interface
> +which is not dependent of specific hardware. It provides communication
> +between user space and hardware specific driver.
> +Each JTAG device is represented as a char device from (jtag0, jtag1, ...).
> +Access to a JTAG device is performed through IOCTL calls.
> +
> +Call flow example:
> +User: open -> /dev/jatgX
> +User: ioctl -> /dev/jtagX -> JTAG core driver -> JTAG hardware specific driver
> +User: close -> /dev/jatgX
> diff --git a/Documentation/jtag/transactions b/Documentation/jtag/transactions
> new file mode 100644
> index 0000000..c5176a7
> --- /dev/null
> +++ b/Documentation/jtag/transactions
> @@ -0,0 +1,109 @@
> +The JTAG API
> +=============
> +
> +JTAG master devices can be accessed through a character misc-device.
> +Each JTAG master interface can be accessed by using /dev/jtagN.
> +
> +JTAG system calls set:
> +- SIR (Scan Instruction Register, IEEE 1149.1 Instruction Register scan);
> +- SDR (Scan Data Register, IEEE 1149.1 Data Register scan);
> +- RUNTEST (Forces the IEEE 1149.1 bus to a run state for a specified
> +number of clocks.
> +
> +open(), close()
> +-------
> +open() opens JTAG device.
> +
> +Open/Close device:
> +- jtag_fd = open("/dev/jtag0", O_RDWR);
> +- close(jtag_fd);
> +
> +ioctl()
> +-------
> +All access operations to JTAG devices are erformed through ioctl interface.
performed
> +The IOCTL interface supports these requests:
> + JTAG_IOCRUNTEST - Force JTAG state machine to RUN_TEST/IDLE state
> + JTAG_SIOCFREQ - Set JTAG TCK frequency
> + JTAG_GIOCFREQ - Get JTAG TCK frequency
> + JTAG_IOCXFER - send JTAG data Xfer
> + JTAG_GIOCSTATUS - get current JTAG TAP status
> + JTAG_SIOCMODE - set JTAG mode flags.
--
~Randy
next prev parent reply other threads:[~2018-05-29 18:54 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-29 14:53 [patch v25 0/4] JTAG driver introduction Oleksandr Shamray
2018-05-29 14:53 ` [patch v25 1/4] drivers: jtag: Add JTAG core driver Oleksandr Shamray
2018-05-29 14:53 ` [patch v25 2/4] drivers: jtag: Add Aspeed SoC 24xx and 25xx families JTAG master driver Oleksandr Shamray
2018-05-29 14:53 ` [patch v25 3/4] Documentation: jtag: Add bindings for " Oleksandr Shamray
2018-05-29 14:53 ` [patch v25 4/4] Documentation: jtag: Add ABI documentation Oleksandr Shamray
2018-05-29 18:54 ` Randy Dunlap [this message]
2018-05-29 20:40 ` [patch v25 0/4] JTAG driver introduction Andy Shevchenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b1afae1e-b93b-3b86-1a45-ab0e408087e1@infradead.org \
--to=rdunlap@infradead.org \
--cc=arnd@arndb.de \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=jiri@resnulli.us \
--cc=joel@jms.id.au \
--cc=linux-api@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=oleksandrs@mellanox.com \
--cc=openbmc@lists.ozlabs.org \
--cc=openocd-devel-owner@lists.sourceforge.net \
--cc=robh+dt@kernel.org \
--cc=system-sw-low-level@mellanox.com \
--cc=tklauser@distanz.ch \
--cc=vadimp@mellanox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).