00001 /* Copyright (c) 2011 Joerg Wunsch 00002 All rights reserved. 00003 00004 Redistribution and use in source and binary forms, with or without 00005 modification, are permitted provided that the following conditions 00006 are met: 00007 00008 * Redistributions of source code must retain the above copyright 00009 notice, this list of conditions and the following disclaimer. 00010 * Redistributions in binary form must reproduce the above copyright 00011 notice, this list of conditions and the following disclaimer in the 00012 documentation and/or other materials provided with the distribution. 00013 * Neither the name of the authors nor the names of its contributors 00014 may be used to endorse or promote products derived from this software 00015 without specific prior written permission. 00016 00017 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00018 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00019 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00020 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 00021 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 00022 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 00023 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 00024 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 00025 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 00026 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 00027 POSSIBILITY OF SUCH DAMAGE. */ 00028 00029 /* $Id: board__zgbta2_8h_source.html,v 1.1.1.4 2013/04/09 21:12:02 awachtler Exp $ */ 00084 /* 00085 * Courtesy Martin Vejnár: 00086 * 00087 * http://ratatanek.cz/blog/zigbit-atzb-24-a2-pinout 00088 * http://ratatanek.cz/files/node/16/zigbit_mcu_pinout_mapping.svg 00089 * 00090 * This is the pin mapping of the Zigbit module: 00091 * 00092 * ZGBT AVR Atmel Zigbit Remark 00093 * pin# port datasheet name 00094 * =================================================== 00095 * 1 B1 SPI_CLK shared with trx and ISP 00096 * 2 B3 SPI_MISO -"-, *not* ISP! 00097 * 3 B2 SPI_MOSI -"-, *not* ISP 00098 * 4 B5 GPIO0 00099 * 5 B6 GPIO1 00100 * 6 B7 GPIO2 00101 * 7 TOSC1 OSC32K from 32.768 kHz oscillator 00102 * 8 /RST RESET 00103 * 9 DGND DGND 00104 * 10 CLKM CPU_CLK CLKM from transceiver, 00105 * 11 D0 I2C_CLK [ can be fused as CPU 00106 * 12 D1 I2C_DATA [ clock input 00107 * 13 D2 UART_TXD UART1 00108 * 14 D3 UART_RXD -"- 00109 * 15 D4 UART_RTS 00110 * 16 D5 UART_CTS 00111 * 17 D6 GPIO6 00112 * 18 D7 GPIO7 00113 * 19 G0 GPIO3 00114 * 20 G1 GPIO4 00115 * 21 G2 GPIO5 00116 * 22 DGND DGND 00117 * 23 DGND DGND 00118 * 24 DVCC DVCC 00119 * 25 DVCC DVCC 00120 * 26 F5 JTAG_TMS 00121 * 27 F7 JTAG_TDI 00122 * 28 F6 JTAG_TDO 00123 * 29 F4 JTAG_TCK 00124 * 30 F3 ADC_INPUT3 00125 * 31 F2 ADC_INPUT2 00126 * 32 F1 ADC_INPUT1 00127 * 33 F0 BAT voltage divider? 00128 * 34 AREF V_AREF 00129 * 35 AGND AGND 00130 * 36 G5 GPIO_1WR 00131 * 37 E4 UART_DTR 00132 * 38 E0 USART0_RXD also ISP PDI 00133 * 39 E1 USART0_TXD also ISP PDO 00134 * 40 E2 USART0_EXTCLK 00135 * 41 E3 GPIO8 00136 * 42 E7 IRQ_7 00137 * 43 E6 IRQ_6 00138 */ 00139 00140 #if defined(zgbt1281a2uart0) 00141 # define BOARD_TYPE BOARD_ZGBT1281A2UART0 00142 # define BOARD_NAME "zgbt1281a2uart0" 00143 # define RADIO_TYPE (RADIO_AT86RF230) 00144 #endif 00145 #if defined(zgbt1281a2uart1) 00146 # define BOARD_TYPE BOARD_ZGBT1281A2UART1 00147 # define BOARD_NAME "zgbt1281a2uart1" 00148 # define RADIO_TYPE (RADIO_AT86RF230) 00149 #endif 00150 #if defined(zgbt1281a2nouart) 00151 # define BOARD_TYPE BOARD_ZGBT1281A2NOUART 00152 # define BOARD_NAME "zgbt1281a2nouart" 00153 # define RADIO_TYPE (RADIO_AT86RF230) 00154 #endif 00155 00156 #ifndef BOARD_ZGBTA2_H 00157 #define BOARD_ZGBTA2_H 00158 00159 /*=== Compile time parameters ========================================*/ 00160 00161 /*=== radio interface definition =====================================*/ 00162 #include "base_zdma1281.h" 00163 00164 /*=== LED access macros ==============================================*/ 00165 #define LED_NUMBER (0) 00166 #define NO_LEDS (1) 00167 00168 /*=== KEY access macros ==============================================*/ 00169 #define NO_KEYS (1) 00170 00171 /*=== Host Interface ================================================*/ 00176 #if defined(zgbt1281a2uart0) 00177 # define HIF_TYPE (HIF_UART_0) 00178 #elif defined(zgbt1281a2uart1) 00179 # define HIF_TYPE (HIF_UART_1) 00180 #elif defined(zgbt1281a2nouart) 00181 # define HIF_TYPE HIF_NONE 00182 #else 00183 # error "Don't know which UART to use." 00184 #endif 00185 00186 /*=== TIMER Interface ===============================================*/ 00194 #define HWTMR_PRESCALE (1) 00195 #define HWTIMER_TICK ((1.0*HWTMR_PRESCALE)/F_CPU) 00196 #define HWTIMER_TICK_NB (0xFFFFUL+1) 00197 #define HWTIMER_REG (TCNT1) 00198 #define TIMER_TICK (HWTIMER_TICK_NB * HWTIMER_TICK) 00199 #define TIMER_POOL_SIZE (4) 00200 #define TIMER_INIT() \ 00201 do{ \ 00202 TCCR1B |= (_BV(CS10));\ 00203 TIMSK1 |= _BV(TOIE1); \ 00204 }while(0) 00205 #define TIMER_IRQ_vect TIMER1_OVF_vect 00206 00207 #endif /* BOARD_ZGBTA2_H*/