From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kuo-Jung Su Date: Wed, 18 Dec 2013 15:24:48 +0800 Subject: [U-Boot] [PATCH 1/2] usb: gadget: fotg210: add w1c interrupt status support In-Reply-To: <1387351489-2008-1-git-send-email-dantesu@gmail.com> References: <1387351489-2008-1-git-send-email-dantesu@gmail.com> Message-ID: <1387351489-2008-2-git-send-email-dantesu@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de From: Kuo-Jung Su Since hardware revision 1.11.0, the following interrupt status registers are now write-1-clear (w1c): 1. Interrupt Source Group 0 Register (0x144) (EP0 Abort: BIT5) 2. Interrupt Source Group 2 Register (0x14C) (All bits) Signed-off-by: Kuo-Jung Su CC: Marek Vasut --- drivers/usb/gadget/fotg210.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/usb/gadget/fotg210.c b/drivers/usb/gadget/fotg210.c index 6e19db1..e3a61cc 100644 --- a/drivers/usb/gadget/fotg210.c +++ b/drivers/usb/gadget/fotg210.c @@ -847,8 +847,11 @@ int usb_gadget_handle_interrupts(void) /* CX interrupts */ if (gisr & GISR_GRP0) { st = readl(®s->gisr0); +#ifdef CONFIG_USB_GADGET_FOTG210_ISRW1C + writel(st & GISR0_CXABORT, ®s->gisr0); +#else writel(0, ®s->gisr0); - +#endif if (st & GISR0_CXERR) printf("fotg210: cmd error\n"); @@ -873,8 +876,11 @@ int usb_gadget_handle_interrupts(void) /* Device Status Interrupts */ if (gisr & GISR_GRP2) { st = readl(®s->gisr2); +#ifdef CONFIG_USB_GADGET_FOTG210_ISRW1C + writel(st, ®s->gisr2); +#else writel(0, ®s->gisr2); - +#endif if (st & GISR2_RESET) printf("fotg210: reset by host\n"); else if (st & GISR2_SUSPEND) -- 1.7.9.5