mvebu soc changes for v3.11 (round 2)

- kirkwood
     - use the cpufreq driver
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.19 (GNU/Linux)
 
 iQEcBAABAgAGBQJRplfXAAoJEAi3KVZQDZAeOtIH/R2D0Bkb7xfhxKYDUg3jrMbz
 YZz2RYVqKJQHj5xo/Yt4F6NS9WqqKRYWEzJQTH4a2EfSC/zfLM3QTG46N71VojPn
 K/eigw1jeQ8qrDIQhd3mAGh4VzW2Q4xOuFWbWzH0RUgZZxAEQyyh2LcEftxTwSlK
 nHWLhBY+t4hBIZQ6oCt1byRrcbxScoABb6joJVJxV1H20FB9TyzWQXgrJs1qGWNW
 yKzKC5WWBNtEmaMLGDkDy65nAVOsiO1M+f30Oo4sKfYjDe5CosTS4asdg1toupVT
 lJq6rskzIN503uUC6SFcNcPqHc9nJoHs7T8aTtFMf05wXxC0kdUvZoYeDVUyt+M=
 =3/Kd
 -----END PGP SIGNATURE-----

Merge tag 'soc-3.11-2' of git://git.infradead.org/users/jcooper/linux into next/soc

From Jason Cooper, mvebu soc changes for v3.11

Signed-off-by: Olof Johansson <olof@lixom.net>

* tag 'soc-3.11-2' of git://git.infradead.org/users/jcooper/linux:
  arm: kirkwood: Instantiate cpufreq driver
  arm: kirkwood: use the default of match table
This commit is contained in:
Olof Johansson 2013-05-31 22:39:49 -07:00
commit 92ce4cc63d
5 changed files with 31 additions and 6 deletions

View File

@ -502,6 +502,7 @@ config ARCH_DOVE
config ARCH_KIRKWOOD
bool "Marvell Kirkwood"
select ARCH_HAS_CPUFREQ
select ARCH_REQUIRE_GPIOLIB
select CPU_FEROCEON
select GENERIC_CLOCKEVENTS

View File

@ -25,11 +25,6 @@
#include <plat/common.h>
#include "common.h"
static struct of_device_id kirkwood_dt_match_table[] __initdata = {
{ .compatible = "simple-bus", },
{ }
};
/*
* There are still devices that doesn't know about DT yet. Get clock
* gates here and add a clock lookup alias, so that old platform
@ -97,6 +92,8 @@ static void __init kirkwood_dt_init(void)
kirkwood_l2_init();
kirkwood_cpufreq_init();
/* Setup root of clk tree */
kirkwood_of_clk_init();
@ -159,7 +156,7 @@ static void __init kirkwood_dt_init(void)
if (of_machine_is_compatible("usi,topkick"))
usi_topkick_init();
of_platform_populate(NULL, kirkwood_dt_match_table, NULL, NULL);
of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
}
static const char * const kirkwood_dt_board_compat[] = {

View File

@ -597,6 +597,29 @@ void __init kirkwood_audio_init(void)
platform_device_register(&kirkwood_pcm_device);
}
/*****************************************************************************
* CPU Frequency
****************************************************************************/
static struct resource kirkwood_cpufreq_resources[] = {
[0] = {
.start = CPU_CONTROL_PHYS,
.end = CPU_CONTROL_PHYS + 3,
.flags = IORESOURCE_MEM,
},
};
static struct platform_device kirkwood_cpufreq_device = {
.name = "kirkwood-cpufreq",
.id = -1,
.num_resources = ARRAY_SIZE(kirkwood_cpufreq_resources),
.resource = kirkwood_cpufreq_resources,
};
void __init kirkwood_cpufreq_init(void)
{
platform_device_register(&kirkwood_cpufreq_device);
}
/*****************************************************************************
* General
****************************************************************************/

View File

@ -51,6 +51,8 @@ void kirkwood_nand_init_rnb(struct mtd_partition *parts, int nr_parts,
int (*dev_ready)(struct mtd_info *));
void kirkwood_audio_init(void);
void kirkwood_cpuidle_init(void);
void kirkwood_cpufreq_init(void);
void kirkwood_restart(char, const char *);
void kirkwood_clk_init(void);

View File

@ -17,6 +17,7 @@
#define CPU_CONFIG_ERROR_PROP 0x00000004
#define CPU_CONTROL (BRIDGE_VIRT_BASE + 0x0104)
#define CPU_CONTROL_PHYS (BRIDGE_PHYS_BASE + 0x0104)
#define CPU_RESET 0x00000002
#define RSTOUTn_MASK (BRIDGE_VIRT_BASE + 0x0108)
@ -69,6 +70,7 @@
#define CGC_RUNIT (1 << 7)
#define CGC_XOR0 (1 << 8)
#define CGC_AUDIO (1 << 9)
#define CGC_POWERSAVE (1 << 11)
#define CGC_SATA0 (1 << 14)
#define CGC_SATA1 (1 << 15)
#define CGC_XOR1 (1 << 16)