Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
970a724d
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
970a724d
编写于
5月 28, 2009
作者:
T
Tony Lindgren
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'omap3-upstream' into for-next
Conflicts: arch/arm/mach-omap2/serial.c
上级
c81592ba
4a899d5e
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
352 addition
and
30 deletion
+352
-30
arch/arm/mach-omap2/board-3430sdp.c
arch/arm/mach-omap2/board-3430sdp.c
+2
-1
arch/arm/mach-omap2/board-ldp.c
arch/arm/mach-omap2/board-ldp.c
+216
-3
arch/arm/mach-omap2/board-omap3beagle.c
arch/arm/mach-omap2/board-omap3beagle.c
+3
-1
arch/arm/mach-omap2/board-omap3pandora.c
arch/arm/mach-omap2/board-omap3pandora.c
+2
-1
arch/arm/mach-omap2/board-overo.c
arch/arm/mach-omap2/board-overo.c
+2
-1
arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h
arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h
+55
-0
arch/arm/mach-omap2/sdram-qimonda-hyb18m512160af-6.h
arch/arm/mach-omap2/sdram-qimonda-hyb18m512160af-6.h
+54
-0
arch/arm/mach-omap2/serial.c
arch/arm/mach-omap2/serial.c
+14
-19
arch/arm/plat-omap/include/mach/keypad.h
arch/arm/plat-omap/include/mach/keypad.h
+4
-0
arch/arm/plat-omap/include/mach/omap34xx.h
arch/arm/plat-omap/include/mach/omap34xx.h
+0
-4
未找到文件。
arch/arm/mach-omap2/board-3430sdp.c
浏览文件 @
970a724d
...
...
@@ -41,6 +41,7 @@
#include <mach/keypad.h>
#include <mach/gpmc-smc91x.h>
#include "sdram-qimonda-hyb18m512160af-6.h"
#include "mmc-twl4030.h"
#define CONFIG_DISABLE_HFCLK 1
...
...
@@ -168,7 +169,7 @@ static struct platform_device *sdp3430_devices[] __initdata = {
static
void
__init
omap_3430sdp_init_irq
(
void
)
{
omap2_init_common_hw
(
NULL
);
omap2_init_common_hw
(
hyb18m512160af6_sdrc_params
);
omap_init_irq
();
omap_gpio_init
();
}
...
...
arch/arm/mach-omap2/board-ldp.c
浏览文件 @
970a724d
...
...
@@ -16,11 +16,13 @@
#include <linux/platform_device.h>
#include <linux/delay.h>
#include <linux/input.h>
#include <linux/gpio_keys.h>
#include <linux/workqueue.h>
#include <linux/err.h>
#include <linux/clk.h>
#include <linux/spi/spi.h>
#include <linux/spi/ads7846.h>
#include <linux/regulator/machine.h>
#include <linux/i2c/twl4030.h>
#include <linux/io.h>
#include <linux/smsc911x.h>
...
...
@@ -39,6 +41,7 @@
#include <asm/delay.h>
#include <mach/control.h>
#include <mach/usb.h>
#include <mach/keypad.h>
#include "mmc-twl4030.h"
...
...
@@ -77,8 +80,163 @@ static struct platform_device ldp_smsc911x_device = {
},
};
static
struct
platform_device
*
ldp_devices
[]
__initdata
=
{
&
ldp_smsc911x_device
,
static
int
ldp_twl4030_keymap
[]
=
{
KEY
(
0
,
0
,
KEY_1
),
KEY
(
1
,
0
,
KEY_2
),
KEY
(
2
,
0
,
KEY_3
),
KEY
(
0
,
1
,
KEY_4
),
KEY
(
1
,
1
,
KEY_5
),
KEY
(
2
,
1
,
KEY_6
),
KEY
(
3
,
1
,
KEY_F5
),
KEY
(
0
,
2
,
KEY_7
),
KEY
(
1
,
2
,
KEY_8
),
KEY
(
2
,
2
,
KEY_9
),
KEY
(
3
,
2
,
KEY_F6
),
KEY
(
0
,
3
,
KEY_F7
),
KEY
(
1
,
3
,
KEY_0
),
KEY
(
2
,
3
,
KEY_F8
),
PERSISTENT_KEY
(
4
,
5
),
KEY
(
4
,
4
,
KEY_VOLUMEUP
),
KEY
(
5
,
5
,
KEY_VOLUMEDOWN
),
0
};
static
struct
twl4030_keypad_data
ldp_kp_twl4030_data
=
{
.
rows
=
6
,
.
cols
=
6
,
.
keymap
=
ldp_twl4030_keymap
,
.
keymapsize
=
ARRAY_SIZE
(
ldp_twl4030_keymap
),
.
rep
=
1
,
};
static
struct
gpio_keys_button
ldp_gpio_keys_buttons
[]
=
{
[
0
]
=
{
.
code
=
KEY_ENTER
,
.
gpio
=
101
,
.
desc
=
"enter sw"
,
.
active_low
=
1
,
.
debounce_interval
=
30
,
},
[
1
]
=
{
.
code
=
KEY_F1
,
.
gpio
=
102
,
.
desc
=
"func 1"
,
.
active_low
=
1
,
.
debounce_interval
=
30
,
},
[
2
]
=
{
.
code
=
KEY_F2
,
.
gpio
=
103
,
.
desc
=
"func 2"
,
.
active_low
=
1
,
.
debounce_interval
=
30
,
},
[
3
]
=
{
.
code
=
KEY_F3
,
.
gpio
=
104
,
.
desc
=
"func 3"
,
.
active_low
=
1
,
.
debounce_interval
=
30
,
},
[
4
]
=
{
.
code
=
KEY_F4
,
.
gpio
=
105
,
.
desc
=
"func 4"
,
.
active_low
=
1
,
.
debounce_interval
=
30
,
},
[
5
]
=
{
.
code
=
KEY_LEFT
,
.
gpio
=
106
,
.
desc
=
"left sw"
,
.
active_low
=
1
,
.
debounce_interval
=
30
,
},
[
6
]
=
{
.
code
=
KEY_RIGHT
,
.
gpio
=
107
,
.
desc
=
"right sw"
,
.
active_low
=
1
,
.
debounce_interval
=
30
,
},
[
7
]
=
{
.
code
=
KEY_UP
,
.
gpio
=
108
,
.
desc
=
"up sw"
,
.
active_low
=
1
,
.
debounce_interval
=
30
,
},
[
8
]
=
{
.
code
=
KEY_DOWN
,
.
gpio
=
109
,
.
desc
=
"down sw"
,
.
active_low
=
1
,
.
debounce_interval
=
30
,
},
};
static
struct
gpio_keys_platform_data
ldp_gpio_keys
=
{
.
buttons
=
ldp_gpio_keys_buttons
,
.
nbuttons
=
ARRAY_SIZE
(
ldp_gpio_keys_buttons
),
.
rep
=
1
,
};
static
struct
platform_device
ldp_gpio_keys_device
=
{
.
name
=
"gpio-keys"
,
.
id
=
-
1
,
.
dev
=
{
.
platform_data
=
&
ldp_gpio_keys
,
},
};
static
int
ts_gpio
;
/**
* @brief ads7846_dev_init : Requests & sets GPIO line for pen-irq
*
* @return - void. If request gpio fails then Flag KERN_ERR.
*/
static
void
ads7846_dev_init
(
void
)
{
if
(
gpio_request
(
ts_gpio
,
"ads7846 irq"
)
<
0
)
{
printk
(
KERN_ERR
"can't get ads746 pen down GPIO
\n
"
);
return
;
}
gpio_direction_input
(
ts_gpio
);
omap_set_gpio_debounce
(
ts_gpio
,
1
);
omap_set_gpio_debounce_time
(
ts_gpio
,
0xa
);
}
static
int
ads7846_get_pendown_state
(
void
)
{
return
!
gpio_get_value
(
ts_gpio
);
}
static
struct
ads7846_platform_data
tsc2046_config
__initdata
=
{
.
get_pendown_state
=
ads7846_get_pendown_state
,
.
keep_vref_on
=
1
,
};
static
struct
omap2_mcspi_device_config
tsc2046_mcspi_config
=
{
.
turbo_mode
=
0
,
.
single_channel
=
1
,
/* 0: slave, 1: master */
};
static
struct
spi_board_info
ldp_spi_board_info
[]
__initdata
=
{
[
0
]
=
{
/*
* TSC2046 operates at a max freqency of 2MHz, so
* operate slightly below at 1.5MHz
*/
.
modalias
=
"ads7846"
,
.
bus_num
=
1
,
.
chip_select
=
0
,
.
max_speed_hz
=
1500000
,
.
controller_data
=
&
tsc2046_mcspi_config
,
.
irq
=
0
,
.
platform_data
=
&
tsc2046_config
,
},
};
static
inline
void
__init
ldp_init_smsc911x
(
void
)
...
...
@@ -122,8 +280,22 @@ static struct omap_uart_config ldp_uart_config __initdata = {
.
enabled_uarts
=
((
1
<<
0
)
|
(
1
<<
1
)
|
(
1
<<
2
)),
};
static
struct
platform_device
ldp_lcd_device
=
{
.
name
=
"ldp_lcd"
,
.
id
=
-
1
,
};
static
struct
omap_lcd_config
ldp_lcd_config
__initdata
=
{
.
ctrl_name
=
"internal"
,
};
static
struct
omap_board_config_kernel
ldp_config
[]
__initdata
=
{
{
OMAP_TAG_UART
,
&
ldp_uart_config
},
{
OMAP_TAG_LCD
,
&
ldp_lcd_config
},
};
static
struct
twl4030_usb_data
ldp_usb_data
=
{
.
usb_mode
=
T2_USB_MODE_ULPI
,
};
static
struct
twl4030_gpio_platform_data
ldp_gpio_data
=
{
...
...
@@ -132,12 +304,39 @@ static struct twl4030_gpio_platform_data ldp_gpio_data = {
.
irq_end
=
TWL4030_GPIO_IRQ_END
,
};
static
struct
twl4030_madc_platform_data
ldp_madc_data
=
{
.
irq_line
=
1
,
};
static
struct
regulator_consumer_supply
ldp_vmmc1_supply
=
{
.
supply
=
"vmmc"
,
};
/* VMMC1 for MMC1 pins CMD, CLK, DAT0..DAT3 (20 mA, plus card == max 220 mA) */
static
struct
regulator_init_data
ldp_vmmc1
=
{
.
constraints
=
{
.
min_uV
=
1850000
,
.
max_uV
=
3150000
,
.
valid_modes_mask
=
REGULATOR_MODE_NORMAL
|
REGULATOR_MODE_STANDBY
,
.
valid_ops_mask
=
REGULATOR_CHANGE_VOLTAGE
|
REGULATOR_CHANGE_MODE
|
REGULATOR_CHANGE_STATUS
,
},
.
num_consumer_supplies
=
1
,
.
consumer_supplies
=
&
ldp_vmmc1_supply
,
};
static
struct
twl4030_platform_data
ldp_twldata
=
{
.
irq_base
=
TWL4030_IRQ_BASE
,
.
irq_end
=
TWL4030_IRQ_END
,
/* platform_data for children goes here */
.
madc
=
&
ldp_madc_data
,
.
usb
=
&
ldp_usb_data
,
.
vmmc1
=
&
ldp_vmmc1
,
.
gpio
=
&
ldp_gpio_data
,
.
keypad
=
&
ldp_kp_twl4030_data
,
};
static
struct
i2c_board_info
__initdata
ldp_i2c_boardinfo
[]
=
{
...
...
@@ -168,15 +367,29 @@ static struct twl4030_hsmmc_info mmc[] __initdata = {
{}
/* Terminator */
};
static
struct
platform_device
*
ldp_devices
[]
__initdata
=
{
&
ldp_smsc911x_device
,
&
ldp_lcd_device
,
&
ldp_gpio_keys_device
,
};
static
void
__init
omap_ldp_init
(
void
)
{
omap_i2c_init
();
platform_add_devices
(
ldp_devices
,
ARRAY_SIZE
(
ldp_devices
));
omap_board_config
=
ldp_config
;
omap_board_config_size
=
ARRAY_SIZE
(
ldp_config
);
ts_gpio
=
54
;
ldp_spi_board_info
[
0
].
irq
=
gpio_to_irq
(
ts_gpio
);
spi_register_board_info
(
ldp_spi_board_info
,
ARRAY_SIZE
(
ldp_spi_board_info
));
ads7846_dev_init
();
omap_serial_init
();
twl4030_mmc_init
(
mmc
);
usb_musb_init
();
twl4030_mmc_init
(
mmc
);
/* link regulators to MMC adapters */
ldp_vmmc1_supply
.
dev
=
mmc
[
0
].
dev
;
}
static
void
__init
omap_ldp_map_io
(
void
)
...
...
arch/arm/mach-omap2/board-omap3beagle.c
浏览文件 @
970a724d
...
...
@@ -105,6 +105,8 @@ static struct platform_device omap3beagle_nand_device = {
.
resource
=
&
omap3beagle_nand_resource
,
};
#include "sdram-micron-mt46h32m32lf-6.h"
static
struct
omap_uart_config
omap3_beagle_uart_config
__initdata
=
{
.
enabled_uarts
=
((
1
<<
0
)
|
(
1
<<
1
)
|
(
1
<<
2
)),
};
...
...
@@ -185,7 +187,7 @@ static int __init omap3_beagle_i2c_init(void)
static
void
__init
omap3_beagle_init_irq
(
void
)
{
omap2_init_common_hw
(
NULL
);
omap2_init_common_hw
(
mt46h32m32lf6_sdrc_params
);
omap_init_irq
();
#ifdef CONFIG_OMAP_32K_TIMER
omap2_gp_clockevent_set_gptimer
(
12
);
...
...
arch/arm/mach-omap2/board-omap3pandora.c
浏览文件 @
970a724d
...
...
@@ -36,6 +36,7 @@
#include <mach/mcspi.h>
#include <mach/usb.h>
#include "sdram-micron-mt46h32m32lf-6.h"
#include "mmc-twl4030.h"
#define OMAP3_PANDORA_TS_GPIO 94
...
...
@@ -118,7 +119,7 @@ static int __init omap3pandora_i2c_init(void)
static
void
__init
omap3pandora_init_irq
(
void
)
{
omap2_init_common_hw
(
NULL
);
omap2_init_common_hw
(
mt46h32m32lf6_sdrc_params
);
omap_init_irq
();
omap_gpio_init
();
}
...
...
arch/arm/mach-omap2/board-overo.c
浏览文件 @
970a724d
...
...
@@ -45,6 +45,7 @@
#include <mach/nand.h>
#include <mach/usb.h>
#include "sdram-micron-mt46h32m32lf-6.h"
#include "mmc-twl4030.h"
#define OVERO_GPIO_BT_XGATE 15
...
...
@@ -303,7 +304,7 @@ static int __init overo_i2c_init(void)
static
void
__init
overo_init_irq
(
void
)
{
omap2_init_common_hw
(
NULL
);
omap2_init_common_hw
(
mt46h32m32lf6_sdrc_params
);
omap_init_irq
();
omap_gpio_init
();
}
...
...
arch/arm/mach-omap2/sdram-micron-mt46h32m32lf-6.h
0 → 100644
浏览文件 @
970a724d
/*
* SDRC register values for the Micron MT46H32M32LF-6
*
* Copyright (C) 2008 Texas Instruments, Inc.
* Copyright (C) 2008-2009 Nokia Corporation
*
* Paul Walmsley
*
* 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.
*/
#ifndef ARCH_ARM_MACH_OMAP2_SDRAM_MICRON_MT46H32M32LF
#define ARCH_ARM_MACH_OMAP2_SDRAM_MICRON_MT46H32M32LF
#include <mach/sdrc.h>
/* Micron MT46H32M32LF-6 */
/* XXX Using ARE = 0x1 (no autorefresh burst) -- can this be changed? */
static
struct
omap_sdrc_params
mt46h32m32lf6_sdrc_params
[]
=
{
[
0
]
=
{
.
rate
=
166000000
,
.
actim_ctrla
=
0x9a9db4c6
,
.
actim_ctrlb
=
0x00011217
,
.
rfr_ctrl
=
0x0004dc01
,
.
mr
=
0x00000032
,
},
[
1
]
=
{
.
rate
=
165941176
,
.
actim_ctrla
=
0x9a9db4c6
,
.
actim_ctrlb
=
0x00011217
,
.
rfr_ctrl
=
0x0004dc01
,
.
mr
=
0x00000032
,
},
[
2
]
=
{
.
rate
=
83000000
,
.
actim_ctrla
=
0x51512283
,
.
actim_ctrlb
=
0x0001120c
,
.
rfr_ctrl
=
0x00025501
,
.
mr
=
0x00000032
,
},
[
3
]
=
{
.
rate
=
82970588
,
.
actim_ctrla
=
0x51512283
,
.
actim_ctrlb
=
0x0001120c
,
.
rfr_ctrl
=
0x00025501
,
.
mr
=
0x00000032
,
},
[
4
]
=
{
.
rate
=
0
},
};
#endif
arch/arm/mach-omap2/sdram-qimonda-hyb18m512160af-6.h
0 → 100644
浏览文件 @
970a724d
/*
* SDRC register values for the Qimonda HYB18M512160AF-6
*
* Copyright (C) 2008-2009 Texas Instruments, Inc.
* Copyright (C) 2008-2009 Nokia Corporation
*
* Paul Walmsley
*
* 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.
*/
#ifndef ARCH_ARM_MACH_OMAP2_SDRAM_QIMONDA_HYB18M512160AF6
#define ARCH_ARM_MACH_OMAP2_SDRAM_QIMONDA_HYB18M512160AF6
#include <mach/sdrc.h>
/* Qimonda HYB18M512160AF-6 */
static
struct
omap_sdrc_params
hyb18m512160af6_sdrc_params
[]
=
{
[
0
]
=
{
.
rate
=
166000000
,
.
actim_ctrla
=
0x629db4c6
,
.
actim_ctrlb
=
0x00012214
,
.
rfr_ctrl
=
0x0004dc01
,
.
mr
=
0x00000032
,
},
[
1
]
=
{
.
rate
=
165941176
,
.
actim_ctrla
=
0x629db4c6
,
.
actim_ctrlb
=
0x00012214
,
.
rfr_ctrl
=
0x0004dc01
,
.
mr
=
0x00000032
,
},
[
2
]
=
{
.
rate
=
83000000
,
.
actim_ctrla
=
0x31512283
,
.
actim_ctrlb
=
0x0001220a
,
.
rfr_ctrl
=
0x00025501
,
.
mr
=
0x00000022
,
},
[
3
]
=
{
.
rate
=
82970588
,
.
actim_ctrla
=
0x31512283
,
.
actim_ctrlb
=
0x0001220a
,
.
rfr_ctrl
=
0x00025501
,
.
mr
=
0x00000022
,
},
[
4
]
=
{
.
rate
=
0
},
};
#endif
arch/arm/mach-omap2/serial.c
浏览文件 @
970a724d
...
...
@@ -469,9 +469,17 @@ static struct kobj_attribute sleep_timeout_attr =
static
inline
void
omap_uart_idle_init
(
struct
omap_uart_state
*
uart
)
{}
#endif
/* CONFIG_PM */
static
struct
platform_device
serial_device
=
{
.
name
=
"serial8250"
,
.
id
=
PLAT8250_DEV_PLATFORM
,
.
dev
=
{
.
platform_data
=
serial_platform_data
,
},
};
void
__init
omap_serial_init
(
void
)
{
int
i
;
int
i
,
err
;
const
struct
omap_uart_config
*
info
;
char
name
[
16
];
...
...
@@ -522,27 +530,14 @@ void __init omap_serial_init(void)
omap_uart_reset
(
uart
);
omap_uart_idle_init
(
uart
);
}
}
static
struct
platform_device
serial_device
=
{
.
name
=
"serial8250"
,
.
id
=
PLAT8250_DEV_PLATFORM
,
.
dev
=
{
.
platform_data
=
serial_platform_data
,
},
};
static
int
__init
omap_init
(
void
)
{
int
ret
;
ret
=
platform_device_register
(
&
serial_device
);
err
=
platform_device_register
(
&
serial_device
);
#ifdef CONFIG_PM
if
(
!
ret
)
ret
=
sysfs_create_file
(
&
serial_device
.
dev
.
kobj
,
if
(
!
err
)
err
=
sysfs_create_file
(
&
serial_device
.
dev
.
kobj
,
&
sleep_timeout_attr
.
attr
);
#endif
return
ret
;
}
arch_initcall
(
omap_init
);
arch/arm/plat-omap/include/mach/keypad.h
浏览文件 @
970a724d
...
...
@@ -33,7 +33,11 @@ struct omap_kp_platform_data {
#define GROUP_3 (3 << 16)
#define GROUP_MASK GROUP_3
#define KEY_PERSISTENT 0x00800000
#define KEYNUM_MASK 0x00EFFFFF
#define KEY(col, row, val) (((col) << 28) | ((row) << 24) | (val))
#define PERSISTENT_KEY(col, row) (((col) << 28) | ((row) << 24) | \
KEY_PERSISTENT)
#endif
arch/arm/plat-omap/include/mach/omap34xx.h
浏览文件 @
970a724d
...
...
@@ -31,13 +31,9 @@
#define L4_34XX_BASE 0x48000000
#define L4_WK_34XX_BASE 0x48300000
#define L4_WK_OMAP_BASE L4_WK_34XX_BASE
#define L4_PER_34XX_BASE 0x49000000
#define L4_PER_OMAP_BASE L4_PER_34XX_BASE
#define L4_EMU_34XX_BASE 0x54000000
#define L4_EMU_BASE L4_EMU_34XX_BASE
#define L3_34XX_BASE 0x68000000
#define L3_OMAP_BASE L3_34XX_BASE
#define OMAP3430_32KSYNCT_BASE 0x48320000
#define OMAP3430_CM_BASE 0x48004800
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录