blob: 834d67684e205a185971c13ebc6620434eeac788 [file] [log] [blame]
Simon Arlottec9653b2012-05-26 01:04:43 -06001/*
2 * Copyright (C) 2010 Broadcom
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 */
14
15#include <linux/init.h>
Axel Lin57029412013-07-05 00:31:36 +080016#include <linux/irqchip.h>
Stephen Warrend0f1c7f2012-09-15 22:18:10 -060017#include <linux/of_address.h>
Simon Arlottec9653b2012-05-26 01:04:43 -060018#include <linux/of_platform.h>
Simon Arlott75fabc32012-09-10 23:26:15 -060019#include <linux/clk/bcm2835.h>
Simon Arlottec9653b2012-05-26 01:04:43 -060020
21#include <asm/mach/arch.h>
22#include <asm/mach/map.h>
Simon Arlottec9653b2012-05-26 01:04:43 -060023
Domenico Andreolidd3c7542012-10-20 03:35:27 +020024static void __init bcm2835_init(void)
Simon Arlottec9653b2012-05-26 01:04:43 -060025{
26 int ret;
27
Simon Arlott75fabc32012-09-10 23:26:15 -060028 bcm2835_init_clocks();
29
Simon Arlottec9653b2012-05-26 01:04:43 -060030 ret = of_platform_populate(NULL, of_default_bus_match_table, NULL,
31 NULL);
32 if (ret) {
33 pr_err("of_platform_populate failed: %d\n", ret);
34 BUG();
35 }
36}
37
Simon Arlottec9653b2012-05-26 01:04:43 -060038static const char * const bcm2835_compat[] = {
Eric Anholtc1be3c12015-12-16 15:55:14 -080039#ifdef CONFIG_ARCH_MULTI_V6
Simon Arlottec9653b2012-05-26 01:04:43 -060040 "brcm,bcm2835",
Eric Anholtc1be3c12015-12-16 15:55:14 -080041#endif
42#ifdef CONFIG_ARCH_MULTI_V7
43 "brcm,bcm2836",
44#endif
Simon Arlottec9653b2012-05-26 01:04:43 -060045 NULL
46};
47
48DT_MACHINE_START(BCM2835, "BCM2835")
Simon Arlottec9653b2012-05-26 01:04:43 -060049 .init_machine = bcm2835_init,
Simon Arlottec9653b2012-05-26 01:04:43 -060050 .dt_compat = bcm2835_compat
51MACHINE_END