Commit ac2c2aa7 authored by Felipe Balbi's avatar Felipe Balbi Committed by Tony Lindgren

OMAP: MMC: Generalize mmc init routine

Make sdp_mmc_init routine more generic by moving files
around and changing function names.
Signed-off-by: default avatarFelipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent bf37ec84
...@@ -28,19 +28,19 @@ obj-$(CONFIG_MACH_OMAP_GENERIC) += board-generic.o ...@@ -28,19 +28,19 @@ obj-$(CONFIG_MACH_OMAP_GENERIC) += board-generic.o
obj-$(CONFIG_MACH_OMAP_H4) += board-h4.o board-h4-mmc.o obj-$(CONFIG_MACH_OMAP_H4) += board-h4.o board-h4-mmc.o
obj-$(CONFIG_MACH_OMAP_2430SDP) += board-2430sdp.o \ obj-$(CONFIG_MACH_OMAP_2430SDP) += board-2430sdp.o \
board-2430sdp-flash.o \ board-2430sdp-flash.o \
board-sdp-hsmmc.o \ hsmmc.o \
usb-musb.o \ usb-musb.o \
usb-ehci.o usb-ehci.o
obj-$(CONFIG_MACH_OMAP_2430OSK) += board-2430osk.o obj-$(CONFIG_MACH_OMAP_2430OSK) += board-2430osk.o
obj-$(CONFIG_MACH_OMAP_3430SDP) += board-3430sdp.o \ obj-$(CONFIG_MACH_OMAP_3430SDP) += board-3430sdp.o \
board-sdp-hsmmc.o \ hsmmc.o \
usb-musb.o \ usb-musb.o \
usb-ehci.o \ usb-ehci.o \
board-3430sdp-flash.o board-3430sdp-flash.o
obj-$(CONFIG_MACH_OMAP3EVM) += board-omap3evm.o obj-$(CONFIG_MACH_OMAP3EVM) += board-omap3evm.o
obj-$(CONFIG_MACH_OMAP3_BEAGLE) += board-omap3beagle.o \ obj-$(CONFIG_MACH_OMAP3_BEAGLE) += board-omap3beagle.o \
usb-musb.o usb-ehci.o \ usb-musb.o usb-ehci.o \
board-sdp-hsmmc.o hsmmc.o
obj-$(CONFIG_MACH_OMAP_APOLLON) += board-apollon.o \ obj-$(CONFIG_MACH_OMAP_APOLLON) += board-apollon.o \
board-apollon-mmc.o \ board-apollon-mmc.o \
board-apollon-keys.o board-apollon-keys.o
......
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
#include <asm/arch/board.h> #include <asm/arch/board.h>
#include <asm/arch/usb-musb.h> #include <asm/arch/usb-musb.h>
#include <asm/arch/usb-ehci.h> #include <asm/arch/usb-ehci.h>
#include <asm/arch/hsmmc.h>
#include <asm/arch/common.h> #include <asm/arch/common.h>
#include <asm/arch/keypad.h> #include <asm/arch/keypad.h>
#include <asm/arch/gpmc.h> #include <asm/arch/gpmc.h>
...@@ -398,7 +399,7 @@ static void __init omap_2430sdp_init(void) ...@@ -398,7 +399,7 @@ static void __init omap_2430sdp_init(void)
spi_register_board_info(sdp2430_spi_board_info, spi_register_board_info(sdp2430_spi_board_info,
ARRAY_SIZE(sdp2430_spi_board_info)); ARRAY_SIZE(sdp2430_spi_board_info));
ads7846_dev_init(); ads7846_dev_init();
sdp_mmc_init(); hsmmc_init();
/* turn off secondary LCD backlight */ /* turn off secondary LCD backlight */
omap_set_gpio_direction(SECONDARY_LCD_GPIO, 0); omap_set_gpio_direction(SECONDARY_LCD_GPIO, 0);
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#include <asm/arch/board.h> #include <asm/arch/board.h>
#include <asm/arch/usb-musb.h> #include <asm/arch/usb-musb.h>
#include <asm/arch/usb-ehci.h> #include <asm/arch/usb-ehci.h>
#include <asm/arch/hsmmc.h>
#include <asm/arch/common.h> #include <asm/arch/common.h>
#include <asm/arch/keypad.h> #include <asm/arch/keypad.h>
#include <asm/arch/dma.h> #include <asm/arch/dma.h>
...@@ -301,7 +302,7 @@ static void __init omap_3430sdp_init(void) ...@@ -301,7 +302,7 @@ static void __init omap_3430sdp_init(void)
omap_serial_init(); omap_serial_init();
usb_musb_init(); usb_musb_init();
usb_ehci_init(); usb_ehci_init();
sdp_mmc_init(); hsmmc_init();
} }
static void __init omap_3430sdp_map_io(void) static void __init omap_3430sdp_map_io(void)
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include <asm/arch/board.h> #include <asm/arch/board.h>
#include <asm/arch/usb-musb.h> #include <asm/arch/usb-musb.h>
#include <asm/arch/usb-ehci.h> #include <asm/arch/usb-ehci.h>
#include <asm/arch/hsmmc.h>
#include <asm/arch/common.h> #include <asm/arch/common.h>
static struct omap_uart_config omap3_beagle_uart_config __initdata = { static struct omap_uart_config omap3_beagle_uart_config __initdata = {
...@@ -67,7 +68,7 @@ static void __init omap3_beagle_init(void) ...@@ -67,7 +68,7 @@ static void __init omap3_beagle_init(void)
omap_board_config = omap3_beagle_config; omap_board_config = omap3_beagle_config;
omap_board_config_size = ARRAY_SIZE(omap3_beagle_config); omap_board_config_size = ARRAY_SIZE(omap3_beagle_config);
omap_serial_init(); omap_serial_init();
sdp_mmc_init(); hsmmc_init();
usb_musb_init(); usb_musb_init();
usb_ehci_init(); usb_ehci_init();
} }
......
/* /*
* linux/arch/arm/mach-omap2/board-sdp-hsmmc.c * linux/arch/arm/mach-omap2/board-sdp-hsmmc.c
* *
* Copyright (C) 2007 Texas Instruments * Copyright (C) 2007-2008 Texas Instruments
* Copyright (C) 2008 Nokia Corporation
* Author: Texas Instruments * Author: Texas Instruments
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
...@@ -45,7 +46,7 @@ ...@@ -45,7 +46,7 @@
#define OMAP2_CONTROL_PBIAS_PWRDNZ (1 << 1) #define OMAP2_CONTROL_PBIAS_PWRDNZ (1 << 1)
#define OMAP2_CONTROL_PBIAS_SCTRL (1 << 2) #define OMAP2_CONTROL_PBIAS_SCTRL (1 << 2)
static int sdp_mmc_card_detect(int irq) static int hsmmc_card_detect(int irq)
{ {
return twl4030_get_gpio_datain(irq - TWL4030_GPIO_IRQ_BASE); return twl4030_get_gpio_datain(irq - TWL4030_GPIO_IRQ_BASE);
} }
...@@ -53,7 +54,7 @@ static int sdp_mmc_card_detect(int irq) ...@@ -53,7 +54,7 @@ static int sdp_mmc_card_detect(int irq)
/* /*
* MMC Slot Initialization. * MMC Slot Initialization.
*/ */
static int sdp_mmc_late_init(struct device *dev) static int hsmmc_late_init(struct device *dev)
{ {
int ret = 0; int ret = 0;
...@@ -85,7 +86,7 @@ err: ...@@ -85,7 +86,7 @@ err:
return ret; return ret;
} }
static void sdp_mmc_cleanup(struct device *dev) static void hsmmc_cleanup(struct device *dev)
{ {
int ret = 0; int ret = 0;
...@@ -129,7 +130,7 @@ err: ...@@ -129,7 +130,7 @@ err:
return ret; return ret;
} }
static int sdp_mmc_suspend(struct device *dev, int slot) static int hsmmc_suspend(struct device *dev, int slot)
{ {
int ret = 0; int ret = 0;
...@@ -139,7 +140,7 @@ static int sdp_mmc_suspend(struct device *dev, int slot) ...@@ -139,7 +140,7 @@ static int sdp_mmc_suspend(struct device *dev, int slot)
return ret; return ret;
} }
static int sdp_mmc_resume(struct device *dev, int slot) static int hsmmc_resume(struct device *dev, int slot)
{ {
int ret = 0; int ret = 0;
...@@ -151,7 +152,7 @@ static int sdp_mmc_resume(struct device *dev, int slot) ...@@ -151,7 +152,7 @@ static int sdp_mmc_resume(struct device *dev, int slot)
#endif #endif
static int sdp_mmc_set_power(struct device *dev, int slot, int power_on, static int hsmmc_set_power(struct device *dev, int slot, int power_on,
int vdd) int vdd)
{ {
u32 vdd_sel = 0, devconf = 0, reg = 0; u32 vdd_sel = 0, devconf = 0, reg = 0;
...@@ -254,17 +255,17 @@ err: ...@@ -254,17 +255,17 @@ err:
return 1; return 1;
} }
static struct omap_mmc_platform_data sdp_mmc_data = { static struct omap_mmc_platform_data hsmmc_data = {
.nr_slots = 1, .nr_slots = 1,
.switch_slot = NULL, .switch_slot = NULL,
.init = sdp_mmc_late_init, .init = hsmmc_late_init,
.cleanup = sdp_mmc_cleanup, .cleanup = hsmmc_cleanup,
#ifdef CONFIG_PM #ifdef CONFIG_PM
.suspend = sdp_mmc_suspend, .suspend = hsmmc_suspend,
.resume = sdp_mmc_resume, .resume = hsmmc_resume,
#endif #endif
.slots[0] = { .slots[0] = {
.set_power = sdp_mmc_set_power, .set_power = hsmmc_set_power,
.set_bus_mode = NULL, .set_bus_mode = NULL,
.get_ro = NULL, .get_ro = NULL,
.get_cover_state = NULL, .get_cover_state = NULL,
...@@ -273,18 +274,18 @@ static struct omap_mmc_platform_data sdp_mmc_data = { ...@@ -273,18 +274,18 @@ static struct omap_mmc_platform_data sdp_mmc_data = {
.name = "first slot", .name = "first slot",
.card_detect_irq = TWL4030_GPIO_IRQ_NO(MMC1_CD_IRQ), .card_detect_irq = TWL4030_GPIO_IRQ_NO(MMC1_CD_IRQ),
.card_detect = sdp_mmc_card_detect, .card_detect = hsmmc_card_detect,
}, },
}; };
void __init sdp_mmc_init(void) void __init hsmmc_init(void)
{ {
omap_set_mmc_info(1, &sdp_mmc_data); omap_set_mmc_info(1, &hsmmc_data);
} }
#else #else
void __init sdp_mmc_init(void) void __init hsmmc_init(void)
{ {
} }
......
/*
* include/asm-arm/arch-omap/hsmmc.h
*
* Hardware definitions for SD/MMC Controller on OMAP243x and OMAP34xx
*
* Initial creation by Felipe Balbi.
*
* 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 PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
* NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef __ASM_ARCH_OMAP_HSMMC_H
#define __ASM_ARCH_OMAP_HSMMC_H
extern void hsmmc_init(void);
#endif /* __ASM_ARCH_OMAP_HSMMC_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment