xref: /openbmc/linux/arch/mips/cobalt/mtd.c (revision 58e16d792a6a8c6b750f637a4649967fcac853dc)
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