linux/include/linux/mtd/physmap.h
<<
>>
Prefs
   1/*
   2 * For boards with physically mapped flash and using
   3 * drivers/mtd/maps/physmap.c mapping driver.
   4 *
   5 * Copyright (C) 2003 MontaVista Software Inc.
   6 * Author: Jun Sun, jsun@mvista.com or jsun@junsun.net
   7 *
   8 * This program is free software; you can redistribute  it and/or modify it
   9 * under  the terms of  the GNU General  Public License as published by the
  10 * Free Software Foundation;  either version 2 of the  License, or (at your
  11 * option) any later version.
  12 *
  13 */
  14
  15#ifndef __LINUX_MTD_PHYSMAP__
  16#define __LINUX_MTD_PHYSMAP__
  17
  18#include <linux/mtd/mtd.h>
  19#include <linux/mtd/partitions.h>
  20
  21struct map_info;
  22
  23struct physmap_flash_data {
  24        unsigned int            width;
  25        void                    (*set_vpp)(struct map_info *, int);
  26        unsigned int            nr_parts;
  27        unsigned int            pfow_base;
  28        struct mtd_partition    *parts;
  29};
  30
  31/*
  32 * Board needs to specify the exact mapping during their setup time.
  33 */
  34void physmap_configure(unsigned long addr, unsigned long size,
  35                int bankwidth, void (*set_vpp)(struct map_info *, int) );
  36
  37#ifdef CONFIG_MTD_PARTITIONS
  38
  39/*
  40 * Machines that wish to do flash partition may want to call this function in
  41 * their setup routine.
  42 *
  43 *      physmap_set_partitions(mypartitions, num_parts);
  44 *
  45 * Note that one can always override this hard-coded partition with
  46 * command line partition (you need to enable CONFIG_MTD_CMDLINE_PARTS).
  47 */
  48void physmap_set_partitions(struct mtd_partition *parts, int num_parts);
  49
  50#endif /* defined(CONFIG_MTD_PARTITIONS) */
  51
  52#endif /* __LINUX_MTD_PHYSMAP__ */
  53