Skip to content

Commit

Permalink
Merge branch 'next-s5pv210' into for-next
Browse files Browse the repository at this point in the history
  • Loading branch information
Kukjin Kim committed Aug 6, 2010
2 parents 0321c51 + b42faa1 commit a639718
Show file tree
Hide file tree
Showing 22 changed files with 1,170 additions and 103 deletions.
66 changes: 0 additions & 66 deletions arch/arm/configs/s5pc110_defconfig

This file was deleted.

5 changes: 5 additions & 0 deletions arch/arm/configs/s5pv210_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ CONFIG_MODULE_UNLOAD=y
# CONFIG_BLK_DEV_BSG is not set
CONFIG_ARCH_S5PV210=y
CONFIG_S3C_LOWLEVEL_UART_PORT=1
CONFIG_S3C_DEV_FB=y
CONFIG_S5PV210_SETUP_FB_24BPP=y
CONFIG_MACH_AQUILA=y
CONFIG_MACH_GONI=y
CONFIG_MACH_SMDKC110=y
CONFIG_MACH_SMDKV210=y
CONFIG_VMSPLIT_2G=y
CONFIG_PREEMPT=y
Expand Down
73 changes: 62 additions & 11 deletions arch/arm/mach-s5pv210/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,21 @@ config S5PV210_SETUP_I2C2
help
Common setup code for i2c bus 2.

config S5PV210_SETUP_IDE
bool
help
Common setup code for S5PV210 IDE GPIO configurations

config S5PV210_SETUP_FB_24BPP
bool
help
Common setup code for S5PV210 with an 24bpp RGB display helper.

config S5PV210_SETUP_KEYPAD
bool
help
Common setup code for keypad.

config S5PV210_SETUP_SDHCI
bool
select S5PV210_SETUP_SDHCI_GPIO
Expand All @@ -43,49 +53,90 @@ config S5PV210_SETUP_SDHCI_GPIO
help
Common setup code for SDHCI gpio.

# machine support
menu "S5PC110 Machines"

config MACH_AQUILA
bool "Samsung Aquila"
bool "Aquila"
select CPU_S5PV210
select ARCH_SPARSEMEM_ENABLE
select S5PV210_SETUP_FB_24BPP
select S5PV210_SETUP_SDHCI
select S3C_DEV_FB
select S5PC110_DEV_ONENAND
select S3C_DEV_HSMMC
select S3C_DEV_HSMMC1
select S3C_DEV_HSMMC2
help
Machine support for the Samsung Aquila target based on S5PC110 SoC

config MACH_GONI
bool "GONI"
select CPU_S5PV210
select ARCH_SPARSEMEM_ENABLE
select S5PV210_SETUP_FB_24BPP
select S5PV210_SETUP_SDHCI
select S3C_DEV_FB
select S5PC110_DEV_ONENAND
select S3C_DEV_HSMMC
select S3C_DEV_HSMMC1
select S3C_DEV_HSMMC2
help
Machine support for Samsung GONI board
S5PC110(MCP) is one of package option of S5PV210

config MACH_SMDKC110
bool "SMDKC110"
select CPU_S5PV210
select ARCH_SPARSEMEM_ENABLE
select S3C_DEV_I2C1
select S3C_DEV_I2C2
select SAMSUNG_DEV_IDE
select S3C_DEV_RTC
select S3C_DEV_WDT
select HAVE_S3C_RTC
select HAVE_S3C2410_WATCHDOG
select S5PV210_SETUP_I2C1
select S5PV210_SETUP_I2C2
select S5PV210_SETUP_IDE
help
Machine support for Samsung SMDKC110
S5PC110(MCP) is one of package option of S5PV210

endmenu

config S5PC110_DEV_ONENAND
bool
help
Compile in platform device definition for OneNAND1 controller

menu "S5PV210 Machines"

config MACH_SMDKV210
bool "SMDKV210"
select CPU_S5PV210
select ARCH_SPARSEMEM_ENABLE
select SAMSUNG_DEV_ADC
select S3C_DEV_HSMMC
select S3C_DEV_HSMMC1
select S3C_DEV_HSMMC2
select S3C_DEV_HSMMC3
select S3C_DEV_I2C1
select S3C_DEV_I2C2
select SAMSUNG_DEV_IDE
select SAMSUNG_DEV_KEYPAD
select SAMSUNG_DEV_TS
select S3C_DEV_RTC
select S3C_DEV_WDT
select HAVE_S3C_RTC
select HAVE_S3C2410_WATCHDOG
select S5PV210_SETUP_I2C1
select S5PV210_SETUP_I2C2
select S5PV210_SETUP_IDE
select S5PV210_SETUP_KEYPAD
select S5PV210_SETUP_SDHCI
help
Machine support for Samsung SMDKV210

config MACH_SMDKC110
bool "SMDKC110"
select CPU_S5PV210
select ARCH_SPARSEMEM_ENABLE
select S3C_DEV_WDT
select HAVE_S3C2410_WATCHDOG
help
Machine support for Samsung SMDKC110
S5PC110(MCP) is one of package option of S5PV210
endmenu

endif
2 changes: 2 additions & 0 deletions arch/arm/mach-s5pv210/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,7 @@ obj-$(CONFIG_S5PC110_DEV_ONENAND) += dev-onenand.o
obj-$(CONFIG_S5PV210_SETUP_FB_24BPP) += setup-fb-24bpp.o
obj-$(CONFIG_S5PV210_SETUP_I2C1) += setup-i2c1.o
obj-$(CONFIG_S5PV210_SETUP_I2C2) += setup-i2c2.o
obj-$(CONFIG_S5PV210_SETUP_IDE) += setup-ide.o
obj-$(CONFIG_S5PV210_SETUP_KEYPAD) += setup-keypad.o
obj-$(CONFIG_S5PV210_SETUP_SDHCI) += setup-sdhci.o
obj-$(CONFIG_S5PV210_SETUP_SDHCI_GPIO) += setup-sdhci-gpio.o
18 changes: 17 additions & 1 deletion arch/arm/mach-s5pv210/cpu.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,11 @@
#include <plat/devs.h>
#include <plat/clock.h>
#include <plat/s5pv210.h>
#include <plat/ata-core.h>
#include <plat/iic-core.h>
#include <plat/keypad-core.h>
#include <plat/sdhci.h>
#include <plat/reset.h>

/* Initial IO mappings */

Expand Down Expand Up @@ -69,6 +72,11 @@ static void s5pv210_idle(void)
local_irq_enable();
}

static void s5pv210_sw_reset(void)
{
__raw_writel(0x1, S5P_SWRESET);
}

/* s5pv210_map_io
*
* register the standard cpu IO areas
Expand All @@ -79,18 +87,23 @@ void __init s5pv210_map_io(void)
#ifdef CONFIG_S3C_DEV_ADC
s3c_device_adc.name = "s3c64xx-adc";
#endif

iotable_init(s5pv210_iodesc, ARRAY_SIZE(s5pv210_iodesc));

/* initialise device information early */
s5pv210_default_sdhci0();
s5pv210_default_sdhci1();
s5pv210_default_sdhci2();
s5pv210_default_sdhci3();

s3c_cfcon_setname("s5pv210-pata");

/* the i2c devices are directly compatible with s3c2440 */
s3c_i2c0_setname("s3c2440-i2c");
s3c_i2c1_setname("s3c2440-i2c");
s3c_i2c2_setname("s3c2440-i2c");

/* Use s5pv210-keypad instead of samsung-keypad */
samsung_keypad_setname("s5pv210-keypad");
}

void __init s5pv210_init_clocks(int xtal)
Expand Down Expand Up @@ -138,5 +151,8 @@ int __init s5pv210_init(void)
/* set idle function */
pm_idle = s5pv210_idle;

/* set sw_reset function */
s5p_reset_hook = s5pv210_sw_reset;

return sysdev_register(&s5pv210_sysdev);
}
7 changes: 6 additions & 1 deletion arch/arm/mach-s5pv210/dev-onenand.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,14 @@ static struct resource s5pc110_onenand_resources[] = {
},
[1] = {
.start = S5PC110_PA_ONENAND_DMA,
.end = S5PC110_PA_ONENAND_DMA + SZ_2K - 1,
.end = S5PC110_PA_ONENAND_DMA + SZ_8K - 1,
.flags = IORESOURCE_MEM,
},
[2] = {
.start = IRQ_ONENAND_AUDI,
.end = IRQ_ONENAND_AUDI,
.flags = IORESOURCE_IRQ,
},
};

struct platform_device s5pc110_device_onenand = {
Expand Down
14 changes: 14 additions & 0 deletions arch/arm/mach-s5pv210/gpiolib.c
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,20 @@ static struct s3c_gpio_chip s5pv210_gpio_4bit[] = {
.ngpio = S5PV210_GPIO_MP03_NR,
.label = "MP03",
},
}, {
.config = &gpio_cfg_noint,
.chip = {
.base = S5PV210_MP04(0),
.ngpio = S5PV210_GPIO_MP04_NR,
.label = "MP04",
},
}, {
.config = &gpio_cfg_noint,
.chip = {
.base = S5PV210_MP05(0),
.ngpio = S5PV210_GPIO_MP05_NR,
.label = "MP05",
},
}, {
.base = (S5P_VA_GPIO + 0xC00),
.config = &gpio_cfg_noint,
Expand Down
12 changes: 9 additions & 3 deletions arch/arm/mach-s5pv210/include/mach/gpio.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@
#define S5PV210_GPIO_MP01_NR (8)
#define S5PV210_GPIO_MP02_NR (4)
#define S5PV210_GPIO_MP03_NR (8)
#define S5PV210_GPIO_MP04_NR (8)
#define S5PV210_GPIO_MP05_NR (8)

/* GPIO bank numbers */

Expand Down Expand Up @@ -94,6 +96,8 @@ enum s5p_gpio_number {
S5PV210_GPIO_MP01_START = S5PV210_GPIO_NEXT(S5PV210_GPIO_J4),
S5PV210_GPIO_MP02_START = S5PV210_GPIO_NEXT(S5PV210_GPIO_MP01),
S5PV210_GPIO_MP03_START = S5PV210_GPIO_NEXT(S5PV210_GPIO_MP02),
S5PV210_GPIO_MP04_START = S5PV210_GPIO_NEXT(S5PV210_GPIO_MP03),
S5PV210_GPIO_MP05_START = S5PV210_GPIO_NEXT(S5PV210_GPIO_MP04),
};

/* S5PV210 GPIO number definitions */
Expand Down Expand Up @@ -127,13 +131,15 @@ enum s5p_gpio_number {
#define S5PV210_MP01(_nr) (S5PV210_GPIO_MP01_START + (_nr))
#define S5PV210_MP02(_nr) (S5PV210_GPIO_MP02_START + (_nr))
#define S5PV210_MP03(_nr) (S5PV210_GPIO_MP03_START + (_nr))
#define S5PV210_MP04(_nr) (S5PV210_GPIO_MP04_START + (_nr))
#define S5PV210_MP05(_nr) (S5PV210_GPIO_MP05_START + (_nr))

/* the end of the S5PV210 specific gpios */
#define S5PV210_GPIO_END (S5PV210_MP03(S5PV210_GPIO_MP03_NR) + 1)
#define S5PV210_GPIO_END (S5PV210_MP05(S5PV210_GPIO_MP05_NR) + 1)
#define S3C_GPIO_END S5PV210_GPIO_END

/* define the number of gpios we need to the one after the MP03() range */
#define ARCH_NR_GPIOS (S5PV210_MP03(S5PV210_GPIO_MP03_NR) + \
/* define the number of gpios we need to the one after the MP05() range */
#define ARCH_NR_GPIOS (S5PV210_MP05(S5PV210_GPIO_MP05_NR) + \
CONFIG_SAMSUNG_GPIO_EXTRA + 1)

#include <asm-generic/gpio.h>
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mach-s5pv210/include/mach/irqs.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
#define IRQ_IEMIEC S5P_IRQ_VIC1(6)
#define IRQ_ONENAND S5P_IRQ_VIC1(7)
#define IRQ_NFC S5P_IRQ_VIC1(8)
#define IRQ_CFC S5P_IRQ_VIC1(9)
#define IRQ_CFCON S5P_IRQ_VIC1(9)
#define IRQ_UART0 S5P_IRQ_VIC1(10)
#define IRQ_UART1 S5P_IRQ_VIC1(11)
#define IRQ_UART2 S5P_IRQ_VIC1(12)
Expand Down
9 changes: 9 additions & 0 deletions arch/arm/mach-s5pv210/include/mach/map.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@
#define S5PV210_PA_SPI0 0xE1300000
#define S5PV210_PA_SPI1 0xE1400000

#define S5PV210_PA_KEYPAD (0xE1600000)

#define S5PV210_PA_IIC0 (0xE1800000)
#define S5PV210_PA_IIC1 (0xFAB00000)
#define S5PV210_PA_IIC2 (0xE1A00000)
Expand All @@ -43,6 +45,7 @@

#define S5PV210_PA_WATCHDOG (0xE2700000)

#define S5PV210_PA_RTC (0xE2800000)
#define S5PV210_PA_UART (0xE2900000)

#define S5P_PA_UART0 (S5PV210_PA_UART + 0x0)
Expand All @@ -54,6 +57,8 @@

#define S5PV210_PA_SROMC (0xE8000000)

#define S5PV210_PA_CFCON (0xE8200000)

#define S5PV210_PA_MDMA 0xFA200000
#define S5PV210_PA_PDMA0 0xE0900000
#define S5PV210_PA_PDMA1 0xE0A00000
Expand Down Expand Up @@ -97,12 +102,16 @@
#define S3C_PA_HSMMC0 S5PV210_PA_HSMMC(0)
#define S3C_PA_HSMMC1 S5PV210_PA_HSMMC(1)
#define S3C_PA_HSMMC2 S5PV210_PA_HSMMC(2)
#define S3C_PA_HSMMC3 S5PV210_PA_HSMMC(3)
#define S3C_PA_IIC S5PV210_PA_IIC0
#define S3C_PA_IIC1 S5PV210_PA_IIC1
#define S3C_PA_IIC2 S5PV210_PA_IIC2
#define S3C_PA_FB S5PV210_PA_FB
#define S3C_PA_RTC S5PV210_PA_RTC
#define S3C_PA_WDT S5PV210_PA_WATCHDOG

#define SAMSUNG_PA_ADC S5PV210_PA_ADC
#define SAMSUNG_PA_CFCON S5PV210_PA_CFCON
#define SAMSUNG_PA_KEYPAD S5PV210_PA_KEYPAD

#endif /* __ASM_ARCH_MAP_H */
Loading

0 comments on commit a639718

Please sign in to comment.