Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
kernel_linux
提交
be09d1dc
K
kernel_linux
项目概览
OpenHarmony
/
kernel_linux
上一次同步 4 年多
通知
15
Star
8
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kernel_linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
be09d1dc
编写于
11月 24, 2011
作者:
P
Paul Mundt
浏览文件
操作
浏览文件
下载
差异文件
Merge branches 'rmobile/core', 'rmobile/kota2' and 'rmobile/ag5' into rmobile-fixes-for-linus
上级
9bcc0a5d
33661c9e
eded9143
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
138 addition
and
18 deletion
+138
-18
arch/arm/mach-shmobile/board-ag5evm.c
arch/arm/mach-shmobile/board-ag5evm.c
+1
-0
arch/arm/mach-shmobile/board-kota2.c
arch/arm/mach-shmobile/board-kota2.c
+121
-18
arch/arm/mach-shmobile/clock-sh73a0.c
arch/arm/mach-shmobile/clock-sh73a0.c
+16
-0
未找到文件。
arch/arm/mach-shmobile/board-ag5evm.c
浏览文件 @
be09d1dc
...
@@ -607,6 +607,7 @@ struct sys_timer ag5evm_timer = {
...
@@ -607,6 +607,7 @@ struct sys_timer ag5evm_timer = {
MACHINE_START
(
AG5EVM
,
"ag5evm"
)
MACHINE_START
(
AG5EVM
,
"ag5evm"
)
.
map_io
=
ag5evm_map_io
,
.
map_io
=
ag5evm_map_io
,
.
nr_irqs
=
NR_IRQS_LEGACY
,
.
init_irq
=
sh73a0_init_irq
,
.
init_irq
=
sh73a0_init_irq
,
.
handle_irq
=
shmobile_handle_irq_gic
,
.
handle_irq
=
shmobile_handle_irq_gic
,
.
init_machine
=
ag5evm_init
,
.
init_machine
=
ag5evm_init
,
...
...
arch/arm/mach-shmobile/board-kota2.c
浏览文件 @
be09d1dc
...
@@ -33,6 +33,7 @@
...
@@ -33,6 +33,7 @@
#include <linux/input/sh_keysc.h>
#include <linux/input/sh_keysc.h>
#include <linux/gpio_keys.h>
#include <linux/gpio_keys.h>
#include <linux/leds.h>
#include <linux/leds.h>
#include <linux/platform_data/leds-renesas-tpu.h>
#include <linux/mmc/host.h>
#include <linux/mmc/host.h>
#include <linux/mmc/sh_mmcif.h>
#include <linux/mmc/sh_mmcif.h>
#include <linux/mfd/tmio.h>
#include <linux/mfd/tmio.h>
...
@@ -56,7 +57,7 @@ static struct resource smsc9220_resources[] = {
...
@@ -56,7 +57,7 @@ static struct resource smsc9220_resources[] = {
.
flags
=
IORESOURCE_MEM
,
.
flags
=
IORESOURCE_MEM
,
},
},
[
1
]
=
{
[
1
]
=
{
.
start
=
gic_spi
(
33
),
/* PINTA2 @ PORT144
*/
.
start
=
SH73A0_PINT0_IRQ
(
2
),
/* PINTA2
*/
.
flags
=
IORESOURCE_IRQ
,
.
flags
=
IORESOURCE_IRQ
,
},
},
};
};
...
@@ -157,10 +158,6 @@ static struct platform_device gpio_keys_device = {
...
@@ -157,10 +158,6 @@ static struct platform_device gpio_keys_device = {
#define GPIO_LED(n, g) { .name = n, .gpio = g }
#define GPIO_LED(n, g) { .name = n, .gpio = g }
static
struct
gpio_led
gpio_leds
[]
=
{
static
struct
gpio_led
gpio_leds
[]
=
{
GPIO_LED
(
"V2513"
,
GPIO_PORT153
),
/* PORT153 [TPU1T02] -> V2513 */
GPIO_LED
(
"V2514"
,
GPIO_PORT199
),
/* PORT199 [TPU4TO1] -> V2514 */
GPIO_LED
(
"V2515"
,
GPIO_PORT197
),
/* PORT197 [TPU2TO1] -> V2515 */
GPIO_LED
(
"KEYLED"
,
GPIO_PORT163
),
/* PORT163 [TPU3TO0] -> KEYLED */
GPIO_LED
(
"G"
,
GPIO_PORT20
),
/* PORT20 [GPO0] -> LED7 -> "G" */
GPIO_LED
(
"G"
,
GPIO_PORT20
),
/* PORT20 [GPO0] -> LED7 -> "G" */
GPIO_LED
(
"H"
,
GPIO_PORT21
),
/* PORT21 [GPO1] -> LED8 -> "H" */
GPIO_LED
(
"H"
,
GPIO_PORT21
),
/* PORT21 [GPO1] -> LED8 -> "H" */
GPIO_LED
(
"J"
,
GPIO_PORT22
),
/* PORT22 [GPO2] -> LED9 -> "J" */
GPIO_LED
(
"J"
,
GPIO_PORT22
),
/* PORT22 [GPO2] -> LED9 -> "J" */
...
@@ -179,6 +176,119 @@ static struct platform_device gpio_leds_device = {
...
@@ -179,6 +176,119 @@ static struct platform_device gpio_leds_device = {
},
},
};
};
/* TPU LED */
static
struct
led_renesas_tpu_config
led_renesas_tpu12_pdata
=
{
.
name
=
"V2513"
,
.
pin_gpio_fn
=
GPIO_FN_TPU1TO2
,
.
pin_gpio
=
GPIO_PORT153
,
.
channel_offset
=
0x90
,
.
timer_bit
=
2
,
.
max_brightness
=
1000
,
};
static
struct
resource
tpu12_resources
[]
=
{
[
0
]
=
{
.
name
=
"TPU12"
,
.
start
=
0xe6610090
,
.
end
=
0xe66100b5
,
.
flags
=
IORESOURCE_MEM
,
},
};
static
struct
platform_device
leds_tpu12_device
=
{
.
name
=
"leds-renesas-tpu"
,
.
id
=
12
,
.
dev
=
{
.
platform_data
=
&
led_renesas_tpu12_pdata
,
},
.
num_resources
=
ARRAY_SIZE
(
tpu12_resources
),
.
resource
=
tpu12_resources
,
};
static
struct
led_renesas_tpu_config
led_renesas_tpu41_pdata
=
{
.
name
=
"V2514"
,
.
pin_gpio_fn
=
GPIO_FN_TPU4TO1
,
.
pin_gpio
=
GPIO_PORT199
,
.
channel_offset
=
0x50
,
.
timer_bit
=
1
,
.
max_brightness
=
1000
,
};
static
struct
resource
tpu41_resources
[]
=
{
[
0
]
=
{
.
name
=
"TPU41"
,
.
start
=
0xe6640050
,
.
end
=
0xe6640075
,
.
flags
=
IORESOURCE_MEM
,
},
};
static
struct
platform_device
leds_tpu41_device
=
{
.
name
=
"leds-renesas-tpu"
,
.
id
=
41
,
.
dev
=
{
.
platform_data
=
&
led_renesas_tpu41_pdata
,
},
.
num_resources
=
ARRAY_SIZE
(
tpu41_resources
),
.
resource
=
tpu41_resources
,
};
static
struct
led_renesas_tpu_config
led_renesas_tpu21_pdata
=
{
.
name
=
"V2515"
,
.
pin_gpio_fn
=
GPIO_FN_TPU2TO1
,
.
pin_gpio
=
GPIO_PORT197
,
.
channel_offset
=
0x50
,
.
timer_bit
=
1
,
.
max_brightness
=
1000
,
};
static
struct
resource
tpu21_resources
[]
=
{
[
0
]
=
{
.
name
=
"TPU21"
,
.
start
=
0xe6620050
,
.
end
=
0xe6620075
,
.
flags
=
IORESOURCE_MEM
,
},
};
static
struct
platform_device
leds_tpu21_device
=
{
.
name
=
"leds-renesas-tpu"
,
.
id
=
21
,
.
dev
=
{
.
platform_data
=
&
led_renesas_tpu21_pdata
,
},
.
num_resources
=
ARRAY_SIZE
(
tpu21_resources
),
.
resource
=
tpu21_resources
,
};
static
struct
led_renesas_tpu_config
led_renesas_tpu30_pdata
=
{
.
name
=
"KEYLED"
,
.
pin_gpio_fn
=
GPIO_FN_TPU3TO0
,
.
pin_gpio
=
GPIO_PORT163
,
.
channel_offset
=
0x10
,
.
timer_bit
=
0
,
.
max_brightness
=
1000
,
};
static
struct
resource
tpu30_resources
[]
=
{
[
0
]
=
{
.
name
=
"TPU30"
,
.
start
=
0xe6630010
,
.
end
=
0xe6630035
,
.
flags
=
IORESOURCE_MEM
,
},
};
static
struct
platform_device
leds_tpu30_device
=
{
.
name
=
"leds-renesas-tpu"
,
.
id
=
30
,
.
dev
=
{
.
platform_data
=
&
led_renesas_tpu30_pdata
,
},
.
num_resources
=
ARRAY_SIZE
(
tpu30_resources
),
.
resource
=
tpu30_resources
,
};
/* MMCIF */
/* MMCIF */
static
struct
resource
mmcif_resources
[]
=
{
static
struct
resource
mmcif_resources
[]
=
{
[
0
]
=
{
[
0
]
=
{
...
@@ -291,6 +401,10 @@ static struct platform_device *kota2_devices[] __initdata = {
...
@@ -291,6 +401,10 @@ static struct platform_device *kota2_devices[] __initdata = {
&
keysc_device
,
&
keysc_device
,
&
gpio_keys_device
,
&
gpio_keys_device
,
&
gpio_leds_device
,
&
gpio_leds_device
,
&
leds_tpu12_device
,
&
leds_tpu41_device
,
&
leds_tpu21_device
,
&
leds_tpu30_device
,
&
mmcif_device
,
&
mmcif_device
,
&
sdhi0_device
,
&
sdhi0_device
,
&
sdhi1_device
,
&
sdhi1_device
,
...
@@ -317,18 +431,6 @@ static void __init kota2_map_io(void)
...
@@ -317,18 +431,6 @@ static void __init kota2_map_io(void)
shmobile_setup_console
();
shmobile_setup_console
();
}
}
#define PINTER0A 0xe69000a0
#define PINTCR0A 0xe69000b0
void
__init
kota2_init_irq
(
void
)
{
sh73a0_init_irq
();
/* setup PINT: enable PINTA2 as active low */
__raw_writel
(
1
<<
29
,
PINTER0A
);
__raw_writew
(
2
<<
10
,
PINTCR0A
);
}
static
void
__init
kota2_init
(
void
)
static
void
__init
kota2_init
(
void
)
{
{
sh73a0_pinmux_init
();
sh73a0_pinmux_init
();
...
@@ -447,7 +549,8 @@ struct sys_timer kota2_timer = {
...
@@ -447,7 +549,8 @@ struct sys_timer kota2_timer = {
MACHINE_START
(
KOTA2
,
"kota2"
)
MACHINE_START
(
KOTA2
,
"kota2"
)
.
map_io
=
kota2_map_io
,
.
map_io
=
kota2_map_io
,
.
init_irq
=
kota2_init_irq
,
.
nr_irqs
=
NR_IRQS_LEGACY
,
.
init_irq
=
sh73a0_init_irq
,
.
handle_irq
=
shmobile_handle_irq_gic
,
.
handle_irq
=
shmobile_handle_irq_gic
,
.
init_machine
=
kota2_init
,
.
init_machine
=
kota2_init
,
.
timer
=
&
kota2_timer
,
.
timer
=
&
kota2_timer
,
...
...
arch/arm/mach-shmobile/clock-sh73a0.c
浏览文件 @
be09d1dc
...
@@ -113,6 +113,12 @@ static struct clk main_clk = {
...
@@ -113,6 +113,12 @@ static struct clk main_clk = {
.
ops
=
&
main_clk_ops
,
.
ops
=
&
main_clk_ops
,
};
};
/* Divide Main clock by two */
static
struct
clk
main_div2_clk
=
{
.
ops
=
&
div2_clk_ops
,
.
parent
=
&
main_clk
,
};
/* PLL0, PLL1, PLL2, PLL3 */
/* PLL0, PLL1, PLL2, PLL3 */
static
unsigned
long
pll_recalc
(
struct
clk
*
clk
)
static
unsigned
long
pll_recalc
(
struct
clk
*
clk
)
{
{
...
@@ -181,6 +187,7 @@ static struct clk *main_clks[] = {
...
@@ -181,6 +187,7 @@ static struct clk *main_clks[] = {
&
extal1_div2_clk
,
&
extal1_div2_clk
,
&
extal2_div2_clk
,
&
extal2_div2_clk
,
&
main_clk
,
&
main_clk
,
&
main_div2_clk
,
&
pll0_clk
,
&
pll0_clk
,
&
pll1_clk
,
&
pll1_clk
,
&
pll2_clk
,
&
pll2_clk
,
...
@@ -268,6 +275,7 @@ enum { MSTP001,
...
@@ -268,6 +275,7 @@ enum { MSTP001,
MSTP207
,
MSTP206
,
MSTP204
,
MSTP203
,
MSTP202
,
MSTP201
,
MSTP200
,
MSTP207
,
MSTP206
,
MSTP204
,
MSTP203
,
MSTP202
,
MSTP201
,
MSTP200
,
MSTP331
,
MSTP329
,
MSTP325
,
MSTP323
,
MSTP318
,
MSTP331
,
MSTP329
,
MSTP325
,
MSTP323
,
MSTP318
,
MSTP314
,
MSTP313
,
MSTP312
,
MSTP311
,
MSTP314
,
MSTP313
,
MSTP312
,
MSTP311
,
MSTP303
,
MSTP302
,
MSTP301
,
MSTP300
,
MSTP411
,
MSTP410
,
MSTP403
,
MSTP411
,
MSTP410
,
MSTP403
,
MSTP_NR
};
MSTP_NR
};
...
@@ -301,6 +309,10 @@ static struct clk mstp_clks[MSTP_NR] = {
...
@@ -301,6 +309,10 @@ static struct clk mstp_clks[MSTP_NR] = {
[
MSTP313
]
=
MSTP
(
&
div6_clks
[
DIV6_SDHI1
],
SMSTPCR3
,
13
,
0
),
/* SDHI1 */
[
MSTP313
]
=
MSTP
(
&
div6_clks
[
DIV6_SDHI1
],
SMSTPCR3
,
13
,
0
),
/* SDHI1 */
[
MSTP312
]
=
MSTP
(
&
div4_clks
[
DIV4_HP
],
SMSTPCR3
,
12
,
0
),
/* MMCIF0 */
[
MSTP312
]
=
MSTP
(
&
div4_clks
[
DIV4_HP
],
SMSTPCR3
,
12
,
0
),
/* MMCIF0 */
[
MSTP311
]
=
MSTP
(
&
div6_clks
[
DIV6_SDHI2
],
SMSTPCR3
,
11
,
0
),
/* SDHI2 */
[
MSTP311
]
=
MSTP
(
&
div6_clks
[
DIV6_SDHI2
],
SMSTPCR3
,
11
,
0
),
/* SDHI2 */
[
MSTP303
]
=
MSTP
(
&
main_div2_clk
,
SMSTPCR3
,
3
,
0
),
/* TPU1 */
[
MSTP302
]
=
MSTP
(
&
main_div2_clk
,
SMSTPCR3
,
2
,
0
),
/* TPU2 */
[
MSTP301
]
=
MSTP
(
&
main_div2_clk
,
SMSTPCR3
,
1
,
0
),
/* TPU3 */
[
MSTP300
]
=
MSTP
(
&
main_div2_clk
,
SMSTPCR3
,
0
,
0
),
/* TPU4 */
[
MSTP411
]
=
MSTP
(
&
div4_clks
[
DIV4_HP
],
SMSTPCR4
,
11
,
0
),
/* IIC3 */
[
MSTP411
]
=
MSTP
(
&
div4_clks
[
DIV4_HP
],
SMSTPCR4
,
11
,
0
),
/* IIC3 */
[
MSTP410
]
=
MSTP
(
&
div4_clks
[
DIV4_HP
],
SMSTPCR4
,
10
,
0
),
/* IIC4 */
[
MSTP410
]
=
MSTP
(
&
div4_clks
[
DIV4_HP
],
SMSTPCR4
,
10
,
0
),
/* IIC4 */
[
MSTP403
]
=
MSTP
(
&
r_clk
,
SMSTPCR4
,
3
,
0
),
/* KEYSC */
[
MSTP403
]
=
MSTP
(
&
r_clk
,
SMSTPCR4
,
3
,
0
),
/* KEYSC */
...
@@ -350,6 +362,10 @@ static struct clk_lookup lookups[] = {
...
@@ -350,6 +362,10 @@ static struct clk_lookup lookups[] = {
CLKDEV_DEV_ID
(
"sh_mobile_sdhi.1"
,
&
mstp_clks
[
MSTP313
]),
/* SDHI1 */
CLKDEV_DEV_ID
(
"sh_mobile_sdhi.1"
,
&
mstp_clks
[
MSTP313
]),
/* SDHI1 */
CLKDEV_DEV_ID
(
"sh_mmcif.0"
,
&
mstp_clks
[
MSTP312
]),
/* MMCIF0 */
CLKDEV_DEV_ID
(
"sh_mmcif.0"
,
&
mstp_clks
[
MSTP312
]),
/* MMCIF0 */
CLKDEV_DEV_ID
(
"sh_mobile_sdhi.2"
,
&
mstp_clks
[
MSTP311
]),
/* SDHI2 */
CLKDEV_DEV_ID
(
"sh_mobile_sdhi.2"
,
&
mstp_clks
[
MSTP311
]),
/* SDHI2 */
CLKDEV_DEV_ID
(
"leds-renesas-tpu.12"
,
&
mstp_clks
[
MSTP303
]),
/* TPU1 */
CLKDEV_DEV_ID
(
"leds-renesas-tpu.21"
,
&
mstp_clks
[
MSTP302
]),
/* TPU2 */
CLKDEV_DEV_ID
(
"leds-renesas-tpu.30"
,
&
mstp_clks
[
MSTP301
]),
/* TPU3 */
CLKDEV_DEV_ID
(
"leds-renesas-tpu.41"
,
&
mstp_clks
[
MSTP300
]),
/* TPU4 */
CLKDEV_DEV_ID
(
"i2c-sh_mobile.3"
,
&
mstp_clks
[
MSTP411
]),
/* I2C3 */
CLKDEV_DEV_ID
(
"i2c-sh_mobile.3"
,
&
mstp_clks
[
MSTP411
]),
/* I2C3 */
CLKDEV_DEV_ID
(
"i2c-sh_mobile.4"
,
&
mstp_clks
[
MSTP410
]),
/* I2C4 */
CLKDEV_DEV_ID
(
"i2c-sh_mobile.4"
,
&
mstp_clks
[
MSTP410
]),
/* I2C4 */
CLKDEV_DEV_ID
(
"sh_keysc.0"
,
&
mstp_clks
[
MSTP403
]),
/* KEYSC */
CLKDEV_DEV_ID
(
"sh_keysc.0"
,
&
mstp_clks
[
MSTP403
]),
/* KEYSC */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录