blob: def3d8b9e56234086627d3fd71613ec06d30db89 [file] [log] [blame]
Harald Welte849269f2015-11-30 12:16:53 +01001#pragma once
2#include "board_common.h"
Kévin Redona1012b12018-07-01 18:11:01 +02003#include "simtrace_usb.h"
Harald Welte849269f2015-11-30 12:16:53 +01004
5/** Name of the board */
6#define BOARD_NAME "OWHW"
7/** Board definition */
8#define owhw
9
Harald Weltea02b6412016-08-21 18:32:12 +020010#define BOARD_MAINOSC 18432000
11
Harald Welte849269f2015-11-30 12:16:53 +010012/* USIM 2 interface (USART) */
13#define PIN_USIM2_CLK {PIO_PA2, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT}
14#define PIN_USIM2_IO {PIO_PA6, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT}
15#define PINS_ISO7816_USIM2 PIN_USIM2_CLK, PIN_USIM2_IO
16
17/* USIM 2 interface (TC) */
18#define PIN_USIM2_IO_TC {PIO_PA1, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT}
19#define PIN_USIM2_CLK_TC {PIO_PA4, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT}
20#define PINS_TC_USIM2 PIN_USIM2_IO_TC, PIN_USIM2_CLK_TC
21
22/* USIM 1 interface (USART) */
23#define PIN_USIM1_IO {PIO_PA22, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT}
24#define PIN_USIM1_CLK {PIO_PA23, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT}
25#define PINS_ISO7816_USIM1 PIN_USIM1_CLK, PIN_USIM1_IO
26
27/* USIM 1 interface (TC) */
28#define PIN_USIM1_IO_TC {PIO_PA27, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT}
29#define PIN_USIM1_CLK_TC {PIO_PA29, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT}
30#define PINS_TC_USIM1 PIN_USIM1_IO_TC, PIN_USIM1_CLK_TC
31
Harald Welte0eaa9922016-03-04 03:03:49 +010032#define PIN_SET_USIM1_PRES {PIO_PA12, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT}
Harald Welteb086ab02016-02-29 10:05:53 +010033#define PIN_USIM1_nRST {PIO_PA24, PIOA, ID_PIOA, PIO_INPUT, PIO_DEFAULT}
Harald Welte2fb59962016-02-28 12:34:26 +010034#define PIN_USIM1_VCC {PIO_PB3, PIOB, ID_PIOB, PIO_INPUT, PIO_DEFAULT}
Harald Welte849269f2015-11-30 12:16:53 +010035
Harald Welte2fb59962016-02-28 12:34:26 +010036#define PIN_SET_USIM2_PRES {PIO_PA14, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT}
Harald Welte849269f2015-11-30 12:16:53 +010037#define PIN_USIM2_nRST {PIO_PA7, PIOA, ID_PIOA, PIO_INPUT, PIO_DEFAULT}
Harald Welte2fb59962016-02-28 12:34:26 +010038#define PIN_USIM2_VCC {PIO_PB2, PIOB, ID_PIOB, PIO_INPUT, PIO_DEFAULT}
Harald Welte849269f2015-11-30 12:16:53 +010039
40#define PINS_USIM1 PINS_TC_USIM1, PINS_ISO7816_USIM1, PIN_USIM1_nRST, PIN_SET_USIM1_PRES
41#define PINS_USIM2 PINS_TC_USIM2, PINS_ISO7816_USIM2, PIN_USIM2_nRST, PIN_SET_USIM2_PRES
42
Harald Welte390760a2016-02-27 16:23:46 +010043#define PINS_CARDSIM { PIN_SET_USIM1_PRES, PIN_SET_USIM2_PRES }
44
Harald Welte3ecbf672017-03-03 02:10:34 +010045#define BOARD_USB_BMATTRIBUTES USBConfigurationDescriptor_SELFPOWERED_NORWAKEUP
46
Harald Weltec6e482d2017-03-05 16:24:29 +010047#define BOARD_USB_VENDOR_ID USB_VENDOR_OPENMOKO
48#define BOARD_USB_PRODUCT_ID USB_PRODUCT_OWHW_SAM3
49#define BOARD_DFU_USB_PRODUCT_ID USB_PRODUCT_OWHW_SAM3_DFU
50#define BOARD_USB_RELEASE 0x010
Harald Welte2fb59962016-02-28 12:34:26 +010051
Harald Welte6dcacf32016-03-19 14:01:31 +010052#define CARDEMU_SECOND_UART
Harald Welte07872b62016-03-20 11:45:36 +010053/* Disable VCC/ADC detection, as OWHWv2 has no ADCVREF */
54//#define DETECT_VCC_BY_ADC
Harald Welte6dcacf32016-03-19 14:01:31 +010055
Harald Welte2fb59962016-02-28 12:34:26 +010056#define HAVE_CARDEM