diff options
Diffstat (limited to 'arch/arm/mach-ux500')
| -rw-r--r-- | arch/arm/mach-ux500/board-mop500-sdi.c | 1 | ||||
| -rw-r--r-- | arch/arm/mach-ux500/board-mop500.c | 12 | ||||
| -rw-r--r-- | arch/arm/mach-ux500/board-mop500.h | 1 | ||||
| -rw-r--r-- | arch/arm/mach-ux500/cpu-db8500.c | 5 | ||||
| -rw-r--r-- | arch/arm/mach-ux500/hotplug.c | 3 | 
5 files changed, 16 insertions, 6 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-sdi.c b/arch/arm/mach-ux500/board-mop500-sdi.c index 051b62c2710..7f2cb6c5e2c 100644 --- a/arch/arm/mach-ux500/board-mop500-sdi.c +++ b/arch/arm/mach-ux500/board-mop500-sdi.c @@ -81,7 +81,6 @@ static struct stedma40_chan_cfg mop500_sdi0_dma_cfg_tx = {  #endif  struct mmci_platform_data mop500_sdi0_data = { -	.ios_handler	= mop500_sdi0_ios_handler,  	.ocr_mask	= MMC_VDD_29_30,  	.f_max		= 50000000,  	.capabilities	= MMC_CAP_4_BIT_DATA | diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c index b03457881c4..87d2d7b38ce 100644 --- a/arch/arm/mach-ux500/board-mop500.c +++ b/arch/arm/mach-ux500/board-mop500.c @@ -12,6 +12,7 @@  #include <linux/init.h>  #include <linux/interrupt.h>  #include <linux/platform_device.h> +#include <linux/clk.h>  #include <linux/io.h>  #include <linux/i2c.h>  #include <linux/platform_data/i2c-nomadik.h> @@ -439,6 +440,15 @@ static void mop500_prox_deactivate(struct device *dev)  	regulator_put(prox_regulator);  } +void mop500_snowball_ethernet_clock_enable(void) +{ +	struct clk *clk; + +	clk = clk_get_sys("fsmc", NULL); +	if (!IS_ERR(clk)) +		clk_prepare_enable(clk); +} +  static struct cryp_platform_data u8500_cryp1_platform_data = {  		.mem_to_engine = {  				.dir = STEDMA40_MEM_TO_PERIPH, @@ -683,6 +693,8 @@ static void __init snowball_init_machine(void)  	mop500_audio_init(parent);  	mop500_uart_init(parent); +	mop500_snowball_ethernet_clock_enable(); +  	/* This board has full regulator constraints */  	regulator_has_full_constraints();  } diff --git a/arch/arm/mach-ux500/board-mop500.h b/arch/arm/mach-ux500/board-mop500.h index eaa605f5d90..d38951be70d 100644 --- a/arch/arm/mach-ux500/board-mop500.h +++ b/arch/arm/mach-ux500/board-mop500.h @@ -104,6 +104,7 @@ void __init mop500_pinmaps_init(void);  void __init snowball_pinmaps_init(void);  void __init hrefv60_pinmaps_init(void);  void mop500_audio_init(struct device *parent); +void mop500_snowball_ethernet_clock_enable(void);  int __init mop500_uib_init(void);  void mop500_uib_i2c_add(int busnum, struct i2c_board_info *info, diff --git a/arch/arm/mach-ux500/cpu-db8500.c b/arch/arm/mach-ux500/cpu-db8500.c index 19235cf7bbe..f1a58184437 100644 --- a/arch/arm/mach-ux500/cpu-db8500.c +++ b/arch/arm/mach-ux500/cpu-db8500.c @@ -312,9 +312,10 @@ static void __init u8500_init_machine(void)  	/* Pinmaps must be in place before devices register */  	if (of_machine_is_compatible("st-ericsson,mop500"))  		mop500_pinmaps_init(); -	else if (of_machine_is_compatible("calaosystems,snowball-a9500")) +	else if (of_machine_is_compatible("calaosystems,snowball-a9500")) {  		snowball_pinmaps_init(); -	else if (of_machine_is_compatible("st-ericsson,hrefv60+")) +		mop500_snowball_ethernet_clock_enable(); +	} else if (of_machine_is_compatible("st-ericsson,hrefv60+"))  		hrefv60_pinmaps_init();  	else if (of_machine_is_compatible("st-ericsson,ccu9540")) {}  		/* TODO: Add pinmaps for ccu9540 board. */ diff --git a/arch/arm/mach-ux500/hotplug.c b/arch/arm/mach-ux500/hotplug.c index 2f6af259015..1c55a55dd89 100644 --- a/arch/arm/mach-ux500/hotplug.c +++ b/arch/arm/mach-ux500/hotplug.c @@ -12,7 +12,6 @@  #include <linux/errno.h>  #include <linux/smp.h> -#include <asm/cacheflush.h>  #include <asm/smp_plat.h>  #include <mach/setup.h> @@ -24,8 +23,6 @@   */  void __ref ux500_cpu_die(unsigned int cpu)  { -	flush_cache_all(); -  	/* directly enter low power state, skipping secure registers */  	for (;;) {  		__asm__ __volatile__("dsb\n\t" "wfi\n\t"  |