aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-dove
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-09-06 16:34:43 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-09-06 16:34:43 -0400
commit44598f98b98e54beca34dc836b38eaea40be1abf (patch)
tree42a498e0267b23289ffe240907fd9bacb9156a2c /arch/arm/mach-dove
parentb4b50fd78b1e31989940dfc647e64453d0f7176a (diff)
parent4e5f67fa538ded704c904157e3ca23ceef9c7e64 (diff)
Merge tag 'boards-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC board updates from Olof Johansson: "Board updates for 3.12. Again, a bit of domain overlap with SoC and DT branches, but most of this is around legacy code and board support. We've found that platform maintainers have a hard time separating all of these out and might move towards fewer branches for next release. - Removal of a number of Marvell Kirkwood board files, since contents is now common and mostly configured via DT. - Device-tree updates for Marvell Dove, including irqchip and clocksource setup. - Defconfig updates. Gotta go somewhere. One new one for Renesas Lager. - New backlight drivers for backlights used on Renesas shmobile platforms. - Removal of Renesas leds driver. - Shuffling of some of the new Broadcom platforms to give room for others in the same mach directory. More in 3.13" * tag 'boards-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (67 commits) mmc: sdhci-bcm-kona: Staticize sdhci_bcm_kona_card_event mmc: sdhci-bcm-kona: Remove unneeded version.h inclusion ARM: bcm: Make secure API call optional ARM: DT: binding fixup to align with vendor-prefixes.txt (drivers) ARM: mmc: fix NONREMOVABLE test in sdhci-bcm-kona ARM: bcm: Rename board_bcm mmc: sdhci-bcm-kona: make linker-section warning go away ARM: tegra: defconfig updates ARM: dove: add initial DT file for Globalscale D2Plug ARM: dove: add GPIO IR receiver node to SolidRun CuBox ARM: dove: add common pinmux functions to DT ARM: dove: add cpu device tree node ARM: dove: update dove_defconfig with SI5351, PCI, and xHCI arch/arm/mach-kirkwood: Avoid using ARRAY_AND_SIZE(e) as a function argument ARM: kirkwood: fix DT building and update defconfig ARM: kirkwood: Remove all remaining trace of DNS-320/325 platform code ARM: configs: disable DEBUG_LL in bcm_defconfig ARM: bcm281xx: Board specific reboot code ARM bcm281xx: Turn on socket & network support. ARM: bcm281xx: Turn on L2 cache. ...
Diffstat (limited to 'arch/arm/mach-dove')
-rw-r--r--arch/arm/mach-dove/Kconfig2
-rw-r--r--arch/arm/mach-dove/Makefile4
-rw-r--r--arch/arm/mach-dove/board-dt.c30
3 files changed, 19 insertions, 17 deletions
diff --git a/arch/arm/mach-dove/Kconfig b/arch/arm/mach-dove/Kconfig
index dff7b2fd4e20..0bc7cdf8cf46 100644
--- a/arch/arm/mach-dove/Kconfig
+++ b/arch/arm/mach-dove/Kconfig
@@ -23,6 +23,8 @@ config MACH_CM_A510
23config MACH_DOVE_DT 23config MACH_DOVE_DT
24 bool "Marvell Dove Flattened Device Tree" 24 bool "Marvell Dove Flattened Device Tree"
25 select DOVE_CLK 25 select DOVE_CLK
26 select ORION_IRQCHIP
27 select ORION_TIMER
26 select REGULATOR 28 select REGULATOR
27 select REGULATOR_FIXED_VOLTAGE 29 select REGULATOR_FIXED_VOLTAGE
28 select USE_OF 30 select USE_OF
diff --git a/arch/arm/mach-dove/Makefile b/arch/arm/mach-dove/Makefile
index 4d9d2ffc4535..cbc5c0618788 100644
--- a/arch/arm/mach-dove/Makefile
+++ b/arch/arm/mach-dove/Makefile
@@ -1,5 +1,5 @@
1obj-y += common.o irq.o 1obj-y += common.o
2obj-$(CONFIG_DOVE_LEGACY) += mpp.o 2obj-$(CONFIG_DOVE_LEGACY) += irq.o mpp.o
3obj-$(CONFIG_PCI) += pcie.o 3obj-$(CONFIG_PCI) += pcie.o
4obj-$(CONFIG_MACH_DOVE_DB) += dove-db-setup.o 4obj-$(CONFIG_MACH_DOVE_DB) += dove-db-setup.o
5obj-$(CONFIG_MACH_DOVE_DT) += board-dt.o 5obj-$(CONFIG_MACH_DOVE_DT) += board-dt.o
diff --git a/arch/arm/mach-dove/board-dt.c b/arch/arm/mach-dove/board-dt.c
index f3755ac81148..49f72a848423 100644
--- a/arch/arm/mach-dove/board-dt.c
+++ b/arch/arm/mach-dove/board-dt.c
@@ -10,11 +10,14 @@
10 10
11#include <linux/init.h> 11#include <linux/init.h>
12#include <linux/clk-provider.h> 12#include <linux/clk-provider.h>
13#include <linux/clocksource.h>
14#include <linux/irqchip.h>
13#include <linux/of.h> 15#include <linux/of.h>
14#include <linux/of_platform.h> 16#include <linux/of_platform.h>
15#include <linux/platform_data/usb-ehci-orion.h> 17#include <linux/platform_data/usb-ehci-orion.h>
16#include <asm/hardware/cache-tauros2.h> 18#include <asm/hardware/cache-tauros2.h>
17#include <asm/mach/arch.h> 19#include <asm/mach/arch.h>
20#include <mach/dove.h>
18#include <mach/pm.h> 21#include <mach/pm.h>
19#include <plat/common.h> 22#include <plat/common.h>
20#include <plat/irq.h> 23#include <plat/irq.h>
@@ -33,10 +36,6 @@ static void __init dove_legacy_clk_init(void)
33 clkspec.np = np; 36 clkspec.np = np;
34 clkspec.args_count = 1; 37 clkspec.args_count = 1;
35 38
36 clkspec.args[0] = CLOCK_GATING_BIT_GBE;
37 orion_clkdev_add(NULL, "mv643xx_eth_port.0",
38 of_clk_get_from_provider(&clkspec));
39
40 clkspec.args[0] = CLOCK_GATING_BIT_PCIE0; 39 clkspec.args[0] = CLOCK_GATING_BIT_PCIE0;
41 orion_clkdev_add("0", "pcie", 40 orion_clkdev_add("0", "pcie",
42 of_clk_get_from_provider(&clkspec)); 41 of_clk_get_from_provider(&clkspec));
@@ -46,15 +45,18 @@ static void __init dove_legacy_clk_init(void)
46 of_clk_get_from_provider(&clkspec)); 45 of_clk_get_from_provider(&clkspec));
47} 46}
48 47
49static void __init dove_of_clk_init(void) 48static void __init dove_dt_time_init(void)
50{ 49{
51 of_clk_init(NULL); 50 of_clk_init(NULL);
52 dove_legacy_clk_init(); 51 clocksource_of_init();
53} 52}
54 53
55static struct mv643xx_eth_platform_data dove_dt_ge00_data = { 54static void __init dove_dt_init_early(void)
56 .phy_addr = MV643XX_ETH_PHY_ADDR_DEFAULT, 55{
57}; 56 mvebu_mbus_init("marvell,dove-mbus",
57 BRIDGE_WINS_BASE, BRIDGE_WINS_SZ,
58 DOVE_MC_WINS_BASE, DOVE_MC_WINS_SZ);
59}
58 60
59static void __init dove_dt_init(void) 61static void __init dove_dt_init(void)
60{ 62{
@@ -65,11 +67,10 @@ static void __init dove_dt_init(void)
65#endif 67#endif
66 dove_setup_cpu_wins(); 68 dove_setup_cpu_wins();
67 69
68 /* Setup root of clk tree */ 70 /* Setup clocks for legacy devices */
69 dove_of_clk_init(); 71 dove_legacy_clk_init();
70 72
71 /* Internal devices not ported to DT yet */ 73 /* Internal devices not ported to DT yet */
72 dove_ge00_init(&dove_dt_ge00_data);
73 dove_pcie_init(1, 1); 74 dove_pcie_init(1, 1);
74 75
75 of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); 76 of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
@@ -82,9 +83,8 @@ static const char * const dove_dt_board_compat[] = {
82 83
83DT_MACHINE_START(DOVE_DT, "Marvell Dove (Flattened Device Tree)") 84DT_MACHINE_START(DOVE_DT, "Marvell Dove (Flattened Device Tree)")
84 .map_io = dove_map_io, 85 .map_io = dove_map_io,
85 .init_early = dove_init_early, 86 .init_early = dove_dt_init_early,
86 .init_irq = orion_dt_init_irq, 87 .init_time = dove_dt_time_init,
87 .init_time = dove_timer_init,
88 .init_machine = dove_dt_init, 88 .init_machine = dove_dt_init,
89 .restart = dove_restart, 89 .restart = dove_restart,
90 .dt_compat = dove_dt_board_compat, 90 .dt_compat = dove_dt_board_compat,