Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 208731
b: refs/heads/master
c: 66194a7
h: refs/heads/master
i:
  208729: 92dbd6c
  208727: ef03a04
v: v3
  • Loading branch information
Abhilash Kesavan authored and Kukjin Kim committed Aug 5, 2010
1 parent bd78e8f commit e56310b
Show file tree
Hide file tree
Showing 19 changed files with 98 additions and 84 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e4201764a474fcb3e858c1aa09b4f5c878216d5a
refs/heads/master: 66194a74c290e7e082c276329ee84d54669c82fc
9 changes: 0 additions & 9 deletions trunk/arch/arm/mach-s5p6440/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,13 @@ config CPU_S5P6440
help
Enable S5P6440 CPU support

config S5P6440_SETUP_I2C1
bool
help
Common setup code for i2c bus 1.

config MACH_SMDK6440
bool "SMDK6440"
select CPU_S5P6440
select SAMSUNG_DEV_TS
select SAMSUNG_DEV_ADC
select S3C_DEV_RTC
select S3C_DEV_I2C1
select S3C_DEV_WDT
select HAVE_S3C_RTC
select HAVE_S3C2410_WATCHDOG
select S5P6440_SETUP_I2C1
help
Machine support for the Samsung SMDK6440

Expand Down
1 change: 0 additions & 1 deletion trunk/arch/arm/mach-s5p6440/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,3 @@ obj-$(CONFIG_MACH_SMDK6440) += mach-smdk6440.o
# device support
obj-y += dev-audio.o
obj-$(CONFIG_S3C64XX_DEV_SPI) += dev-spi.o
obj-$(CONFIG_S5P6440_SETUP_I2C1) += setup-i2c1.o
4 changes: 1 addition & 3 deletions trunk/arch/arm/mach-s5p6440/include/mach/map.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
#define S5P_PA_TIMER S5P6440_PA_TIMER

#define S5P6440_PA_RTC (0xEA100000)
#define S5P_PA_RTC S5P6440_PA_RTC

#define S5P6440_PA_WDT (0xEA200000)
#define S5P_PA_WDT S5P6440_PA_WDT
Expand All @@ -52,7 +53,6 @@
#define S5P_SZ_UART SZ_256

#define S5P6440_PA_IIC0 (0xEC104000)
#define S5P6440_PA_IIC1 (0xEC20F000)

#define S5P6440_PA_SPI0 0xEC400000
#define S5P6440_PA_SPI1 0xEC500000
Expand All @@ -77,8 +77,6 @@
/* compatibiltiy defines. */
#define S3C_PA_UART S5P6440_PA_UART
#define S3C_PA_IIC S5P6440_PA_IIC0
#define S3C_PA_RTC S5P6440_PA_RTC
#define S3C_PA_IIC1 S5P6440_PA_IIC1
#define S3C_PA_WDT S5P6440_PA_WDT

#define SAMSUNG_PA_ADC S5P6440_PA_ADC
Expand Down
21 changes: 0 additions & 21 deletions trunk/arch/arm/mach-s5p6440/mach-smdk6440.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
#include <linux/timer.h>
#include <linux/delay.h>
#include <linux/init.h>
#include <linux/i2c.h>
#include <linux/serial_core.h>
#include <linux/platform_device.h>
#include <linux/io.h>
Expand All @@ -38,7 +37,6 @@
#include <mach/regs-clock.h>
#include <plat/devs.h>
#include <plat/cpu.h>
#include <plat/iic.h>
#include <plat/pll.h>
#include <plat/adc.h>
#include <plat/ts.h>
Expand Down Expand Up @@ -90,21 +88,10 @@ static struct s3c2410_uartcfg smdk6440_uartcfgs[] __initdata = {
static struct platform_device *smdk6440_devices[] __initdata = {
&s5p6440_device_iis,
&s3c_device_adc,
&s3c_device_rtc,
&s3c_device_i2c0,
&s3c_device_i2c1,
&s3c_device_ts,
&s3c_device_wdt,
};

static struct i2c_board_info smdk6440_i2c_devs0[] __initdata = {
{ I2C_BOARD_INFO("24c08", 0x50), },
};

static struct i2c_board_info smdk6440_i2c_devs1[] __initdata = {
/* To be populated */
};

static struct s3c2410_ts_mach_info s3c_ts_platform __initdata = {
.delay = 10000,
.presc = 49,
Expand All @@ -122,14 +109,6 @@ static void __init smdk6440_machine_init(void)
{
s3c24xx_ts_set_platdata(&s3c_ts_platform);

/* I2C */
s3c_i2c0_set_platdata(NULL);
s3c_i2c1_set_platdata(NULL);
i2c_register_board_info(0, smdk6440_i2c_devs0,
ARRAY_SIZE(smdk6440_i2c_devs0));
i2c_register_board_info(1, smdk6440_i2c_devs1,
ARRAY_SIZE(smdk6440_i2c_devs1));

platform_add_devices(smdk6440_devices, ARRAY_SIZE(smdk6440_devices));
}

Expand Down
7 changes: 1 addition & 6 deletions trunk/arch/arm/mach-s5p6440/setup-i2c0.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,9 @@

struct platform_device; /* don't need the contents */

#include <linux/gpio.h>
#include <plat/gpio-cfg.h>
#include <plat/iic.h>

void s3c_i2c0_cfg_gpio(struct platform_device *dev)
{
s3c_gpio_cfgpin(S5P6440_GPB(5), S3C_GPIO_SFN(2));
s3c_gpio_setpull(S5P6440_GPB(5), S3C_GPIO_PULL_UP);
s3c_gpio_cfgpin(S5P6440_GPB(6), S3C_GPIO_SFN(2));
s3c_gpio_setpull(S5P6440_GPB(6), S3C_GPIO_PULL_UP);
/* Will be populated later */
}
30 changes: 0 additions & 30 deletions trunk/arch/arm/mach-s5p6440/setup-i2c1.c

This file was deleted.

2 changes: 0 additions & 2 deletions trunk/arch/arm/mach-s5p6442/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@ config CPU_S5P6442
config MACH_SMDK6442
bool "SMDK6442"
select CPU_S5P6442
select S3C_DEV_WDT
select HAVE_S3C2410_WATCHDOG
help
Machine support for Samsung SMDK6442

Expand Down
6 changes: 0 additions & 6 deletions trunk/arch/arm/mach-s5p6442/clock.c
Original file line number Diff line number Diff line change
Expand Up @@ -360,12 +360,6 @@ static struct clk init_clocks[] = {
.parent = &clk_pclkd1,
.enable = s5p6442_clk_ip3_ctrl,
.ctrlbit = (1<<19),
}, {
.name = "watchdog",
.id = -1,
.parent = &clk_pclkd1,
.enable = s5p6442_clk_ip3_ctrl,
.ctrlbit = (1 << 22),
}, {
.name = "timers",
.id = -1,
Expand Down
3 changes: 0 additions & 3 deletions trunk/arch/arm/mach-s5p6442/include/mach/map.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,6 @@

#define S5P6442_PA_SYSTIMER (0xEA100000)

#define S5P6442_PA_WATCHDOG (0xEA200000)

#define S5P6442_PA_UART (0xEC000000)

#define S5P_PA_UART0 (S5P6442_PA_UART + 0x0)
Expand All @@ -67,7 +65,6 @@
#define S5P6442_PA_PCM1 0xF2500000

/* compatibiltiy defines. */
#define S3C_PA_WDT S5P6442_PA_WATCHDOG
#define S3C_PA_UART S5P6442_PA_UART
#define S3C_PA_IIC S5P6442_PA_IIC0

Expand Down
1 change: 0 additions & 1 deletion trunk/arch/arm/mach-s5p6442/mach-smdk6442.c
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@ static struct s3c2410_uartcfg smdk6442_uartcfgs[] __initdata = {

static struct platform_device *smdk6442_devices[] __initdata = {
&s5p6442_device_iis0,
&s3c_device_wdt,
};

static void __init smdk6442_map_io(void)
Expand Down
7 changes: 7 additions & 0 deletions trunk/arch/arm/mach-s5pc100/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,11 @@ config S5PC100_SETUP_I2C1
help
Common setup code for i2c bus 1.

config S5PC100_SETUP_IDE
bool
help
Common setup code for S5PC100 IDE GPIO configurations

config S5PC100_SETUP_SDHCI
bool
select S5PC100_SETUP_SDHCI_GPIO
Expand All @@ -41,11 +46,13 @@ config MACH_SMDKC100
select CPU_S5PC100
select S3C_DEV_FB
select S3C_DEV_I2C1
select SAMSUNG_DEV_IDE
select S3C_DEV_HSMMC
select S3C_DEV_HSMMC1
select S3C_DEV_HSMMC2
select S5PC100_SETUP_FB_24BPP
select S5PC100_SETUP_I2C1
select S5PC100_SETUP_IDE
select S5PC100_SETUP_SDHCI
help
Machine support for the Samsung SMDKC100
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/arm/mach-s5pc100/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ obj-$(CONFIG_CPU_S5PC100) += dma.o

obj-$(CONFIG_S5PC100_SETUP_FB_24BPP) += setup-fb-24bpp.o
obj-$(CONFIG_S5PC100_SETUP_I2C1) += setup-i2c1.o
obj-$(CONFIG_S5PC100_SETUP_IDE) += setup-ide.o
obj-$(CONFIG_S5PC100_SETUP_SDHCI) += setup-sdhci.o
obj-$(CONFIG_S5PC100_SETUP_SDHCI_GPIO) += setup-sdhci-gpio.o

Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/arm/mach-s5pc100/cpu.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
#include <plat/cpu.h>
#include <plat/devs.h>
#include <plat/clock.h>
#include <plat/ata-core.h>
#include <plat/iic-core.h>
#include <plat/sdhci.h>
#include <plat/onenand-core.h>
Expand Down Expand Up @@ -92,6 +93,7 @@ void __init s5pc100_map_io(void)
s3c_i2c1_setname("s3c2440-i2c");

s3c_onenand_setname("s5pc100-onenand");
s3c_cfcon_setname("s5pc100-pata");
}

void __init s5pc100_init_clocks(int xtal)
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/arm/mach-s5pc100/include/mach/irqs.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,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
4 changes: 4 additions & 0 deletions trunk/arch/arm/mach-s5pc100/include/mach/map.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@

#define S5PC100_PA_ONENAND (0xE7100000)

#define S5PC100_PA_CFCON (0xE7800000)

/* DMA */
#define S5PC100_PA_MDMA (0xE8100000)
#define S5PC100_PA_PDMA0 (0xE9000000)
Expand Down Expand Up @@ -135,4 +137,6 @@
#define S3C_PA_ONENAND_BUF S5PC100_PA_ONENAND_BUF
#define S3C_SZ_ONENAND_BUF S5PC100_SZ_ONENAND_BUF

#define SAMSUNG_PA_CFCON S5PC100_PA_CFCON

#endif /* __ASM_ARCH_C100_MAP_H */
3 changes: 3 additions & 0 deletions trunk/arch/arm/mach-s5pc100/include/mach/regs-clock.h
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,10 @@
#define S5P_CLKDIV1_PCLKD1_SHIFT (16)

#define S5PC100_SWRESET S5PC100_REG_OTHERS(0x000)
#define S5PC100_MEM_SYS_CFG S5PC100_REG_OTHERS(0x200)

#define S5PC100_SWRESET_RESETVAL 0xc100

#define MEM_SYS_CFG_EBI_FIX_PRI_CFCON 0x30

#endif /* __ASM_ARCH_REGS_CLOCK_H */
7 changes: 7 additions & 0 deletions trunk/arch/arm/mach-s5pc100/mach-smdkc100.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
#include <plat/s5pc100.h>
#include <plat/fb.h>
#include <plat/iic.h>
#include <plat/ata.h>

/* Following are default values for UCON, ULCON and UFCON UART registers */
#define S5PC100_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \
Expand Down Expand Up @@ -149,7 +150,12 @@ static struct s3c_fb_platdata smdkc100_lcd_pdata __initdata = {
.setup_gpio = s5pc100_fb_gpio_setup_24bpp,
};

static struct s3c_ide_platdata smdkc100_ide_pdata __initdata = {
.setup_gpio = s5pc100_ide_setup_gpio,
};

static struct platform_device *smdkc100_devices[] __initdata = {
&s3c_device_cfcon,
&s3c_device_i2c0,
&s3c_device_i2c1,
&s3c_device_fb,
Expand Down Expand Up @@ -177,6 +183,7 @@ static void __init smdkc100_machine_init(void)
i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1));

s3c_fb_set_platdata(&smdkc100_lcd_pdata);
s3c_ide_set_platdata(&smdkc100_ide_pdata);

/* LCD init */
gpio_request(S5PC100_GPD(0), "GPD");
Expand Down
70 changes: 70 additions & 0 deletions trunk/arch/arm/mach-s5pc100/setup-ide.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
/* linux/arch/arm/mach-s5pc100/setup-ide.c
*
* Copyright (c) 2010 Samsung Electronics Co., Ltd.
* http://www.samsung.com
*
* S5PC100 setup information for IDE
*
* 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/gpio.h>
#include <linux/io.h>

#include <mach/regs-clock.h>
#include <plat/gpio-cfg.h>

void s5pc100_ide_setup_gpio(void)
{
u32 reg;
u32 gpio = 0;

/* Independent CF interface, CF chip select configuration */
reg = readl(S5PC100_MEM_SYS_CFG) & (~0x3f);
writel(reg | MEM_SYS_CFG_EBI_FIX_PRI_CFCON, S5PC100_MEM_SYS_CFG);

/* CF_Add[0 - 2], CF_IORDY, CF_INTRQ, CF_DMARQ, CF_DMARST, CF_DMACK */
for (gpio = S5PC100_GPJ0(0); gpio <= S5PC100_GPJ0(7); gpio++) {
s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(4));
s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE);
s5p_gpio_set_drvstr(gpio, S5P_GPIO_DRVSTR_LV4);
}

/*CF_Data[0 - 7] */
for (gpio = S5PC100_GPJ2(0); gpio <= S5PC100_GPJ2(7); gpio++) {
s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(4));
s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE);
s5p_gpio_set_drvstr(gpio, S5P_GPIO_DRVSTR_LV4);
}

/* CF_Data[8 - 15] */
for (gpio = S5PC100_GPJ3(0); gpio <= S5PC100_GPJ3(7); gpio++) {
s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(4));
s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE);
s5p_gpio_set_drvstr(gpio, S5P_GPIO_DRVSTR_LV4);
}

/* CF_CS0, CF_CS1, CF_IORD, CF_IOWR */
for (gpio = S5PC100_GPJ4(0); gpio <= S5PC100_GPJ4(3); gpio++) {
s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(4));
s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE);
s5p_gpio_set_drvstr(gpio, S5P_GPIO_DRVSTR_LV4);
}

/* EBI_OE, EBI_WE */
for (gpio = S5PC100_GPK0(6); gpio <= S5PC100_GPK0(7); gpio++)
s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(0));

/* CF_OE, CF_WE */
for (gpio = S5PC100_GPK1(6); gpio <= S5PC100_GPK1(7); gpio++) {
s3c_gpio_cfgpin(gpio, S3C_GPIO_SFN(2));
s3c_gpio_setpull(gpio, S3C_GPIO_PULL_NONE);
}

/* CF_CD */
s3c_gpio_cfgpin(S5PC100_GPK3(5), S3C_GPIO_SFN(2));
s3c_gpio_setpull(S5PC100_GPK3(5), S3C_GPIO_PULL_NONE);
}

0 comments on commit e56310b

Please sign in to comment.