get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/1096113/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 1096113,
    "url": "http://patchwork.ozlabs.org/api/patches/1096113/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20190507031739.3009-2-qiang.zhao@nxp.com/",
    "project": {
        "id": 18,
        "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api",
        "name": "U-Boot",
        "link_name": "uboot",
        "list_id": "u-boot.lists.denx.de",
        "list_email": "u-boot@lists.denx.de",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20190507031739.3009-2-qiang.zhao@nxp.com>",
    "list_archive_url": null,
    "date": "2019-05-07T03:16:09",
    "name": "[U-Boot,v3,1/3] watchdog: add sp805 watchdog support",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "cbaa52bf0b1c1d1fde28b8ac367c773edfefe5f6",
    "submitter": {
        "id": 68014,
        "url": "http://patchwork.ozlabs.org/api/people/68014/?format=api",
        "name": "Qiang Zhao",
        "email": "qiang.zhao@nxp.com"
    },
    "delegate": {
        "id": 2467,
        "url": "http://patchwork.ozlabs.org/api/users/2467/?format=api",
        "username": "prabhu_kush",
        "first_name": "Prabhakar",
        "last_name": "Kushwaha",
        "email": "prabhakar@freescale.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20190507031739.3009-2-qiang.zhao@nxp.com/mbox/",
    "series": [
        {
            "id": 106451,
            "url": "http://patchwork.ozlabs.org/api/series/106451/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=106451",
            "date": "2019-05-07T03:16:04",
            "name": "add new wdt driver for sp805",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/106451/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/1096113/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/1096113/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<u-boot-bounces@lists.denx.de>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org",
        "Authentication-Results": [
            "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org;\n\tdmarc=fail (p=none dis=none) header.from=nxp.com",
            "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"s4jrRgaX\";\n\tdkim-atps=neutral",
            "spf=none (sender IP is )\n\tsmtp.mailfrom=qiang.zhao@nxp.com; "
        ],
        "Received": [
            "from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 44ylCL4HH5z9s3Z\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue,  7 May 2019 13:17:18 +1000 (AEST)",
            "by lists.denx.de (Postfix, from userid 105)\n\tid 4B0DCC21DF9; Tue,  7 May 2019 03:16:38 +0000 (UTC)",
            "from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 73E65C21DE8;\n\tTue,  7 May 2019 03:16:26 +0000 (UTC)",
            "by lists.denx.de (Postfix, from userid 105)\n\tid 5D74BC21DEC; Tue,  7 May 2019 03:16:13 +0000 (UTC)",
            "from EUR04-VI1-obe.outbound.protection.outlook.com\n\t(mail-eopbgr80051.outbound.protection.outlook.com [40.107.8.51])\n\tby lists.denx.de (Postfix) with ESMTPS id 304F2C21DD7\n\tfor <u-boot@lists.denx.de>; Tue,  7 May 2019 03:16:10 +0000 (UTC)",
            "from VI1PR04MB3247.eurprd04.prod.outlook.com (10.170.232.160) by\n\tVI1PR04MB6077.eurprd04.prod.outlook.com (20.179.25.79) with Microsoft\n\tSMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.1856.12; Tue, 7 May 2019 03:16:09 +0000",
            "from VI1PR04MB3247.eurprd04.prod.outlook.com\n\t([fe80::cd99:d9b2:d90a:6c2]) by\n\tVI1PR04MB3247.eurprd04.prod.outlook.com\n\t([fe80::cd99:d9b2:d90a:6c2%2]) with mapi id 15.20.1856.012;\n\tTue, 7 May 2019 03:16:09 +0000"
        ],
        "X-Spam-Checker-Version": "SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de",
        "X-Spam-Level": "",
        "X-Spam-Status": "No, score=0.0 required=5.0 tests=SPF_HELO_PASS, T_DKIM_INVALID\n\tautolearn=unavailable autolearn_force=no version=3.4.0",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=V8s33ZTDrbKYFhWiowroWpaNrUkh3vI9cjvba7cveX4=;\n\tb=s4jrRgaX23iErM9PRKBwX9l/lLh6EfbV1oG5+nF/px7hYDHKZX29wXBFCeTs2oWyX041AFoWqtXxU3GQssInjn9hUc67Ff+BfJpVN/frUzp4ygntmKK605eFMCftIDB1h/Cb2zKQQ9mVrfEwzcUbEeLlQwKloqZYSqBqlLEAfMw=",
        "From": "Qiang Zhao <qiang.zhao@nxp.com>",
        "To": "York Sun <york.sun@nxp.com>",
        "Thread-Topic": "[patch v3 1/3] watchdog: add sp805 watchdog support",
        "Thread-Index": "AQHVBIM37zsU0eIGGkW9nlPCuCIUzg==",
        "Date": "Tue, 7 May 2019 03:16:09 +0000",
        "Message-ID": "<20190507031739.3009-2-qiang.zhao@nxp.com>",
        "References": "<20190507031739.3009-1-qiang.zhao@nxp.com>",
        "In-Reply-To": "<20190507031739.3009-1-qiang.zhao@nxp.com>",
        "Accept-Language": "en-US",
        "Content-Language": "en-US",
        "X-MS-Has-Attach": "",
        "X-MS-TNEF-Correlator": "",
        "x-clientproxiedby": "HK2PR04CA0053.apcprd04.prod.outlook.com\n\t(2603:1096:202:14::21) To VI1PR04MB3247.eurprd04.prod.outlook.com\n\t(2603:10a6:802:11::32)",
        "x-mailer": "git-send-email 2.17.1",
        "authentication-results": [
            "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org;\n\tdmarc=fail (p=none dis=none) header.from=nxp.com",
            "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"s4jrRgaX\";\n\tdkim-atps=neutral",
            "spf=none (sender IP is )\n\tsmtp.mailfrom=qiang.zhao@nxp.com; "
        ],
        "x-ms-exchange-messagesentrepresentingtype": "1",
        "x-originating-ip": "[119.31.174.73]",
        "x-ms-publictraffictype": "Email",
        "x-ms-office365-filtering-correlation-id": "798341c9-a2ae-44c1-2708-08d6d29a5991",
        "x-ms-office365-filtering-ht": "Tenant",
        "x-microsoft-antispam": "BCL:0; PCL:0;\n\tRULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(4618075)(2017052603328)(7193020);\n\tSRVR:VI1PR04MB6077; ",
        "x-ms-traffictypediagnostic": "VI1PR04MB6077:",
        "x-microsoft-antispam-prvs": "<VI1PR04MB6077400EA17B98E31791711991310@VI1PR04MB6077.eurprd04.prod.outlook.com>",
        "x-ms-oob-tlc-oobclassifiers": "OLM:4941;",
        "x-forefront-prvs": "0030839EEE",
        "x-forefront-antispam-report": "SFV:NSPM;\n\tSFS:(10009020)(136003)(39860400002)(396003)(376002)(366004)(346002)(199004)(189003)(37006003)(71190400001)(6436002)(1076003)(316002)(71200400001)(14444005)(54906003)(14454004)(7736002)(6512007)(305945005)(6862004)(8936002)(2906002)(4326008)(478600001)(36756003)(50226002)(5660300002)(73956011)(102836004)(6636002)(486006)(53936002)(52116002)(26005)(64756008)(66476007)(66946007)(66556008)(66446008)(8676002)(81166006)(81156014)(3846002)(386003)(6506007)(6116002)(44832011)(76176011)(2616005)(86362001)(446003)(256004)(99286004)(11346002)(66066001)(6486002)(25786009)(186003)(68736007)(476003);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB6077;\n\tH:VI1PR04MB3247.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en;\n\tPTR:InfoNoRecords; A:1; MX:1; ",
        "received-spf": "None (protection.outlook.com: nxp.com does not designate\n\tpermitted sender hosts)",
        "x-ms-exchange-senderadcheck": "1",
        "x-microsoft-antispam-message-info": "Cduub792Bv0EdoCs7Gsk1JM0OaDqVgls4LEzta5lcVZ7ItSFoBnS2dPzxoxBmd4F9O+/1e4RhbxLJ9d1GZjaLtXMwkhZTH+83+2o8V7A7FCvq5w4GREkAUfFe122P7oJ6k75vThraoqlMy4s4ztpX2UMZHeovgHXQ/GkkkKN4czhG9RoDCPB4tKIQb0gqAORUlI9GnzXx+1z8JEB7WUeG9/TsmAmtTjyIN+ThNOojHGYJMNApZNQvoLzvk/83hCo3yuZ65j7eeEh/x2zk5amkhakffXRiL4+FPg6dHOGSKsr17W9hI6lxSB1L91/mOfcadVRVl0JOp2EJgqyM1rq4cumC8XiYzjqK4N6xNeAAzv98r5JlQAUszTYmRXg5H6ZQeotp4BVitiq03it8NDraKoc7Bdq4aJc9bj0WLGANk0=",
        "MIME-Version": "1.0",
        "X-OriginatorOrg": "nxp.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "798341c9-a2ae-44c1-2708-08d6d29a5991",
        "X-MS-Exchange-CrossTenant-originalarrivaltime": "07 May 2019 03:16:09.1677\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-fromentityheader": "Hosted",
        "X-MS-Exchange-CrossTenant-id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635",
        "X-MS-Exchange-CrossTenant-mailboxtype": "HOSTED",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "VI1PR04MB6077",
        "Cc": "\"u-boot@lists.denx.de\" <u-boot@lists.denx.de>",
        "Subject": "[U-Boot] [patch v3 1/3] watchdog: add sp805 watchdog support",
        "X-BeenThere": "u-boot@lists.denx.de",
        "X-Mailman-Version": "2.1.18",
        "Precedence": "list",
        "List-Id": "U-Boot discussion <u-boot.lists.denx.de>",
        "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>",
        "List-Archive": "<http://lists.denx.de/pipermail/u-boot/>",
        "List-Post": "<mailto:u-boot@lists.denx.de>",
        "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>",
        "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "base64",
        "Errors-To": "u-boot-bounces@lists.denx.de",
        "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>"
    },
    "content": "sp805 is watchdog on some NXP layerscape SoCs, Now add its driver in uboot.\nTo add\n\tCONFIG_WDT_SP805=y\n\tCONFIG_WDT=y\n\tCONFIG_CMD_WDT=y\nin defconfig to use it.\n\nSigned-off-by: Zhao Qiang <qiang.zhao@nxp.com>\n---\n MAINTAINERS                  |   1 +\n drivers/watchdog/Kconfig     |   7 ++\n drivers/watchdog/Makefile    |   1 +\n drivers/watchdog/sp805_wdt.c | 127 +++++++++++++++++++++++++++++++++++\n 4 files changed, 136 insertions(+)\n create mode 100644 drivers/watchdog/sp805_wdt.c",
    "diff": "diff --git a/MAINTAINERS b/MAINTAINERS\r\nindex 8f237128b2..e8e7a92802 100644\r\n--- a/MAINTAINERS\r\n+++ b/MAINTAINERS\r\n@@ -410,6 +410,7 @@ FREESCALE QORIQ\r\n M:\tYork Sun <york.sun@nxp.com>\r\n S:\tMaintained\r\n T:\tgit git://git.denx.de/u-boot-fsl-qoriq.git\r\n+F:\tdrivers/watchdog/sp805_wdt.c\r\n \r\n I2C\r\n M:\tHeiko Schocher <hs@denx.de>\r\ndiff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig\r\nindex b06c5447f6..29e04630d2 100644\r\n--- a/drivers/watchdog/Kconfig\r\n+++ b/drivers/watchdog/Kconfig\r\n@@ -95,6 +95,13 @@ config WDT_ORION\r\n \t   Select this to enable Orion watchdog timer, which can be found on some\r\n \t   Marvell Armada chips.\r\n \r\n+config WDT_SP805\r\n+\tbool \"SP805 watchdog timer support\"\r\n+\tdepends on WDT\r\n+\thelp\r\n+\t   Select this to enable SP805 watchdog timer, which can be found on some\r\n+\t   nxp layerscape chips.\r\n+\r\n config WDT_CDNS\r\n \tbool \"Cadence watchdog timer support\"\r\n \tdepends on WDT\r\ndiff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile\r\nindex 19c631bb58..eb285bde24 100644\r\n--- a/drivers/watchdog/Makefile\r\n+++ b/drivers/watchdog/Makefile\r\n@@ -25,3 +25,4 @@ obj-$(CONFIG_BCM2835_WDT)       += bcm2835_wdt.o\r\n obj-$(CONFIG_WDT_ORION) += orion_wdt.o\r\n obj-$(CONFIG_WDT_CDNS) += cdns_wdt.o\r\n obj-$(CONFIG_MPC8xx_WATCHDOG) += mpc8xx_wdt.o\r\n+obj-$(CONFIG_WDT_SP805) += sp805_wdt.o\r\ndiff --git a/drivers/watchdog/sp805_wdt.c b/drivers/watchdog/sp805_wdt.c\r\nnew file mode 100644\r\nindex 0000000000..966128216f\r\n--- /dev/null\r\n+++ b/drivers/watchdog/sp805_wdt.c\r\n@@ -0,0 +1,127 @@\r\n+// SPDX-License-Identifier: GPL-2.0+\r\n+/*\r\n+ * Watchdog driver for SP805 on some Layerscape SoC\r\n+ *\r\n+ * Copyright 2019 NXP\r\n+ */\r\n+\r\n+#include <asm/io.h>\r\n+#include <common.h>\r\n+#include <dm/device.h>\r\n+#include <dm/fdtaddr.h>\r\n+#include <dm/read.h>\r\n+#include <linux/bitops.h>\r\n+#include <watchdog.h>\r\n+#include <wdt.h>\r\n+\r\n+#define WDTLOAD\t\t\t0x000\r\n+#define WDTCONTROL\t\t0x008\r\n+#define WDTINTCLR\t\t0x00C\r\n+#define WDTLOCK\t\t\t0xC00\r\n+\r\n+#define TIME_OUT_MIN_MSECS\t1\r\n+#define TIME_OUT_MAX_MSECS\t120000\r\n+#define SYS_FSL_WDT_CLK_DIV\t16\r\n+#define INT_ENABLE\t\tBIT(0)\r\n+#define RESET_ENABLE\t\tBIT(1)\r\n+#define DISABLE\t\t\t0\r\n+#define UNLOCK\t\t\t0x1ACCE551\r\n+#define LOCK\t\t\t0x00000001\r\n+#define INT_MASK\t\tBIT(0)\r\n+\r\n+DECLARE_GLOBAL_DATA_PTR;\r\n+\r\n+struct sp805_wdt_priv {\r\n+\tvoid __iomem *reg;\r\n+};\r\n+\r\n+static int sp805_wdt_reset(struct udevice *dev)\r\n+{\r\n+\tstruct sp805_wdt_priv *priv = dev_get_priv(dev);\r\n+\r\n+\twritel(UNLOCK, priv->reg + WDTLOCK);\r\n+\twritel(INT_MASK, priv->reg + WDTINTCLR);\r\n+\twritel(LOCK, priv->reg + WDTLOCK);\r\n+\treadl(priv->reg + WDTLOCK);\r\n+\r\n+\treturn 0;\r\n+}\r\n+\r\n+static int sp805_wdt_start(struct udevice *dev, u64 timeout, ulong flags)\r\n+{\r\n+\tu32 load_value;\r\n+\tu32 load_time;\r\n+\tstruct sp805_wdt_priv *priv = dev_get_priv(dev);\r\n+\r\n+\tload_time = (u32)timeout;\r\n+\tif (timeout < TIME_OUT_MIN_MSECS)\r\n+\t\tload_time = TIME_OUT_MIN_MSECS;\r\n+\telse if (timeout > TIME_OUT_MAX_MSECS)\r\n+\t\tload_time = TIME_OUT_MAX_MSECS;\r\n+\t/* sp805 runs counter with given value twice, so when the max timeout is\r\n+\t * set 120s, the gd->bus_clk is less than 1145MHz, the load_value will\r\n+\t * not overflow.\r\n+\t */\r\n+\tload_value = (gd->bus_clk) /\r\n+\t\t(2 * 1000 * SYS_FSL_WDT_CLK_DIV) * load_time;\r\n+\r\n+\twritel(UNLOCK, priv->reg + WDTLOCK);\r\n+\twritel(load_value, priv->reg + WDTLOAD);\r\n+\twritel(INT_MASK, priv->reg + WDTINTCLR);\r\n+\twritel(INT_ENABLE | RESET_ENABLE, priv->reg + WDTCONTROL);\r\n+\twritel(LOCK, priv->reg + WDTLOCK);\r\n+\treadl(priv->reg + WDTLOCK);\r\n+\r\n+\treturn 0;\r\n+}\r\n+\r\n+static int sp805_wdt_stop(struct udevice *dev)\r\n+{\r\n+\tstruct sp805_wdt_priv *priv = dev_get_priv(dev);\r\n+\r\n+\twritel(UNLOCK, priv->reg + WDTLOCK);\r\n+\twritel(DISABLE, priv->reg + WDTCONTROL);\r\n+\twritel(LOCK, priv->reg + WDTLOCK);\r\n+\treadl(priv->reg + WDTLOCK);\r\n+\r\n+\treturn 0;\r\n+}\r\n+\r\n+static int sp805_wdt_probe(struct udevice *dev)\r\n+{\r\n+\tdebug(\"%s: Probing wdt%u\\n\", __func__, dev->seq);\r\n+\r\n+\treturn 0;\r\n+}\r\n+\r\n+static int sp805_wdt_ofdata_to_platdata(struct udevice *dev)\r\n+{\r\n+\tstruct sp805_wdt_priv *priv = dev_get_priv(dev);\r\n+\r\n+\tpriv->reg = (void __iomem *)dev_read_addr(dev);\r\n+\tif (IS_ERR(priv->reg))\r\n+\t\treturn PTR_ERR(priv->reg);\r\n+\r\n+\treturn 0;\r\n+}\r\n+\r\n+static const struct wdt_ops sp805_wdt_ops = {\r\n+\t.start = sp805_wdt_start,\r\n+\t.reset = sp805_wdt_reset,\r\n+\t.stop = sp805_wdt_stop,\r\n+};\r\n+\r\n+static const struct udevice_id sp805_wdt_ids[] = {\r\n+\t{ .compatible = \"arm,sp805-wdt\" },\r\n+\t{}\r\n+};\r\n+\r\n+U_BOOT_DRIVER(sp805_wdt) = {\r\n+\t.name = \"sp805_wdt\",\r\n+\t.id = UCLASS_WDT,\r\n+\t.of_match = sp805_wdt_ids,\r\n+\t.probe = sp805_wdt_probe,\r\n+\t.priv_auto_alloc_size = sizeof(struct sp805_wdt_priv),\r\n+\t.ofdata_to_platdata = sp805_wdt_ofdata_to_platdata,\r\n+\t.ops = &sp805_wdt_ops,\r\n+};\r\n",
    "prefixes": [
        "U-Boot",
        "v3",
        "1/3"
    ]
}