Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
kernel_linux
提交
4e0f3fcf
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看板
提交
4e0f3fcf
编写于
8月 06, 2013
作者:
S
Simon Horman
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'dt2' into cleanup3-base
Conflicts: arch/arm/mach-shmobile/Makefile.boot
上级
98724b7e
8b3e32c1
变更
34
隐藏空白更改
内联
并排
Showing
34 changed file
with
461 addition
and
70 deletion
+461
-70
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/Makefile
+4
-0
arch/arm/boot/dts/emev2.dtsi
arch/arm/boot/dts/emev2.dtsi
+6
-0
arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts
arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts
+65
-0
arch/arm/boot/dts/r8a73a4-ape6evm.dts
arch/arm/boot/dts/r8a73a4-ape6evm.dts
+1
-1
arch/arm/boot/dts/r8a7740.dtsi
arch/arm/boot/dts/r8a7740.dtsi
+12
-0
arch/arm/boot/dts/r8a7778-bockw-reference.dts
arch/arm/boot/dts/r8a7778-bockw-reference.dts
+32
-0
arch/arm/boot/dts/r8a7778-bockw.dts
arch/arm/boot/dts/r8a7778-bockw.dts
+1
-1
arch/arm/boot/dts/r8a7779-marzen-reference.dts
arch/arm/boot/dts/r8a7779-marzen-reference.dts
+1
-1
arch/arm/boot/dts/r8a7779-marzen.dts
arch/arm/boot/dts/r8a7779-marzen.dts
+27
-0
arch/arm/boot/dts/r8a7790-lager-reference.dts
arch/arm/boot/dts/r8a7790-lager-reference.dts
+45
-0
arch/arm/boot/dts/r8a7790-lager.dts
arch/arm/boot/dts/r8a7790-lager.dts
+1
-1
arch/arm/boot/dts/sh73a0-kzm9g-reference.dts
arch/arm/boot/dts/sh73a0-kzm9g-reference.dts
+1
-1
arch/arm/boot/dts/sh73a0-kzm9g.dts
arch/arm/boot/dts/sh73a0-kzm9g.dts
+1
-1
arch/arm/boot/dts/sh73a0.dtsi
arch/arm/boot/dts/sh73a0.dtsi
+6
-0
arch/arm/mach-shmobile/Kconfig
arch/arm/mach-shmobile/Kconfig
+37
-0
arch/arm/mach-shmobile/Makefile
arch/arm/mach-shmobile/Makefile
+3
-0
arch/arm/mach-shmobile/Makefile.boot
arch/arm/mach-shmobile/Makefile.boot
+3
-0
arch/arm/mach-shmobile/board-ape6evm-reference.c
arch/arm/mach-shmobile/board-ape6evm-reference.c
+64
-0
arch/arm/mach-shmobile/board-armadillo800eva.c
arch/arm/mach-shmobile/board-armadillo800eva.c
+1
-1
arch/arm/mach-shmobile/board-bockw-reference.c
arch/arm/mach-shmobile/board-bockw-reference.c
+62
-0
arch/arm/mach-shmobile/board-lager-reference.c
arch/arm/mach-shmobile/board-lager-reference.c
+45
-0
arch/arm/mach-shmobile/board-marzen.c
arch/arm/mach-shmobile/board-marzen.c
+8
-3
arch/arm/mach-shmobile/include/mach/r8a73a4.h
arch/arm/mach-shmobile/include/mach/r8a73a4.h
+1
-0
arch/arm/mach-shmobile/include/mach/r8a7740.h
arch/arm/mach-shmobile/include/mach/r8a7740.h
+0
-1
arch/arm/mach-shmobile/include/mach/r8a7778.h
arch/arm/mach-shmobile/include/mach/r8a7778.h
+1
-0
arch/arm/mach-shmobile/include/mach/r8a7779.h
arch/arm/mach-shmobile/include/mach/r8a7779.h
+0
-1
arch/arm/mach-shmobile/include/mach/r8a7790.h
arch/arm/mach-shmobile/include/mach/r8a7790.h
+1
-0
arch/arm/mach-shmobile/intc-r8a7740.c
arch/arm/mach-shmobile/intc-r8a7740.c
+3
-17
arch/arm/mach-shmobile/intc-r8a7779.c
arch/arm/mach-shmobile/intc-r8a7779.c
+4
-18
arch/arm/mach-shmobile/setup-r8a73a4.c
arch/arm/mach-shmobile/setup-r8a73a4.c
+7
-2
arch/arm/mach-shmobile/setup-r8a7778.c
arch/arm/mach-shmobile/setup-r8a7778.c
+6
-1
arch/arm/mach-shmobile/setup-r8a7790.c
arch/arm/mach-shmobile/setup-r8a7790.c
+7
-2
arch/arm/mach-shmobile/smp-r8a7779.c
arch/arm/mach-shmobile/smp-r8a7779.c
+3
-9
arch/arm/mach-shmobile/smp-sh73a0.c
arch/arm/mach-shmobile/smp-sh73a0.c
+2
-9
未找到文件。
arch/arm/boot/dts/Makefile
浏览文件 @
4e0f3fcf
...
...
@@ -186,12 +186,16 @@ dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \
emev2-kzm9d-reference.dtb
\
r8a7740-armadillo800eva.dtb
\
r8a7778-bockw.dtb
\
r8a7778-bockw-reference.dtb
\
r8a7740-armadillo800eva-reference.dtb
\
r8a7779-marzen.dtb
\
r8a7779-marzen-reference.dtb
\
r8a7790-lager.dtb
\
r8a7790-lager-reference.dtb
\
sh73a0-kzm9g.dtb
\
sh73a0-kzm9g-reference.dtb
\
r8a73a4-ape6evm.dtb
\
r8a73a4-ape6evm-reference.dtb
\
sh7372-mackerel.dtb
dtb-$(CONFIG_ARCH_SOCFPGA)
+=
socfpga_cyclone5.dtb
\
socfpga_vt.dtb
...
...
arch/arm/boot/dts/emev2.dtsi
浏览文件 @
4e0f3fcf
...
...
@@ -46,6 +46,12 @@
<0xe0020000 0x0100>;
};
pmu {
compatible = "arm,cortex-a9-pmu";
interrupts = <0 120 4>,
<0 121 4>;
};
sti@e0180000 {
compatible = "renesas,em-sti";
reg = <0xe0180000 0x54>;
...
...
arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts
0 → 100644
浏览文件 @
4e0f3fcf
/*
*
Device
Tree
Source
for
the
APE6EVM
board
*
*
Copyright
(
C
)
2013
Renesas
Solutions
Corp
.
*
*
This
file
is
licensed
under
the
terms
of
the
GNU
General
Public
License
*
version
2.
This
program
is
licensed
"as is"
without
any
warranty
of
any
*
kind
,
whether
express
or
implied
.
*/
/
dts
-
v1
/;
/
include
/
"r8a73a4.dtsi"
/
{
model
=
"APE6EVM"
;
compatible
=
"renesas,ape6evm-reference"
,
"renesas,r8a73a4"
;
chosen
{
bootargs
=
"console=ttySC0,115200 ignore_loglevel rw"
;
};
memory
@
40000000
{
device_type
=
"memory"
;
reg
=
<
0
0x40000000
0
0x40000000
>;
};
lbsc
{
compatible
=
"simple-bus"
;
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
ranges
=
<
0
0
0
0x80000000
>;
};
};
&
i2c5
{
vdd_dvfs
:
max8973
@
1
b
{
compatible
=
"maxim,max8973"
;
reg
=
<
0x1b
>;
regulator
-
min
-
microvolt
=
<
935000
>;
regulator
-
max
-
microvolt
=
<
1200000
>;
regulator
-
boot
-
on
;
regulator
-
always
-
on
;
};
};
&
cpu0
{
cpu0
-
supply
=
<&
vdd_dvfs
>;
operating
-
points
=
<
/*
kHz
uV
*/
1950000
1115000
1462500
995000
>;
voltage
-
tolerance
=
<
1
>;
/*
1
%
*/
};
&
pfc
{
pinctrl
-
0
=
<&
scifa0_pins
>;
pinctrl
-
names
=
"default"
;
scifa0_pins
:
scifa0
{
renesas
,
groups
=
"scifa0_data"
;
renesas
,
function
=
"scifa0"
;
};
};
arch/arm/boot/dts/r8a73a4-ape6evm.dts
浏览文件 @
4e0f3fcf
...
...
@@ -16,7 +16,7 @@
compatible
=
"renesas,ape6evm"
,
"renesas,r8a73a4"
;
chosen
{
bootargs
=
"console=ttySC0,115200 ignore_loglevel root=/dev/nfs ip=dhcp"
;
bootargs
=
"console=ttySC0,115200 ignore_loglevel root=/dev/nfs ip=dhcp
rw
"
;
};
memory
@
40000000
{
...
...
arch/arm/boot/dts/r8a7740.dtsi
浏览文件 @
4e0f3fcf
...
...
@@ -32,6 +32,11 @@
<0xc2000000 0x1000>;
};
pmu {
compatible = "arm,cortex-a9-pmu";
interrupts = <0 83 4>;
};
/* irqpin0: IRQ0 - IRQ7 */
irqpin0: irqpin@e6900000 {
compatible = "renesas,intc-irqpin";
...
...
@@ -139,4 +144,11 @@
0 72 0x4
0 73 0x4>;
};
tpu: pwm@e6600000 {
compatible = "renesas,tpu-r8a7740", "renesas,tpu";
reg = <0xe6600000 0x100>;
status = "disabled";
#pwm-cells = <3>;
};
};
arch/arm/boot/dts/r8a7778-bockw-reference.dts
0 → 100644
浏览文件 @
4e0f3fcf
/*
*
Reference
Device
Tree
Source
for
the
Bock
-
W
board
*
*
Copyright
(
C
)
2013
Renesas
Solutions
Corp
.
*
Copyright
(
C
)
2013
Kuninori
Morimoto
<
kuninori
.
morimoto
.
gx
@
renesas
.
com
>
*
*
based
on
r8a7779
*
*
Copyright
(
C
)
2013
Renesas
Solutions
Corp
.
*
Copyright
(
C
)
2013
Simon
Horman
*
*
This
file
is
licensed
under
the
terms
of
the
GNU
General
Public
License
*
version
2.
This
program
is
licensed
"as is"
without
any
warranty
of
any
*
kind
,
whether
express
or
implied
.
*/
/
dts
-
v1
/;
/
include
/
"r8a7778.dtsi"
/
{
model
=
"bockw"
;
compatible
=
"renesas,bockw-reference"
,
"renesas,r8a7778"
;
chosen
{
bootargs
=
"console=ttySC0,115200 ignore_loglevel rw"
;
};
memory
{
device_type
=
"memory"
;
reg
=
<
0x60000000
0x10000000
>;
};
};
arch/arm/boot/dts/r8a7778-bockw.dts
浏览文件 @
4e0f3fcf
...
...
@@ -22,7 +22,7 @@
compatible
=
"renesas,bockw"
,
"renesas,r8a7778"
;
chosen
{
bootargs
=
"console=ttySC0,115200 ignore_loglevel ip=dhcp root=/dev/nfs"
;
bootargs
=
"console=ttySC0,115200 ignore_loglevel ip=dhcp root=/dev/nfs
rw
"
;
};
memory
{
...
...
arch/arm/boot/dts/r8a7779-marzen-reference.dts
浏览文件 @
4e0f3fcf
...
...
@@ -17,7 +17,7 @@
compatible
=
"renesas,marzen-reference"
,
"renesas,r8a7779"
;
chosen
{
bootargs
=
"console=ttySC2,115200 earlyprintk=sh-sci.2,115200 ignore_loglevel root=/dev/nfs ip=on"
;
bootargs
=
"console=ttySC2,115200 earlyprintk=sh-sci.2,115200 ignore_loglevel root=/dev/nfs ip=on
rw
"
;
};
memory
{
...
...
arch/arm/boot/dts/r8a7779-marzen.dts
0 → 100644
浏览文件 @
4e0f3fcf
/*
*
Device
Tree
Source
for
the
Marzen
board
*
*
Copyright
(
C
)
2013
Renesas
Solutions
Corp
.
*
Copyright
(
C
)
2013
Simon
Horman
*
*
This
file
is
licensed
under
the
terms
of
the
GNU
General
Public
License
*
version
2.
This
program
is
licensed
"as is"
without
any
warranty
of
any
*
kind
,
whether
express
or
implied
.
*/
/
dts
-
v1
/;
/
include
/
"r8a7779.dtsi"
/
{
model
=
"marzen"
;
compatible
=
"renesas,marzen"
,
"renesas,r8a7779"
;
chosen
{
bootargs
=
"console=ttySC2,115200 earlyprintk=sh-sci.2,115200 ignore_loglevel root=/dev/nfs ip=on"
;
};
memory
{
device_type
=
"memory"
;
reg
=
<
0x60000000
0x40000000
>;
};
};
arch/arm/boot/dts/r8a7790-lager-reference.dts
0 → 100644
浏览文件 @
4e0f3fcf
/*
*
Device
Tree
Source
for
the
Lager
board
*
*
Copyright
(
C
)
2013
Renesas
Solutions
Corp
.
*
*
This
file
is
licensed
under
the
terms
of
the
GNU
General
Public
License
*
version
2.
This
program
is
licensed
"as is"
without
any
warranty
of
any
*
kind
,
whether
express
or
implied
.
*/
/
dts
-
v1
/;
/
include
/
"r8a7790.dtsi"
#
include
<
dt
-
bindings
/
gpio
/
gpio
.
h
>
/
{
model
=
"Lager"
;
compatible
=
"renesas,lager-reference"
,
"renesas,r8a7790"
;
chosen
{
bootargs
=
"console=ttySC6,115200 ignore_loglevel rw"
;
};
memory
@
40000000
{
device_type
=
"memory"
;
reg
=
<
0
0x40000000
0
0x80000000
>;
};
lbsc
{
#
address
-
cells
=
<
1
>;
#
size
-
cells
=
<
1
>;
};
leds
{
compatible
=
"gpio-leds"
;
led6
{
gpios
=
<&
gpio4
22
GPIO_ACTIVE_HIGH
>;
};
led7
{
gpios
=
<&
gpio4
23
GPIO_ACTIVE_HIGH
>;
};
led8
{
gpios
=
<&
gpio5
17
GPIO_ACTIVE_HIGH
>;
};
};
};
arch/arm/boot/dts/r8a7790-lager.dts
浏览文件 @
4e0f3fcf
...
...
@@ -16,7 +16,7 @@
compatible
=
"renesas,lager"
,
"renesas,r8a7790"
;
chosen
{
bootargs
=
"console=ttySC6,115200 ignore_loglevel"
;
bootargs
=
"console=ttySC6,115200 ignore_loglevel
rw root=/dev/nfs ip=dhcp
"
;
};
memory
@
40000000
{
...
...
arch/arm/boot/dts/sh73a0-kzm9g-reference.dts
浏览文件 @
4e0f3fcf
...
...
@@ -32,7 +32,7 @@
};
chosen
{
bootargs
=
"console=tty0 console=ttySC4,115200 root=/dev/nfs ip=dhcp ignore_loglevel earlyprintk=sh-sci.4,115200"
;
bootargs
=
"console=tty0 console=ttySC4,115200 root=/dev/nfs ip=dhcp ignore_loglevel earlyprintk=sh-sci.4,115200
rw
"
;
};
memory
{
...
...
arch/arm/boot/dts/sh73a0-kzm9g.dts
浏览文件 @
4e0f3fcf
...
...
@@ -16,7 +16,7 @@
compatible
=
"renesas,kzm9g"
,
"renesas,sh73a0"
;
chosen
{
bootargs
=
"console=tty0 console=ttySC4,115200 root=/dev/nfs ip=dhcp ignore_loglevel earlyprintk=sh-sci.4,115200"
;
bootargs
=
"console=tty0 console=ttySC4,115200 root=/dev/nfs ip=dhcp ignore_loglevel earlyprintk=sh-sci.4,115200
rw
"
;
};
memory
{
...
...
arch/arm/boot/dts/sh73a0.dtsi
浏览文件 @
4e0f3fcf
...
...
@@ -38,6 +38,12 @@
<0xf0000100 0x100>;
};
pmu {
compatible = "arm,cortex-a9-pmu";
interrupts = <0 55 4>,
<0 56 4>;
};
irqpin0: irqpin@e6900000 {
compatible = "renesas,intc-irqpin";
#interrupt-cells = <2>;
...
...
arch/arm/mach-shmobile/Kconfig
浏览文件 @
4e0f3fcf
...
...
@@ -76,6 +76,17 @@ config MACH_APE6EVM
depends on ARCH_R8A73A4
select USE_OF
config MACH_APE6EVM_REFERENCE
bool "APE6EVM board - Reference Device Tree Implementation"
depends on ARCH_R8A73A4
select USE_OF
---help---
Use reference implementation of APE6EVM board support
which makes a greater use of device tree at the expense
of not supporting a number of devices.
This is intended to aid developers
config MACH_MACKEREL
bool "mackerel board"
depends on ARCH_SH7372
...
...
@@ -113,11 +124,26 @@ config MACH_BOCKW
select RENESAS_INTC_IRQPIN
select USE_OF
config MACH_BOCKW_REFERENCE
bool "BOCK-W - Reference Device Tree Implementation"
depends on ARCH_R8A7778
select ARCH_REQUIRE_GPIOLIB
select RENESAS_INTC_IRQPIN
select REGULATOR_FIXED_VOLTAGE if REGULATOR
select USE_OF
---help---
Use reference implementation of BockW board support
which makes use of device tree at the expense
of not supporting a number of devices.
This is intended to aid developers
config MACH_MARZEN
bool "MARZEN board"
depends on ARCH_R8A7779
select ARCH_REQUIRE_GPIOLIB
select REGULATOR_FIXED_VOLTAGE if REGULATOR
select USE_OF
config MACH_MARZEN_REFERENCE
bool "MARZEN board - Reference Device Tree Implementation"
...
...
@@ -137,6 +163,17 @@ config MACH_LAGER
depends on ARCH_R8A7790
select USE_OF
config MACH_LAGER_REFERENCE
bool "Lager board - Reference Device Tree Implementation"
depends on ARCH_R8A7790
select USE_OF
---help---
Use reference implementation of Lager board support
which makes use of device tree at the expense
of not supporting a number of devices.
This is intended to aid developers
config MACH_KZM9D
bool "KZM9D board"
depends on ARCH_EMEV2
...
...
arch/arm/mach-shmobile/Makefile
浏览文件 @
4e0f3fcf
...
...
@@ -34,11 +34,14 @@ obj-$(CONFIG_ARCH_R8A7779) += pm-r8a7779.o
# Board objects
obj-$(CONFIG_MACH_APE6EVM)
+=
board-ape6evm.o
obj-$(CONFIG_MACH_APE6EVM_REFERENCE)
+=
board-ape6evm-reference.o
obj-$(CONFIG_MACH_MACKEREL)
+=
board-mackerel.o
obj-$(CONFIG_MACH_BOCKW)
+=
board-bockw.o
obj-$(CONFIG_MACH_BOCKW_REFERENCE)
+=
board-bockw-reference.o
obj-$(CONFIG_MACH_MARZEN)
+=
board-marzen.o
obj-$(CONFIG_MACH_MARZEN_REFERENCE)
+=
board-marzen-reference.o
obj-$(CONFIG_MACH_LAGER)
+=
board-lager.o
obj-$(CONFIG_MACH_LAGER_REFERENCE)
+=
board-lager-reference.o
obj-$(CONFIG_MACH_ARMADILLO800EVA)
+=
board-armadillo800eva.o
obj-$(CONFIG_MACH_ARMADILLO800EVA_REFERENCE)
+=
board-armadillo800eva-reference.o
obj-$(CONFIG_MACH_KZM9D)
+=
board-kzm9d.o
...
...
arch/arm/mach-shmobile/Makefile.boot
浏览文件 @
4e0f3fcf
# per-board load address for uImage
loadaddr-y
:=
loadaddr-$(CONFIG_MACH_APE6EVM)
+=
0x40008000
loadaddr-$(CONFIG_MACH_APE6EVM_REFERENCE)
+=
0x40008000
loadaddr-$(CONFIG_MACH_ARMADILLO800EVA)
+=
0x40008000
loadaddr-$(CONFIG_MACH_ARMADILLO800EVA_REFERENCE)
+=
0x40008000
loadaddr-$(CONFIG_MACH_BOCKW)
+=
0x60008000
loadaddr-$(CONFIG_MACH_BOCKW_REFERENCE)
+=
0x60008000
loadaddr-$(CONFIG_MACH_KZM9D)
+=
0x40008000
loadaddr-$(CONFIG_MACH_KZM9D_REFERENCE)
+=
0x40008000
loadaddr-$(CONFIG_MACH_KZM9G)
+=
0x41008000
loadaddr-$(CONFIG_MACH_KZM9G_REFERENCE)
+=
0x41008000
loadaddr-$(CONFIG_MACH_LAGER)
+=
0x40008000
loadaddr-$(CONFIG_MACH_LAGER_REFERENCE)
+=
0x40008000
loadaddr-$(CONFIG_MACH_MACKEREL)
+=
0x40008000
loadaddr-$(CONFIG_MACH_MARZEN)
+=
0x60008000
loadaddr-$(CONFIG_MACH_MARZEN_REFERENCE)
+=
0x60008000
...
...
arch/arm/mach-shmobile/board-ape6evm-reference.c
0 → 100644
浏览文件 @
4e0f3fcf
/*
* APE6EVM board support
*
* Copyright (C) 2013 Renesas Solutions Corp.
* Copyright (C) 2013 Magnus Damm
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <linux/gpio.h>
#include <linux/kernel.h>
#include <linux/of_platform.h>
#include <linux/pinctrl/machine.h>
#include <linux/platform_device.h>
#include <linux/sh_clk.h>
#include <mach/common.h>
#include <mach/r8a73a4.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
static
void
__init
ape6evm_add_standard_devices
(
void
)
{
struct
clk
*
parent
;
struct
clk
*
mp
;
r8a73a4_clock_init
();
/* MP clock parent = extal2 */
parent
=
clk_get
(
NULL
,
"extal2"
);
mp
=
clk_get
(
NULL
,
"mp"
);
BUG_ON
(
IS_ERR
(
parent
)
||
IS_ERR
(
mp
));
clk_set_parent
(
mp
,
parent
);
clk_put
(
parent
);
clk_put
(
mp
);
r8a73a4_add_dt_devices
();
of_platform_populate
(
NULL
,
of_default_bus_match_table
,
NULL
,
NULL
);
platform_device_register_simple
(
"cpufreq-cpu0"
,
-
1
,
NULL
,
0
);
}
static
const
char
*
ape6evm_boards_compat_dt
[]
__initdata
=
{
"renesas,ape6evm-reference"
,
NULL
,
};
DT_MACHINE_START
(
APE6EVM_DT
,
"ape6evm"
)
.
init_early
=
r8a73a4_init_delay
,
.
init_time
=
shmobile_timer_init
,
.
init_machine
=
ape6evm_add_standard_devices
,
.
dt_compat
=
ape6evm_boards_compat_dt
,
MACHINE_END
arch/arm/mach-shmobile/board-armadillo800eva.c
浏览文件 @
4e0f3fcf
...
...
@@ -1315,7 +1315,7 @@ static const char *eva_boards_compat_dt[] __initdata = {
DT_MACHINE_START
(
ARMADILLO800EVA_DT
,
"armadillo800eva"
)
.
map_io
=
r8a7740_map_io
,
.
init_early
=
eva_add_early_devices
,
.
init_irq
=
r8a7740_init_irq
,
.
init_irq
=
r8a7740_init_irq
_of
,
.
init_machine
=
eva_init
,
.
init_late
=
shmobile_init_late
,
.
init_time
=
eva_earlytimer_init
,
...
...
arch/arm/mach-shmobile/board-bockw-reference.c
0 → 100644
浏览文件 @
4e0f3fcf
/*
* Bock-W board support
*
* Copyright (C) 2013 Renesas Solutions Corp.
* Copyright (C) 2013 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <linux/of_platform.h>
#include <linux/pinctrl/machine.h>
#include <mach/common.h>
#include <mach/r8a7778.h>
#include <asm/mach/arch.h>
/*
* see board-bock.c for checking detail of dip-switch
*/
static
const
struct
pinctrl_map
bockw_pinctrl_map
[]
=
{
/* SCIF0 */
PIN_MAP_MUX_GROUP_DEFAULT
(
"sh-sci.0"
,
"pfc-r8a7778"
,
"scif0_data_a"
,
"scif0"
),
PIN_MAP_MUX_GROUP_DEFAULT
(
"sh-sci.0"
,
"pfc-r8a7778"
,
"scif0_ctrl"
,
"scif0"
),
};
static
void
__init
bockw_init
(
void
)
{
r8a7778_clock_init
();
pinctrl_register_mappings
(
bockw_pinctrl_map
,
ARRAY_SIZE
(
bockw_pinctrl_map
));
r8a7778_pinmux_init
();
r8a7778_add_dt_devices
();
of_platform_populate
(
NULL
,
of_default_bus_match_table
,
NULL
,
NULL
);
}
static
const
char
*
bockw_boards_compat_dt
[]
__initdata
=
{
"renesas,bockw-reference"
,
NULL
,
};
DT_MACHINE_START
(
BOCKW_DT
,
"bockw"
)
.
init_early
=
r8a7778_init_delay
,
.
init_irq
=
r8a7778_init_irq_dt
,
.
init_machine
=
bockw_init
,
.
init_time
=
shmobile_timer_init
,
.
dt_compat
=
bockw_boards_compat_dt
,
MACHINE_END
arch/arm/mach-shmobile/board-lager-reference.c
0 → 100644
浏览文件 @
4e0f3fcf
/*
* Lager board support - Reference DT implementation
*
* Copyright (C) 2013 Renesas Solutions Corp.
* Copyright (C) 2013 Simon Horman
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <linux/init.h>
#include <linux/of_platform.h>
#include <mach/r8a7790.h>
#include <asm/mach/arch.h>
static
void
__init
lager_add_standard_devices
(
void
)
{
/* clocks are setup late during boot in the case of DT */
r8a7790_clock_init
();
r8a7790_add_dt_devices
();
of_platform_populate
(
NULL
,
of_default_bus_match_table
,
NULL
,
NULL
);
}
static
const
char
*
lager_boards_compat_dt
[]
__initdata
=
{
"renesas,lager-reference"
,
NULL
,
};
DT_MACHINE_START
(
LAGER_DT
,
"lager"
)
.
init_early
=
r8a7790_init_delay
,
.
init_machine
=
lager_add_standard_devices
,
.
init_time
=
r8a7790_timer_init
,
.
dt_compat
=
lager_boards_compat_dt
,
MACHINE_END
arch/arm/mach-shmobile/board-marzen.c
浏览文件 @
4e0f3fcf
...
...
@@ -257,13 +257,18 @@ static void __init marzen_init(void)
platform_add_devices
(
marzen_devices
,
ARRAY_SIZE
(
marzen_devices
));
}
MACHINE_START
(
MARZEN
,
"marzen"
)
static
const
char
*
marzen_boards_compat_dt
[]
__initdata
=
{
"renesas,marzen"
,
NULL
,
};
DT_MACHINE_START
(
MARZEN
,
"marzen"
)
.
smp
=
smp_ops
(
r8a7779_smp_ops
),
.
map_io
=
r8a7779_map_io
,
.
init_early
=
r8a7779_add_early_devices
,
.
nr_irqs
=
NR_IRQS_LEGACY
,
.
init_irq
=
r8a7779_init_irq
,
.
init_irq
=
r8a7779_init_irq_dt
,
.
init_machine
=
marzen_init
,
.
init_late
=
r8a7779_init_late
,
.
dt_compat
=
marzen_boards_compat_dt
,
.
init_time
=
r8a7779_earlytimer_init
,
MACHINE_END
arch/arm/mach-shmobile/include/mach/r8a73a4.h
浏览文件 @
4e0f3fcf
...
...
@@ -2,6 +2,7 @@
#define __ASM_R8A73A4_H__
void
r8a73a4_add_standard_devices
(
void
);
void
r8a73a4_add_dt_devices
(
void
);
void
r8a73a4_clock_init
(
void
);
void
r8a73a4_pinmux_init
(
void
);
void
r8a73a4_init_delay
(
void
);
...
...
arch/arm/mach-shmobile/include/mach/r8a7740.h
浏览文件 @
4e0f3fcf
...
...
@@ -48,7 +48,6 @@ enum {
extern
void
r8a7740_meram_workaround
(
void
);
extern
void
r8a7740_init_delay
(
void
);
extern
void
r8a7740_init_irq
(
void
);
extern
void
r8a7740_init_irq_of
(
void
);
extern
void
r8a7740_map_io
(
void
);
extern
void
r8a7740_add_early_devices
(
void
);
...
...
arch/arm/mach-shmobile/include/mach/r8a7778.h
浏览文件 @
4e0f3fcf
...
...
@@ -30,6 +30,7 @@ extern void r8a7778_add_usb_phy_device(struct rcar_phy_platform_data *pdata);
extern
void
r8a7778_add_i2c_device
(
int
id
);
extern
void
r8a7778_add_hspi_device
(
int
id
);
extern
void
r8a7778_add_mmc_device
(
struct
sh_mmcif_plat_data
*
info
);
extern
void
r8a7778_add_dt_devices
(
void
);
extern
void
r8a7778_init_late
(
void
);
extern
void
r8a7778_init_delay
(
void
);
...
...
arch/arm/mach-shmobile/include/mach/r8a7779.h
浏览文件 @
4e0f3fcf
...
...
@@ -24,7 +24,6 @@ static inline struct r8a7779_pm_ch *to_r8a7779_ch(struct generic_pm_domain *d)
}
extern
void
r8a7779_init_delay
(
void
);
extern
void
r8a7779_init_irq
(
void
);
extern
void
r8a7779_init_irq_extpin
(
int
irlm
);
extern
void
r8a7779_init_irq_dt
(
void
);
extern
void
r8a7779_map_io
(
void
);
...
...
arch/arm/mach-shmobile/include/mach/r8a7790.h
浏览文件 @
4e0f3fcf
...
...
@@ -2,6 +2,7 @@
#define __ASM_R8A7790_H__
void
r8a7790_add_standard_devices
(
void
);
void
r8a7790_add_dt_devices
(
void
);
void
r8a7790_clock_init
(
void
);
void
r8a7790_pinmux_init
(
void
);
void
r8a7790_init_delay
(
void
);
...
...
arch/arm/mach-shmobile/intc-r8a7740.c
浏览文件 @
4e0f3fcf
...
...
@@ -23,12 +23,14 @@
#include <linux/irqchip.h>
#include <linux/irqchip/arm-gic.h>
static
void
__init
r8a7740_init_irq_common
(
void
)
void
__init
r8a7740_init_irq_of
(
void
)
{
void
__iomem
*
intc_prio_base
=
ioremap_nocache
(
0xe6900010
,
0x10
);
void
__iomem
*
intc_msk_base
=
ioremap_nocache
(
0xe6900040
,
0x10
);
void
__iomem
*
pfc_inta_ctrl
=
ioremap_nocache
(
0xe605807c
,
0x4
);
irqchip_init
();
/* route signals to GIC */
iowrite32
(
0x0
,
pfc_inta_ctrl
);
...
...
@@ -50,19 +52,3 @@ static void __init r8a7740_init_irq_common(void)
iounmap
(
intc_msk_base
);
iounmap
(
pfc_inta_ctrl
);
}
void
__init
r8a7740_init_irq_of
(
void
)
{
irqchip_init
();
r8a7740_init_irq_common
();
}
void
__init
r8a7740_init_irq
(
void
)
{
void
__iomem
*
gic_dist_base
=
ioremap_nocache
(
0xc2800000
,
0x1000
);
void
__iomem
*
gic_cpu_base
=
ioremap_nocache
(
0xc2000000
,
0x1000
);
/* initialize the Generic Interrupt Controller PL390 r0p0 */
gic_init
(
0
,
29
,
gic_dist_base
,
gic_cpu_base
);
r8a7740_init_irq_common
();
}
arch/arm/mach-shmobile/intc-r8a7779.c
浏览文件 @
4e0f3fcf
...
...
@@ -89,15 +89,18 @@ void __init r8a7779_init_irq_extpin(int irlm)
pr_warn
(
"r8a7779: unable to setup external irq pin mode
\n
"
);
}
#ifdef CONFIG_OF
static
int
r8a7779_set_wake
(
struct
irq_data
*
data
,
unsigned
int
on
)
{
return
0
;
/* always allow wakeup */
}
static
void
__init
r8a7779_init_irq_common
(
void
)
void
__init
r8a7779_init_irq_dt
(
void
)
{
gic_arch_extn
.
irq_set_wake
=
r8a7779_set_wake
;
irqchip_init
();
/* route all interrupts to ARM */
__raw_writel
(
0xffffffff
,
INT2NTSR0
);
__raw_writel
(
0x3fffffff
,
INT2NTSR1
);
...
...
@@ -108,23 +111,6 @@ static void __init r8a7779_init_irq_common(void)
__raw_writel
(
0xfffbffdf
,
INT2SMSKCR2
);
__raw_writel
(
0xbffffffc
,
INT2SMSKCR3
);
__raw_writel
(
0x003fee3f
,
INT2SMSKCR4
);
}
void
__init
r8a7779_init_irq
(
void
)
{
void
__iomem
*
gic_dist_base
=
IOMEM
(
0xf0001000
);
void
__iomem
*
gic_cpu_base
=
IOMEM
(
0xf0000100
);
/* use GIC to handle interrupts */
gic_init
(
0
,
29
,
gic_dist_base
,
gic_cpu_base
);
r8a7779_init_irq_common
();
}
#ifdef CONFIG_OF
void
__init
r8a7779_init_irq_dt
(
void
)
{
irqchip_init
();
r8a7779_init_irq_common
();
}
#endif
arch/arm/mach-shmobile/setup-r8a73a4.c
浏览文件 @
4e0f3fcf
...
...
@@ -188,7 +188,7 @@ static struct resource cmt10_resources[] = {
&cmt##idx##_platform_data, \
sizeof(struct sh_timer_config))
void
__init
r8a73a4_add_
standard
_devices
(
void
)
void
__init
r8a73a4_add_
dt
_devices
(
void
)
{
r8a73a4_register_scif
(
SCIFA0
);
r8a73a4_register_scif
(
SCIFA1
);
...
...
@@ -196,10 +196,15 @@ void __init r8a73a4_add_standard_devices(void)
r8a73a4_register_scif
(
SCIFB1
);
r8a73a4_register_scif
(
SCIFB2
);
r8a73a4_register_scif
(
SCIFB3
);
r8a7790_register_cmt
(
10
);
}
void
__init
r8a73a4_add_standard_devices
(
void
)
{
r8a73a4_add_dt_devices
();
r8a73a4_register_irqc
(
0
);
r8a73a4_register_irqc
(
1
);
r8a73a4_register_thermal
();
r8a7790_register_cmt
(
10
);
}
void
__init
r8a73a4_init_delay
(
void
)
...
...
arch/arm/mach-shmobile/setup-r8a7778.c
浏览文件 @
4e0f3fcf
...
...
@@ -333,7 +333,7 @@ void __init r8a7778_add_mmc_device(struct sh_mmcif_plat_data *info)
info
,
sizeof
(
*
info
));
}
void
__init
r8a7778_add_
standard
_devices
(
void
)
void
__init
r8a7778_add_
dt
_devices
(
void
)
{
int
i
;
...
...
@@ -357,6 +357,11 @@ void __init r8a7778_add_standard_devices(void)
r8a7778_register_tmu
(
1
);
}
void
__init
r8a7778_add_standard_devices
(
void
)
{
r8a7778_add_dt_devices
();
}
void
__init
r8a7778_init_late
(
void
)
{
phy
=
usb_get_phy
(
USB_PHY_TYPE_USB2
);
...
...
arch/arm/mach-shmobile/setup-r8a7790.c
浏览文件 @
4e0f3fcf
...
...
@@ -179,7 +179,7 @@ static struct resource cmt00_resources[] = {
&cmt##idx##_platform_data, \
sizeof(struct sh_timer_config))
void
__init
r8a7790_add_
standard
_devices
(
void
)
void
__init
r8a7790_add_
dt
_devices
(
void
)
{
r8a7790_register_scif
(
SCIFA0
);
r8a7790_register_scif
(
SCIFA1
);
...
...
@@ -191,9 +191,14 @@ void __init r8a7790_add_standard_devices(void)
r8a7790_register_scif
(
SCIF1
);
r8a7790_register_scif
(
HSCIF0
);
r8a7790_register_scif
(
HSCIF1
);
r8a7790_register_cmt
(
00
);
}
void
__init
r8a7790_add_standard_devices
(
void
)
{
r8a7790_add_dt_devices
();
r8a7790_register_irqc
(
0
);
r8a7790_register_thermal
();
r8a7790_register_cmt
(
00
);
}
#define MODEMR 0xe6160060
...
...
arch/arm/mach-shmobile/smp-r8a7779.c
浏览文件 @
4e0f3fcf
...
...
@@ -99,6 +99,9 @@ static int __cpuinit r8a7779_boot_secondary(unsigned int cpu, struct task_struct
static
void
__init
r8a7779_smp_prepare_cpus
(
unsigned
int
max_cpus
)
{
/* setup r8a7779 specific SCU base */
shmobile_scu_base
=
IOMEM
(
R8A7779_SCU_BASE
);
scu_enable
(
shmobile_scu_base
);
/* Map the reset vector (in headsmp-scu.S, headsmp.S) */
...
...
@@ -117,14 +120,6 @@ static void __init r8a7779_smp_prepare_cpus(unsigned int max_cpus)
r8a7779_platform_cpu_kill
(
3
);
}
static
void
__init
r8a7779_smp_init_cpus
(
void
)
{
/* setup r8a7779 specific SCU base */
shmobile_scu_base
=
IOMEM
(
R8A7779_SCU_BASE
);
shmobile_smp_init_cpus
(
scu_get_core_count
(
shmobile_scu_base
));
}
#ifdef CONFIG_HOTPLUG_CPU
static
int
r8a7779_scu_psr_core_disabled
(
int
cpu
)
{
...
...
@@ -175,7 +170,6 @@ static int r8a7779_cpu_disable(unsigned int cpu)
#endif
/* CONFIG_HOTPLUG_CPU */
struct
smp_operations
r8a7779_smp_ops
__initdata
=
{
.
smp_init_cpus
=
r8a7779_smp_init_cpus
,
.
smp_prepare_cpus
=
r8a7779_smp_prepare_cpus
,
.
smp_boot_secondary
=
r8a7779_boot_secondary
,
#ifdef CONFIG_HOTPLUG_CPU
...
...
arch/arm/mach-shmobile/smp-sh73a0.c
浏览文件 @
4e0f3fcf
...
...
@@ -62,6 +62,8 @@ static int __cpuinit sh73a0_boot_secondary(unsigned int cpu, struct task_struct
static
void
__init
sh73a0_smp_prepare_cpus
(
unsigned
int
max_cpus
)
{
/* setup sh73a0 specific SCU base */
shmobile_scu_base
=
IOMEM
(
SH73A0_SCU_BASE
);
scu_enable
(
shmobile_scu_base
);
/* Map the reset vector (in headsmp-scu.S, headsmp.S) */
...
...
@@ -74,14 +76,6 @@ static void __init sh73a0_smp_prepare_cpus(unsigned int max_cpus)
scu_power_mode
(
shmobile_scu_base
,
SCU_PM_NORMAL
);
}
static
void
__init
sh73a0_smp_init_cpus
(
void
)
{
/* setup sh73a0 specific SCU base */
shmobile_scu_base
=
IOMEM
(
SH73A0_SCU_BASE
);
shmobile_smp_init_cpus
(
scu_get_core_count
(
shmobile_scu_base
));
}
#ifdef CONFIG_HOTPLUG_CPU
static
int
sh73a0_cpu_kill
(
unsigned
int
cpu
)
{
...
...
@@ -120,7 +114,6 @@ static int sh73a0_cpu_disable(unsigned int cpu)
#endif
/* CONFIG_HOTPLUG_CPU */
struct
smp_operations
sh73a0_smp_ops
__initdata
=
{
.
smp_init_cpus
=
sh73a0_smp_init_cpus
,
.
smp_prepare_cpus
=
sh73a0_smp_prepare_cpus
,
.
smp_boot_secondary
=
sh73a0_boot_secondary
,
#ifdef CONFIG_HOTPLUG_CPU
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录