All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches

MTD driver interface. More...

Detailed Description

MTD driver interface.

This define the functions to access a MTD.

A MTD is composed of pages combined into sectors. A sector is the smallest erasable unit. The number of pages in a sector must be constant for the whole MTD.

The erase operation is available only for entire sectors.

Definition at line 204 of file mtd.h.

#include <mtd.h>

Data Fields

int(* init )(mtd_dev_t *dev)
 Initialize Memory Technology Device (MTD)
 
int(* read )(mtd_dev_t *dev, void *buff, uint32_t addr, uint32_t size)
 Read from the Memory Technology Device (MTD)
 
int(* read_page )(mtd_dev_t *dev, void *buff, uint32_t page, uint32_t offset, uint32_t size)
 Read from the Memory Technology Device (MTD) using pagewise addressing.
 
int(* write_page )(mtd_dev_t *dev, const void *buff, uint32_t page, uint32_t offset, uint32_t size)
 Write to the Memory Technology Device (MTD) using pagewise addressing.
 
int(* erase )(mtd_dev_t *dev, uint32_t addr, uint32_t size)
 Erase sector(s) over the Memory Technology Device (MTD)
 
int(* erase_sector )(mtd_dev_t *dev, uint32_t sector, uint32_t count)
 Erase sector(s) of the Memory Technology Device (MTD)
 
int(* power )(mtd_dev_t *dev, enum mtd_power_state power)
 Control power of Memory Technology Device (MTD)
 
uint8_t flags
 Properties of the MTD driver.
 

Field Documentation

◆ erase

int(* mtd_desc::erase) (mtd_dev_t *dev, uint32_t addr, uint32_t size)

Erase sector(s) over the Memory Technology Device (MTD)

addr must be aligned on a sector boundary. size must be a multiple of a sector size.

Parameters
[in]devPointer to the selected driver
[in]addrStarting address
[in]sizeNumber of bytes
Return values
0on success
<0value on error

Definition at line 287 of file mtd.h.

◆ erase_sector

int(* mtd_desc::erase_sector) (mtd_dev_t *dev, uint32_t sector, uint32_t count)

Erase sector(s) of the Memory Technology Device (MTD)

Parameters
[in]devPointer to the selected driver
[in]sectorthe first sector number to erase
[in]countNumber of sectors to erase
Return values
0on success
<0value on error

Definition at line 302 of file mtd.h.

◆ flags

uint8_t mtd_desc::flags

Properties of the MTD driver.

Definition at line 320 of file mtd.h.

◆ init

int(* mtd_desc::init) (mtd_dev_t *dev)

Initialize Memory Technology Device (MTD)

Parameters
[in]devPointer to the selected driver
Return values
0on success
<0value on error

Definition at line 213 of file mtd.h.

◆ power

int(* mtd_desc::power) (mtd_dev_t *dev, enum mtd_power_state power)

Control power of Memory Technology Device (MTD)

Parameters
[in]devPointer to the selected driver
[in]powerPower state to apply (from mtd_power_state)
Return values
0on success
<0value on error

Definition at line 315 of file mtd.h.

◆ read

int(* mtd_desc::read) (mtd_dev_t *dev, void *buff, uint32_t addr, uint32_t size)

Read from the Memory Technology Device (MTD)

No alignment is required on addr and size.

Parameters
[in]devPointer to the selected driver
[out]buffPointer to the data buffer to store read data
[in]addrStarting address
[in]sizeNumber of bytes
Return values
0on success
<0value on error

Definition at line 228 of file mtd.h.

◆ read_page

int(* mtd_desc::read_page) (mtd_dev_t *dev, void *buff, uint32_t page, uint32_t offset, uint32_t size)

Read from the Memory Technology Device (MTD) using pagewise addressing.

offset should not exceed the page size

Parameters
[in]devPointer to the selected driver
[out]buffPointer to the data buffer to store read data
[in]pagePage number to start reading from
[in]offsetByte offset from the start of the page
[in]sizeNumber of bytes
Return values
nnumber of bytes read on success
<0value on error

Definition at line 248 of file mtd.h.

◆ write_page

int(* mtd_desc::write_page) (mtd_dev_t *dev, const void *buff, uint32_t page, uint32_t offset, uint32_t size)

Write to the Memory Technology Device (MTD) using pagewise addressing.

offset should not exceed the page size

Parameters
[in]devPointer to the selected driver
[out]buffPointer to the data to be written
[in]pagePage number to start writing to
[in]offsetByte offset from the start of the page
[in]sizeNumber of bytes
Return values
nbytes written on success
<0value on error

Definition at line 269 of file mtd.h.


The documentation for this struct was generated from the following file: