Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Linux-御风守护者
linux
提交
0321c51f
L
linux
项目概览
Linux-御风守护者
/
linux
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
0321c51f
编写于
8月 06, 2010
作者:
K
Kukjin Kim
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'next-s5pc100' into for-next
上级
e4201764
aaeedff6
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
201 addition
and
9 deletion
+201
-9
arch/arm/mach-s5pc100/Kconfig
arch/arm/mach-s5pc100/Kconfig
+20
-0
arch/arm/mach-s5pc100/Makefile
arch/arm/mach-s5pc100/Makefile
+2
-0
arch/arm/mach-s5pc100/clock.c
arch/arm/mach-s5pc100/clock.c
+4
-4
arch/arm/mach-s5pc100/cpu.c
arch/arm/mach-s5pc100/cpu.c
+5
-0
arch/arm/mach-s5pc100/include/mach/irqs.h
arch/arm/mach-s5pc100/include/mach/irqs.h
+1
-1
arch/arm/mach-s5pc100/include/mach/map.h
arch/arm/mach-s5pc100/include/mach/map.h
+13
-0
arch/arm/mach-s5pc100/include/mach/regs-clock.h
arch/arm/mach-s5pc100/include/mach/regs-clock.h
+3
-0
arch/arm/mach-s5pc100/mach-smdkc100.c
arch/arm/mach-s5pc100/mach-smdkc100.c
+45
-0
arch/arm/mach-s5pc100/setup-ide.c
arch/arm/mach-s5pc100/setup-ide.c
+70
-0
arch/arm/mach-s5pc100/setup-keypad.c
arch/arm/mach-s5pc100/setup-keypad.c
+34
-0
arch/arm/mach-s5pc100/setup-sdhci.c
arch/arm/mach-s5pc100/setup-sdhci.c
+4
-4
未找到文件。
arch/arm/mach-s5pc100/Kconfig
浏览文件 @
0321c51f
...
...
@@ -25,6 +25,16 @@ 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_KEYPAD
bool
help
Common setup code for KEYPAD GPIO configurations.
config S5PC100_SETUP_SDHCI
bool
select S5PC100_SETUP_SDHCI_GPIO
...
...
@@ -39,14 +49,24 @@ config S5PC100_SETUP_SDHCI_GPIO
config MACH_SMDKC100
bool "SMDKC100"
select CPU_S5PC100
select SAMSUNG_DEV_ADC
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 SAMSUNG_DEV_KEYPAD
select S3C_DEV_RTC
select SAMSUNG_DEV_TS
select S3C_DEV_WDT
select HAVE_S3C2410_WATCHDOG
select S5PC100_SETUP_FB_24BPP
select S5PC100_SETUP_I2C1
select S5PC100_SETUP_IDE
select S5PC100_SETUP_KEYPAD
select S5PC100_SETUP_SDHCI
select HAVE_S3C_RTC
help
Machine support for the Samsung SMDKC100
...
...
arch/arm/mach-s5pc100/Makefile
浏览文件 @
0321c51f
...
...
@@ -19,6 +19,8 @@ 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_KEYPAD)
+=
setup-keypad.o
obj-$(CONFIG_S5PC100_SETUP_SDHCI)
+=
setup-sdhci.o
obj-$(CONFIG_S5PC100_SETUP_SDHCI_GPIO)
+=
setup-sdhci-gpio.o
...
...
arch/arm/mach-s5pc100/clock.c
浏览文件 @
0321c51f
...
...
@@ -737,7 +737,7 @@ static struct clk init_clocks_disable[] = {
.
enable
=
s5pc100_d1_5_ctrl
,
.
ctrlbit
=
(
1
<<
7
),
},
{
.
name
=
"key
if
"
,
.
name
=
"key
pad
"
,
.
id
=
-
1
,
.
parent
=
&
clk_div_d1_bus
.
clk
,
.
enable
=
s5pc100_d1_5_ctrl
,
...
...
@@ -1078,7 +1078,7 @@ static struct clksrc_clk clksrcs[] = {
.
reg_div
=
{
.
reg
=
S5P_CLK_DIV3
,
.
shift
=
24
,
.
size
=
4
},
},
{
.
clk
=
{
.
name
=
"
mmc_bus
"
,
.
name
=
"
sclk_mmc
"
,
.
id
=
0
,
.
ctrlbit
=
(
1
<<
12
),
.
enable
=
s5pc100_sclk1_ctrl
,
...
...
@@ -1089,7 +1089,7 @@ static struct clksrc_clk clksrcs[] = {
.
reg_div
=
{
.
reg
=
S5P_CLK_DIV3
,
.
shift
=
0
,
.
size
=
4
},
},
{
.
clk
=
{
.
name
=
"
mmc_bus
"
,
.
name
=
"
sclk_mmc
"
,
.
id
=
1
,
.
ctrlbit
=
(
1
<<
13
),
.
enable
=
s5pc100_sclk1_ctrl
,
...
...
@@ -1100,7 +1100,7 @@ static struct clksrc_clk clksrcs[] = {
.
reg_div
=
{
.
reg
=
S5P_CLK_DIV3
,
.
shift
=
4
,
.
size
=
4
},
},
{
.
clk
=
{
.
name
=
"
mmc_bus
"
,
.
name
=
"
sclk_mmc
"
,
.
id
=
2
,
.
ctrlbit
=
(
1
<<
14
),
.
enable
=
s5pc100_sclk1_ctrl
,
...
...
arch/arm/mach-s5pc100/cpu.c
浏览文件 @
0321c51f
...
...
@@ -38,8 +38,10 @@
#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/adc-core.h>
#include <plat/onenand-core.h>
#include <plat/s5pc100.h>
...
...
@@ -87,11 +89,14 @@ void __init s5pc100_map_io(void)
s5pc100_default_sdhci1
();
s5pc100_default_sdhci2
();
s3c_adc_setname
(
"s3c64xx-adc"
);
/* the i2c devices are directly compatible with s3c2440 */
s3c_i2c0_setname
(
"s3c2440-i2c"
);
s3c_i2c1_setname
(
"s3c2440-i2c"
);
s3c_onenand_setname
(
"s5pc100-onenand"
);
s3c_cfcon_setname
(
"s5pc100-pata"
);
}
void
__init
s5pc100_init_clocks
(
int
xtal
)
...
...
arch/arm/mach-s5pc100/include/mach/irqs.h
浏览文件 @
0321c51f
...
...
@@ -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_CFC
ON
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)
...
...
arch/arm/mach-s5pc100/include/mach/map.h
浏览文件 @
0321c51f
...
...
@@ -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)
...
...
@@ -72,6 +74,9 @@
#define S5PC100_PA_SYSTIMER (0xEA100000)
#define S5PC100_PA_WATCHDOG (0xEA200000)
#define S5PC100_PA_RTC (0xEA300000)
#define S5PC100_PA_UART (0xEC000000)
#define S5P_PA_UART0 (S5PC100_PA_UART + 0x0)
...
...
@@ -104,6 +109,8 @@
#define S5PC100_PA_PCM0 0xF2400000
#define S5PC100_PA_PCM1 0xF2500000
#define S5PC100_PA_TSADC (0xF3000000)
/* KEYPAD */
#define S5PC100_PA_KEYPAD (0xF3100000)
...
...
@@ -130,9 +137,15 @@
#define S3C_PA_HSMMC1 S5PC100_PA_HSMMC(1)
#define S3C_PA_HSMMC2 S5PC100_PA_HSMMC(2)
#define S3C_PA_KEYPAD S5PC100_PA_KEYPAD
#define S3C_PA_WDT S5PC100_PA_WATCHDOG
#define S3C_PA_TSADC S5PC100_PA_TSADC
#define S3C_PA_ONENAND S5PC100_PA_ONENAND
#define S3C_PA_ONENAND_BUF S5PC100_PA_ONENAND_BUF
#define S3C_SZ_ONENAND_BUF S5PC100_SZ_ONENAND_BUF
#define S3C_PA_RTC S5PC100_PA_RTC
#define SAMSUNG_PA_ADC S5PC100_PA_TSADC
#define SAMSUNG_PA_CFCON S5PC100_PA_CFCON
#define SAMSUNG_PA_KEYPAD S5PC100_PA_KEYPAD
#endif
/* __ASM_ARCH_C100_MAP_H */
arch/arm/mach-s5pc100/include/mach/regs-clock.h
浏览文件 @
0321c51f
...
...
@@ -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 */
arch/arm/mach-s5pc100/mach-smdkc100.c
浏览文件 @
0321c51f
...
...
@@ -22,6 +22,7 @@
#include <linux/i2c.h>
#include <linux/fb.h>
#include <linux/delay.h>
#include <linux/input.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
...
...
@@ -42,6 +43,10 @@
#include <plat/s5pc100.h>
#include <plat/fb.h>
#include <plat/iic.h>
#include <plat/ata.h>
#include <plat/adc.h>
#include <plat/keypad.h>
#include <plat/ts.h>
/* Following are default values for UCON, ULCON and UFCON UART registers */
#define S5PC100_UCON_DEFAULT (S3C2410_UCON_TXILEVEL | \
...
...
@@ -149,16 +154,51 @@ 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
uint32_t
smdkc100_keymap
[]
__initdata
=
{
/* KEY(row, col, keycode) */
KEY
(
0
,
3
,
KEY_1
),
KEY
(
0
,
4
,
KEY_2
),
KEY
(
0
,
5
,
KEY_3
),
KEY
(
0
,
6
,
KEY_4
),
KEY
(
0
,
7
,
KEY_5
),
KEY
(
1
,
3
,
KEY_A
),
KEY
(
1
,
4
,
KEY_B
),
KEY
(
1
,
5
,
KEY_C
),
KEY
(
1
,
6
,
KEY_D
),
KEY
(
1
,
7
,
KEY_E
)
};
static
struct
matrix_keymap_data
smdkc100_keymap_data
__initdata
=
{
.
keymap
=
smdkc100_keymap
,
.
keymap_size
=
ARRAY_SIZE
(
smdkc100_keymap
),
};
static
struct
samsung_keypad_platdata
smdkc100_keypad_data
__initdata
=
{
.
keymap_data
=
&
smdkc100_keymap_data
,
.
rows
=
2
,
.
cols
=
8
,
};
static
struct
platform_device
*
smdkc100_devices
[]
__initdata
=
{
&
s3c_device_adc
,
&
s3c_device_cfcon
,
&
s3c_device_i2c0
,
&
s3c_device_i2c1
,
&
s3c_device_fb
,
&
s3c_device_hsmmc0
,
&
s3c_device_hsmmc1
,
&
s3c_device_hsmmc2
,
&
s3c_device_ts
,
&
s3c_device_wdt
,
&
smdkc100_lcd_powerdev
,
&
s5pc100_device_iis0
,
&
samsung_device_keypad
,
&
s5pc100_device_ac97
,
&
s3c_device_rtc
,
};
static
struct
s3c2410_ts_mach_info
s3c_ts_platform
__initdata
=
{
.
delay
=
10000
,
.
presc
=
49
,
.
oversampling_shift
=
2
,
};
static
void
__init
smdkc100_map_io
(
void
)
...
...
@@ -170,6 +210,8 @@ static void __init smdkc100_map_io(void)
static
void
__init
smdkc100_machine_init
(
void
)
{
s3c24xx_ts_set_platdata
(
&
s3c_ts_platform
);
/* I2C */
s3c_i2c0_set_platdata
(
NULL
);
s3c_i2c1_set_platdata
(
NULL
);
...
...
@@ -177,6 +219,9 @@ 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
);
samsung_keypad_set_platdata
(
&
smdkc100_keypad_data
);
/* LCD init */
gpio_request
(
S5PC100_GPD
(
0
),
"GPD"
);
...
...
arch/arm/mach-s5pc100/setup-ide.c
0 → 100644
浏览文件 @
0321c51f
/* 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
);
}
arch/arm/mach-s5pc100/setup-keypad.c
0 → 100644
浏览文件 @
0321c51f
/* linux/arch/arm/mach-s5pc100/setup-keypad.c
*
* Copyright (c) 2010 Samsung Electronics Co., Ltd.
* http://www.samsung.com/
*
* GPIO configuration for S5PC100 KeyPad device
*
* 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/gpio.h>
#include <plat/gpio-cfg.h>
void
samsung_keypad_cfg_gpio
(
unsigned
int
rows
,
unsigned
int
cols
)
{
unsigned
int
gpio
;
unsigned
int
end
;
/* Set all the necessary GPH3 pins to special-function 3: KP_ROW[x] */
end
=
S5PC100_GPH3
(
rows
);
for
(
gpio
=
S5PC100_GPH3
(
0
);
gpio
<
end
;
gpio
++
)
{
s3c_gpio_cfgpin
(
gpio
,
S3C_GPIO_SFN
(
3
));
s3c_gpio_setpull
(
gpio
,
S3C_GPIO_PULL_NONE
);
}
/* Set all the necessary GPH2 pins to special-function 3: KP_COL[x] */
end
=
S5PC100_GPH2
(
cols
);
for
(
gpio
=
S5PC100_GPH2
(
0
);
gpio
<
end
;
gpio
++
)
{
s3c_gpio_cfgpin
(
gpio
,
S3C_GPIO_SFN
(
3
));
s3c_gpio_setpull
(
gpio
,
S3C_GPIO_PULL_NONE
);
}
}
arch/arm/mach-s5pc100/setup-sdhci.c
浏览文件 @
0321c51f
...
...
@@ -26,10 +26,10 @@
/* clock sources for the mmc bus clock, order as for the ctrl2[5..4] */
char
*
s5pc100_hsmmc_clksrcs
[
4
]
=
{
[
0
]
=
"hsmmc"
,
[
1
]
=
"hsmmc"
,
/* [2] = "mmc_bus", not yet successfully used yet
*/
/* [3] = "48m",
- note not successfully used yet */
[
0
]
=
"hsmmc"
,
/* HCLK */
/* [1] = "hsmmc", - duplicate HCLK entry */
[
2
]
=
"sclk_mmc"
,
/* mmc_bus
*/
/* [3] = "48m",
- note not successfully used yet */
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录