From c0b43a5ac2fcda473800b9c9a4036c5348ac5084 Mon Sep 17 00:00:00 2001 From: Maurus Cuelenaere Date: Fri, 21 Nov 2008 12:50:06 +0000 Subject: Commit some USB and ATA rework/refactoring (+ USB GPIO detection). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19165 a1c6a512-1295-4272-9138-f99709370657 --- .../mips/ingenic_jz47xx/onda_vx747/ata-sd-target.h | 55 ++++++++++++++++++++++ .../onda_vx747/backlight-onda_vx747.c | 3 +- .../mips/ingenic_jz47xx/onda_vx747/usb-target.h | 48 +++++++++++++++++++ 3 files changed, 104 insertions(+), 2 deletions(-) create mode 100644 firmware/target/mips/ingenic_jz47xx/onda_vx747/ata-sd-target.h create mode 100644 firmware/target/mips/ingenic_jz47xx/onda_vx747/usb-target.h (limited to 'firmware/target/mips/ingenic_jz47xx/onda_vx747') diff --git a/firmware/target/mips/ingenic_jz47xx/onda_vx747/ata-sd-target.h b/firmware/target/mips/ingenic_jz47xx/onda_vx747/ata-sd-target.h new file mode 100644 index 0000000000..cc6bd8a773 --- /dev/null +++ b/firmware/target/mips/ingenic_jz47xx/onda_vx747/ata-sd-target.h @@ -0,0 +1,55 @@ +/*************************************************************************** + * __________ __ ___. + * 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 ATA_SD_TARGET_H +#define ATA_SD_TARGET_H + +#include "inttypes.h" +#include "hotswap.h" +#include "jz4740.h" + +tCardInfo *card_get_info_target(int card_no); +bool card_detect_target(void); + +#ifdef HAVE_HOTSWAP +void card_enable_monitoring_target(bool on); +void microsd_int(void); /* ??? */ +#endif + +int _sd_read_sectors(unsigned long start, int count, void* buf); +int _sd_write_sectors(unsigned long start, int count, const void* buf); +int _sd_init(void); + +#define MMC_CD_PIN (29 + 1 * 32) /* Pin to check card insertion */ +//#define MMC_POWER_PIN (30 + 1 * 32) /* Pin to enable/disable card power */ +//#define MMC_PW_PIN (14 + 3 * 32) /* Pin to check protect card */ + +static inline void mmc_init_gpio(void) +{ + __gpio_as_msc(); + __gpio_as_input(MMC_CD_PIN); + __gpio_enable_pull(32*3+29); + __gpio_enable_pull(32*3+10); + __gpio_enable_pull(32*3+11); + __gpio_enable_pull(32*3+12); +} + +#endif diff --git a/firmware/target/mips/ingenic_jz47xx/onda_vx747/backlight-onda_vx747.c b/firmware/target/mips/ingenic_jz47xx/onda_vx747/backlight-onda_vx747.c index 598fa1a0eb..501a90551e 100644 --- a/firmware/target/mips/ingenic_jz47xx/onda_vx747/backlight-onda_vx747.c +++ b/firmware/target/mips/ingenic_jz47xx/onda_vx747/backlight-onda_vx747.c @@ -23,8 +23,7 @@ #include "jz4740.h" #include "backlight-target.h" -#define GPIO_PWM (32*3)+31 -#define PWM_CHN 7 +#define PWM_CHN 7 /* PWM_CHN7 == GPIO(32*3 + 31) */ #define __gpio_as_PWM_CHN __gpio_as_pwm7 static void set_backlight(int val) diff --git a/firmware/target/mips/ingenic_jz47xx/onda_vx747/usb-target.h b/firmware/target/mips/ingenic_jz47xx/onda_vx747/usb-target.h new file mode 100644 index 0000000000..c681bdaa12 --- /dev/null +++ b/firmware/target/mips/ingenic_jz47xx/onda_vx747/usb-target.h @@ -0,0 +1,48 @@ +/*************************************************************************** + * __________ __ ___. + * 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_as_usb_detect() \ +do { \ + REG_GPIO_PXFUNS(3) = 0x10000000; \ + REG_GPIO_PXSELS(3) = 0x10000000; \ + REG_GPIO_PXPES(3) = 0x10000000; \ +} while (0) + +#define GPIO_UDC_DETE (32 * 3 + 28) +#define IRQ_GPIO_UDC_DETE (IRQ_GPIO_0 + GPIO_UDC_DETE) + +static inline void usb_init_gpio(void) +{ + __gpio_as_usb_detect(); + system_enable_irq(IRQ_UDC); + __gpio_as_input(GPIO_UDC_DETE); +} + +int usb_detect(void); +void usb_init_device(void); +bool usb_drv_connected(void); + +#endif -- cgit v1.2.3