Show a cover letter.

GET /api/covers/808779/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 808779,
    "url": "http://patchwork.ozlabs.org/api/covers/808779/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-imx/cover/1504281966-6199-1-git-send-email-oleksandrs@mellanox.com/",
    "project": {
        "id": 19,
        "url": "http://patchwork.ozlabs.org/api/projects/19/?format=api",
        "name": "Linux IMX development",
        "link_name": "linux-imx",
        "list_id": "linux-imx-kernel.lists.patchwork.ozlabs.org",
        "list_email": "linux-imx-kernel@lists.patchwork.ozlabs.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<1504281966-6199-1-git-send-email-oleksandrs@mellanox.com>",
    "list_archive_url": null,
    "date": "2017-09-01T16:06:02",
    "name": "[v7,0/4] JTAG driver introduction",
    "submitter": {
        "id": 72099,
        "url": "http://patchwork.ozlabs.org/api/people/72099/?format=api",
        "name": "Oleksandr Shamray",
        "email": "oleksandrs@mellanox.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/linux-imx/cover/1504281966-6199-1-git-send-email-oleksandrs@mellanox.com/mbox/",
    "series": [
        {
            "id": 1061,
            "url": "http://patchwork.ozlabs.org/api/series/1061/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-imx/list/?series=1061",
            "date": "2017-09-01T16:06:02",
            "name": "JTAG driver introduction",
            "version": 7,
            "mbox": "http://patchwork.ozlabs.org/series/1061/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/808779/comments/",
    "headers": {
        "Return-Path": "<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>",
        "X-Original-To": "incoming-imx@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming-imx@bilbo.ozlabs.org",
        "Authentication-Results": [
            "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"uyRKnT3L\"; dkim-atps=neutral"
        ],
        "Received": [
            "from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xkPJj6t8Jz9t2x\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tSat,  2 Sep 2017 02:07:17 +1000 (AEST)",
            "from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dnoTR-0001cW-UB; Fri, 01 Sep 2017 16:07:13 +0000",
            "from mail-il-dmz.mellanox.com ([193.47.165.129]\n\thelo=mellanox.co.il)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dnoT5-000183-RP for linux-arm-kernel@lists.infradead.org;\n\tFri, 01 Sep 2017 16:06:54 +0000",
            "from Internal Mail-Server by MTLPINE1 (envelope-from\n\toleksandrs@mellanox.com)\n\twith ESMTPS (AES256-SHA encrypted); 1 Sep 2017 19:06:26 +0300",
            "from r-vnc16.mtr.labs.mlnx (r-vnc16.mtr.labs.mlnx [10.208.0.16])\n\tby labmailer.mlnx (8.13.8/8.13.8) with ESMTP id v81G6P6O002351;\n\tFri, 1 Sep 2017 19:06:25 +0300"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe:\n\tList-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date:\n\tSubject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date:\n\tResent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:\n\tReferences:List-Owner; bh=+5HEUjCTy4RoUE6Mkjj5w3aOYkhCoRApip3FAAYzfGg=;\n\tb=uyR\n\tKnT3LqrfZqn7px4aijIhMEPFNU8HRKWkjVKlGLh/hFVv59ik+IzHzPiSPNkIyIyGIZx8B2uw8NgnD\n\t6fnSf5nrji65bDZE7vUJRsUzxEp9ugbOWUo92gvze0YVVsfyc33pMj+KX9gumyG95PdzzewbCF5+h\n\t1LCyP+r/lHsInu03aiJfTqSQX5BttZT4sHok+oHqQy7s2SV57Hi1vLyj3caFXaCw9ekP/6W1aRztU\n\t/hnV4rDqSSIJT7O7a8kqSPzHsHe7fqt1WHmVLisqCgyeVEvuaP2h0BQsThs7hkzGb4sFOgbrEmTI+\n\tzVjRMAEUQ8PQxWT79Jnx/kEgnPn78Uw==;",
        "From": "Oleksandr Shamray <oleksandrs@mellanox.com>",
        "To": "gregkh@linuxfoundation.org, arnd@arndb.de",
        "Subject": "[patch v7 0/4] JTAG driver introduction",
        "Date": "Fri,  1 Sep 2017 19:06:02 +0300",
        "Message-Id": "<1504281966-6199-1-git-send-email-oleksandrs@mellanox.com>",
        "X-Mailer": "git-send-email 1.7.1",
        "X-CRM114-Version": "20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ",
        "X-CRM114-CacheID": "sfid-20170901_090652_352882_70DBE51F ",
        "X-CRM114-Status": "GOOD (  11.71  )",
        "X-Spam-Score": "-1.9 (-)",
        "X-Spam-Report": "SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details:   (-1.9 points)\n\tpts rule name              description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-0.0 SPF_PASS               SPF: sender matches SPF record\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-0.0 SPF_HELO_PASS          SPF: HELO matches SPF record\n\t-1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]\n\t0.0 UNPARSEABLE_RELAY Informational: message has unparseable relay\n\tlines",
        "X-BeenThere": "linux-arm-kernel@lists.infradead.org",
        "X-Mailman-Version": "2.1.21",
        "Precedence": "list",
        "List-Unsubscribe": "<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.infradead.org/pipermail/linux-arm-kernel/>",
        "List-Post": "<mailto:linux-arm-kernel@lists.infradead.org>",
        "List-Help": "<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>",
        "List-Subscribe": "<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>",
        "Cc": "devicetree@vger.kernel.org, jiri@resnulli.us,\n\tsystem-sw-low-level@mellanox.com, linux-api@vger.kernel.org,\n\topenbmc@lists.ozlabs.org, linux-kernel@vger.kernel.org,\n\topenocd-devel-owner@lists.sourceforge.net, mec@shout.net,\n\trobh+dt@kernel.org, \n\tjoel@jms.id.au, linux-serial@vger.kernel.org, vadimp@maellanox.com,\n\tOleksandr Shamray <oleksandrs@mellanox.com>, tklauser@distanz.ch,\n\tmchehab@kernel.org, davem@davemloft.net,\n\tlinux-arm-kernel@lists.infradead.org",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Sender": "\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>",
        "Errors-To": "linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org",
        "List-Id": "linux-imx-kernel.lists.patchwork.ozlabs.org"
    },
    "content": "When a need raise up to use JTAG interface for system's devices\nprogramming or CPU debugging, usually the user layer\napplication implements jtag protocol by bit-bang or using a \nproprietary connection to vendor hardware.\nThis method can be slow and not generic.\n \nWe propose to implement general JTAG interface and infrastructure\nto communicate with user layer application. In such way, we can\nhave the standard JTAG interface core part and separation from\nspecific HW implementation.\nThis allow new capability to debug the CPU or program system's \ndevice via BMC without additional devices nor cost. \n\nThis patch purpose is to add JTAG master core infrastructure by \ndefining new JTAG class and provide generic JTAG interface\nto allow hardware specific drivers to connect this interface.\nThis will enable all JTAG drivers to use the common interface\npart and will have separate for hardware implementation.\n\nThe JTAG (Joint Test Action Group) core driver provides minimal generic\nJTAG interface, which can be used by hardware specific JTAG master\ncontrollers. By providing common interface for the JTAG controllers,\nuser space device programing is hardware independent.\n \nModern SoC which in use for embedded system' equipped with\ninternal JTAG master interface.\nThis interface is used for programming and debugging system's\nhardware components, like CPLD, FPGA, CPU, voltage and\nindustrial controllers.\nFirmware for such devices can be upgraded through JTAG interface during\nRuntime. The JTAG standard support for multiple devices programming,\nis in case their lines are daisy-chained together.\n\nFor example, systems which equipped with host CPU, BMC SoC or/and \nnumber of programmable devices are capable to connect a pin and\nselect system components dynamically for programming and debugging,\nThis is using by the BMC which is equipped with internal SoC master\ncontroller.\nFor example:\n\nBMC JTAG master --> pin selected to CPLDs chain for programming (filed\nupgrade, production) \nBMC JTAG master --> pin selected to voltage monitors for programming \n(field upgrade, production) \nBMC JTAG master --> pin selected to host CPU (on-site debugging \nand developers debugging)\n\nFor example, we can have application in user space which using calls\nto JTAG driver executes CPLD programming directly from SVF file\n \nThe JTAG standard (IEEE 1149.1) defines the next connector pins:\n- TDI (Test Data In);\n- TDO (Test Data Out);\n- TCK (Test Clock);\n- TMS (Test Mode Select);\n- TRST (Test Reset) (Optional);\n\nThe SoC equipped with JTAG master controller, performs\ndevice programming on command or vector level. For example\na file in a standard SVF (Serial Vector Format) that contains\nboundary scan vectors, can be used by sending each vector\nto the JTAG interface and the JTAG controller will execute\nthe programming.\n\nInitial version provides the system calls set for:\n- SIR (Scan Instruction Register, IEEE 1149.1 Data Register scan);\n- SDR (Scan Data Register, IEEE 1149.1 Instruction Register scan);\n- RUNTEST (Forces the IEEE 1149.1 bus to a run state for a specified\n  number of clocks.\n\nSoC which are not equipped with JTAG master interface, can be built\non top of JTAG core driver infrastructure, by applying bit-banging of\nTDI, TDO, TCK and TMS pins within the hardware specific driver.\n\nOleksandr Shamray (4):\n  drivers: jtag: Add JTAG core driver\n  drivers: jtag: Add Aspeed SoC 24xx and 25xx families JTAG master\n    driver\n  Documentation: jtag: Add bindings for Aspeed SoC 24xx and 25xx\n    families     JTAG master driver\n  Documentation: jtag: Add ABI documentation\n\n Documentation/ABI/testing/jatg-cdev                |   27 +\n .../devicetree/bindings/jtag/aspeed-jtag.txt       |   18 +\n Documentation/ioctl/ioctl-number.txt               |    2 +\n MAINTAINERS                                        |   10 +\n drivers/Kconfig                                    |    2 +\n drivers/Makefile                                   |    1 +\n drivers/jtag/Kconfig                               |   29 +\n drivers/jtag/Makefile                              |    2 +\n drivers/jtag/jtag-aspeed.c                         |  773 ++++++++++++++++++++\n drivers/jtag/jtag.c                                |  312 ++++++++\n include/linux/jtag.h                               |   48 ++\n include/uapi/linux/jtag.h                          |  111 +++\n 12 files changed, 1335 insertions(+), 0 deletions(-)\n create mode 100644 Documentation/ABI/testing/jatg-cdev\n create mode 100644 Documentation/devicetree/bindings/jtag/aspeed-jtag.txt\n create mode 100644 drivers/jtag/Kconfig\n create mode 100644 drivers/jtag/Makefile\n create mode 100644 drivers/jtag/jtag-aspeed.c\n create mode 100644 drivers/jtag/jtag.c\n create mode 100644 include/linux/jtag.h\n create mode 100644 include/uapi/linux/jtag.h"
}