1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
|
//#define USB_KERNEL_DEBUG
#include "types.h"
#include "tracetool.h"
#include "hal.h"
#include "hard.h"
#include "rapi.h"
#include "bsp.h" // AMAS API's and typedefs
#ifndef _USB_DRIVER
#error not_USB_DRIVER
#endif
unsigned short initializeBoard(void)
{
ST_STATUS status;
unsigned short iaddr_val, idata_val, irmw_val;
// TX_DSP_Register configured in ATU-R Mode
status = USB_controlWrite(UR_IADR,SACHEM_TX_DSP);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
status = USB_controlWrite(UR_IDATA,TX_DSP_MODE_ATUR);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
status = USB_controlWrite(UR_IRMW,MASK_TX_DSP_MODE);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
status = USB_controlWrite(UR_STATUS,0x2823);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
PRINT_INFO("USB> TX_DSP_Register configuration DONE!\n");
// AFE in Reset
iaddr_val = DMT_GPIO_OFFSET;
idata_val = DMT_OUT_PIN_LOW;
irmw_val = MASK_DMT_OUT_PIN_LOW;
status = USB_controlWrite(UR_IADR,iaddr_val);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
status = USB_controlWrite(UR_IDATA,idata_val);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
status = USB_controlWrite(UR_IRMW,irmw_val);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
status = USB_controlWrite(UR_STATUS,0x2823);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
PRINT_INFO("USB> AFE_RESET: DONE!\n");
// AFE in PowerDown
iaddr_val = SACHEM_TX_DSP;
idata_val = AFE_POWER_UP;
irmw_val = MASK_AFE_POWER_DOWN;
status = USB_controlWrite(UR_IADR,iaddr_val);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
status = USB_controlWrite(UR_IDATA,idata_val);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
status = USB_controlWrite(UR_IRMW,irmw_val);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
status = USB_controlWrite(UR_STATUS,0x2823);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
PRINT_INFO("USB> AFE_POWER_DOWN: DONE!\n");
// AFE out of Reset
iaddr_val = DMT_GPIO_OFFSET;
idata_val = DMT_OUT_PIN_HIGH;
irmw_val = MASK_DMT_OUT_PIN_LOW;
status = USB_controlWrite(UR_IADR,iaddr_val);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
status = USB_controlWrite(UR_IDATA,idata_val);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
status = USB_controlWrite(UR_IRMW,irmw_val);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
status = USB_controlWrite(UR_STATUS,0x2823);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
PRINT_INFO("USB> AFE_OUT_OF_RESET: DONE!\n");
// AFE Power Up
iaddr_val = SACHEM_TX_DSP;
idata_val = AFE_POWER_DOWN;
irmw_val = MASK_AFE_POWER_DOWN;
status = USB_controlWrite(UR_IADR,iaddr_val);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
status = USB_controlWrite(UR_IDATA,idata_val);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
status = USB_controlWrite(UR_IRMW,irmw_val);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
status = USB_controlWrite(UR_STATUS,0x2823);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
PRINT_INFO("USB> AFE_POWER_UP: DONE!\n");
#ifdef USB_KERNEL_DEBUG
if ( (status = USB_controlWrite(0x61,0x00)) == FAILURE )
PRINT_ERROR("Configuration of GPIO_DIR register failed!\n");
PRINT_INFO("USB> GPIO_DIR: INITIALIZED!\n");
#endif
return 0;
}
unsigned long powerUp_Modem_Chipset (unsigned long Chipset)
{
ST_STATUS status;
unsigned short iaddr_val, idata_val, irmw_val;
iaddr_val = DMT_GPIO_OFFSET;
idata_val = DMT_OUT_PIN_HIGH;
irmw_val = MASK_DMT_OUT_PIN_LOW;
status = USB_controlWrite(UR_IADR,iaddr_val);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
status = USB_controlWrite(UR_IDATA,idata_val);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
status = USB_controlWrite(UR_IRMW,irmw_val);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
status = USB_controlWrite(UR_STATUS,0x2823);
if (status == FAILURE) PRINT_ERROR("USB_controlWrite() failed\n");
PRINT_INFO("USB powerUp_Modem_Chipset completed\n");
return 0;
}
unsigned long powerDown_Modem_Chipset (unsigned long Chipset)
{
return 0;
}
unsigned long pull_Modem_Chipset_out_of_reset(unsigned long Chipset)
{
return 0;
}
unsigned long put_Modem_Chipset_in_reset(unsigned long Chipset)
{
return 0;
}
|