1 | /* This header file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */ |
---|
2 | |
---|
3 | /*This file is prepared for Doxygen automatic documentation generation.*/ |
---|
4 | /*! \file ********************************************************************* |
---|
5 | * |
---|
6 | * \brief Memory access control configuration file. |
---|
7 | * |
---|
8 | * This file contains the possible external configuration of the memory access |
---|
9 | * control. |
---|
10 | * |
---|
11 | * - Compiler: IAR EWAVR32 and GNU GCC for AVR32 |
---|
12 | * - Supported devices: All AVR32 devices can be used. |
---|
13 | * - AppNote: |
---|
14 | * |
---|
15 | * \author Atmel Corporation: http://www.atmel.com \n |
---|
16 | * Support and FAQ: http://support.atmel.no/ |
---|
17 | * |
---|
18 | ******************************************************************************/ |
---|
19 | |
---|
20 | /* Copyright (c) 2009 Atmel Corporation. All rights reserved. |
---|
21 | * |
---|
22 | * Redistribution and use in source and binary forms, with or without |
---|
23 | * modification, are permitted provided that the following conditions are met: |
---|
24 | * |
---|
25 | * 1. Redistributions of source code must retain the above copyright notice, this |
---|
26 | * list of conditions and the following disclaimer. |
---|
27 | * |
---|
28 | * 2. Redistributions in binary form must reproduce the above copyright notice, |
---|
29 | * this list of conditions and the following disclaimer in the documentation |
---|
30 | * and/or other materials provided with the distribution. |
---|
31 | * |
---|
32 | * 3. The name of Atmel may not be used to endorse or promote products derived |
---|
33 | * from this software without specific prior written permission. |
---|
34 | * |
---|
35 | * 4. This software may only be redistributed and used in connection with an Atmel |
---|
36 | * AVR product. |
---|
37 | * |
---|
38 | * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED |
---|
39 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
---|
40 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE |
---|
41 | * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR |
---|
42 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
---|
43 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
---|
44 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
---|
45 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
---|
46 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
---|
47 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE |
---|
48 | * |
---|
49 | */ |
---|
50 | |
---|
51 | #ifndef _CONF_ACCESS_H_ |
---|
52 | #define _CONF_ACCESS_H_ |
---|
53 | |
---|
54 | #include "compiler.h" |
---|
55 | #include "board.h" |
---|
56 | |
---|
57 | |
---|
58 | /*! \name Activation of Logical Unit Numbers |
---|
59 | */ |
---|
60 | //! @{ |
---|
61 | #define LUN_0 DISABLE //!< On-Chip Virtual Memory. |
---|
62 | #define LUN_1 ENABLE //!< AT45DBX Data Flash. |
---|
63 | #define LUN_2 DISABLE //!< SD/MMC Card over SPI. |
---|
64 | #define LUN_3 DISABLE |
---|
65 | #define LUN_4 DISABLE |
---|
66 | #define LUN_5 DISABLE |
---|
67 | #define LUN_6 DISABLE |
---|
68 | #define LUN_7 DISABLE |
---|
69 | #define LUN_USB DISABLE //!< Host Mass-Storage Memory. |
---|
70 | //! @} |
---|
71 | |
---|
72 | /*! \name LUN 0 Definitions |
---|
73 | */ |
---|
74 | //! @{ |
---|
75 | #define VIRTUAL_MEM LUN_0 |
---|
76 | #define LUN_ID_VIRTUAL_MEM LUN_ID_0 |
---|
77 | #define LUN_0_INCLUDE "virtual_mem.h" |
---|
78 | #define Lun_0_test_unit_ready virtual_test_unit_ready |
---|
79 | #define Lun_0_read_capacity virtual_read_capacity |
---|
80 | #define Lun_0_wr_protect virtual_wr_protect |
---|
81 | #define Lun_0_removal virtual_removal |
---|
82 | #define Lun_0_usb_read_10 virtual_usb_read_10 |
---|
83 | #define Lun_0_usb_write_10 virtual_usb_write_10 |
---|
84 | #define Lun_0_mem_2_ram virtual_mem_2_ram |
---|
85 | #define Lun_0_ram_2_mem virtual_ram_2_mem |
---|
86 | #define LUN_0_NAME "\"On-Chip Virtual Memory\"" |
---|
87 | //! @} |
---|
88 | |
---|
89 | /*! \name LUN 1 Definitions |
---|
90 | */ |
---|
91 | //! @{ |
---|
92 | #define AT45DBX_MEM LUN_1 |
---|
93 | #define LUN_ID_AT45DBX_MEM LUN_ID_1 |
---|
94 | #define LUN_1_INCLUDE "at45dbx_mem.h" |
---|
95 | #define Lun_1_test_unit_ready at45dbx_test_unit_ready |
---|
96 | #define Lun_1_read_capacity at45dbx_read_capacity |
---|
97 | #define Lun_1_wr_protect at45dbx_wr_protect |
---|
98 | #define Lun_1_removal at45dbx_removal |
---|
99 | #define Lun_1_usb_read_10 at45dbx_usb_read_10 |
---|
100 | #define Lun_1_usb_write_10 at45dbx_usb_write_10 |
---|
101 | #define Lun_1_mem_2_ram at45dbx_df_2_ram |
---|
102 | #define Lun_1_ram_2_mem at45dbx_ram_2_df |
---|
103 | #define LUN_1_NAME "\"AT45DBX Data Flash\"" |
---|
104 | //! @} |
---|
105 | |
---|
106 | /*! \name LUN 2 Definitions |
---|
107 | */ |
---|
108 | //! @{ |
---|
109 | #define SD_MMC_SPI_MEM LUN_2 |
---|
110 | #define LUN_ID_SD_MMC_SPI_MEM LUN_ID_2 |
---|
111 | #define LUN_2_INCLUDE "sd_mmc_spi_mem.h" |
---|
112 | #define Lun_2_test_unit_ready sd_mmc_spi_test_unit_ready |
---|
113 | #define Lun_2_read_capacity sd_mmc_spi_read_capacity |
---|
114 | #define Lun_2_wr_protect sd_mmc_spi_wr_protect |
---|
115 | #define Lun_2_removal sd_mmc_spi_removal |
---|
116 | #define Lun_2_usb_read_10 sd_mmc_spi_usb_read_10 |
---|
117 | #define Lun_2_usb_write_10 sd_mmc_spi_usb_write_10 |
---|
118 | #define Lun_2_mem_2_ram sd_mmc_spi_mem_2_ram |
---|
119 | #define Lun_2_ram_2_mem sd_mmc_spi_ram_2_mem |
---|
120 | #define LUN_2_NAME "\"SD/MMC Card over SPI\"" |
---|
121 | //! @} |
---|
122 | |
---|
123 | /*! \name USB LUNs Definitions |
---|
124 | */ |
---|
125 | //! @{ |
---|
126 | #define MEM_USB LUN_USB |
---|
127 | #define LUN_ID_MEM_USB LUN_ID_USB |
---|
128 | #define LUN_USB_INCLUDE "host_mem.h" |
---|
129 | #define Lun_usb_test_unit_ready(lun) host_test_unit_ready(lun) |
---|
130 | #define Lun_usb_read_capacity(lun, nb_sect) host_read_capacity(lun, nb_sect) |
---|
131 | #define Lun_usb_read_sector_size(lun) host_read_sector_size(lun) |
---|
132 | #define Lun_usb_wr_protect(lun) host_wr_protect(lun) |
---|
133 | #define Lun_usb_removal() host_removal() |
---|
134 | #define Lun_usb_mem_2_ram(addr, ram) host_read_10_ram(addr, ram) |
---|
135 | #define Lun_usb_ram_2_mem(addr, ram) host_write_10_ram(addr, ram) |
---|
136 | #define LUN_USB_NAME "\"Host Mass-Storage Memory\"" |
---|
137 | //! @} |
---|
138 | |
---|
139 | /*! \name Actions Associated with Memory Accesses |
---|
140 | * |
---|
141 | * Write here the action to associate with each memory access. |
---|
142 | * |
---|
143 | * \warning Be careful not to waste time in order not to disturb the functions. |
---|
144 | */ |
---|
145 | //! @{ |
---|
146 | #define memory_start_read_action(nb_sectors) |
---|
147 | #define memory_stop_read_action() |
---|
148 | #define memory_start_write_action(nb_sectors) |
---|
149 | #define memory_stop_write_action() |
---|
150 | //! @} |
---|
151 | |
---|
152 | /*! \name Activation of Interface Features |
---|
153 | */ |
---|
154 | //! @{ |
---|
155 | #define ACCESS_USB DISABLED //!< MEM <-> USB interface. |
---|
156 | #define ACCESS_MEM_TO_RAM ENABLED //!< MEM <-> RAM interface. |
---|
157 | #define ACCESS_STREAM ENABLED //!< Streaming MEM <-> MEM interface. //mlf |
---|
158 | #define ACCESS_STREAM_RECORD DISABLED //!< Streaming MEM <-> MEM interface in record mode. |
---|
159 | #define ACCESS_MEM_TO_MEM DISABLED //!< MEM <-> MEM interface. |
---|
160 | #define ACCESS_CODEC DISABLED //!< Codec interface. |
---|
161 | //! @} |
---|
162 | |
---|
163 | /*! \name Specific Options for Access Control |
---|
164 | */ |
---|
165 | //! @{ |
---|
166 | #define GLOBAL_WR_PROTECT DISABLED //!< Management of a global write protection. |
---|
167 | //! @} |
---|
168 | |
---|
169 | |
---|
170 | #endif // _CONF_ACCESS_H_ |
---|