|
From: <z7...@us...> - 2007-01-10 17:48:56
|
Revision: 751
http://svn.sourceforge.net/hackndev/?rev=751&view=rev
Author: z72ka
Date: 2007-01-10 09:48:09 -0800 (Wed, 10 Jan 2007)
Log Message:
-----------
Palmz72: added pxamci, SD/MMC irq
Modified Paths:
--------------
linux4palm/linux/trunk/arch/arm/mach-pxa/palmz72/palmz72.c
Modified: linux4palm/linux/trunk/arch/arm/mach-pxa/palmz72/palmz72.c
===================================================================
--- linux4palm/linux/trunk/arch/arm/mach-pxa/palmz72/palmz72.c 2007-01-10 17:45:12 UTC (rev 750)
+++ linux4palm/linux/trunk/arch/arm/mach-pxa/palmz72/palmz72.c 2007-01-10 17:48:09 UTC (rev 751)
@@ -56,6 +56,46 @@
#define IR_TRANSCEIVER_OFF \
SET_HX4700_GPIO_N(IR_ON, 0)
+
+/**
+ * SD/MMC card controller
+ */
+
+static int palmz72_mci_init(struct device *dev, irqreturn_t (*palmz72_detect_int)(int, void *, struct pt_regs *), void *data)
+{
+ int err;
+
+ /**
+ * Setup an interrupt for detecting card insert/remove events
+ */
+ set_irq_type(IRQ_GPIO_PALMZ72_SD_DETECT_N, IRQT_BOTHEDGE);
+ err = request_irq(IRQ_GPIO_PALMZ72_SD_DETECT_N, palmz72_detect_int,
+ SA_INTERRUPT, "SD/MMC card detect", data);
+
+ if(err) {
+ printk(KERN_ERR "palmz72_mci_init: cannot request SD/MMC card detect IRQ\n");
+ return -1;
+ }
+
+
+ printk("palmz72_mci_init: irq registered\n");
+
+ return 0;
+}
+
+static void palmz72_mci_exit(struct device *dev, void *data)
+{
+ free_irq(IRQ_GPIO_PALMZ72_SD_DETECT_N, data);
+}
+
+static struct pxamci_platform_data palmz72_mci_platform_data = {
+ .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34,
+ .init = palmz72_mci_init,
+ /* .setpower = palmz72_mci_setpower, */
+ .exit = palmz72_mci_exit,
+
+};
+
/* * LED */
static struct platform_device palmz72led_device = {
@@ -324,6 +364,7 @@
break;
}
set_pxa_fb_info(&palmz72lcd);
+ pxa_set_mci_info( &palmz72_mci_platform_data );
pxa_set_udc_info(&palmz72_udc_mach_info );
stuart_device.dev.platform_data = &palmz72_pxa_irda_funcs;
platform_add_devices( devices, ARRAY_SIZE(devices) );
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|