// SPDX-License-Identifier: GPL-2.0-or-later /* netsc520.c -- MTD map driver for AMD NetSc520 Demonstration Board * * Copyright (C) 2001 Mark Langsdorf ([email protected]) * based on sc520cdp.c by Sysgo Real-Time Solutions GmbH * * The NetSc520 is a demonstration board for the Elan Sc520 processor available * from AMD. It has a single back of 16 megs of 32-bit Flash ROM and another * 16 megs of SDRAM. */ #include <linux/module.h> #include <linux/types.h> #include <linux/kernel.h> #include <linux/init.h> #include <asm/io.h> #include <linux/mtd/mtd.h> #include <linux/mtd/map.h> #include <linux/mtd/partitions.h> /* ** The single, 16 megabyte flash bank is divided into four virtual ** partitions. The first partition is 768 KiB and is intended to ** store the kernel image loaded by the bootstrap loader. The second ** partition is 256 KiB and holds the BIOS image. The third ** partition is 14.5 MiB and is intended for the flash file system ** image. The last partition is 512 KiB and contains another copy ** of the BIOS image and the reset vector. ** ** Only the third partition should be mounted. The first partition ** should not be mounted, but it can erased and written to using the ** MTD character routines. The second and fourth partitions should ** not be touched - it is possible to corrupt the BIOS image by ** mounting these partitions, and potentially the board will not be ** recoverable afterwards. */ /* partition_info gives details on the logical partitions that the split the * single flash device into. If the size if zero we use up to the end of the * device. */ static const struct mtd_partition partition_info[] = …; #define NUM_PARTITIONS … #define WINDOW_SIZE … #define WINDOW_ADDR … static struct map_info netsc520_map = …; #define NUM_FLASH_BANKS … static struct mtd_info *mymtd; static int __init init_netsc520(void) { … } static void __exit cleanup_netsc520(void) { … } module_init(…) …; module_exit(cleanup_netsc520); MODULE_LICENSE(…) …; MODULE_AUTHOR(…) …; MODULE_DESCRIPTION(…) …;