summaryrefslogtreecommitdiff
path: root/firmware/src/system_config/default/system_init.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/src/system_config/default/system_init.c')
-rw-r--r--firmware/src/system_config/default/system_init.c147
1 files changed, 146 insertions, 1 deletions
diff --git a/firmware/src/system_config/default/system_init.c b/firmware/src/system_config/default/system_init.c
index 9c69c4e..7a25752 100644
--- a/firmware/src/system_config/default/system_init.c
+++ b/firmware/src/system_config/default/system_init.c
@@ -95,7 +95,7 @@ SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
#pragma config FPLLICLK = PLL_FRC
#pragma config FPLLMULT = MUL_80
#pragma config FPLLODIV = DIV_8
-#pragma config UPLLFSEL = FREQ_12MHZ
+#pragma config UPLLFSEL = FREQ_24MHZ
#pragma config UPLLEN = OFF
/*** DEVCFG3 ***/
@@ -121,6 +121,96 @@ SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
// *****************************************************************************
// *****************************************************************************
+//<editor-fold defaultstate="collapsed" desc="USB Stack Initialization Data">
+
+// </editor-fold>
+
+//<editor-fold defaultstate="collapsed" desc="USB Host Initialization Data">
+
+
+
+/****************************************************
+ * Endpoint Table needed by the controller driver .
+ ****************************************************/
+
+
+
+DRV_USBHS_INIT drvUSBHSInit =
+{
+ .moduleInit = {SYS_MODULE_POWER_RUN_FULL},
+ .interruptSource = INT_SOURCE_USB_1,
+ .interruptSourceUSBDma = INT_SOURCE_USB_1_DMA,
+ .operationMode = DRV_USBHS_OPMODE_HOST,
+ .operationSpeed = USB_SPEED_HIGH,
+ .portIndication = NULL,
+ .portPowerEnable = BSP_USBVBUSPowerEnable,
+ .portOverCurrentDetect = BSP_USBVBUSSwitchOverCurrentDetect,
+ .rootHubAvailableCurrent = 500,
+ .stopInIdle = false,
+ .suspendInSleep = false,
+ .usbID = USBHS_ID_0
+
+};
+
+
+
+USB_HOST_HID_USAGE_DRIVER_INTERFACE usageDriverInterface =
+{
+ .initialize = NULL,
+ .deinitialize = NULL,
+ .usageDriverEventHandler = _USB_HOST_HID_KEYBOARD_EventHandler,
+ .usageDriverTask = _USB_HOST_HID_KEYBOARD_Task
+};
+
+USB_HOST_HID_USAGE_DRIVER_TABLE_ENTRY usageDriverTableEntry[1] =
+{
+ {
+ .usage = USB_HID_GENERIC_DESKTOP_KEYBOARD,
+ .initializeData = NULL,
+ .interface = &usageDriverInterface
+ }
+};
+
+
+USB_HOST_HID_INIT hidInitData =
+{
+ .nUsageDriver = 1,
+ .usageDriverTable = usageDriverTableEntry
+};
+const USB_HOST_TPL_ENTRY USBTPList[ 1 ] =
+{
+
+
+
+ TPL_INTERFACE_CLASS_SUBCLASS_PROTOCOL(0x03, 0x01, 0x01, &hidInitData, USB_HOST_HID_INTERFACE) ,
+
+
+
+
+};
+
+
+const USB_HOST_HCD hcdTable =
+{
+ .drvIndex = DRV_USBHS_INDEX_0,
+ .hcdInterface = DRV_USBHS_HOST_INTERFACE
+};
+
+const USB_HOST_INIT usbHostInitData =
+{
+ .nTPLEntries = 1 ,
+ .tplList = (USB_HOST_TPL_ENTRY *)USBTPList,
+ .hostControllerDrivers = (USB_HOST_HCD *)&hcdTable
+
+};
+
+
+
+
+
+
+// </editor-fold>
+
// *****************************************************************************
@@ -129,6 +219,33 @@ SUBSTITUTE GOODS, TECHNOLOGY, SERVICES, OR ANY CLAIMS BY THIRD PARTIES
// *****************************************************************************
// *****************************************************************************
+//<editor-fold defaultstate="collapsed" desc="DRV_Timer Initialization Data">
+
+/*** TMR Driver Initialization Data ***/
+
+const DRV_TMR_INIT drvTmr0InitData =
+{
+ .moduleInit.sys.powerState = DRV_TMR_POWER_STATE_IDX0,
+ .tmrId = DRV_TMR_PERIPHERAL_ID_IDX0,
+ .clockSource = DRV_TMR_CLOCK_SOURCE_IDX0,
+ .prescale = DRV_TMR_PRESCALE_IDX0,
+ .mode = DRV_TMR_OPERATION_MODE_IDX0,
+ .interruptSource = DRV_TMR_INTERRUPT_SOURCE_IDX0,
+ .asyncWriteEnable = false,
+};
+// </editor-fold>
+//<editor-fold defaultstate="collapsed" desc="SYS_TMR Initialization Data">
+/*** TMR Service Initialization Data ***/
+const SYS_TMR_INIT sysTmrInitData =
+{
+ .moduleInit = {SYS_MODULE_POWER_RUN_FULL},
+ .drvIndex = DRV_TMR_INDEX_0,
+ .tmrFreq = 1000,
+};
+
+// </editor-fold>
+//<editor-fold defaultstate="collapsed" desc="DRV_USB Initialization Data">
+// </editor-fold>
// *****************************************************************************
// *****************************************************************************
@@ -195,10 +312,38 @@ void SYS_Initialize ( void* data )
/* Initialize Drivers */
+ sysObj.drvTmr0 = DRV_TMR_Initialize(DRV_TMR_INDEX_0, (SYS_MODULE_INIT *)&drvTmr0InitData);
+
+ SYS_INT_VectorPrioritySet(INT_VECTOR_T1, INT_PRIORITY_LEVEL1);
+ SYS_INT_VectorSubprioritySet(INT_VECTOR_T1, INT_SUBPRIORITY_LEVEL0);
+
+
+
/* Initialize System Services */
+ SYS_INT_Initialize();
+
+ /*** TMR Service Initialization Code ***/
+ sysObj.sysTmr = SYS_TMR_Initialize(SYS_TMR_INDEX_0, (const SYS_MODULE_INIT * const)&sysTmrInitData);
/* Initialize Middleware */
+
+ sysObj.usbHostObject0 = USB_HOST_Initialize ((SYS_MODULE_INIT *)& usbHostInitData );
+ sysObj.drvUSBObject = DRV_USBHS_Initialize (DRV_USBHS_INDEX_0, (SYS_MODULE_INIT *) &drvUSBHSInit);
+
+ SYS_INT_VectorPrioritySet(INT_VECTOR_USB1, INT_PRIORITY_LEVEL4);
+ SYS_INT_VectorSubprioritySet(INT_VECTOR_USB1, INT_SUBPRIORITY_LEVEL0);
+
+ /* Set the priority of the USB DMA Interrupt */
+ SYS_INT_VectorPrioritySet(INT_VECTOR_USB1_DMA, INT_PRIORITY_LEVEL4);
+ /* Set Sub-priority of the USB DMA Interrupt */
+ SYS_INT_VectorSubprioritySet(INT_VECTOR_USB1_DMA, INT_SUBPRIORITY_LEVEL0);
+
+
+
+ /* Enable Global Interrupts */
+ SYS_INT_Enable();
+
/* Initialize the Application */
APP_Initialize();
}