blob: 02b9c05ff9905b5ca94d1f5672709fe68d6b8c5c [file] [log] [blame]
Binghua Duan02c981c2011-07-08 17:40:12 +08001/*
Barry Song013dd122011-09-22 22:51:30 -07002 * Defines machines for CSR SiRFprimaII
Binghua Duan02c981c2011-07-08 17:40:12 +08003 *
4 * Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company.
5 *
6 * Licensed under GPLv2 or later.
7 */
8
9#include <linux/init.h>
10#include <linux/kernel.h>
Barry Song1bdfd27a2011-11-17 22:18:14 +080011#include <asm/sizes.h>
Binghua Duan02c981c2011-07-08 17:40:12 +080012#include <asm/mach-types.h>
13#include <asm/mach/arch.h>
14#include <linux/of.h>
15#include <linux/of_platform.h>
16#include "common.h"
17
18static struct of_device_id sirfsoc_of_bus_ids[] __initdata = {
19 { .compatible = "simple-bus", },
20 {},
21};
22
23void __init sirfsoc_mach_init(void)
24{
25 of_platform_bus_probe(NULL, sirfsoc_of_bus_ids, NULL);
26}
27
28static const char *prima2cb_dt_match[] __initdata = {
29 "sirf,prima2-cb",
30 NULL
31};
32
33MACHINE_START(PRIMA2_EVB, "prima2cb")
34 /* Maintainer: Barry Song <baohua.song@csr.com> */
Nicolas Pitre0cc93112011-07-05 22:38:18 -040035 .atag_offset = 0x100,
Binghua Duan02c981c2011-07-08 17:40:12 +080036 .init_early = sirfsoc_of_clk_init,
Barry Song31adb062011-07-08 02:40:13 -070037 .map_io = sirfsoc_map_lluart,
Binghua Duan02c981c2011-07-08 17:40:12 +080038 .init_irq = sirfsoc_of_irq_init,
39 .timer = &sirfsoc_timer,
Nicolas Pitre98b01242011-09-02 21:05:10 -040040 .dma_zone_size = SZ_256M,
Binghua Duan02c981c2011-07-08 17:40:12 +080041 .init_machine = sirfsoc_mach_init,
42 .dt_compat = prima2cb_dt_match,
Russell King125c4032011-11-05 10:23:27 +000043 .restart = sirfsoc_restart,
Binghua Duan02c981c2011-07-08 17:40:12 +080044MACHINE_END