drivers/block/dataflash.c File Reference

DataFlash® block device driver. More...

#include <assert.h>
#include <bitops.h>
#include <debug.h>
#include <interrupt.h>
#include <malloc.h>
#include <status_codes.h>
#include <string.h>
#include <util.h>
#include <spi.h>
#include <block/device.h>
#include <block/dataflash.h>
#include <workqueue.h>
#include <mempool.h>
#include <flash/at45_device.h>

Go to the source code of this file.

Data Structures

struct  dataflash_breq
 DataFlash specific block device request. More...
struct  dataflash_bdev
 DataFlash specific block device. More...

Defines

#define DATAFLASH_BLOCK_SIZE   512
 The DataFlash block device block size.

Functions

static int8_t dataflash_get_page_block_shift (struct dataflash_breq *df_breq)
 Get DataFlash page size vs. block size shift value.
static bool dataflash_is_page_aligned (struct dataflash_breq *df_breq)
 Test if request currently is aligned into whole page.
static bool dataflash_store_page_size (struct dataflash_bdev *df_bdev, uint16_t page_size)
 Store DataFlash page size into shift value.
static uint16_t dataflash_get_remaining_page_size (struct dataflash_breq *df_breq)
 Get DataFlash remaining partial page size.
static void dataflash_submit (struct block_device *bdev, struct block_request *breq)
static int dataflash_submit_buf_list (struct block_device *bdev, struct block_request *breq, struct slist *buf_list)
static void dataflash_prepare_req (struct block_device *bdev, struct block_request *breq, block_addr_t lba, block_len_t nr_blocks, enum block_operation operation)
static struct block_requestdataflash_alloc_req (struct block_device *bdev)
static void dataflash_free_req (struct block_device *bdev, struct block_request *breq)
static void dataflash_detect (struct workqueue_task *task)
 Scan for AT45 DataFlash device.
struct block_devicedataflash_blkdev_init (spi_id_t spi_id, struct spi_master *master, struct spi_device *device, struct workqueue_task *event_task)
 Initialize a DataFlash block device.

Detailed Description

DataFlash® block device driver.

Copyright (C) 2009 Atmel Corporation. All rights reserved.

Definition in file dataflash.c.

Generated on Thu Apr 29 14:09:58 2010 for display-demo by  doxygen 1.6.3