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
be09d1dc
Commit
be09d1dc
authored
Nov 24, 2011
by
Paul Mundt
Browse files
Options
Browse Files
Download
Plain Diff
Merge branches 'rmobile/core', 'rmobile/kota2' and 'rmobile/ag5' into rmobile-fixes-for-linus
parents
9bcc0a5d
33661c9e
eded9143
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
138 additions
and
18 deletions
+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
No files found.
arch/arm/mach-shmobile/board-ag5evm.c
View file @
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
View file @
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
View file @
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 */
...
...
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