get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 812228,
    "url": "http://patchwork.ozlabs.org/api/patches/812228/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/1505111271-17489-1-git-send-email-andy.yan@rock-chips.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": "<1505111271-17489-1-git-send-email-andy.yan@rock-chips.com>",
    "list_archive_url": null,
    "date": "2017-09-11T06:27:51",
    "name": "[U-Boot] rockchip: add support for backing to bootrom download mode",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": false,
    "hash": "afc6d6215df4b16b00cd3c07bd94dd6e57bf5eb0",
    "submitter": {
        "id": 65124,
        "url": "http://patchwork.ozlabs.org/api/people/65124/?format=api",
        "name": "Andy Yan",
        "email": "andy.yan@rock-chips.com"
    },
    "delegate": {
        "id": 69486,
        "url": "http://patchwork.ozlabs.org/api/users/69486/?format=api",
        "username": "ptomsich",
        "first_name": "Philipp",
        "last_name": "Tomsich",
        "email": "philipp.tomsich@theobroma-systems.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/1505111271-17489-1-git-send-email-andy.yan@rock-chips.com/mbox/",
    "series": [
        {
            "id": 2441,
            "url": "http://patchwork.ozlabs.org/api/series/2441/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=2441",
            "date": "2017-09-11T06:27:51",
            "name": "[U-Boot] rockchip: add support for backing to bootrom download mode",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/2441/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/812228/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/812228/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>)",
        "Received": [
            "from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 3xrJ034DCDz9s7g\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 11 Sep 2017 16:28:19 +1000 (AEST)",
            "by lists.denx.de (Postfix, from userid 105)\n\tid 1BCCCC21E67; Mon, 11 Sep 2017 06:28:08 +0000 (UTC)",
            "from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 3D751C21C58;\n\tMon, 11 Sep 2017 06:28:06 +0000 (UTC)",
            "by lists.denx.de (Postfix, from userid 105)\n\tid 7924CC21C58; Mon, 11 Sep 2017 06:28:04 +0000 (UTC)",
            "from regular1.263xmail.com (regular1.263xmail.com [211.150.99.132])\n\tby lists.denx.de (Postfix) with ESMTPS id 5CF07C21C4C\n\tfor <u-boot@lists.denx.de>; Mon, 11 Sep 2017 06:28:03 +0000 (UTC)",
            "from andy.yan?rock-chips.com (unknown [192.168.167.163])\n\tby regular1.263xmail.com (Postfix) with ESMTP id 9672E9513\n\tfor <u-boot@lists.denx.de>; Mon, 11 Sep 2017 14:27:58 +0800 (CST)",
            "from localhost.localdomain (localhost [127.0.0.1])\n\tby smtp.263.net (Postfix) with ESMTPA id 594FA3DB;\n\tMon, 11 Sep 2017 14:27:58 +0800 (CST)",
            "from localhost.localdomain (unknown [58.22.7.114])\n\tby smtp.263.net (Postfix) whith ESMTP id 5357Q5C477;\n\tMon, 11 Sep 2017 14:27:59 +0800 (CST)"
        ],
        "X-Spam-Checker-Version": "SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de",
        "X-Spam-Level": "",
        "X-Spam-Status": "No, score=0.6 required=5.0 tests=RCVD_IN_DNSWL_NONE,\n\tRCVD_IN_MSPIKE_H2,RCVD_IN_SORBS_WEB autolearn=no autolearn_force=no\n\tversion=3.4.0",
        "X-263anti-spam": "KSV:0;",
        "X-MAIL-GRAY": "0",
        "X-MAIL-DELIVERY": "1",
        "X-KSVirus-check": "0",
        "X-ABS-CHECKED": "4",
        "X-RL-SENDER": "andy.yan@rock-chips.com",
        "X-FST-TO": "philipp.tomsich@theobroma-systems.com",
        "X-SENDER-IP": "58.22.7.114",
        "X-LOGIN-NAME": "andy.yan@rock-chips.com",
        "X-UNIQUE-TAG": "<0120539da3a10ac757efe882dd394ebd>",
        "X-ATTACHMENT-NUM": "0",
        "X-SENDER": "yxj@rock-chips.com",
        "X-DNS-TYPE": "0",
        "From": "Andy Yan <andy.yan@rock-chips.com>",
        "To": "philipp.tomsich@theobroma-systems.com,\n\tsjg@chromium.org",
        "Date": "Mon, 11 Sep 2017 14:27:51 +0800",
        "Message-Id": "<1505111271-17489-1-git-send-email-andy.yan@rock-chips.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "Cc": "u-boot@lists.denx.de, Andy Yan <andy.yan@rock-chips.com>",
        "Subject": "[U-Boot] [PATCH] rockchip: add support for backing to bootrom\n\tdownload mode",
        "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>",
        "MIME-Version": "1.0",
        "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": "Rockchip bootrom will enter download mode if it returns from\nspl/tpl with a none-zero value and couldn't find a valid image\nin the backup partition.\nThis patch provide a method to instruct the system to back to\nbootrom download mode by checking the BROM_DOWNLOAD_FLAG register.\nAs the bootrom download function relys on some modules such as\ninterrupts, so we need to back to bootrom as early as possbile\nbefore the tpl/tps code override the interrupt settings.\n\nSigned-off-by: Andy Yan <andy.yan@rock-chips.com>\n---\n\n arch/arm/include/asm/arch-rockchip/bootrom.h |  2 +-\n arch/arm/mach-rockchip/Kconfig               | 13 +++++++\n arch/arm/mach-rockchip/bootrom.c             |  2 +-\n arch/arm/mach-rockchip/save_boot_param.S     | 57 +++++++++++++++++++++++-----\n 4 files changed, 63 insertions(+), 11 deletions(-)",
    "diff": "diff --git a/arch/arm/include/asm/arch-rockchip/bootrom.h b/arch/arm/include/asm/arch-rockchip/bootrom.h\nindex 92eb878..6ae3e94 100644\n--- a/arch/arm/include/asm/arch-rockchip/bootrom.h\n+++ b/arch/arm/include/asm/arch-rockchip/bootrom.h\n@@ -22,6 +22,6 @@ void back_to_bootrom(void);\n /**\n  * Assembler component for the above (do not call this directly)\n  */\n-void _back_to_bootrom_s(void);\n+void _back_to_bootrom_s(int mode);\n \n #endif\ndiff --git a/arch/arm/mach-rockchip/Kconfig b/arch/arm/mach-rockchip/Kconfig\nindex d9b25d5..3ab0c30 100644\n--- a/arch/arm/mach-rockchip/Kconfig\n+++ b/arch/arm/mach-rockchip/Kconfig\n@@ -113,6 +113,7 @@ config ROCKCHIP_RK3399\n \tselect SPL_SERIAL_SUPPORT\n \tselect SPL_DRIVERS_MISC_SUPPORT\n \tselect ENABLE_ARM_SOC_BOOT0_HOOK\n+\tselect ROCKCHIP_BROM_HELPER\n \tselect DEBUG_UART_BOARD_INIT\n \thelp\n \t  The Rockchip RK3399 is a ARM-based SoC with a dual-core Cortex-A72\n@@ -149,6 +150,18 @@ config TPL_ROCKCHIP_BACK_TO_BROM\n           SPL will return to the boot rom, which will then load the U-Boot\n           binary to keep going on.\n \n+config ROCKCHIP_BACK_TO_BROM_DOWNLOAD_REG\n+\thex \"Bootrom download mode flag register address\"\n+\tdefault 0x200081c8 if ROCKCHIP_RK3036\n+\tdefault 0xff730094 if ROCKCHIP_RK3288\n+\tdefault 0xff738200 if ROCKCHIP_RK3368\n+\tdefault 0xff320300 if ROCKCHIP_RK3399\n+\tdefault 0x10300580 if ROCKCHIP_RV1108\n+\tdefault 0x00\n+\thelp\n+\t  The Soc will return to bootrom download mode if this register set\n+\t  to BOOTROM_DOWNLOAD_FLAG.\n+\n config ROCKCHIP_SPL_RESERVE_IRAM\n \thex \"Size of IRAM reserved in SPL\"\n \tdefault 0x4000\ndiff --git a/arch/arm/mach-rockchip/bootrom.c b/arch/arm/mach-rockchip/bootrom.c\nindex 8380e4e..6f0d583 100644\n--- a/arch/arm/mach-rockchip/bootrom.c\n+++ b/arch/arm/mach-rockchip/bootrom.c\n@@ -12,5 +12,5 @@ void back_to_bootrom(void)\n #if CONFIG_IS_ENABLED(LIBCOMMON_SUPPORT)\n \tputs(\"Returning to boot ROM...\\n\");\n #endif\n-\t_back_to_bootrom_s();\n+\t_back_to_bootrom_s(0);\n }\ndiff --git a/arch/arm/mach-rockchip/save_boot_param.S b/arch/arm/mach-rockchip/save_boot_param.S\nindex 50fce20..f1bed0b 100644\n--- a/arch/arm/mach-rockchip/save_boot_param.S\n+++ b/arch/arm/mach-rockchip/save_boot_param.S\n@@ -7,11 +7,25 @@\n \n #include <linux/linkage.h>\n \n+#define BACK_TO_BROM_DOWNLOAD_FLAG   0xEF08A53C\n+\n #if defined(CONFIG_ARM64)\n .globl\tSAVE_SP_ADDR\n SAVE_SP_ADDR:\n \t.quad 0\n \n+ENTRY(check_back_to_brom_dnl_flag)\n+\tldr\tx8, =CONFIG_ROCKCHIP_BACK_TO_BROM_DOWNLOAD_REG\n+\tldr\tx9, [x8]\n+\tldr\tx0, =BACK_TO_BROM_DOWNLOAD_FLAG\n+\tcmp\tx9, x0\n+\tb.ne\tsave_boot_params_ret\n+\tmov\tx9, xzr\n+\tstr\tx9, [x8]\t/* clear flag */\n+\tmov\tx0, #1          /* indicate the bootrom to enter download mode */\n+\tb\t_back_to_bootrom_s\n+ENDPROC(check_back_to_brom_dnl_flag)\n+\n ENTRY(save_boot_params)\n \tsub\tsp, sp, #0x60\n \tstp\tx29, x30, [sp, #0x50]\n@@ -23,14 +37,22 @@ ENTRY(save_boot_params)\n \tldr\tx8, =SAVE_SP_ADDR\n \tmov\tx9, sp\n \tstr\tx9, [x8]\n+#if CONFIG_ROCKCHIP_BACK_TO_BROM_DOWNLOAD_REG\n+\tb\tcheck_back_to_brom_dnl_flag\n+#else\n \tb\tsave_boot_params_ret  /* back to my caller */\n+#endif\n ENDPROC(save_boot_params)\n \n+/*\n+ * x0: return value for bootrom, none-zero for bootrom download\n+ *     mode and zero for normal boot mode\n+ */\n .globl _back_to_bootrom_s\n ENTRY(_back_to_bootrom_s)\n-\tldr\tx0, =SAVE_SP_ADDR\n-\tldr\tx0, [x0]\n-\tmov\tsp, x0\n+\tldr\tx1, =SAVE_SP_ADDR\n+\tldr\tx1, [x1]\n+\tmov\tsp, x1\n \tldp\tx29, x30, [sp, #0x50]\n \tldp\tx27, x28, [sp, #0x40]\n \tldp\tx25, x26, [sp, #0x30]\n@@ -38,7 +60,6 @@ ENTRY(_back_to_bootrom_s)\n \tldp\tx21, x22, [sp, #0x10]\n \tldp\tx19, x20, [sp]\n \tadd\tsp, sp, #0x60\n-\tmov\tx0, xzr\n \tret\n ENDPROC(_back_to_bootrom_s)\n #else\n@@ -46,6 +67,18 @@ ENDPROC(_back_to_bootrom_s)\n SAVE_SP_ADDR:\n \t.word 0\n \n+ENTRY(check_back_to_brom_dnl_flag)\n+\tldr\tr0, =CONFIG_ROCKCHIP_BACK_TO_BROM_DOWNLOAD_REG\n+\tldr\tr1, [r0]\n+\tldr\tr2, =BACK_TO_BROM_DOWNLOAD_FLAG\n+\tcmp\tr1, r2\n+\tbne\tsave_boot_params_ret\n+\tmov\tr3, #0\n+\tstr\tr3, [r0]        @clear flag\n+\tmov\tr0, #1          @indicate the bootrom to enter download mode\n+\tb\t_back_to_bootrom_s\n+ENDPROC(check_back_to_brom_dnl_flag)\n+\n /*\n  * void save_boot_params\n  *\n@@ -55,15 +88,21 @@ ENTRY(save_boot_params)\n \tpush\t{r1-r12, lr}\n \tldr\tr0, =SAVE_SP_ADDR\n \tstr\tsp, [r0]\n-\tb\tsave_boot_params_ret\t\t@ back to my caller\n+#if CONFIG_ROCKCHIP_BACK_TO_BROM_DOWNLOAD_REG\n+\tb\tcheck_back_to_brom_dnl_flag\n+#else\n+\tb       save_boot_params_ret\n+#endif\n ENDPROC(save_boot_params)\n \n-\n+/*\n+ * r0: return value for bootrom, none-zero for bootrom download\n+ *     mode and zero for normal boot mode\n+ */\n .globl _back_to_bootrom_s\n ENTRY(_back_to_bootrom_s)\n-\tldr\tr0, =SAVE_SP_ADDR\n-\tldr\tsp, [r0]\n-\tmov\tr0, #0\n+\tldr\tr1, =SAVE_SP_ADDR\n+\tldr\tsp, [r1]\n \tpop\t{r1-r12, pc}\n ENDPROC(_back_to_bootrom_s)\n #endif\n",
    "prefixes": [
        "U-Boot"
    ]
}