Lines Matching +full:non +full:- +full:flash

1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /* sc520cdp.c -- MTD map driver for AMD SC520 Customer Development Platform
4 * Copyright (C) 2001 Sysgo Real-Time Solutions GmbH
7 * from AMD. It has two banks of 32-bit Flash ROM, each 8 Megabytes in size,
8 * and up to 512 KiB of 8-bit DIL Flash ROM.
22 ** The Embedded Systems BIOS decodes the first FLASH starting at
24 ** the flash at this location causes the A22 address line to be high
26 ** order address line on the raw flash devices themselves!!
27 ** This causes the top HALF of the flash to be accessed first. Beyond
28 ** the physical limits of the flash, the flash chip aliases over (to
30 ** flash into two and inverts it! If you then try to access this from another
32 ** first half of the flash, but not find what you expect there. That
34 ** BIOS for the second FLASH bank is also quite a bad choice.
36 ** choose more useful addresses for the FLASH banks by reprogramming the
74 .name = "SC520CDP Flash Bank #0",
80 .name = "SC520CDP Flash Bank #1",
86 .name = "SC520CDP DIL Flash",
122 ** region controlled by the PAR. (We only use non-cacheable)
125 #define SC520_PAR_NOCACHE (1<<27) /* non-cacheable */
141 (address) >> 16 | (((size) >> 16) - 1) << 14)
152 { /* Flash Bank #0: selected by ROMCS0 */
157 { /* Flash Bank #1: selected by ROMCS1 */
162 { /* DIL (BIOS) Flash: selected by BOOTCS */
219 /* reprogram PAR registers so flash appears at the desired addresses */ in init_sc520cdp()
224 printk(KERN_NOTICE "SC520 CDP flash device: 0x%Lx at 0x%Lx\n", in init_sc520cdp()
238 return -EIO; in init_sc520cdp()
250 mymtd[i]->owner = THIS_MODULE; in init_sc520cdp()
258 /* Combine the two flash banks into a single MTD device & register it: */ in init_sc520cdp()
259 merged_mtd = mtd_concat_create(mymtd, 2, "SC520CDP Flash Banks #0 and #1"); in init_sc520cdp()
263 if(devices_found == 3) /* register the third (DIL-Flash) device */ in init_sc520cdp()
265 return(devices_found ? 0 : -ENXIO); in init_sc520cdp()
293 MODULE_AUTHOR("Sysgo Real-Time Solutions GmbH");