native: Enable hard SRST signal.
This commit is contained in:
parent
ccb20b4420
commit
27a86e244f
|
@ -82,7 +82,6 @@ int platform_init(void)
|
|||
gpio_set_mode(JTAG_PORT, GPIO_MODE_OUTPUT_50_MHZ,
|
||||
GPIO_CNF_OUTPUT_PUSHPULL,
|
||||
TMS_PIN | TCK_PIN | TDI_PIN);
|
||||
|
||||
/* This needs some fixing... */
|
||||
/* Toggle required to sort out line drivers... */
|
||||
gpio_port_write(GPIOA, 0x8100);
|
||||
|
@ -99,6 +98,11 @@ int platform_init(void)
|
|||
* to release the device from reset if this floats. */
|
||||
gpio_set_mode(GPIOA, GPIO_MODE_OUTPUT_2_MHZ,
|
||||
GPIO_CNF_OUTPUT_PUSHPULL, GPIO7);
|
||||
/* Enable SRST output */
|
||||
gpio_set_val(SRST_PORT, SRST_PIN, platform_hwversion() > 0);
|
||||
gpio_set_mode(SRST_PORT, GPIO_MODE_OUTPUT_50_MHZ,
|
||||
GPIO_CNF_OUTPUT_PUSHPULL,
|
||||
SRST_PIN);
|
||||
|
||||
/* Setup heartbeat timer */
|
||||
systick_set_clocksource(STK_CTRL_CLKSOURCE_AHB_DIV8);
|
||||
|
@ -127,6 +131,15 @@ int platform_init(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
void platform_srst_set_val(bool assert)
|
||||
{
|
||||
if (platform_hwversion() == 0) {
|
||||
gpio_set_val(SRST_PORT, SRST_PIN, assert);
|
||||
} else {
|
||||
gpio_set_val(SRST_PORT, SRST_PIN, !assert);
|
||||
}
|
||||
}
|
||||
|
||||
void platform_delay(uint32_t delay)
|
||||
{
|
||||
timeout_counter = delay;
|
||||
|
|
|
@ -113,6 +113,9 @@ extern usbd_device *usbdev;
|
|||
gpio_set_mode(USBUSART_PORT, GPIO_MODE_OUTPUT_2_MHZ, \
|
||||
GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, USBUSART_TX_PIN);
|
||||
|
||||
#define SRST_SET_VAL(x) \
|
||||
platform_srst_set_val(x)
|
||||
|
||||
#define USB_DRIVER stm32f103_usb_driver
|
||||
#define USB_IRQ NVIC_USB_LP_CAN_RX0_IRQ
|
||||
#define USB_ISR usb_lp_can_rx0_isr
|
||||
|
|
Loading…
Reference in New Issue