Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
a739260d
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
161
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
a739260d
编写于
8月 14, 2010
作者:
B
Ben Dooks
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'for-2636/s3c64xx' into for-linus/samsung-2635
上级
d92342df
001ca74f
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
208 addition
and
62 deletion
+208
-62
arch/arm/mach-s3c64xx/Kconfig
arch/arm/mach-s3c64xx/Kconfig
+9
-0
arch/arm/mach-s3c64xx/Makefile
arch/arm/mach-s3c64xx/Makefile
+1
-0
arch/arm/mach-s3c64xx/include/mach/memory.h
arch/arm/mach-s3c64xx/include/mach/memory.h
+2
-0
arch/arm/mach-s3c64xx/mach-real6410.c
arch/arm/mach-s3c64xx/mach-real6410.c
+152
-0
arch/arm/mach-s3c64xx/mach-smartq.c
arch/arm/mach-s3c64xx/mach-smartq.c
+38
-2
arch/arm/mach-s3c64xx/mach-smartq5.c
arch/arm/mach-s3c64xx/mach-smartq5.c
+4
-32
arch/arm/mach-s3c64xx/mach-smartq7.c
arch/arm/mach-s3c64xx/mach-smartq7.c
+0
-28
arch/arm/mach-s3c64xx/mach-smdk6410.c
arch/arm/mach-s3c64xx/mach-smdk6410.c
+2
-0
未找到文件。
arch/arm/mach-s3c64xx/Kconfig
浏览文件 @
a739260d
...
...
@@ -88,6 +88,15 @@ config MACH_ANW6410
help
Machine support for the A&W6410
config MACH_REAL6410
bool "REAL6410"
select CPU_S3C6410
select S3C_DEV_HSMMC
select S3C_DEV_HSMMC1
select S3C64XX_SETUP_SDHCI
help
Machine support for the CoreWind REAL6410
config MACH_SMDK6410
bool "SMDK6410"
select CPU_S3C6410
...
...
arch/arm/mach-s3c64xx/Makefile
浏览文件 @
a739260d
...
...
@@ -50,6 +50,7 @@ obj-$(CONFIG_PM) += irq-pm.o
obj-$(CONFIG_MACH_ANW6410)
+=
mach-anw6410.o
obj-$(CONFIG_MACH_SMDK6400)
+=
mach-smdk6400.o
obj-$(CONFIG_MACH_SMDK6410)
+=
mach-smdk6410.o
obj-$(CONFIG_MACH_REAL6410)
+=
mach-real6410.o
obj-$(CONFIG_MACH_NCP)
+=
mach-ncp.o
obj-$(CONFIG_MACH_HMT)
+=
mach-hmt.o
obj-$(CONFIG_MACH_SMARTQ)
+=
mach-smartq.o
...
...
arch/arm/mach-s3c64xx/include/mach/memory.h
浏览文件 @
a739260d
...
...
@@ -15,4 +15,6 @@
#define PHYS_OFFSET UL(0x50000000)
#define CONSISTENT_DMA_SIZE SZ_8M
#endif
arch/arm/mach-s3c64xx/mach-real6410.c
0 → 100644
浏览文件 @
a739260d
/* linux/arch/arm/mach-s3c64xx/mach-real6410.c
*
* Copyright 2010 Darius Augulis <augulis.darius@gmail.com>
* Copyright 2008 Openmoko, Inc.
* Copyright 2008 Simtec Electronics
* Ben Dooks <ben@simtec.co.uk>
* http://armlinux.simtec.co.uk/
*
* 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/types.h>
#include <linux/interrupt.h>
#include <linux/list.h>
#include <linux/init.h>
#include <linux/dm9000.h>
#include <linux/serial_core.h>
#include <linux/platform_device.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
#include <mach/map.h>
#include <mach/s3c6410.h>
#include <mach/regs-srom.h>
#include <plat/cpu.h>
#include <plat/devs.h>
#include <plat/regs-serial.h>
#define UCON S3C2410_UCON_DEFAULT | S3C2410_UCON_UCLK
#define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB
#define UFCON S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODE
static
struct
s3c2410_uartcfg
real6410_uartcfgs
[]
__initdata
=
{
[
0
]
=
{
.
hwport
=
0
,
.
flags
=
0
,
.
ucon
=
UCON
,
.
ulcon
=
ULCON
,
.
ufcon
=
UFCON
,
},
[
1
]
=
{
.
hwport
=
1
,
.
flags
=
0
,
.
ucon
=
UCON
,
.
ulcon
=
ULCON
,
.
ufcon
=
UFCON
,
},
[
2
]
=
{
.
hwport
=
2
,
.
flags
=
0
,
.
ucon
=
UCON
,
.
ulcon
=
ULCON
,
.
ufcon
=
UFCON
,
},
[
3
]
=
{
.
hwport
=
3
,
.
flags
=
0
,
.
ucon
=
UCON
,
.
ulcon
=
ULCON
,
.
ufcon
=
UFCON
,
},
};
/* DM9000AEP 10/100 ethernet controller */
static
struct
resource
real6410_dm9k_resource
[]
=
{
[
0
]
=
{
.
start
=
S3C64XX_PA_XM0CSN1
,
.
end
=
S3C64XX_PA_XM0CSN1
+
1
,
.
flags
=
IORESOURCE_MEM
},
[
1
]
=
{
.
start
=
S3C64XX_PA_XM0CSN1
+
4
,
.
end
=
S3C64XX_PA_XM0CSN1
+
5
,
.
flags
=
IORESOURCE_MEM
},
[
2
]
=
{
.
start
=
S3C_EINT
(
7
),
.
end
=
S3C_EINT
(
7
),
.
flags
=
IORESOURCE_IRQ
,
}
};
static
struct
dm9000_plat_data
real6410_dm9k_pdata
=
{
.
flags
=
(
DM9000_PLATF_16BITONLY
|
DM9000_PLATF_NO_EEPROM
),
};
static
struct
platform_device
real6410_device_eth
=
{
.
name
=
"dm9000"
,
.
id
=
-
1
,
.
num_resources
=
ARRAY_SIZE
(
real6410_dm9k_resource
),
.
resource
=
real6410_dm9k_resource
,
.
dev
=
{
.
platform_data
=
&
real6410_dm9k_pdata
,
},
};
static
struct
platform_device
*
real6410_devices
[]
__initdata
=
{
&
real6410_device_eth
,
&
s3c_device_hsmmc0
,
&
s3c_device_hsmmc1
,
};
static
void
__init
real6410_map_io
(
void
)
{
s3c64xx_init_io
(
NULL
,
0
);
s3c24xx_init_clocks
(
12000000
);
s3c24xx_init_uarts
(
real6410_uartcfgs
,
ARRAY_SIZE
(
real6410_uartcfgs
));
}
static
void
__init
real6410_machine_init
(
void
)
{
u32
cs1
;
/* configure nCS1 width to 16 bits */
cs1
=
__raw_readl
(
S3C64XX_SROM_BW
)
&
~
(
S3C64XX_SROM_BW__CS_MASK
<<
S3C64XX_SROM_BW__NCS1__SHIFT
);
cs1
|=
((
1
<<
S3C64XX_SROM_BW__DATAWIDTH__SHIFT
)
|
(
1
<<
S3C64XX_SROM_BW__WAITENABLE__SHIFT
)
|
(
1
<<
S3C64XX_SROM_BW__BYTEENABLE__SHIFT
))
<<
S3C64XX_SROM_BW__NCS1__SHIFT
;
__raw_writel
(
cs1
,
S3C64XX_SROM_BW
);
/* set timing for nCS1 suitable for ethernet chip */
__raw_writel
((
0
<<
S3C64XX_SROM_BCX__PMC__SHIFT
)
|
(
6
<<
S3C64XX_SROM_BCX__TACP__SHIFT
)
|
(
4
<<
S3C64XX_SROM_BCX__TCAH__SHIFT
)
|
(
1
<<
S3C64XX_SROM_BCX__TCOH__SHIFT
)
|
(
13
<<
S3C64XX_SROM_BCX__TACC__SHIFT
)
|
(
4
<<
S3C64XX_SROM_BCX__TCOS__SHIFT
)
|
(
0
<<
S3C64XX_SROM_BCX__TACS__SHIFT
),
S3C64XX_SROM_BC1
);
platform_add_devices
(
real6410_devices
,
ARRAY_SIZE
(
real6410_devices
));
}
MACHINE_START
(
REAL6410
,
"REAL6410"
)
/* Maintainer: Darius Augulis <augulis.darius@gmail.com> */
.
phys_io
=
S3C_PA_UART
&
0xfff00000
,
.
io_pg_offst
=
(((
u32
)
S3C_VA_UART
)
>>
18
)
&
0xfffc
,
.
boot_params
=
S3C64XX_PA_SDRAM
+
0x100
,
.
init_irq
=
s3c6410_init_irq
,
.
map_io
=
real6410_map_io
,
.
init_machine
=
real6410_machine_init
,
.
timer
=
&
s3c24xx_timer
,
MACHINE_END
arch/arm/mach-s3c64xx/mach-smartq.c
浏览文件 @
a739260d
...
...
@@ -16,6 +16,7 @@
#include <linux/platform_device.h>
#include <linux/pwm_backlight.h>
#include <linux/serial_core.h>
#include <linux/spi/spi_gpio.h>
#include <linux/usb/gpio_vbus.h>
#include <asm/mach-types.h>
...
...
@@ -166,7 +167,7 @@ static struct s3c2410_ts_mach_info smartq_touchscreen_pdata __initdata = {
static
struct
s3c_sdhci_platdata
smartq_internal_hsmmc_pdata
=
{
.
max_width
=
4
,
/*.broken_card_detection = true,*/
.
cd_type
=
S3C_SDHCI_CD_PERMANENT
,
};
static
struct
s3c_hwmon_pdata
smartq_hwmon_pdata
__initdata
=
{
...
...
@@ -184,6 +185,33 @@ static struct s3c_hwmon_pdata smartq_hwmon_pdata __initdata = {
},
};
static
int
__init
smartq_lcd_setup_gpio
(
void
)
{
int
ret
;
ret
=
gpio_request
(
S3C64XX_GPM
(
3
),
"LCD power"
);
if
(
ret
<
0
)
return
ret
;
/* turn power off */
gpio_direction_output
(
S3C64XX_GPM
(
3
),
0
);
return
0
;
}
/* GPM0 -> CS */
static
struct
spi_gpio_platform_data
smartq_lcd_control
=
{
.
sck
=
S3C64XX_GPM
(
1
),
.
mosi
=
S3C64XX_GPM
(
2
),
.
miso
=
S3C64XX_GPM
(
2
),
};
static
struct
platform_device
smartq_lcd_control_device
=
{
.
name
=
"spi-gpio"
,
.
id
=
1
,
.
dev
.
platform_data
=
&
smartq_lcd_control
,
};
static
void
smartq_lcd_power_set
(
struct
plat_lcd_data
*
pd
,
unsigned
int
power
)
{
gpio_direction_output
(
S3C64XX_GPM
(
3
),
power
);
...
...
@@ -199,6 +227,9 @@ static struct platform_device smartq_lcd_power_device = {
.
dev
.
platform_data
=
&
smartq_lcd_power_data
,
};
static
struct
i2c_board_info
smartq_i2c_devs
[]
__initdata
=
{
{
I2C_BOARD_INFO
(
"wm8987"
,
0x1a
),
},
};
static
struct
platform_device
*
smartq_devices
[]
__initdata
=
{
&
s3c_device_hsmmc1
,
/* Init iNAND first, ... */
...
...
@@ -213,7 +244,9 @@ static struct platform_device *smartq_devices[] __initdata = {
&
s3c_device_timer
[
1
],
&
s3c_device_ts
,
&
s3c_device_usb_hsotg
,
&
s3c64xx_device_iis0
,
&
smartq_backlight_device
,
&
smartq_lcd_control_device
,
&
smartq_lcd_power_device
,
&
smartq_usb_otg_vbus_dev
,
};
...
...
@@ -252,7 +285,6 @@ static int __init smartq_power_off_init(void)
/* leave power on */
gpio_direction_output
(
S3C64XX_GPK
(
15
),
0
);
pm_power_off
=
smartq_power_off
;
return
ret
;
...
...
@@ -354,6 +386,10 @@ void __init smartq_machine_init(void)
s3c_sdhci2_set_platdata
(
&
smartq_internal_hsmmc_pdata
);
s3c24xx_ts_set_platdata
(
&
smartq_touchscreen_pdata
);
i2c_register_board_info
(
0
,
smartq_i2c_devs
,
ARRAY_SIZE
(
smartq_i2c_devs
));
WARN_ON
(
smartq_lcd_setup_gpio
());
WARN_ON
(
smartq_power_off_init
());
WARN_ON
(
smartq_usb_host_init
());
WARN_ON
(
smartq_usb_otg_init
());
...
...
arch/arm/mach-s3c64xx/mach-smartq5.c
浏览文件 @
a739260d
...
...
@@ -12,7 +12,6 @@
#include <linux/fb.h>
#include <linux/gpio.h>
#include <linux/gpio_keys.h>
#include <linux/i2c-gpio.h>
#include <linux/init.h>
#include <linux/input.h>
#include <linux/leds.h>
...
...
@@ -33,31 +32,6 @@
#include "mach-smartq.h"
static
void
__init
smartq5_lcd_setup_gpio
(
void
)
{
gpio_request
(
S3C64XX_GPM
(
0
),
"LCD SCEN pin"
);
gpio_request
(
S3C64XX_GPM
(
1
),
"LCD SCL pin"
);
gpio_request
(
S3C64XX_GPM
(
2
),
"LCD SDA pin"
);
gpio_request
(
S3C64XX_GPM
(
3
),
"LCD power"
);
/* turn power off */
gpio_direction_output
(
S3C64XX_GPM
(
0
),
1
);
gpio_direction_input
(
S3C64XX_GPM
(
1
));
gpio_direction_input
(
S3C64XX_GPM
(
2
));
gpio_direction_output
(
S3C64XX_GPM
(
3
),
0
);
}
static
struct
i2c_gpio_platform_data
smartq5_lcd_control
=
{
.
sda_pin
=
S3C64XX_GPM
(
2
),
.
scl_pin
=
S3C64XX_GPM
(
1
),
};
static
struct
platform_device
smartq5_lcd_control_device
=
{
.
name
=
"i2c-gpio"
,
.
id
=
1
,
.
dev
.
platform_data
=
&
smartq5_lcd_control
,
};
static
struct
gpio_led
smartq5_leds
[]
__initdata
=
{
{
.
name
=
"smartq5:green"
,
...
...
@@ -136,10 +110,10 @@ static struct s3c_fb_pd_win smartq5_fb_win0 = {
.
win_mode
=
{
.
pixclock
=
1000000000000ULL
/
((
40
+
1
+
216
+
800
)
*
(
10
+
1
+
35
+
480
)
*
80
),
.
left_margin
=
40
,
.
right_margin
=
216
,
.
upper_margin
=
10
,
.
lower_margin
=
35
,
.
left_margin
=
216
,
.
right_margin
=
40
,
.
upper_margin
=
35
,
.
lower_margin
=
10
,
.
hsync_len
=
1
,
.
vsync_len
=
1
,
.
xres
=
800
,
...
...
@@ -160,7 +134,6 @@ static struct s3c_fb_platdata smartq5_lcd_pdata __initdata = {
static
struct
platform_device
*
smartq5_devices
[]
__initdata
=
{
&
smartq5_leds_device
,
&
smartq5_buttons_device
,
&
smartq5_lcd_control_device
,
};
static
void
__init
smartq5_machine_init
(
void
)
...
...
@@ -168,7 +141,6 @@ static void __init smartq5_machine_init(void)
s3c_fb_set_platdata
(
&
smartq5_lcd_pdata
);
smartq_machine_init
();
smartq5_lcd_setup_gpio
();
platform_add_devices
(
smartq5_devices
,
ARRAY_SIZE
(
smartq5_devices
));
}
...
...
arch/arm/mach-s3c64xx/mach-smartq7.c
浏览文件 @
a739260d
...
...
@@ -12,7 +12,6 @@
#include <linux/fb.h>
#include <linux/gpio.h>
#include <linux/gpio_keys.h>
#include <linux/i2c-gpio.h>
#include <linux/init.h>
#include <linux/input.h>
#include <linux/leds.h>
...
...
@@ -33,31 +32,6 @@
#include "mach-smartq.h"
static
void
__init
smartq7_lcd_setup_gpio
(
void
)
{
gpio_request
(
S3C64XX_GPM
(
0
),
"LCD CSB pin"
);
gpio_request
(
S3C64XX_GPM
(
3
),
"LCD power"
);
gpio_request
(
S3C64XX_GPM
(
4
),
"LCD power status"
);
/* turn power off */
gpio_direction_output
(
S3C64XX_GPM
(
0
),
1
);
gpio_direction_output
(
S3C64XX_GPM
(
3
),
0
);
gpio_direction_input
(
S3C64XX_GPM
(
4
));
}
static
struct
i2c_gpio_platform_data
smartq7_lcd_control
=
{
.
sda_pin
=
S3C64XX_GPM
(
2
),
.
scl_pin
=
S3C64XX_GPM
(
1
),
.
sda_is_open_drain
=
1
,
.
scl_is_open_drain
=
1
,
};
static
struct
platform_device
smartq7_lcd_control_device
=
{
.
name
=
"i2c-gpio"
,
.
id
=
1
,
.
dev
.
platform_data
=
&
smartq7_lcd_control
,
};
static
struct
gpio_led
smartq7_leds
[]
__initdata
=
{
{
.
name
=
"smartq7:red"
,
...
...
@@ -176,7 +150,6 @@ static struct s3c_fb_platdata smartq7_lcd_pdata __initdata = {
static
struct
platform_device
*
smartq7_devices
[]
__initdata
=
{
&
smartq7_leds_device
,
&
smartq7_buttons_device
,
&
smartq7_lcd_control_device
,
};
static
void
__init
smartq7_machine_init
(
void
)
...
...
@@ -184,7 +157,6 @@ static void __init smartq7_machine_init(void)
s3c_fb_set_platdata
(
&
smartq7_lcd_pdata
);
smartq_machine_init
();
smartq7_lcd_setup_gpio
();
platform_add_devices
(
smartq7_devices
,
ARRAY_SIZE
(
smartq7_devices
));
}
...
...
arch/arm/mach-s3c64xx/mach-smdk6410.c
浏览文件 @
a739260d
...
...
@@ -153,6 +153,8 @@ static struct s3c_fb_pd_win smdk6410_fb_win0 = {
},
.
max_bpp
=
32
,
.
default_bpp
=
16
,
.
virtual_y
=
480
*
2
,
.
virtual_x
=
800
,
};
/* 405566 clocks per frame => 60Hz refresh requires 24333960Hz clock */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录