diff options
| author | Olof Johansson <olof@lixom.net> | 2013-05-31 22:39:49 -0700 | 
|---|---|---|
| committer | Olof Johansson <olof@lixom.net> | 2013-05-31 22:39:49 -0700 | 
| commit | 92ce4cc63d5eb31fb1b2650d97d6d4c5fa47b793 (patch) | |
| tree | 9d8d74e4bc1c82d42e2136d43f57189d6fb5f640 | |
| parent | e4aa937ec75df0eea0bee03bffa3303ad36c986b (diff) | |
| parent | 0e2ee0c0610ec211a9f0ebf3088cbf4da422ebf8 (diff) | |
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
| -rw-r--r-- | arch/arm/Kconfig | 1 | ||||
| -rw-r--r-- | arch/arm/mach-kirkwood/board-dt.c | 9 | ||||
| -rw-r--r-- | arch/arm/mach-kirkwood/common.c | 23 | ||||
| -rw-r--r-- | arch/arm/mach-kirkwood/common.h | 2 | ||||
| -rw-r--r-- | arch/arm/mach-kirkwood/include/mach/bridge-regs.h | 2 | 
5 files changed, 31 insertions, 6 deletions
| diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 49d993cee512..8ab5962a63a5 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -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 diff --git a/arch/arm/mach-kirkwood/board-dt.c b/arch/arm/mach-kirkwood/board-dt.c index e9647b80cb59..4cc9edf39865 100644 --- a/arch/arm/mach-kirkwood/board-dt.c +++ b/arch/arm/mach-kirkwood/board-dt.c @@ -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[] = { diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c index f38922897563..56250e638d9b 100644 --- a/arch/arm/mach-kirkwood/common.c +++ b/arch/arm/mach-kirkwood/common.c @@ -598,6 +598,29 @@ void __init kirkwood_audio_init(void)  }  /***************************************************************************** + * 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   ****************************************************************************/  /* diff --git a/arch/arm/mach-kirkwood/common.h b/arch/arm/mach-kirkwood/common.h index 21da3b1ebd7b..99e769893c35 100644 --- a/arch/arm/mach-kirkwood/common.h +++ b/arch/arm/mach-kirkwood/common.h @@ -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); diff --git a/arch/arm/mach-kirkwood/include/mach/bridge-regs.h b/arch/arm/mach-kirkwood/include/mach/bridge-regs.h index 5c82b7dce4e2..d4cbe5e81bb4 100644 --- a/arch/arm/mach-kirkwood/include/mach/bridge-regs.h +++ b/arch/arm/mach-kirkwood/include/mach/bridge-regs.h @@ -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) | 
