usb_api_main_patch.c use new io funcs
[open-ath9k-htc-firmware.git] / target_firmware / magpie_fw_dev / target / init / app_start.c
index 136f966dfe8fd3fd4e04a7fd35f3139f85eb08c2..9a7bbe36b58f8bf102e7b6b65533070eaa9f5b0b 100644 (file)
 #include "usb_defs.h"
 
 #include "init.h"
+#include <linux/compiler.h>
+
 // @TODO: Should define the memory region later~
 #define ALLOCRAM_START       ( ((unsigned int)&_fw_image_end) + 4)
 #define ALLOCRAM_SIZE        ( SYS_RAM_SZIE - ( ALLOCRAM_START - SYS_D_RAM_REGION_0_BASE) - SYS_D_RAM_STACK_SIZE)
 
 // support for more than 64 bytes on command pipe
-extern void vUsb_Reg_Out_patch(void);
+extern void usb_reg_out_patch(void);
 extern int _HIFusb_get_max_msg_len_patch(hif_handle_t handle, int pipe);
 extern void _HIFusb_isr_handler_patch(hif_handle_t h);
 extern BOOLEAN bSet_configuration_patch(void);
 extern void vUSBFIFO_EP6Cfg_FS_patch(void);
-extern void vUsb_Status_In_patch(void);
+extern void usb_status_in_patch(void);
 extern void _fw_usbfifo_init(USB_FIFO_CONFIG *pConfig);
 extern void zfTurnOffPower_patch(void);
 extern void zfResetUSBFIFO_patch(void);
@@ -67,7 +69,8 @@ extern a_uint32_t cmnos_milliseconds_patch(void);
 
 extern BOOLEAN bJumptoFlash;
 extern BOOLEAN bEepromExist;
-void app_start()
+
+void __section(boot) __noreturn __visible app_start(void)
 {
        uint32_t rst_status;
        A_HOSTIF hostif;
@@ -187,10 +190,10 @@ void app_start()
 
        if( hostif == HIF_USB ) {
                _indir_tbl.hif._get_max_msg_len = _HIFusb_get_max_msg_len_patch;
-               _indir_tbl.cmnos.usb._usb_reg_out = vUsb_Reg_Out_patch;
+               _indir_tbl.cmnos.usb._usb_reg_out = usb_reg_out_patch;
                _indir_tbl.hif._isr_handler = _HIFusb_isr_handler_patch;
                _indir_tbl.cmnos.usb._usb_set_configuration = bSet_configuration_patch;
-               _indir_tbl.cmnos.usb._usb_status_in = vUsb_Status_In_patch;
+               _indir_tbl.cmnos.usb._usb_status_in = usb_status_in_patch;
                _indir_tbl.cmnos.usb._usb_get_descriptor = bGet_descriptor_patch;
                _indir_tbl.cmnos.usb._usb_standard_cmd = bStandardCommand_patch;
                _indir_tbl.usbfifo_api._init = _fw_usbfifo_init;
@@ -209,7 +212,8 @@ void app_start()
 
 #ifdef FUSION_USB_ENABLE_TX_STREAM
                // For K2, enable tx stream mode
-               A_PRINTF("Enable Tx Stream mode\r\n");
+               A_PRINTF("Enable Tx Stream mode: 0x%x\r\n",
+                       USB_WORD_REG_READ(ZM_SOC_USB_MODE_CTRL_OFFSET));
 
                // Patch for K2 USB STREAM mode
                USB_WORD_REG_WRITE(ZM_SOC_USB_MODE_CTRL_OFFSET, \
@@ -266,6 +270,8 @@ void app_start()
        else if (hostif == HIF_PCI )
                hif_pci_patch_install(&_indir_tbl.hif);
 #endif
+               A_PRINTF("USB mode: 0x%x\r\n",
+                       USB_WORD_REG_READ(0x100));
 
        // patch the clock function
        if(1) {