From c721c69987a48d07322896f243bcd00ddafa41a6 Mon Sep 17 00:00:00 2001 From: Rafaël Carré Date: Sat, 31 Dec 2011 18:44:37 +0000 Subject: onda usb code: merge into .c file git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31496 a1c6a512-1295-4272-9138-f99709370657 --- .../mips/ingenic_jz47xx/onda_vx747/usb-target.h | 40 ---------------------- .../mips/ingenic_jz47xx/onda_vx767/usb-target.h | 40 ---------------------- firmware/target/mips/ingenic_jz47xx/usb-jz4740.c | 24 +++++++++---- 3 files changed, 17 insertions(+), 87 deletions(-) diff --git a/firmware/target/mips/ingenic_jz47xx/onda_vx747/usb-target.h b/firmware/target/mips/ingenic_jz47xx/onda_vx747/usb-target.h index 12210dfbaa..392de9d1f0 100644 --- a/firmware/target/mips/ingenic_jz47xx/onda_vx747/usb-target.h +++ b/firmware/target/mips/ingenic_jz47xx/onda_vx747/usb-target.h @@ -1,42 +1,2 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2008 by Maurus Cuelenaere - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#ifndef __USB_TARGET_H -#define __USB_TARGET_H - -#include "config.h" - -#define GPIO_UDC_DETE (32 * 3 + 28) /* A18 = ADP_CHK */ -#define IRQ_GPIO_UDC_DETE (IRQ_GPIO_0 + GPIO_UDC_DETE) -#define USB_GPIO_IRQ GPIO124 - -#define USB_INIT_GPIO() \ -{ \ - REG_GPIO_PXPES(3) = 0x10000000; \ - __gpio_as_irq_rise_edge(GPIO_UDC_DETE); \ -} - -#define USB_DRV_CONNECTED() (__gpio_get_pin(GPIO_UDC_DETE) == 1) - /* Connect by events, not by tick polling */ #define USB_STATUS_BY_EVENT - -#endif diff --git a/firmware/target/mips/ingenic_jz47xx/onda_vx767/usb-target.h b/firmware/target/mips/ingenic_jz47xx/onda_vx767/usb-target.h index 44793f0dae..e69de29bb2 100644 --- a/firmware/target/mips/ingenic_jz47xx/onda_vx767/usb-target.h +++ b/firmware/target/mips/ingenic_jz47xx/onda_vx767/usb-target.h @@ -1,40 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2008 by Maurus Cuelenaere - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -#ifndef __USB_TARGET_H -#define __USB_TARGET_H - -#include "config.h" - -#define GPIO_UDC_DETE (32 * 3 + 28) -#define IRQ_GPIO_UDC_DETE (IRQ_GPIO_0 + GPIO_UDC_DETE) - -#define USB_INIT_GPIO() \ -{ \ - REG_GPIO_PXFUNS(3) = 0x10000000; \ - REG_GPIO_PXSELS(3) = 0x10000000; \ - REG_GPIO_PXPES(3) = 0x10000000; \ - __gpio_as_input(GPIO_UDC_DETE); \ -} - -#define USB_DRV_CONNECTED() (__gpio_get_pin(GPIO_UDC_DETE) == 1) - -#endif diff --git a/firmware/target/mips/ingenic_jz47xx/usb-jz4740.c b/firmware/target/mips/ingenic_jz47xx/usb-jz4740.c index a615d3d4da..fcc14706f3 100644 --- a/firmware/target/mips/ingenic_jz47xx/usb-jz4740.c +++ b/firmware/target/mips/ingenic_jz47xx/usb-jz4740.c @@ -577,19 +577,29 @@ void usb_drv_stall(int endpoint, bool stall, bool in) } } -bool usb_drv_connected(void) -{ - return USB_DRV_CONNECTED(); -} +#define GPIO_UDC_DETE (32 * 3 + 28) /* A18 = ADP_CHK */ +#define IRQ_GPIO_UDC_DETE (IRQ_GPIO_0 + GPIO_UDC_DETE) +#ifndef ONDA_VX767 +# define USB_GPIO_IRQ GPIO124 +#endif int usb_detect(void) { - return usb_drv_connected() ? USB_INSERTED : USB_EXTRACTED; + return (__gpio_get_pin(GPIO_UDC_DETE) == 1) + ? USB_INSERTED : USB_EXTRACTED; } void usb_init_device(void) { - unsigned int i; +#ifdef ONDA_VX767 + REG_GPIO_PXFUNS(3) = 0x10000000; + REG_GPIO_PXSELS(3) = 0x10000000; + REG_GPIO_PXPES(3) = 0x10000000; + __gpio_as_input(GPIO_UDC_DETE); +#else + REG_GPIO_PXPES(3) = 0x10000000; + __gpio_as_irq_rise_edge(GPIO_UDC_DETE); +#endif USB_INIT_GPIO(); #ifdef USB_GPIO_IRQ @@ -597,7 +607,7 @@ void usb_init_device(void) #endif system_enable_irq(IRQ_UDC); - for(i=0; i