1*16216333SThomas Gleixner // SPDX-License-Identifier: GPL-2.0-or-later
2c316eb1eSYoichi Yuasa /*
3c316eb1eSYoichi Yuasa * Registration of Cobalt MTD device.
4c316eb1eSYoichi Yuasa *
5ada8e951SYoichi Yuasa * Copyright (C) 2006 Yoichi Yuasa <yuasa@linux-mips.org>
6c316eb1eSYoichi Yuasa */
7c316eb1eSYoichi Yuasa #include <linux/init.h>
8c316eb1eSYoichi Yuasa #include <linux/platform_device.h>
9c316eb1eSYoichi Yuasa #include <linux/mtd/partitions.h>
10c316eb1eSYoichi Yuasa #include <linux/mtd/physmap.h>
11c316eb1eSYoichi Yuasa
12c316eb1eSYoichi Yuasa static struct mtd_partition cobalt_mtd_partitions[] = {
13c316eb1eSYoichi Yuasa {
140eb9d788SRalf Baechle .name = "firmware",
15c316eb1eSYoichi Yuasa .offset = 0x0,
16c316eb1eSYoichi Yuasa .size = 0x80000,
17c316eb1eSYoichi Yuasa },
18c316eb1eSYoichi Yuasa };
19c316eb1eSYoichi Yuasa
20c316eb1eSYoichi Yuasa static struct physmap_flash_data cobalt_flash_data = {
21c316eb1eSYoichi Yuasa .width = 1,
22c316eb1eSYoichi Yuasa .nr_parts = 1,
23c316eb1eSYoichi Yuasa .parts = cobalt_mtd_partitions,
24c316eb1eSYoichi Yuasa };
25c316eb1eSYoichi Yuasa
26c316eb1eSYoichi Yuasa static struct resource cobalt_mtd_resource = {
27c316eb1eSYoichi Yuasa .start = 0x1fc00000,
28c316eb1eSYoichi Yuasa .end = 0x1fc7ffff,
29c316eb1eSYoichi Yuasa .flags = IORESOURCE_MEM,
30c316eb1eSYoichi Yuasa };
31c316eb1eSYoichi Yuasa
32c316eb1eSYoichi Yuasa static struct platform_device cobalt_mtd = {
33c316eb1eSYoichi Yuasa .name = "physmap-flash",
34c316eb1eSYoichi Yuasa .dev = {
35c316eb1eSYoichi Yuasa .platform_data = &cobalt_flash_data,
36c316eb1eSYoichi Yuasa },
37c316eb1eSYoichi Yuasa .num_resources = 1,
38c316eb1eSYoichi Yuasa .resource = &cobalt_mtd_resource,
39c316eb1eSYoichi Yuasa };
40c316eb1eSYoichi Yuasa
cobalt_mtd_init(void)41c316eb1eSYoichi Yuasa static int __init cobalt_mtd_init(void)
42c316eb1eSYoichi Yuasa {
43c316eb1eSYoichi Yuasa platform_device_register(&cobalt_mtd);
44c316eb1eSYoichi Yuasa
45c316eb1eSYoichi Yuasa return 0;
46c316eb1eSYoichi Yuasa }
47589de416SPaul Gortmaker device_initcall(cobalt_mtd_init);
48