87 lines
2.9 KiB
Groff
87 lines
2.9 KiB
Groff
.\" $NetBSD: flash.9,v 1.5 2014/03/18 18:20:40 riastradh Exp $
|
|
.\"
|
|
.\" Copyright (c) 2010 Department of Software Engineering,
|
|
.\" University of Szeged, Hungary
|
|
.\" Copyright (c) 2010 Adam Hoka <ahoka@NetBSD.org>
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" This code is derived from software contributed to The NetBSD Foundation
|
|
.\" by the Department of Software Engineering, University of Szeged, Hungary
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
|
.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.Dd March 31, 2011
|
|
.Dt FLASH 9
|
|
.Os
|
|
.Sh NAME
|
|
.Nm flash
|
|
.Nd subsystem for flash-like memory devices
|
|
.Sh SYNOPSIS
|
|
.In dev/flash/flash.h
|
|
.Ft device_t
|
|
.Fn flash_attach_mi "const struct flash_interface *fl" "device_t dev"
|
|
.Sh DESCRIPTION
|
|
Flash-like devices can register themselves to the
|
|
.Nm
|
|
layer with the
|
|
.Fa flash_hw_if
|
|
structure.
|
|
This structure has function pointers and other fields.
|
|
.Pp
|
|
The attachment can be done by calling
|
|
.Fn flash_attach_mi
|
|
with this structure and the device's
|
|
.Vt device_t
|
|
as an argument.
|
|
Return value is the flash layer device.
|
|
The
|
|
.Fa flash_interface
|
|
structure is shown below.
|
|
.Bd -literal
|
|
struct flash_interface {
|
|
int (*erase) (device_t, struct flash_erase_instruction *);
|
|
int (*read) (device_t, off_t, size_t, size_t *, uint8_t *);
|
|
int (*write) (device_t, off_t, size_t, size_t *, const uint8_t *);
|
|
int (*block_markbad)(device_t, uint64_t);
|
|
int (*block_isbad)(device_t, uint64_t);
|
|
int (*sync) (device_t);
|
|
|
|
int (*submit)(device_t, struct buf *);
|
|
|
|
/* storage for partition info */
|
|
struct flash_partition partition;
|
|
|
|
/* total size of mtd */
|
|
flash_addr_t size;
|
|
uint32_t page_size;
|
|
uint32_t erasesize;
|
|
uint32_t writesize;
|
|
uint32_t minor;
|
|
uint8_t type;
|
|
};
|
|
.Ed
|
|
.Sh SEE ALSO
|
|
.Xr flash 4 ,
|
|
.Xr nand 9
|
|
.Sh AUTHORS
|
|
.An Adam Hoka Aq Mt ahoka@NetBSD.org
|