~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise

« back to all changes in this revision

Viewing changes to arch/m68k/platform/54xx/firebee.c

  • Committer: Bazaar Package Importer
  • Author(s): Paolo Pisati
  • Date: 2011-06-29 15:23:51 UTC
  • mfrom: (26.1.1 natty-proposed)
  • Revision ID: james.westby@ubuntu.com-20110629152351-xs96tm303d95rpbk
Tags: 3.0.0-1200.2
* Rebased against 3.0.0-6.7
* BSP from TI based on 3.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/***************************************************************************/
 
2
 
 
3
/*
 
4
 *      firebee.c -- extra startup code support for the FireBee boards
 
5
 *
 
6
 *      Copyright (C) 2011, Greg Ungerer (gerg@snapgear.com)
 
7
 */
 
8
 
 
9
/***************************************************************************/
 
10
 
 
11
#include <linux/kernel.h>
 
12
#include <linux/init.h>
 
13
#include <linux/io.h>
 
14
#include <linux/platform_device.h>
 
15
#include <linux/mtd/mtd.h>
 
16
#include <linux/mtd/partitions.h>
 
17
#include <linux/mtd/physmap.h>
 
18
#include <asm/coldfire.h>
 
19
#include <asm/mcfsim.h>
 
20
 
 
21
/***************************************************************************/
 
22
 
 
23
/*
 
24
 *      8MB of NOR flash fitted to the FireBee board.
 
25
 */
 
26
#define FLASH_PHYS_ADDR         0xe0000000      /* Physical address of flash */
 
27
#define FLASH_PHYS_SIZE         0x00800000      /* Size of flash */
 
28
 
 
29
#define PART_BOOT_START         0x00000000      /* Start at bottom of flash */
 
30
#define PART_BOOT_SIZE          0x00040000      /* 256k in size */
 
31
#define PART_IMAGE_START        0x00040000      /* Start after boot loader */
 
32
#define PART_IMAGE_SIZE         0x006c0000      /* Most of flash */
 
33
#define PART_FPGA_START         0x00700000      /* Start at offset 7MB */
 
34
#define PART_FPGA_SIZE          0x00100000      /* 1MB in size */
 
35
 
 
36
static struct mtd_partition firebee_flash_parts[] = {
 
37
        {
 
38
                .name   = "dBUG",
 
39
                .offset = PART_BOOT_START,
 
40
                .size   = PART_BOOT_SIZE,
 
41
        },
 
42
        {
 
43
                .name   = "FPGA",
 
44
                .offset = PART_FPGA_START,
 
45
                .size   = PART_FPGA_SIZE,
 
46
        },
 
47
        {
 
48
                .name   = "image",
 
49
                .offset = PART_IMAGE_START,
 
50
                .size   = PART_IMAGE_SIZE,
 
51
        },
 
52
};
 
53
 
 
54
static struct physmap_flash_data firebee_flash_data = {
 
55
        .width          = 2,
 
56
        .nr_parts       = ARRAY_SIZE(firebee_flash_parts),
 
57
        .parts          = firebee_flash_parts,
 
58
};
 
59
 
 
60
static struct resource firebee_flash_resource = {
 
61
        .start          = FLASH_PHYS_ADDR,
 
62
        .end            = FLASH_PHYS_ADDR + FLASH_PHYS_SIZE,
 
63
        .flags          = IORESOURCE_MEM,
 
64
};
 
65
 
 
66
static struct platform_device firebee_flash = {
 
67
        .name           = "physmap-flash",
 
68
        .id             = 0,
 
69
        .dev            = {
 
70
                .platform_data = &firebee_flash_data,
 
71
        },
 
72
        .num_resources  = 1,
 
73
        .resource       = &firebee_flash_resource,
 
74
};
 
75
 
 
76
/***************************************************************************/
 
77
 
 
78
static int __init init_firebee(void)
 
79
{
 
80
        platform_device_register(&firebee_flash);
 
81
        return 0;
 
82
}
 
83
 
 
84
arch_initcall(init_firebee);
 
85
 
 
86
/***************************************************************************/