diff options
author | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2008-11-21 12:50:06 +0000 |
---|---|---|
committer | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2008-11-21 12:50:06 +0000 |
commit | c0b43a5ac2fcda473800b9c9a4036c5348ac5084 (patch) | |
tree | 0fdf827d5f65e26da35341c4a67a006e36ca5dc2 /firmware/target/mips/ingenic_jz47xx/onda_vx767 | |
parent | 0a61b71f73556592af6e1f127a42a27d48564b72 (diff) | |
download | rockbox-c0b43a5ac2fcda473800b9c9a4036c5348ac5084.tar.gz rockbox-c0b43a5ac2fcda473800b9c9a4036c5348ac5084.zip |
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
Diffstat (limited to 'firmware/target/mips/ingenic_jz47xx/onda_vx767')
-rw-r--r-- | firmware/target/mips/ingenic_jz47xx/onda_vx767/ata-sd-target.h | 55 | ||||
-rw-r--r-- | firmware/target/mips/ingenic_jz47xx/onda_vx767/usb-target.h | 48 |
2 files changed, 103 insertions, 0 deletions
diff --git a/firmware/target/mips/ingenic_jz47xx/onda_vx767/ata-sd-target.h b/firmware/target/mips/ingenic_jz47xx/onda_vx767/ata-sd-target.h new file mode 100644 index 0000000000..cc6bd8a773 --- /dev/null +++ b/firmware/target/mips/ingenic_jz47xx/onda_vx767/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_vx767/usb-target.h b/firmware/target/mips/ingenic_jz47xx/onda_vx767/usb-target.h new file mode 100644 index 0000000000..c681bdaa12 --- /dev/null +++ b/firmware/target/mips/ingenic_jz47xx/onda_vx767/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 |