Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
b70c4207
K
Kernel
项目概览
openeuler
/
Kernel
大约 2 年 前同步成功
通知
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看板
提交
b70c4207
编写于
11月 24, 2011
作者:
A
Arnd Bergmann
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'fixes' of
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap
into fixes
上级
597b97ca
52f3a41e
变更
16
显示空白变更内容
内联
并排
Showing
16 changed file
with
70 addition
and
42 deletion
+70
-42
arch/arm/configs/omap1_defconfig
arch/arm/configs/omap1_defconfig
+0
-1
arch/arm/mach-omap1/Kconfig
arch/arm/mach-omap1/Kconfig
+0
-8
arch/arm/mach-omap1/board-ams-delta.c
arch/arm/mach-omap1/board-ams-delta.c
+7
-3
arch/arm/mach-omap1/clock.h
arch/arm/mach-omap1/clock.h
+2
-1
arch/arm/mach-omap1/clock_data.c
arch/arm/mach-omap1/clock_data.c
+34
-19
arch/arm/mach-omap1/devices.c
arch/arm/mach-omap1/devices.c
+3
-0
arch/arm/mach-omap2/Kconfig
arch/arm/mach-omap2/Kconfig
+1
-0
arch/arm/mach-omap2/cpuidle34xx.c
arch/arm/mach-omap2/cpuidle34xx.c
+1
-0
arch/arm/mach-omap2/io.h
arch/arm/mach-omap2/io.h
+0
-0
arch/arm/mach-omap2/omap_hwmod.c
arch/arm/mach-omap2/omap_hwmod.c
+3
-3
arch/arm/mach-omap2/omap_l3_noc.c
arch/arm/mach-omap2/omap_l3_noc.c
+1
-1
arch/arm/mach-omap2/pm.c
arch/arm/mach-omap2/pm.c
+2
-4
arch/arm/mach-omap2/smartreflex.c
arch/arm/mach-omap2/smartreflex.c
+1
-1
arch/arm/mach-omap2/twl-common.c
arch/arm/mach-omap2/twl-common.c
+11
-0
arch/arm/mach-omap2/twl-common.h
arch/arm/mach-omap2/twl-common.h
+3
-0
arch/arm/plat-omap/include/plat/clock.h
arch/arm/plat-omap/include/plat/clock.h
+1
-1
未找到文件。
arch/arm/configs/omap1_defconfig
浏览文件 @
b70c4207
...
...
@@ -48,7 +48,6 @@ CONFIG_MACH_SX1=y
CONFIG_MACH_NOKIA770=y
CONFIG_MACH_AMS_DELTA=y
CONFIG_MACH_OMAP_GENERIC=y
CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER=y
CONFIG_OMAP_ARM_216MHZ=y
CONFIG_OMAP_ARM_195MHZ=y
CONFIG_OMAP_ARM_192MHZ=y
...
...
arch/arm/mach-omap1/Kconfig
浏览文件 @
b70c4207
...
...
@@ -171,14 +171,6 @@ config MACH_OMAP_GENERIC
comment "OMAP CPU Speed"
depends on ARCH_OMAP1
config OMAP_CLOCKS_SET_BY_BOOTLOADER
bool "OMAP clocks set by bootloader"
depends on ARCH_OMAP1
help
Enable this option to prevent the kernel from overriding the clock
frequencies programmed by bootloader for MPU, DSP, MMUs, TC,
internal LCD controller and MPU peripherals.
config OMAP_ARM_216MHZ
bool "OMAP ARM 216 MHz CPU (1710 only)"
depends on ARCH_OMAP1 && ARCH_OMAP16XX
...
...
arch/arm/mach-omap1/board-ams-delta.c
浏览文件 @
b70c4207
...
...
@@ -302,8 +302,6 @@ static void __init ams_delta_init(void)
omap_cfg_reg
(
J19_1610_CAM_D6
);
omap_cfg_reg
(
J18_1610_CAM_D7
);
iotable_init
(
ams_delta_io_desc
,
ARRAY_SIZE
(
ams_delta_io_desc
));
omap_board_config
=
ams_delta_config
;
omap_board_config_size
=
ARRAY_SIZE
(
ams_delta_config
);
omap_serial_init
();
...
...
@@ -373,10 +371,16 @@ static int __init ams_delta_modem_init(void)
}
arch_initcall
(
ams_delta_modem_init
);
static
void
__init
ams_delta_map_io
(
void
)
{
omap15xx_map_io
();
iotable_init
(
ams_delta_io_desc
,
ARRAY_SIZE
(
ams_delta_io_desc
));
}
MACHINE_START
(
AMS_DELTA
,
"Amstrad E3 (Delta)"
)
/* Maintainer: Jonathan McDowell <noodles@earth.li> */
.
atag_offset
=
0x100
,
.
map_io
=
omap15xx
_map_io
,
.
map_io
=
ams_delta
_map_io
,
.
init_early
=
omap1_init_early
,
.
reserve
=
omap_reserve
,
.
init_irq
=
omap1_init_irq
,
...
...
arch/arm/mach-omap1/clock.h
浏览文件 @
b70c4207
...
...
@@ -17,7 +17,8 @@
#include <plat/clock.h>
extern
int
__init
omap1_clk_init
(
void
);
int
omap1_clk_init
(
void
);
void
omap1_clk_late_init
(
void
);
extern
int
omap1_clk_enable
(
struct
clk
*
clk
);
extern
void
omap1_clk_disable
(
struct
clk
*
clk
);
extern
long
omap1_clk_round_rate
(
struct
clk
*
clk
,
unsigned
long
rate
);
...
...
arch/arm/mach-omap1/clock_data.c
浏览文件 @
b70c4207
...
...
@@ -767,6 +767,15 @@ static struct clk_functions omap1_clk_functions = {
.
clk_disable_unused
=
omap1_clk_disable_unused
,
};
static
void
__init
omap1_show_rates
(
void
)
{
pr_notice
(
"Clocking rate (xtal/DPLL1/MPU): "
"%ld.%01ld/%ld.%01ld/%ld.%01ld MHz
\n
"
,
ck_ref
.
rate
/
1000000
,
(
ck_ref
.
rate
/
100000
)
%
10
,
ck_dpll1
.
rate
/
1000000
,
(
ck_dpll1
.
rate
/
100000
)
%
10
,
arm_ck
.
rate
/
1000000
,
(
arm_ck
.
rate
/
100000
)
%
10
);
}
int
__init
omap1_clk_init
(
void
)
{
struct
omap_clk
*
c
;
...
...
@@ -835,9 +844,12 @@ int __init omap1_clk_init(void)
/* We want to be in syncronous scalable mode */
omap_writew
(
0x1000
,
ARM_SYSST
);
#ifdef CONFIG_OMAP_CLOCKS_SET_BY_BOOTLOADER
/* Use values set by bootloader. Determine PLL rate and recalculate
* dependent clocks as if kernel had changed PLL or divisors.
/*
* Initially use the values set by bootloader. Determine PLL rate and
* recalculate dependent clocks as if kernel had changed PLL or
* divisors. See also omap1_clk_late_init() that can reprogram dpll1
* after the SRAM is initialized.
*/
{
unsigned
pll_ctl_val
=
omap_readw
(
DPLL_CTL
);
...
...
@@ -862,25 +874,10 @@ int __init omap1_clk_init(void)
}
}
}
#else
/* Find the highest supported frequency and enable it */
if
(
omap1_select_table_rate
(
&
virtual_ck_mpu
,
~
0
))
{
printk
(
KERN_ERR
"System frequencies not set. Check your config.
\n
"
);
/* Guess sane values (60MHz) */
omap_writew
(
0x2290
,
DPLL_CTL
);
omap_writew
(
cpu_is_omap7xx
()
?
0x3005
:
0x1005
,
ARM_CKCTL
);
ck_dpll1
.
rate
=
60000000
;
}
#endif
propagate_rate
(
&
ck_dpll1
);
/* Cache rates for clocks connected to ck_ref (not dpll1) */
propagate_rate
(
&
ck_ref
);
printk
(
KERN_INFO
"Clocking rate (xtal/DPLL1/MPU): "
"%ld.%01ld/%ld.%01ld/%ld.%01ld MHz
\n
"
,
ck_ref
.
rate
/
1000000
,
(
ck_ref
.
rate
/
100000
)
%
10
,
ck_dpll1
.
rate
/
1000000
,
(
ck_dpll1
.
rate
/
100000
)
%
10
,
arm_ck
.
rate
/
1000000
,
(
arm_ck
.
rate
/
100000
)
%
10
);
omap1_show_rates
();
if
(
machine_is_omap_perseus2
()
||
machine_is_omap_fsample
())
{
/* Select slicer output as OMAP input clock */
omap_writew
(
omap_readw
(
OMAP7XX_PCC_UPLD_CTRL
)
&
~
0x1
,
...
...
@@ -925,3 +922,21 @@ int __init omap1_clk_init(void)
return
0
;
}
#define OMAP1_DPLL1_SANE_VALUE 60000000
void
__init
omap1_clk_late_init
(
void
)
{
if
(
ck_dpll1
.
rate
>=
OMAP1_DPLL1_SANE_VALUE
)
return
;
/* Find the highest supported frequency and enable it */
if
(
omap1_select_table_rate
(
&
virtual_ck_mpu
,
~
0
))
{
pr_err
(
"System frequencies not set, using default. Check your config.
\n
"
);
omap_writew
(
0x2290
,
DPLL_CTL
);
omap_writew
(
cpu_is_omap7xx
()
?
0x3005
:
0x1005
,
ARM_CKCTL
);
ck_dpll1
.
rate
=
OMAP1_DPLL1_SANE_VALUE
;
}
propagate_rate
(
&
ck_dpll1
);
omap1_show_rates
();
}
arch/arm/mach-omap1/devices.c
浏览文件 @
b70c4207
...
...
@@ -30,6 +30,8 @@
#include <plat/omap7xx.h>
#include <plat/mcbsp.h>
#include "clock.h"
/*-------------------------------------------------------------------------*/
#if defined(CONFIG_RTC_DRV_OMAP) || defined(CONFIG_RTC_DRV_OMAP_MODULE)
...
...
@@ -293,6 +295,7 @@ static int __init omap1_init_devices(void)
return
-
ENODEV
;
omap_sram_init
();
omap1_clk_late_init
();
/* please keep these calls, and their implementations above,
* in alphabetical order so they're easier to sort through.
...
...
arch/arm/mach-omap2/Kconfig
浏览文件 @
b70c4207
...
...
@@ -334,6 +334,7 @@ config MACH_OMAP4_PANDA
config OMAP3_EMU
bool "OMAP3 debugging peripherals"
depends on ARCH_OMAP3
select ARM_AMBA
select OC_ETM
help
Say Y here to enable debugging hardware of omap3
...
...
arch/arm/mach-omap2/cpuidle34xx.c
浏览文件 @
b70c4207
...
...
@@ -24,6 +24,7 @@
#include <linux/sched.h>
#include <linux/cpuidle.h>
#include <linux/export.h>
#include <plat/prcm.h>
#include <plat/irqs.h>
...
...
arch/arm/mach-omap2/io.h
已删除
100644 → 0
浏览文件 @
597b97ca
arch/arm/mach-omap2/omap_hwmod.c
浏览文件 @
b70c4207
...
...
@@ -749,7 +749,7 @@ static int _count_mpu_irqs(struct omap_hwmod *oh)
ohii
=
&
oh
->
mpu_irqs
[
i
++
];
}
while
(
ohii
->
irq
!=
-
1
);
return
i
;
return
i
-
1
;
}
/**
...
...
@@ -772,7 +772,7 @@ static int _count_sdma_reqs(struct omap_hwmod *oh)
ohdi
=
&
oh
->
sdma_reqs
[
i
++
];
}
while
(
ohdi
->
dma_req
!=
-
1
);
return
i
;
return
i
-
1
;
}
/**
...
...
@@ -795,7 +795,7 @@ static int _count_ocp_if_addr_spaces(struct omap_hwmod_ocp_if *os)
mem
=
&
os
->
addr
[
i
++
];
}
while
(
mem
->
pa_start
!=
mem
->
pa_end
);
return
i
;
return
i
-
1
;
}
/**
...
...
arch/arm/mach-omap2/omap_l3_noc.c
浏览文件 @
b70c4207
...
...
@@ -237,7 +237,7 @@ static int __devexit omap4_l3_remove(struct platform_device *pdev)
static
const
struct
of_device_id
l3_noc_match
[]
=
{
{.
compatible
=
"ti,omap4-l3-noc"
,
},
{},
}
}
;
MODULE_DEVICE_TABLE
(
of
,
l3_noc_match
);
#else
#define l3_noc_match NULL
...
...
arch/arm/mach-omap2/pm.c
浏览文件 @
b70c4207
...
...
@@ -24,6 +24,7 @@
#include "powerdomain.h"
#include "clockdomain.h"
#include "pm.h"
#include "twl-common.h"
static
struct
omap_device_pm_latency
*
pm_lats
;
...
...
@@ -226,11 +227,8 @@ postcore_initcall(omap2_common_pm_init);
static
int
__init
omap2_common_pm_late_init
(
void
)
{
/* Init the OMAP TWL parameters */
omap3_twl_init
();
omap4_twl_init
();
/* Init the voltage layer */
omap_pmic_late_init
();
omap_voltage_late_init
();
/* Initialize the voltages */
...
...
arch/arm/mach-omap2/smartreflex.c
浏览文件 @
b70c4207
...
...
@@ -139,7 +139,7 @@ static irqreturn_t sr_interrupt(int irq, void *data)
sr_write_reg
(
sr_info
,
ERRCONFIG_V1
,
status
);
}
else
if
(
sr_info
->
ip_type
==
SR_TYPE_V2
)
{
/* Read the status bits */
sr_read_reg
(
sr_info
,
IRQSTATUS
);
s
tatus
=
s
r_read_reg
(
sr_info
,
IRQSTATUS
);
/* Clear them by writing back */
sr_write_reg
(
sr_info
,
IRQSTATUS
,
status
);
...
...
arch/arm/mach-omap2/twl-common.c
浏览文件 @
b70c4207
...
...
@@ -30,6 +30,7 @@
#include <plat/usb.h>
#include "twl-common.h"
#include "pm.h"
static
struct
i2c_board_info
__initdata
pmic_i2c_board_info
=
{
.
addr
=
0x48
,
...
...
@@ -48,6 +49,16 @@ void __init omap_pmic_init(int bus, u32 clkrate,
omap_register_i2c_bus
(
bus
,
clkrate
,
&
pmic_i2c_board_info
,
1
);
}
void
__init
omap_pmic_late_init
(
void
)
{
/* Init the OMAP TWL parameters (if PMIC has been registerd) */
if
(
!
pmic_i2c_board_info
.
irq
)
return
;
omap3_twl_init
();
omap4_twl_init
();
}
#if defined(CONFIG_ARCH_OMAP3)
static
struct
twl4030_usb_data
omap3_usb_pdata
=
{
.
usb_mode
=
T2_USB_MODE_ULPI
,
...
...
arch/arm/mach-omap2/twl-common.h
浏览文件 @
b70c4207
#ifndef __OMAP_PMIC_COMMON__
#define __OMAP_PMIC_COMMON__
#include <plat/irqs.h>
#define TWL_COMMON_PDATA_USB (1 << 0)
#define TWL_COMMON_PDATA_BCI (1 << 1)
#define TWL_COMMON_PDATA_MADC (1 << 2)
...
...
@@ -30,6 +32,7 @@ struct twl4030_platform_data;
void
omap_pmic_init
(
int
bus
,
u32
clkrate
,
const
char
*
pmic_type
,
int
pmic_irq
,
struct
twl4030_platform_data
*
pmic_data
);
void
omap_pmic_late_init
(
void
);
static
inline
void
omap2_pmic_init
(
const
char
*
pmic_type
,
struct
twl4030_platform_data
*
pmic_data
)
...
...
arch/arm/plat-omap/include/plat/clock.h
浏览文件 @
b70c4207
...
...
@@ -165,8 +165,8 @@ struct dpll_data {
u8
auto_recal_bit
;
u8
recal_en_bit
;
u8
recal_st_bit
;
u8
flags
;
# endif
u8
flags
;
};
#endif
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录