Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
4e0f3fcf
Commit
4e0f3fcf
authored
Aug 06, 2013
by
Simon Horman
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dt2' into cleanup3-base
Conflicts: arch/arm/mach-shmobile/Makefile.boot
parents
98724b7e
8b3e32c1
Changes
34
Hide whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
461 additions
and
70 deletions
+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
No files found.
arch/arm/boot/dts/Makefile
View file @
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
View file @
4e0f3fcf
...
...
@@ -46,6 +46,12 @@ gic: interrupt-controller@e0020000 {
<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
View file @
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
View file @
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
View file @
4e0f3fcf
...
...
@@ -32,6 +32,11 @@ gic: interrupt-controller@c2800000 {
<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 @@ i2c1: i2c@e6c20000 {
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
View file @
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
View file @
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
View file @
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
View file @
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
View file @
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
View file @
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
View file @
4e0f3fcf
...
...
@@ -32,7 +32,7 @@ cpu@0 {
};
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
View file @
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
View file @
4e0f3fcf
...
...
@@ -38,6 +38,12 @@ gic: interrupt-controller@f0001000 {
<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
View file @
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
View file @
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
View file @
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
View file @
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
View file @
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
View file @
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
View file @
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
View file @
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
View file @
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
View file @
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
View file @
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
View file @
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
View file @
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
View file @
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
View file @
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
View file @
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
View file @
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
View file @
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
View file @
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
View file @
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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment