diff options
Diffstat (limited to 'firmware/libboard/qmod/include')
-rw-r--r-- | firmware/libboard/qmod/include/board.h | 66 | ||||
-rw-r--r-- | firmware/libboard/qmod/include/i2c.h | 5 | ||||
-rw-r--r-- | firmware/libboard/qmod/include/wwan_led.h | 4 | ||||
-rw-r--r-- | firmware/libboard/qmod/include/wwan_perst.h | 4 |
4 files changed, 79 insertions, 0 deletions
diff --git a/firmware/libboard/qmod/include/board.h b/firmware/libboard/qmod/include/board.h new file mode 100644 index 0000000..16a38a8 --- /dev/null +++ b/firmware/libboard/qmod/include/board.h @@ -0,0 +1,66 @@ +#pragma once +#include "board_common.h" + +/** Name of the board */ +#define BOARD_NAME "QMOD" +/** Board definition */ +#define qmod + +#define BOARD_MAINOSC 12000000 + +/* USIM 2 interface (USART) */ +#define PIN_USIM2_CLK {PIO_PA2, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +#define PIN_USIM2_IO {PIO_PA6, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} +#define PINS_ISO7816_USIM2 PIN_USIM2_CLK, PIN_USIM2_IO + +/* USIM 2 interface (TC) */ +#define PIN_USIM2_IO_TC {PIO_PA1, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +#define PIN_USIM2_CLK_TC {PIO_PA4, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +#define PINS_TC_USIM2 PIN_USIM2_IO_TC, PIN_USIM2_CLK_TC + +/* USIM 1 interface (USART) */ +#define PIN_USIM1_IO {PIO_PA22, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} +#define PIN_USIM1_CLK {PIO_PA23, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} +#define PINS_ISO7816_USIM1 PIN_USIM1_CLK, PIN_USIM1_IO + +/* USIM 1 interface (TC) */ +#define PIN_USIM1_IO_TC {PIO_PA27, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +#define PIN_USIM1_CLK_TC {PIO_PA29, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +#define PINS_TC_USIM1 PIN_USIM1_IO_TC, PIN_USIM1_CLK_TC + +#define PIN_SET_USIM1_PRES {PIO_PA12, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} +#define PIN_USIM1_nRST {PIO_PA24, PIOA, ID_PIOA, PIO_INPUT, PIO_DEFAULT} +#define PIN_USIM1_VCC {PIO_PB3, PIOB, ID_PIOB, PIO_INPUT, PIO_DEFAULT} + +#define PIN_SET_USIM2_PRES {PIO_PA14, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} +#define PIN_USIM2_nRST {PIO_PA7, PIOA, ID_PIOA, PIO_INPUT, PIO_DEFAULT} +#define PIN_USIM2_VCC {PIO_PB2, PIOB, ID_PIOB, PIO_INPUT, PIO_DEFAULT} + +#define PINS_USIM1 PINS_TC_USIM1, PINS_ISO7816_USIM1, PIN_USIM1_nRST, PIN_SET_USIM1_PRES +#define PINS_USIM2 PINS_TC_USIM2, PINS_ISO7816_USIM2, PIN_USIM2_nRST, PIN_SET_USIM2_PRES + +#define PINS_CARDSIM { PIN_SET_USIM1_PRES, PIN_SET_USIM2_PRES } + +#define PIN_PRTPWR_OVERRIDE {PIO_PA8, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} + +/* inputs reading the WWAN LED level */ +#define PIN_WWAN1 {PIO_PA15, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP | PIO_DEGLITCH | PIO_IT_EDGE} +#define PIN_WWAN2 {PIO_PA16, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP | PIO_DEGLITCH | PIO_IT_EDGE} +#define PINS_WWAN_IN { PIN_WWAN1, PIN_WWAN2 } + +/* outputs controlling RESET input of modems */ +#define PIN_PERST1 {PIO_PA25, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_PULLUP} +#define PIN_PERST2 {PIO_PA26, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_PULLUP} +#define PINS_PERST { PIN_PERST1, PIN_PERST2 } + +#define PIN_VERSION_DET {PIO_PA19, PIOA, ID_PIOA, PIO_PERIPH_D, PIO_DEFAULT} + +#define SIMTRACE_VENDOR_ID 0x1d50 +#define SIMTRACE_PRODUCT_ID 0x60e3 /* FIXME */ +#define USB_VENDOR_ID SIMTRACE_VENDOR_ID +#define USB_PRODUCT_ID SIMTRACE_PRODUCT_ID + +#define CARDEMU_SECOND_UART +#define DETECT_VCC_BY_ADC + +#define HAVE_CARDEM diff --git a/firmware/libboard/qmod/include/i2c.h b/firmware/libboard/qmod/include/i2c.h new file mode 100644 index 0000000..15e4b37 --- /dev/null +++ b/firmware/libboard/qmod/include/i2c.h @@ -0,0 +1,5 @@ +#pragma once + +void i2c_pin_init(void); +int eeprom_write_byte(uint8_t slave, uint8_t addr, uint8_t byte); +int eeprom_read_byte(uint8_t slave, uint8_t addr); diff --git a/firmware/libboard/qmod/include/wwan_led.h b/firmware/libboard/qmod/include/wwan_led.h new file mode 100644 index 0000000..7ba72ea --- /dev/null +++ b/firmware/libboard/qmod/include/wwan_led.h @@ -0,0 +1,4 @@ +#pragma once + +int wwan_led_active(int wwan); +int wwan_led_init(void); diff --git a/firmware/libboard/qmod/include/wwan_perst.h b/firmware/libboard/qmod/include/wwan_perst.h new file mode 100644 index 0000000..8997a52 --- /dev/null +++ b/firmware/libboard/qmod/include/wwan_perst.h @@ -0,0 +1,4 @@ +#pragma once + +int wwan_perst_do_reset(int modem_nr); +int wwan_perst_init(void); |