From 9426414d76592859fdde4e7d92fb15bf172b7834 Mon Sep 17 00:00:00 2001 From: "R. Steve McKown" Date: Thu, 4 Oct 2012 10:24:39 -0600 Subject: [PATCH] tmimsp family: configure flash chip support --- tos/platforms/tmimsp/.family | 2 + .../tmimsp/common/chips/at25df/Stm25p.h | 63 +++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 tos/platforms/tmimsp/common/chips/at25df/Stm25p.h diff --git a/tos/platforms/tmimsp/.family b/tos/platforms/tmimsp/.family index a068ee3f..0a6fd28a 100644 --- a/tos/platforms/tmimsp/.family +++ b/tos/platforms/tmimsp/.family @@ -7,6 +7,7 @@ push( @includes, qw( %F/common + %F/common/chips/at25df %F/common/chips/bq2403x %F/common/chips/cp210x %F/common/uart @@ -20,6 +21,7 @@ push( @includes, qw( %T/chips/msp430/sensors %T/chips/bq2403x %T/chips/cp210x + %T/chips/stm25p %T/lib/timer %T/lib/serial %T/lib/adc diff --git a/tos/platforms/tmimsp/common/chips/at25df/Stm25p.h b/tos/platforms/tmimsp/common/chips/at25df/Stm25p.h new file mode 100644 index 00000000..a8bfd745 --- /dev/null +++ b/tos/platforms/tmimsp/common/chips/at25df/Stm25p.h @@ -0,0 +1,63 @@ +/** + * Copyright © 2012, Titanium Mirror, Inc. + * All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - 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. + * - Neither the name of Titanium Mirror, Inc nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "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 COPYRIGHT + * OWNER OR CONTRIBUTORS 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. + */ + +/** + * This header must override the one found in TOS/chips/stm25p to account + * for the differences in the Atmel AT25DF041A, which is generally compatible + * with the Numonyx (formerly ST) M25P family. + * + * Derived from original Stm25p.h by Arch Rock Corporation in + * TOSDIR/chips/stm25p. + */ + +#ifndef __STM25P_H__ /* do not change this header definition */ +#define __STM25P_H__ + +#include "Storage.h" + +typedef storage_addr_t stm25p_addr_t; +typedef storage_len_t stm25p_len_t; + +enum { + STM25P_NUM_SECTORS = 8, + STM25P_SECTOR_SIZE_LOG2 = 16, + STM25P_SECTOR_SIZE = 1L << STM25P_SECTOR_SIZE_LOG2, + STM25P_SECTOR_MASK = 0xffff, + STM25P_PAGE_SIZE_LOG2 = 8, + STM25P_PAGE_SIZE = 1 << STM25P_PAGE_SIZE_LOG2, + STM25P_PAGE_MASK = STM25P_PAGE_SIZE - 1, + STM25P_INVALID_ADDRESS = 0xffffffff, +}; + +typedef struct stm25p_volume_info_t { + uint8_t base; + uint8_t size; +} stm25p_volume_info_t; + +#endif -- 2.39.2