~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/mn10300/unit-asb2303/flash.c

Version: ~ [ linux-5.6-rc1 ] ~ [ linux-5.5.2 ] ~ [ linux-5.4.17 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.102 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.170 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.213 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.213 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.19.8 ] ~ [ linux-3.18.140 ] ~ [ linux-3.17.8 ] ~ [ linux-3.16.81 ] ~ [ linux-3.15.10 ] ~ [ linux-3.14.79 ] ~ [ linux-3.13.11 ] ~ [ linux-3.12.74 ] ~ [ linux-3.11.10 ] ~ [ linux-3.10.108 ] ~ [ linux-3.9.11 ] ~ [ linux-3.8.13 ] ~ [ linux-3.7.10 ] ~ [ linux-3.6.11 ] ~ [ linux-3.5.7 ] ~ [ linux-3.4.113 ] ~ [ linux-3.3.8 ] ~ [ linux-3.2.102 ] ~ [ linux-3.1.10 ] ~ [ linux-3.0.101 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* Handle mapping of the flash on the ASB2303 board
  2  *
  3  * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
  4  * Written by David Howells (dhowells@redhat.com)
  5  *
  6  * This program is free software; you can redistribute it and/or
  7  * modify it under the terms of the GNU General Public Licence
  8  * as published by the Free Software Foundation; either version
  9  * 2 of the Licence, or (at your option) any later version.
 10  */
 11 #include <linux/init.h>
 12 #include <linux/platform_device.h>
 13 #include <linux/mtd/partitions.h>
 14 #include <linux/mtd/physmap.h>
 15 
 16 #define ASB2303_PROM_ADDR       0xA0000000      /* Boot PROM */
 17 #define ASB2303_PROM_SIZE       (2 * 1024 * 1024)
 18 #define ASB2303_FLASH_ADDR      0xA4000000      /* System Flash */
 19 #define ASB2303_FLASH_SIZE      (32 * 1024 * 1024)
 20 #define ASB2303_CONFIG_ADDR     0xA6000000      /* System Config EEPROM */
 21 #define ASB2303_CONFIG_SIZE     (8 * 1024)
 22 
 23 /*
 24  * default MTD partition table for both main flash devices, expected to be
 25  * overridden by RedBoot
 26  */
 27 static struct mtd_partition asb2303_partitions[] = {
 28         {
 29                 .name           = "Bootloader",
 30                 .size           = 0x00040000,
 31                 .offset         = 0,
 32                 .mask_flags     = MTD_CAP_ROM /* force read-only */
 33         }, {
 34                 .name           = "Kernel",
 35                 .size           = 0x00400000,
 36                 .offset         = 0x00040000,
 37         }, {
 38                 .name           = "Filesystem",
 39                 .size           = MTDPART_SIZ_FULL,
 40                 .offset         = 0x00440000
 41         }
 42 };
 43 
 44 /*
 45  * the ASB2303 Boot PROM definition
 46  */
 47 static struct physmap_flash_data asb2303_bootprom_data = {
 48         .width          = 2,
 49         .nr_parts       = 1,
 50         .parts          = asb2303_partitions,
 51 };
 52 
 53 static struct resource asb2303_bootprom_resource = {
 54         .start          = ASB2303_PROM_ADDR,
 55         .end            = ASB2303_PROM_ADDR + ASB2303_PROM_SIZE,
 56         .flags          = IORESOURCE_MEM,
 57 };
 58 
 59 static struct platform_device asb2303_bootprom = {
 60         .name           = "physmap-flash",
 61         .id             = 0,
 62         .dev.platform_data = &asb2303_bootprom_data,
 63         .num_resources  = 1,
 64         .resource       = &asb2303_bootprom_resource,
 65 };
 66 
 67 /*
 68  * the ASB2303 System Flash definition
 69  */
 70 static struct physmap_flash_data asb2303_sysflash_data = {
 71         .width          = 4,
 72         .nr_parts       = 1,
 73         .parts          = asb2303_partitions,
 74 };
 75 
 76 static struct resource asb2303_sysflash_resource = {
 77         .start          = ASB2303_FLASH_ADDR,
 78         .end            = ASB2303_FLASH_ADDR + ASB2303_FLASH_SIZE,
 79         .flags          = IORESOURCE_MEM,
 80 };
 81 
 82 static struct platform_device asb2303_sysflash = {
 83         .name           = "physmap-flash",
 84         .id             = 1,
 85         .dev.platform_data = &asb2303_sysflash_data,
 86         .num_resources  = 1,
 87         .resource       = &asb2303_sysflash_resource,
 88 };
 89 
 90 /*
 91  * register the ASB2303 flashes
 92  */
 93 static int __init asb2303_mtd_init(void)
 94 {
 95         platform_device_register(&asb2303_bootprom);
 96         platform_device_register(&asb2303_sysflash);
 97         return 0;
 98 }
 99 device_initcall(asb2303_mtd_init);
100 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp