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