mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	ARM: dove: convert to DT irqchip and clocksource
With recent support for true irqchip and clocksource drivers for Orion SoCs, now make use of it on DT enabled Dove boards. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
This commit is contained in:
		
							parent
							
								
									cabbd6bd15
								
							
						
					
					
						commit
						f07d73e33d
					
				
					 3 changed files with 20 additions and 9 deletions
				
			
		| 
						 | 
				
			
			@ -23,6 +23,8 @@ config MACH_CM_A510
 | 
			
		|||
config MACH_DOVE_DT
 | 
			
		||||
	bool "Marvell Dove Flattened Device Tree"
 | 
			
		||||
	select DOVE_CLK
 | 
			
		||||
	select ORION_IRQCHIP
 | 
			
		||||
	select ORION_TIMER
 | 
			
		||||
	select REGULATOR
 | 
			
		||||
	select REGULATOR_FIXED_VOLTAGE
 | 
			
		||||
	select USE_OF
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
obj-y				+= common.o irq.o
 | 
			
		||||
obj-$(CONFIG_DOVE_LEGACY)	+= mpp.o
 | 
			
		||||
obj-y				+= common.o
 | 
			
		||||
obj-$(CONFIG_DOVE_LEGACY)	+= irq.o mpp.o
 | 
			
		||||
obj-$(CONFIG_PCI)		+= pcie.o
 | 
			
		||||
obj-$(CONFIG_MACH_DOVE_DB)	+= dove-db-setup.o
 | 
			
		||||
obj-$(CONFIG_MACH_DOVE_DT)	+= board-dt.o
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,11 +10,14 @@
 | 
			
		|||
 | 
			
		||||
#include <linux/init.h>
 | 
			
		||||
#include <linux/clk-provider.h>
 | 
			
		||||
#include <linux/clocksource.h>
 | 
			
		||||
#include <linux/irqchip.h>
 | 
			
		||||
#include <linux/of.h>
 | 
			
		||||
#include <linux/of_platform.h>
 | 
			
		||||
#include <linux/platform_data/usb-ehci-orion.h>
 | 
			
		||||
#include <asm/hardware/cache-tauros2.h>
 | 
			
		||||
#include <asm/mach/arch.h>
 | 
			
		||||
#include <mach/dove.h>
 | 
			
		||||
#include <mach/pm.h>
 | 
			
		||||
#include <plat/common.h>
 | 
			
		||||
#include <plat/irq.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -42,10 +45,17 @@ static void __init dove_legacy_clk_init(void)
 | 
			
		|||
			 of_clk_get_from_provider(&clkspec));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void __init dove_of_clk_init(void)
 | 
			
		||||
static void __init dove_dt_time_init(void)
 | 
			
		||||
{
 | 
			
		||||
	of_clk_init(NULL);
 | 
			
		||||
	dove_legacy_clk_init();
 | 
			
		||||
	clocksource_of_init();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void __init dove_dt_init_early(void)
 | 
			
		||||
{
 | 
			
		||||
	mvebu_mbus_init("marvell,dove-mbus",
 | 
			
		||||
			BRIDGE_WINS_BASE, BRIDGE_WINS_SZ,
 | 
			
		||||
			DOVE_MC_WINS_BASE, DOVE_MC_WINS_SZ);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void __init dove_dt_init(void)
 | 
			
		||||
| 
						 | 
				
			
			@ -57,8 +67,8 @@ static void __init dove_dt_init(void)
 | 
			
		|||
#endif
 | 
			
		||||
	dove_setup_cpu_wins();
 | 
			
		||||
 | 
			
		||||
	/* Setup root of clk tree */
 | 
			
		||||
	dove_of_clk_init();
 | 
			
		||||
	/* Setup clocks for legacy devices */
 | 
			
		||||
	dove_legacy_clk_init();
 | 
			
		||||
 | 
			
		||||
	/* Internal devices not ported to DT yet */
 | 
			
		||||
	dove_pcie_init(1, 1);
 | 
			
		||||
| 
						 | 
				
			
			@ -73,9 +83,8 @@ static const char * const dove_dt_board_compat[] = {
 | 
			
		|||
 | 
			
		||||
DT_MACHINE_START(DOVE_DT, "Marvell Dove (Flattened Device Tree)")
 | 
			
		||||
	.map_io		= dove_map_io,
 | 
			
		||||
	.init_early	= dove_init_early,
 | 
			
		||||
	.init_irq	= orion_dt_init_irq,
 | 
			
		||||
	.init_time	= dove_timer_init,
 | 
			
		||||
	.init_early	= dove_dt_init_early,
 | 
			
		||||
	.init_time	= dove_dt_time_init,
 | 
			
		||||
	.init_machine	= dove_dt_init,
 | 
			
		||||
	.restart	= dove_restart,
 | 
			
		||||
	.dt_compat	= dove_dt_board_compat,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue