[ARM] S3C: Move HSMMC device definition to plat-s3ec
Move the definition for the hsmmc device to plat-s3c to be shared between the s3c24xx and s3c64xx platforms. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
This commit is contained in:
parent
8cdf47cb4b
commit
5b323c7beb
@ -134,6 +134,8 @@
|
|||||||
#define IRQ_S3C2443_HSMMC S3C2410_IRQ(20) /* IRQ_SDI */
|
#define IRQ_S3C2443_HSMMC S3C2410_IRQ(20) /* IRQ_SDI */
|
||||||
#define IRQ_S3C2443_NAND S3C2410_IRQ(24) /* reserved */
|
#define IRQ_S3C2443_NAND S3C2410_IRQ(24) /* reserved */
|
||||||
|
|
||||||
|
#define IRQ_HSMMC0 IRQ_S3C2443_HSMMC
|
||||||
|
|
||||||
#define IRQ_S3C2443_LCD1 S3C2410_IRQSUB(14)
|
#define IRQ_S3C2443_LCD1 S3C2410_IRQSUB(14)
|
||||||
#define IRQ_S3C2443_LCD2 S3C2410_IRQSUB(15)
|
#define IRQ_S3C2443_LCD2 S3C2410_IRQSUB(15)
|
||||||
#define IRQ_S3C2443_LCD3 S3C2410_IRQSUB(16)
|
#define IRQ_S3C2443_LCD3 S3C2410_IRQSUB(16)
|
||||||
|
@ -102,5 +102,6 @@
|
|||||||
#define S3C24XX_PA_NAND S3C2410_PA_NAND
|
#define S3C24XX_PA_NAND S3C2410_PA_NAND
|
||||||
|
|
||||||
#define S3C_PA_UART S3C24XX_PA_UART
|
#define S3C_PA_UART S3C24XX_PA_UART
|
||||||
|
#define S3C_PA_HSMMC0 S3C2443_PA_HSMMC
|
||||||
|
|
||||||
#endif /* __ASM_ARCH_MAP_H */
|
#endif /* __ASM_ARCH_MAP_H */
|
||||||
|
@ -24,6 +24,7 @@ config MACH_SMDK2443
|
|||||||
bool "SMDK2443"
|
bool "SMDK2443"
|
||||||
select CPU_S3C2443
|
select CPU_S3C2443
|
||||||
select MACH_SMDK
|
select MACH_SMDK
|
||||||
|
select S3C_DEV_HSMMC
|
||||||
help
|
help
|
||||||
Say Y here if you are using an SMDK2443
|
Say Y here if you are using an SMDK2443
|
||||||
|
|
||||||
|
@ -104,7 +104,7 @@ static struct s3c2410_uartcfg smdk2443_uartcfgs[] __initdata = {
|
|||||||
static struct platform_device *smdk2443_devices[] __initdata = {
|
static struct platform_device *smdk2443_devices[] __initdata = {
|
||||||
&s3c_device_wdt,
|
&s3c_device_wdt,
|
||||||
&s3c_device_i2c,
|
&s3c_device_i2c,
|
||||||
&s3c_device_hsmmc,
|
&s3c_device_hsmmc0,
|
||||||
};
|
};
|
||||||
|
|
||||||
static void __init smdk2443_map_io(void)
|
static void __init smdk2443_map_io(void)
|
||||||
|
@ -17,6 +17,12 @@
|
|||||||
|
|
||||||
#include <plat/map-base.h>
|
#include <plat/map-base.h>
|
||||||
|
|
||||||
|
/* HSMMC units */
|
||||||
|
#define S3C64XX_PA_HSMMC(x) (0x7C200000 + ((x) * 0x100000))
|
||||||
|
#define S3C64XX_PA_HSMMC0 S3C64XX_PA_HSMMC(0)
|
||||||
|
#define S3C64XX_PA_HSMMC1 S3C64XX_PA_HSMMC(1)
|
||||||
|
#define S3C64XX_PA_HSMMC2 S3C64XX_PA_HSMMC(2)
|
||||||
|
|
||||||
#define S3C_PA_UART (0x7F005000)
|
#define S3C_PA_UART (0x7F005000)
|
||||||
#define S3C_PA_UART0 (S3C_PA_UART + 0x00)
|
#define S3C_PA_UART0 (S3C_PA_UART + 0x00)
|
||||||
#define S3C_PA_UART1 (S3C_PA_UART + 0x400)
|
#define S3C_PA_UART1 (S3C_PA_UART + 0x400)
|
||||||
@ -49,5 +55,8 @@
|
|||||||
|
|
||||||
/* compatibiltiy defines. */
|
/* compatibiltiy defines. */
|
||||||
#define S3C_PA_TIMER S3C64XX_PA_TIMER
|
#define S3C_PA_TIMER S3C64XX_PA_TIMER
|
||||||
|
#define S3C_PA_HSMMC0 S3C64XX_PA_HSMMC0
|
||||||
|
#define S3C_PA_HSMMC1 S3C64XX_PA_HSMMC1
|
||||||
|
#define S3C_PA_HSMMC2 S3C64XX_PA_HSMMC2
|
||||||
|
|
||||||
#endif /* __ASM_ARCH_6400_MAP_H */
|
#endif /* __ASM_ARCH_6400_MAP_H */
|
||||||
|
@ -17,5 +17,6 @@ config CPU_S3C6410
|
|||||||
config MACH_SMDK6410
|
config MACH_SMDK6410
|
||||||
bool "SMDK6410"
|
bool "SMDK6410"
|
||||||
select CPU_S3C6410
|
select CPU_S3C6410
|
||||||
|
select S3C_DEV_HSMMC
|
||||||
help
|
help
|
||||||
Machine support for the Samsung SMDK6410
|
Machine support for the Samsung SMDK6410
|
||||||
|
@ -102,3 +102,11 @@ config S3C_LOWLEVEL_UART_PORT
|
|||||||
such as the `Uncompressing...` at start time. The value of
|
such as the `Uncompressing...` at start time. The value of
|
||||||
this configuration should be between zero and two. The port
|
this configuration should be between zero and two. The port
|
||||||
must have been initialised by the boot-loader before use.
|
must have been initialised by the boot-loader before use.
|
||||||
|
|
||||||
|
# device definitions to compile in
|
||||||
|
|
||||||
|
config S3C_DEV_HSMMC
|
||||||
|
bool
|
||||||
|
depends on PLAT_S3C
|
||||||
|
help
|
||||||
|
Compile in platform device definitions for HSMMC code
|
||||||
|
@ -14,4 +14,8 @@ obj- :=
|
|||||||
obj-y += init.o
|
obj-y += init.o
|
||||||
obj-y += time.o
|
obj-y += time.o
|
||||||
obj-y += clock.o
|
obj-y += clock.o
|
||||||
obj-y += pwm-clock.o
|
obj-y += pwm-clock.o
|
||||||
|
|
||||||
|
# devices
|
||||||
|
|
||||||
|
obj-$(CONFIG_S3C_DEV_HSMMC) += dev-hsmmc.o
|
||||||
|
47
arch/arm/plat-s3c/dev-hsmmc.c
Normal file
47
arch/arm/plat-s3c/dev-hsmmc.c
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
/* linux/arch/arm/plat-s3c/dev-hsmmc.c
|
||||||
|
*
|
||||||
|
* Copyright (c) 2008 Simtec Electronics
|
||||||
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
|
* http://armlinux.simtec.co.uk/
|
||||||
|
*
|
||||||
|
* S3C series device definition for hsmmc devices
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <linux/kernel.h>
|
||||||
|
#include <linux/platform_device.h>
|
||||||
|
|
||||||
|
#include <mach/map.h>
|
||||||
|
#include <plat/devs.h>
|
||||||
|
#include <plat/cpu.h>
|
||||||
|
|
||||||
|
#define S3C_SZ_HSMMC (0x1000)
|
||||||
|
|
||||||
|
static struct resource s3c_hsmmc_resource[] = {
|
||||||
|
[0] = {
|
||||||
|
.start = S3C_PA_HSMMC0,
|
||||||
|
.end = S3C_PA_HSMMC0 + S3C_SZ_HSMMC - 1,
|
||||||
|
.flags = IORESOURCE_MEM,
|
||||||
|
},
|
||||||
|
[1] = {
|
||||||
|
.start = IRQ_HSMMC0,
|
||||||
|
.end = IRQ_HSMMC0,
|
||||||
|
.flags = IORESOURCE_IRQ,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
static u64 s3c_device_hsmmc_dmamask = 0xffffffffUL;
|
||||||
|
|
||||||
|
struct platform_device s3c_device_hsmmc0 = {
|
||||||
|
.name = "s3c-sdhci",
|
||||||
|
.id = 0,
|
||||||
|
.num_resources = ARRAY_SIZE(s3c_hsmmc_resource),
|
||||||
|
.resource = s3c_hsmmc_resource,
|
||||||
|
.dev = {
|
||||||
|
.dma_mask = &s3c_device_hsmmc_dmamask,
|
||||||
|
.coherent_dma_mask = 0xffffffffUL
|
||||||
|
}
|
||||||
|
};
|
@ -32,7 +32,9 @@ extern struct platform_device s3c_device_iis;
|
|||||||
extern struct platform_device s3c_device_rtc;
|
extern struct platform_device s3c_device_rtc;
|
||||||
extern struct platform_device s3c_device_adc;
|
extern struct platform_device s3c_device_adc;
|
||||||
extern struct platform_device s3c_device_sdi;
|
extern struct platform_device s3c_device_sdi;
|
||||||
extern struct platform_device s3c_device_hsmmc;
|
extern struct platform_device s3c_device_hsmmc0;
|
||||||
|
extern struct platform_device s3c_device_hsmmc1;
|
||||||
|
extern struct platform_device s3c_device_hsmmc2;
|
||||||
|
|
||||||
extern struct platform_device s3c_device_spi0;
|
extern struct platform_device s3c_device_spi0;
|
||||||
extern struct platform_device s3c_device_spi1;
|
extern struct platform_device s3c_device_spi1;
|
||||||
|
@ -403,36 +403,6 @@ struct platform_device s3c_device_sdi = {
|
|||||||
|
|
||||||
EXPORT_SYMBOL(s3c_device_sdi);
|
EXPORT_SYMBOL(s3c_device_sdi);
|
||||||
|
|
||||||
/* High-speed MMC/SD */
|
|
||||||
|
|
||||||
static struct resource s3c_hsmmc_resource[] = {
|
|
||||||
[0] = {
|
|
||||||
.start = S3C2443_PA_HSMMC,
|
|
||||||
.end = S3C2443_PA_HSMMC + S3C2443_SZ_HSMMC - 1,
|
|
||||||
.flags = IORESOURCE_MEM,
|
|
||||||
},
|
|
||||||
[1] = {
|
|
||||||
.start = IRQ_S3C2443_HSMMC,
|
|
||||||
.end = IRQ_S3C2443_HSMMC,
|
|
||||||
.flags = IORESOURCE_IRQ,
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
static u64 s3c_device_hsmmc_dmamask = 0xffffffffUL;
|
|
||||||
|
|
||||||
struct platform_device s3c_device_hsmmc = {
|
|
||||||
.name = "s3c-sdhci",
|
|
||||||
.id = -1,
|
|
||||||
.num_resources = ARRAY_SIZE(s3c_hsmmc_resource),
|
|
||||||
.resource = s3c_hsmmc_resource,
|
|
||||||
.dev = {
|
|
||||||
.dma_mask = &s3c_device_hsmmc_dmamask,
|
|
||||||
.coherent_dma_mask = 0xffffffffUL
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* SPI (0) */
|
/* SPI (0) */
|
||||||
|
|
||||||
static struct resource s3c_spi0_resource[] = {
|
static struct resource s3c_spi0_resource[] = {
|
||||||
|
Loading…
Reference in New Issue
Block a user