hif/usb_api: remove dup code - usb_reg_out_patch
[open-ath9k-htc-firmware.git] / target_firmware / magpie_fw_dev / target / init / app_start.c
index 5a4b75483389557595c2e1ac203e97d50570ce7b..39898c8b6b808cd28a230e887cf967deb9c8198b 100644 (file)
@@ -1,3 +1,37 @@
+/*
+ * Copyright (c) 2013 Qualcomm Atheros, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted (subject to the limitations in the
+ * disclaimer below) provided that the following conditions are met:
+ *
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the
+ *    distribution.
+ *
+ *  * Neither the name of Qualcomm Atheros nor the names of its
+ *    contributors may be used to endorse or promote products derived
+ *    from this software without specific prior written permission.
+ *
+ * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+ * GRANTED BY THIS LICENSE.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
+ * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
 #include "dt_defs.h"
 #include "athos_api.h"
 
@@ -10,7 +44,7 @@
 #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);
@@ -94,13 +128,13 @@ void app_start()
        A_PRINTF(" A_WDT_INIT()\n\r");
 
 #if defined(PROJECT_K2)
-       save_cmnos_printf = (uint32_t) fw_cmnos_printf;
+       save_cmnos_printf = fw_cmnos_printf;
 #endif
 
        if( hostif == HIF_USB ) {
 #if defined(PROJECT_K2)
 #if MOVE_PRINT_TO_RAM
-               save_cmnos_printf = (uint32_t) _indir_tbl.cmnos.printf._printf;
+               save_cmnos_printf = _indir_tbl.cmnos.printf._printf;
                _indir_tbl.cmnos.printf._printf = fw_cmnos_printf;
 #endif
                _indir_tbl.cmnos.usb._usb_fw_task = _fw_usb_fw_task;
@@ -153,7 +187,7 @@ 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;
@@ -175,7 +209,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, \
@@ -232,6 +267,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) {