Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
8ad8ff65
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
8ad8ff65
编写于
1月 19, 2009
作者:
R
Russell King
提交者:
Russell King
2月 08, 2009
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[ARM] omap: convert OMAP2 to use clkdev
Signed-off-by:
N
Russell King
<
rmk+kernel@arm.linux.org.uk
>
上级
d7e8f1f9
变更
4
展开全部
隐藏空白更改
内联
并排
Showing
4 changed file
with
218 addition
and
337 deletion
+218
-337
arch/arm/mach-omap2/clock24xx.c
arch/arm/mach-omap2/clock24xx.c
+183
-14
arch/arm/mach-omap2/clock24xx.h
arch/arm/mach-omap2/clock24xx.h
+33
-320
arch/arm/plat-omap/Kconfig
arch/arm/plat-omap/Kconfig
+1
-0
arch/arm/plat-omap/include/mach/clock.h
arch/arm/plat-omap/include/mach/clock.h
+1
-3
未找到文件。
arch/arm/mach-omap2/clock24xx.c
浏览文件 @
8ad8ff65
...
...
@@ -31,6 +31,7 @@
#include <mach/clock.h>
#include <mach/sram.h>
#include <asm/div64.h>
#include <asm/clkdev.h>
#include "memory.h"
#include "clock.h"
...
...
@@ -44,6 +45,177 @@ static const struct clkops clkops_fixed;
#include "clock24xx.h"
struct
omap_clk
{
u32
cpu
;
struct
clk_lookup
lk
;
};
#define CLK(dev, con, ck, cp) \
{ \
.cpu = cp, \
.lk = { \
.dev_id = dev, \
.con_id = con, \
.clk = ck, \
}, \
}
#define CK_243X (1 << 0)
#define CK_242X (1 << 1)
static
struct
omap_clk
omap24xx_clks
[]
=
{
/* external root sources */
CLK
(
NULL
,
"func_32k_ck"
,
&
func_32k_ck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"osc_ck"
,
&
osc_ck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"sys_ck"
,
&
sys_ck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"alt_ck"
,
&
alt_ck
,
CK_243X
|
CK_242X
),
/* internal analog sources */
CLK
(
NULL
,
"dpll_ck"
,
&
dpll_ck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"apll96_ck"
,
&
apll96_ck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"apll54_ck"
,
&
apll54_ck
,
CK_243X
|
CK_242X
),
/* internal prcm root sources */
CLK
(
NULL
,
"func_54m_ck"
,
&
func_54m_ck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"core_ck"
,
&
core_ck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"func_96m_ck"
,
&
func_96m_ck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"func_48m_ck"
,
&
func_48m_ck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"func_12m_ck"
,
&
func_12m_ck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"ck_wdt1_osc"
,
&
wdt1_osc_ck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"sys_clkout_src"
,
&
sys_clkout_src
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"sys_clkout"
,
&
sys_clkout
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"sys_clkout2_src"
,
&
sys_clkout2_src
,
CK_242X
),
CLK
(
NULL
,
"sys_clkout2"
,
&
sys_clkout2
,
CK_242X
),
CLK
(
NULL
,
"emul_ck"
,
&
emul_ck
,
CK_242X
),
/* mpu domain clocks */
CLK
(
NULL
,
"mpu_ck"
,
&
mpu_ck
,
CK_243X
|
CK_242X
),
/* dsp domain clocks */
CLK
(
NULL
,
"dsp_fck"
,
&
dsp_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"dsp_irate_ick"
,
&
dsp_irate_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"dsp_ick"
,
&
dsp_ick
,
CK_242X
),
CLK
(
NULL
,
"iva2_1_ick"
,
&
iva2_1_ick
,
CK_243X
),
CLK
(
NULL
,
"iva1_ifck"
,
&
iva1_ifck
,
CK_242X
),
CLK
(
NULL
,
"iva1_mpu_int_ifck"
,
&
iva1_mpu_int_ifck
,
CK_242X
),
/* GFX domain clocks */
CLK
(
NULL
,
"gfx_3d_fck"
,
&
gfx_3d_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gfx_2d_fck"
,
&
gfx_2d_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gfx_ick"
,
&
gfx_ick
,
CK_243X
|
CK_242X
),
/* Modem domain clocks */
CLK
(
NULL
,
"mdm_ick"
,
&
mdm_ick
,
CK_243X
),
CLK
(
NULL
,
"mdm_osc_ck"
,
&
mdm_osc_ck
,
CK_243X
),
/* DSS domain clocks */
CLK
(
NULL
,
"dss_ick"
,
&
dss_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"dss1_fck"
,
&
dss1_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"dss2_fck"
,
&
dss2_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"dss_54m_fck"
,
&
dss_54m_fck
,
CK_243X
|
CK_242X
),
/* L3 domain clocks */
CLK
(
NULL
,
"core_l3_ck"
,
&
core_l3_ck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"ssi_fck"
,
&
ssi_ssr_sst_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"usb_l4_ick"
,
&
usb_l4_ick
,
CK_243X
|
CK_242X
),
/* L4 domain clocks */
CLK
(
NULL
,
"l4_ck"
,
&
l4_ck
,
CK_243X
|
CK_242X
),
/* virtual meta-group clock */
CLK
(
NULL
,
"virt_prcm_set"
,
&
virt_prcm_set
,
CK_243X
|
CK_242X
),
/* general l4 interface ck, multi-parent functional clk */
CLK
(
NULL
,
"gpt1_ick"
,
&
gpt1_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt1_fck"
,
&
gpt1_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt2_ick"
,
&
gpt2_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt2_fck"
,
&
gpt2_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt3_ick"
,
&
gpt3_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt3_fck"
,
&
gpt3_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt4_ick"
,
&
gpt4_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt4_fck"
,
&
gpt4_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt5_ick"
,
&
gpt5_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt5_fck"
,
&
gpt5_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt6_ick"
,
&
gpt6_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt6_fck"
,
&
gpt6_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt7_ick"
,
&
gpt7_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt7_fck"
,
&
gpt7_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt8_ick"
,
&
gpt8_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt8_fck"
,
&
gpt8_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt9_ick"
,
&
gpt9_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt9_fck"
,
&
gpt9_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt10_ick"
,
&
gpt10_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt10_fck"
,
&
gpt10_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt11_ick"
,
&
gpt11_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt11_fck"
,
&
gpt11_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt12_ick"
,
&
gpt12_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpt12_fck"
,
&
gpt12_fck
,
CK_243X
|
CK_242X
),
CLK
(
"omap-mcbsp.1"
,
"mcbsp_ick"
,
&
mcbsp1_ick
,
CK_243X
|
CK_242X
),
CLK
(
"omap-mcbsp.1"
,
"mcbsp_fck"
,
&
mcbsp1_fck
,
CK_243X
|
CK_242X
),
CLK
(
"omap-mcbsp.2"
,
"mcbsp_ick"
,
&
mcbsp2_ick
,
CK_243X
|
CK_242X
),
CLK
(
"omap-mcbsp.2"
,
"mcbsp_fck"
,
&
mcbsp2_fck
,
CK_243X
|
CK_242X
),
CLK
(
"omap-mcbsp.3"
,
"mcbsp_ick"
,
&
mcbsp3_ick
,
CK_243X
),
CLK
(
"omap-mcbsp.3"
,
"mcbsp_fck"
,
&
mcbsp3_fck
,
CK_243X
),
CLK
(
"omap-mcbsp.4"
,
"mcbsp_ick"
,
&
mcbsp4_ick
,
CK_243X
),
CLK
(
"omap-mcbsp.4"
,
"mcbsp_fck"
,
&
mcbsp4_fck
,
CK_243X
),
CLK
(
"omap-mcbsp.5"
,
"mcbsp_ick"
,
&
mcbsp5_ick
,
CK_243X
),
CLK
(
"omap-mcbsp.5"
,
"mcbsp_fck"
,
&
mcbsp5_fck
,
CK_243X
),
CLK
(
"omap2_mcspi.1"
,
"mcspi_ick"
,
&
mcspi1_ick
,
CK_243X
|
CK_242X
),
CLK
(
"omap2_mcspi.1"
,
"mcspi_fck"
,
&
mcspi1_fck
,
CK_243X
|
CK_242X
),
CLK
(
"omap2_mcspi.2"
,
"mcspi_ick"
,
&
mcspi2_ick
,
CK_243X
|
CK_242X
),
CLK
(
"omap2_mcspi.2"
,
"mcspi_fck"
,
&
mcspi2_fck
,
CK_243X
|
CK_242X
),
CLK
(
"omap2_mcspi.3"
,
"mcspi_ick"
,
&
mcspi3_ick
,
CK_243X
),
CLK
(
"omap2_mcspi.3"
,
"mcspi_fck"
,
&
mcspi3_fck
,
CK_243X
),
CLK
(
NULL
,
"uart1_ick"
,
&
uart1_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"uart1_fck"
,
&
uart1_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"uart2_ick"
,
&
uart2_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"uart2_fck"
,
&
uart2_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"uart3_ick"
,
&
uart3_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"uart3_fck"
,
&
uart3_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpios_ick"
,
&
gpios_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"gpios_fck"
,
&
gpios_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"mpu_wdt_ick"
,
&
mpu_wdt_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"mpu_wdt_fck"
,
&
mpu_wdt_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"sync_32k_ick"
,
&
sync_32k_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"wdt1_ick"
,
&
wdt1_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"omapctrl_ick"
,
&
omapctrl_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"icr_ick"
,
&
icr_ick
,
CK_243X
),
CLK
(
NULL
,
"cam_fck"
,
&
cam_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"cam_ick"
,
&
cam_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"mailboxes_ick"
,
&
mailboxes_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"wdt4_ick"
,
&
wdt4_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"wdt4_fck"
,
&
wdt4_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"wdt3_ick"
,
&
wdt3_ick
,
CK_242X
),
CLK
(
NULL
,
"wdt3_fck"
,
&
wdt3_fck
,
CK_242X
),
CLK
(
NULL
,
"mspro_ick"
,
&
mspro_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"mspro_fck"
,
&
mspro_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"mmc_ick"
,
&
mmc_ick
,
CK_242X
),
CLK
(
NULL
,
"mmc_fck"
,
&
mmc_fck
,
CK_242X
),
CLK
(
NULL
,
"fac_ick"
,
&
fac_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"fac_fck"
,
&
fac_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"eac_ick"
,
&
eac_ick
,
CK_242X
),
CLK
(
NULL
,
"eac_fck"
,
&
eac_fck
,
CK_242X
),
CLK
(
NULL
,
"hdq_ick"
,
&
hdq_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"hdq_fck"
,
&
hdq_fck
,
CK_243X
|
CK_242X
),
CLK
(
"i2c_omap.1"
,
"i2c_ick"
,
&
i2c1_ick
,
CK_243X
|
CK_242X
),
CLK
(
"i2c_omap.1"
,
"i2c_fck"
,
&
i2c1_fck
,
CK_242X
),
CLK
(
"i2c_omap.1"
,
"i2c_fck"
,
&
i2chs1_fck
,
CK_243X
),
CLK
(
"i2c_omap.2"
,
"i2c_ick"
,
&
i2c2_ick
,
CK_243X
|
CK_242X
),
CLK
(
"i2c_omap.2"
,
"i2c_fck"
,
&
i2c2_fck
,
CK_242X
),
CLK
(
"i2c_omap.2"
,
"i2c_fck"
,
&
i2chs2_fck
,
CK_243X
),
CLK
(
NULL
,
"gpmc_fck"
,
&
gpmc_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"sdma_fck"
,
&
sdma_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"sdma_ick"
,
&
sdma_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"vlynq_ick"
,
&
vlynq_ick
,
CK_242X
),
CLK
(
NULL
,
"vlynq_fck"
,
&
vlynq_fck
,
CK_242X
),
CLK
(
NULL
,
"sdrc_ick"
,
&
sdrc_ick
,
CK_243X
),
CLK
(
NULL
,
"des_ick"
,
&
des_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"sha_ick"
,
&
sha_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"rng_ick"
,
&
rng_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"aes_ick"
,
&
aes_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"pka_ick"
,
&
pka_ick
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"usb_fck"
,
&
usb_fck
,
CK_243X
|
CK_242X
),
CLK
(
NULL
,
"usbhs_ick"
,
&
usbhs_ick
,
CK_243X
),
CLK
(
"mmci-omap-hs.0"
,
"mmchs_ick"
,
&
mmchs1_ick
,
CK_243X
),
CLK
(
"mmci-omap-hs.0"
,
"mmchs_fck"
,
&
mmchs1_fck
,
CK_243X
),
CLK
(
"mmci-omap-hs.1"
,
"mmchs_ick"
,
&
mmchs2_ick
,
CK_243X
),
CLK
(
"mmci-omap-hs.1"
,
"mmchs_fck"
,
&
mmchs2_fck
,
CK_243X
),
CLK
(
NULL
,
"gpio5_ick"
,
&
gpio5_ick
,
CK_243X
),
CLK
(
NULL
,
"gpio5_fck"
,
&
gpio5_fck
,
CK_243X
),
CLK
(
NULL
,
"mdm_intc_ick"
,
&
mdm_intc_ick
,
CK_243X
),
CLK
(
"mmci-omap-hs.0"
,
"mmchsdb_fck"
,
&
mmchsdb1_fck
,
CK_243X
),
CLK
(
"mmci-omap-hs.1"
,
"mmchsdb_fck"
,
&
mmchsdb2_fck
,
CK_243X
),
};
/* CM_CLKEN_PLL.EN_{54,96}M_PLL options (24XX) */
#define EN_APLL_STOPPED 0
#define EN_APLL_LOCKED 3
...
...
@@ -487,8 +659,8 @@ arch_initcall(omap2_clk_arch_init);
int
__init
omap2_clk_init
(
void
)
{
struct
prcm_config
*
prcm
;
struct
clk
**
clkp
;
u32
clkrate
;
struct
omap_clk
*
c
;
u32
clkrate
,
cpu_mask
;
if
(
cpu_is_omap242x
())
cpu_mask
=
RATE_IN_242X
;
...
...
@@ -502,21 +674,18 @@ int __init omap2_clk_init(void)
omap2_sys_clk_recalc
(
&
sys_ck
);
propagate_rate
(
&
sys_ck
);
for
(
clkp
=
onchip_24xx_clks
;
clkp
<
onchip_24xx_clks
+
ARRAY_SIZE
(
onchip_24xx_clks
);
clkp
++
)
{
cpu_mask
=
0
;
if
(
cpu_is_omap2420
())
cpu_mask
|=
CK_242X
;
if
(
cpu_is_omap2430
())
cpu_mask
|=
CK_243X
;
if
((
*
clkp
)
->
flags
&
CLOCK_IN_OMAP242X
&&
cpu_is_omap2420
())
{
clk_register
(
*
clkp
);
continue
;
for
(
c
=
omap24xx_clks
;
c
<
omap24xx_clks
+
ARRAY_SIZE
(
omap24xx_clks
);
c
++
)
if
(
c
->
cpu
&
cpu_mask
)
{
clkdev_add
(
&
c
->
lk
);
clk_register
(
c
->
lk
.
clk
);
}
if
((
*
clkp
)
->
flags
&
CLOCK_IN_OMAP243X
&&
cpu_is_omap2430
())
{
clk_register
(
*
clkp
);
continue
;
}
}
/* Check the MPU rate set by bootloader */
clkrate
=
omap2_get_dpll_rate_24xx
(
&
dpll_ck
);
for
(
prcm
=
rate_table
;
prcm
->
mpu_speed
;
prcm
++
)
{
...
...
arch/arm/mach-omap2/clock24xx.h
浏览文件 @
8ad8ff65
此差异已折叠。
点击以展开。
arch/arm/plat-omap/Kconfig
浏览文件 @
8ad8ff65
...
...
@@ -16,6 +16,7 @@ config ARCH_OMAP1
config ARCH_OMAP2
bool "TI OMAP2"
select CPU_V6
select COMMON_CLKDEV
config ARCH_OMAP3
bool "TI OMAP3"
...
...
arch/arm/plat-omap/include/mach/clock.h
浏览文件 @
8ad8ff65
...
...
@@ -136,9 +136,7 @@ extern const struct clkops clkops_null;
#define CONFIG_PARTICIPANT (1 << 10)
/* Fundamental clock */
#define ENABLE_ON_INIT (1 << 11)
/* Enable upon framework init */
#define INVERT_ENABLE (1 << 12)
/* 0 enables, 1 disables */
/* bits 13-24 are currently free */
#define CLOCK_IN_OMAP242X (1 << 25)
#define CLOCK_IN_OMAP243X (1 << 26)
/* bits 13-26 are currently free */
#define CLOCK_IN_OMAP343X (1 << 27)
/* clocks common to all 343X */
#define CLOCK_IN_OMAP3430ES1 (1 << 29)
/* 3430ES1 clocks only */
#define CLOCK_IN_OMAP3430ES2 (1 << 30)
/* 3430ES2 clocks only */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录