forked from xuos/xiuos
1、support adapter_lora gateway and client state-machine-model;2、fix aiit-arm32-board usb compile error.
This commit is contained in:
@@ -262,9 +262,6 @@ static uint32 SpiLoraWrite(void *dev, struct BusBlockWriteParam *write_param)
|
||||
NULL_PARAM_CHECK(dev);
|
||||
NULL_PARAM_CHECK(write_param);
|
||||
|
||||
uint8 i;
|
||||
char Msg[SPI_LORA_BUFFER_SIZE] = {0};
|
||||
|
||||
if (write_param->size > 256) {
|
||||
KPrintf("SpiLoraWrite ERROR:The message is too long!\n");
|
||||
return ERROR;
|
||||
@@ -289,15 +286,32 @@ static uint32 SpiLoraRead(void *dev, struct BusBlockReadParam *read_param)
|
||||
{
|
||||
NULL_PARAM_CHECK(dev);
|
||||
NULL_PARAM_CHECK(read_param);
|
||||
|
||||
int read_times = 100;
|
||||
|
||||
//Radio->StartRx();
|
||||
SX1276StartRx();
|
||||
KPrintf("SpiLoraRead Ready!\n");
|
||||
|
||||
while (read_times) {
|
||||
if (SX1276Process() != RF_RX_DONE) {
|
||||
read_times --;
|
||||
MdelayKTask(500);
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (read_times > 0) {
|
||||
SX1276GetRxPacket(read_param->buffer, (uint16 *)&read_param->read_length);
|
||||
} else {
|
||||
read_param->read_length = 0;
|
||||
}
|
||||
|
||||
//while(Radio->Process() != RF_RX_DONE);
|
||||
//Radio->GetRxPacket(read_param->buffer, (uint16 *)&read_param->read_length);
|
||||
while(SX1276Process() != RF_RX_DONE);
|
||||
SX1276GetRxPacket(read_param->buffer, (uint16 *)&read_param->read_length);
|
||||
// while(SX1276Process() != RF_RX_DONE);
|
||||
// SX1276GetRxPacket(read_param->buffer, (uint16 *)&read_param->read_length);
|
||||
|
||||
return read_param->read_length;
|
||||
}
|
||||
@@ -479,7 +493,7 @@ int LoraSx12xxSpiDeviceInit(void)
|
||||
return EOK;
|
||||
}
|
||||
|
||||
#define LORA_TEST
|
||||
//#define LORA_TEST
|
||||
#ifdef LORA_TEST
|
||||
/*Just for lora test*/
|
||||
static struct Bus *bus;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+3
-2
@@ -183,6 +183,7 @@ tSX1276LR* SX1276LR;
|
||||
* Local RF buffer for communication support
|
||||
*/
|
||||
static uint8_t RFBuffer[RF_BUFFER_SIZE];
|
||||
static uint8_t TFBuffer[RF_BUFFER_SIZE];
|
||||
|
||||
/*!
|
||||
* RF state machine variable
|
||||
@@ -401,7 +402,7 @@ void SX1276LoRaSetTxPacket( const void *buffer, uint16_t size )
|
||||
{
|
||||
TxPacketSize = 255;
|
||||
}
|
||||
memcpy( ( void * )RFBuffer, buffer, ( size_t )TxPacketSize );
|
||||
memcpy( ( void * )TFBuffer, buffer, ( size_t )TxPacketSize );
|
||||
|
||||
RFLRState = RFLR_STATE_TX_INIT;
|
||||
}
|
||||
@@ -678,7 +679,7 @@ uint32_t SX1276LoRaProcess( void )
|
||||
SX1276LR->RegFifoAddrPtr = SX1276LR->RegFifoTxBaseAddr;
|
||||
SX1276Write( REG_LR_FIFOADDRPTR, SX1276LR->RegFifoAddrPtr );
|
||||
// Write payload buffer to LORA modem
|
||||
SX1276WriteFifo( RFBuffer, SX1276LR->RegPayloadLength );
|
||||
SX1276WriteFifo( TFBuffer, SX1276LR->RegPayloadLength );
|
||||
// TxDone RxTimeout FhssChangeChannel ValidHeader
|
||||
SX1276LR->RegDioMapping1 = RFLR_DIOMAPPING1_DIO0_01 | RFLR_DIOMAPPING1_DIO1_00 | RFLR_DIOMAPPING1_DIO2_00 | RFLR_DIOMAPPING1_DIO3_01;
|
||||
// PllLock Mode Ready
|
||||
|
||||
+3
-1
@@ -240,8 +240,10 @@
|
||||
#endif /* USB_OTG_HS_INTERNAL_DMA_ENABLED */
|
||||
|
||||
|
||||
#if defined ( __GNUC__ ) /* GNU Compiler */
|
||||
#if defined ( __GNUC__ ) /* GNU Compiler */
|
||||
#ifndef __packed
|
||||
#define __packed __attribute__ ((__packed__))
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
||||
+20
-3
@@ -279,15 +279,32 @@ static uint32 SpiLoraRead(void *dev, struct BusBlockReadParam *read_param)
|
||||
{
|
||||
NULL_PARAM_CHECK(dev);
|
||||
NULL_PARAM_CHECK(read_param);
|
||||
|
||||
int read_times = 1000;
|
||||
|
||||
//Radio->StartRx();
|
||||
SX1276StartRx();
|
||||
KPrintf("SpiLoraRead Ready!\n");
|
||||
|
||||
while (read_times) {
|
||||
if (SX1276Process() != RF_RX_DONE) {
|
||||
read_times --;
|
||||
MdelayKTask(500);
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (read_times > 0) {
|
||||
SX1276GetRxPacket(read_param->buffer, (uint16 *)&read_param->read_length);
|
||||
} else {
|
||||
read_param->read_length = 0;
|
||||
}
|
||||
|
||||
//while(Radio->Process() != RF_RX_DONE);
|
||||
//Radio->GetRxPacket(read_param->buffer, (uint16 *)&read_param->read_length);
|
||||
while(SX1276Process() != RF_RX_DONE);
|
||||
SX1276GetRxPacket(read_param->buffer, (uint16 *)&read_param->read_length);
|
||||
// while(SX1276Process() != RF_RX_DONE);
|
||||
// SX1276GetRxPacket(read_param->buffer, (uint16 *)&read_param->read_length);
|
||||
|
||||
return read_param->read_length;
|
||||
}
|
||||
@@ -461,7 +478,7 @@ int LoraSx12xxSpiDeviceInit(void)
|
||||
return EOK;
|
||||
}
|
||||
|
||||
#define LORA_TEST
|
||||
//#define LORA_TEST
|
||||
#ifdef LORA_TEST
|
||||
/*Just for lora test*/
|
||||
static struct Bus *bus;
|
||||
|
||||
@@ -214,13 +214,14 @@ static uint32 SpiWriteData(struct SpiHardwareDevice *spi_dev, struct SpiDataStan
|
||||
spi_datacfg = spi_datacfg->next;
|
||||
}
|
||||
|
||||
return spi_datacfg->length;
|
||||
return EOK;
|
||||
}
|
||||
|
||||
static uint32 SpiReadData(struct SpiHardwareDevice *spi_dev, struct SpiDataStandard *spi_datacfg)
|
||||
{
|
||||
SpiDeviceParam *dev_param = (SpiDeviceParam *)(spi_dev->haldev.private_data);
|
||||
|
||||
uint32 spi_read_length = 0;;
|
||||
uint8 device_id = dev_param->spi_slave_param->spi_slave_id;
|
||||
uint8 device_master_id = dev_param->spi_dma_param->spi_master_id;
|
||||
uint8 cs_gpio_pin = dev_param->spi_slave_param->spi_cs_gpio_pin;
|
||||
@@ -282,10 +283,11 @@ static uint32 SpiReadData(struct SpiHardwareDevice *spi_dev, struct SpiDataStand
|
||||
gpiohs_set_pin(cs_gpio_pin, GPIO_PV_HIGH);
|
||||
}
|
||||
|
||||
spi_read_length += spi_datacfg->length;
|
||||
spi_datacfg = spi_datacfg->next;
|
||||
}
|
||||
|
||||
return spi_datacfg->length;
|
||||
return spi_read_length;
|
||||
}
|
||||
|
||||
/*manage the spi device operations*/
|
||||
|
||||
+3
-2
@@ -183,6 +183,7 @@ tSX1276LR* SX1276LR;
|
||||
* Local RF buffer for communication support
|
||||
*/
|
||||
static uint8_t RFBuffer[RF_BUFFER_SIZE];
|
||||
static uint8_t TFBuffer[RF_BUFFER_SIZE];
|
||||
|
||||
/*!
|
||||
* RF state machine variable
|
||||
@@ -401,7 +402,7 @@ void SX1276LoRaSetTxPacket( const void *buffer, uint16_t size )
|
||||
{
|
||||
TxPacketSize = 255;
|
||||
}
|
||||
memcpy( ( void * )RFBuffer, buffer, ( size_t )TxPacketSize );
|
||||
memcpy( ( void * )TFBuffer, buffer, ( size_t )TxPacketSize );
|
||||
|
||||
RFLRState = RFLR_STATE_TX_INIT;
|
||||
}
|
||||
@@ -678,7 +679,7 @@ uint32_t SX1276LoRaProcess( void )
|
||||
SX1276LR->RegFifoAddrPtr = SX1276LR->RegFifoTxBaseAddr;
|
||||
SX1276Write( REG_LR_FIFOADDRPTR, SX1276LR->RegFifoAddrPtr );
|
||||
// Write payload buffer to LORA modem
|
||||
SX1276WriteFifo( RFBuffer, SX1276LR->RegPayloadLength );
|
||||
SX1276WriteFifo( TFBuffer, SX1276LR->RegPayloadLength );
|
||||
// TxDone RxTimeout FhssChangeChannel ValidHeader
|
||||
SX1276LR->RegDioMapping1 = RFLR_DIOMAPPING1_DIO0_01 | RFLR_DIOMAPPING1_DIO1_00 | RFLR_DIOMAPPING1_DIO2_00 | RFLR_DIOMAPPING1_DIO3_01;
|
||||
// PllLock Mode Ready
|
||||
|
||||
@@ -215,13 +215,14 @@ static uint32 SpiWriteData(struct SpiHardwareDevice *spi_dev, struct SpiDataStan
|
||||
spi_datacfg = spi_datacfg->next;
|
||||
}
|
||||
|
||||
return spi_datacfg->length;
|
||||
return EOK;
|
||||
}
|
||||
|
||||
static uint32 SpiReadData(struct SpiHardwareDevice *spi_dev, struct SpiDataStandard *spi_datacfg)
|
||||
{
|
||||
SpiDeviceParam *dev_param = (SpiDeviceParam *)(spi_dev->haldev.private_data);
|
||||
|
||||
uint32 spi_read_length = 0;
|
||||
uint8 device_id = dev_param->spi_slave_param->spi_slave_id;
|
||||
uint8 device_master_id = dev_param->spi_dma_param->spi_master_id;
|
||||
uint8 cs_gpio_pin = dev_param->spi_slave_param->spi_cs_gpio_pin;
|
||||
@@ -281,10 +282,11 @@ static uint32 SpiReadData(struct SpiHardwareDevice *spi_dev, struct SpiDataStand
|
||||
gpiohs_set_pin(cs_gpio_pin, GPIO_PV_HIGH);
|
||||
}
|
||||
|
||||
spi_read_length += spi_datacfg->length;
|
||||
spi_datacfg = spi_datacfg->next;
|
||||
}
|
||||
|
||||
return spi_datacfg->length;
|
||||
return spi_read_length;
|
||||
}
|
||||
|
||||
/*manage the spi device operations*/
|
||||
|
||||
@@ -1097,7 +1097,7 @@ static uint32 Stm32SpiWriteData(struct SpiHardwareDevice *spi_dev, struct SpiDat
|
||||
}
|
||||
|
||||
if (state != 0) {
|
||||
KPrintf("spi transfer error : %d\n", state);
|
||||
KPrintf("spi write error : %d\n", state);
|
||||
spi_datacfg->length = 0;
|
||||
}
|
||||
}
|
||||
@@ -1109,7 +1109,7 @@ static uint32 Stm32SpiWriteData(struct SpiHardwareDevice *spi_dev, struct SpiDat
|
||||
spi_datacfg = spi_datacfg->next;
|
||||
}
|
||||
|
||||
return spi_datacfg->length;
|
||||
return EOK;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1125,7 +1125,7 @@ static uint32 Stm32SpiReadData(struct SpiHardwareDevice *spi_dev, struct SpiData
|
||||
{
|
||||
int state;
|
||||
x_size_t message_length, already_send_length;
|
||||
uint16 read_length;
|
||||
uint16 read_length, spi_read_length = 0;
|
||||
const uint8 *ReadBuf;
|
||||
|
||||
NULL_PARAM_CHECK(spi_dev);
|
||||
@@ -1158,7 +1158,7 @@ static uint32 Stm32SpiReadData(struct SpiHardwareDevice *spi_dev, struct SpiData
|
||||
|
||||
/* start once data exchange in DMA mode */
|
||||
if (spi_datacfg->rx_buff) {
|
||||
memset((uint8_t *)ReadBuf, 0xff, read_length);
|
||||
//memset((uint8_t *)ReadBuf, 0xff, read_length);
|
||||
if (StmSpi->spi_dma_flag & SPI_USING_RX_DMA_FLAG) {
|
||||
state = SpiReceiveDma(*spi_init, spi_instance, StmSpi->dma.dma_rx.init, StmSpi->dma.dma_rx.instance, StmSpi->dma.dma_tx.init, StmSpi->dma.dma_tx.instance, (uint8_t *)ReadBuf, read_length);
|
||||
} else {
|
||||
@@ -1167,7 +1167,7 @@ static uint32 Stm32SpiReadData(struct SpiHardwareDevice *spi_dev, struct SpiData
|
||||
}
|
||||
|
||||
if (state != 0) {
|
||||
KPrintf("spi transfer error : %d\n", state);
|
||||
KPrintf("spi read error : %d\n", state);
|
||||
spi_datacfg->length = 0;
|
||||
}
|
||||
}
|
||||
@@ -1176,10 +1176,11 @@ static uint32 Stm32SpiReadData(struct SpiHardwareDevice *spi_dev, struct SpiData
|
||||
GPIO_WriteBit(cs->GPIOx, cs->GPIO_Pin, Bit_SET);
|
||||
}
|
||||
|
||||
spi_read_length += spi_datacfg->length;
|
||||
spi_datacfg = spi_datacfg->next;
|
||||
}
|
||||
|
||||
return spi_datacfg->length;
|
||||
return spi_read_length;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -58,7 +58,7 @@ struct SpiDataStandard
|
||||
const uint8 *tx_buff;
|
||||
uint32 tx_len;
|
||||
|
||||
const uint8 *rx_buff;
|
||||
uint8 *rx_buff;
|
||||
uint32 rx_len;
|
||||
|
||||
uint32 length;
|
||||
|
||||
@@ -52,17 +52,30 @@ static uint32 SpiDeviceWrite(void *dev, struct BusBlockWriteParam *write_param)
|
||||
NULL_PARAM_CHECK(dev);
|
||||
NULL_PARAM_CHECK(write_param);
|
||||
|
||||
int ret;
|
||||
struct SpiHardwareDevice *spi_dev = (struct SpiHardwareDevice *)dev;
|
||||
struct SpiDataStandard spi_msg;
|
||||
struct SpiDataStandard *spi_msg;
|
||||
|
||||
spi_msg.tx_buff = (uint8 *)write_param->buffer;
|
||||
spi_msg.rx_buff = NONE;
|
||||
spi_msg.length = write_param->size;
|
||||
spi_msg.spi_chip_select = 0;
|
||||
spi_msg.spi_cs_release = 0;
|
||||
spi_msg.next = NONE;
|
||||
spi_msg = (struct SpiDataStandard *)x_malloc(sizeof(struct SpiDataStandard));
|
||||
if (NONE == spi_msg) {
|
||||
KPrintf("SpiDeviceWrite x_malloc msg error\n");
|
||||
x_free(spi_msg);
|
||||
return ERROR;
|
||||
}
|
||||
|
||||
return spi_dev->spi_dev_done->dev_write(spi_dev, &spi_msg);
|
||||
//memset(spi_msg, 0, sizeof(struct SpiDataStandard));
|
||||
|
||||
spi_msg->tx_buff = (uint8 *)write_param->buffer;
|
||||
spi_msg->rx_buff = NONE;
|
||||
spi_msg->length = write_param->size;
|
||||
spi_msg->spi_chip_select = 0;
|
||||
spi_msg->spi_cs_release = 0;
|
||||
spi_msg->next = NONE;
|
||||
|
||||
ret = spi_dev->spi_dev_done->dev_write(spi_dev, spi_msg);
|
||||
x_free(spi_msg);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static uint32 SpiDeviceRead(void *dev, struct BusBlockReadParam *read_param)
|
||||
@@ -70,17 +83,30 @@ static uint32 SpiDeviceRead(void *dev, struct BusBlockReadParam *read_param)
|
||||
NULL_PARAM_CHECK(dev);
|
||||
NULL_PARAM_CHECK(read_param);
|
||||
|
||||
int ret;
|
||||
struct SpiHardwareDevice *spi_dev = (struct SpiHardwareDevice *)dev;
|
||||
struct SpiDataStandard spi_msg;
|
||||
struct SpiDataStandard *spi_msg;
|
||||
|
||||
spi_msg.tx_buff = NONE;
|
||||
spi_msg.rx_buff = (uint8 *)read_param->buffer;
|
||||
spi_msg.length = read_param->size;
|
||||
spi_msg.spi_chip_select = 0;
|
||||
spi_msg.spi_cs_release = 0;
|
||||
spi_msg.next = NONE;
|
||||
spi_msg = (struct SpiDataStandard *)x_malloc(sizeof(struct SpiDataStandard));
|
||||
if (NONE == spi_msg) {
|
||||
KPrintf("SpiDeviceRead x_malloc msg error\n");
|
||||
x_free(spi_msg);
|
||||
return ERROR;
|
||||
}
|
||||
|
||||
return spi_dev->spi_dev_done->dev_read(spi_dev, &spi_msg);
|
||||
//memset(spi_msg, 0, sizeof(struct SpiDataStandard));
|
||||
|
||||
spi_msg->tx_buff = NONE;
|
||||
spi_msg->rx_buff = (uint8 *)read_param->buffer;
|
||||
spi_msg->length = read_param->size;
|
||||
spi_msg->spi_chip_select = 0;
|
||||
spi_msg->spi_cs_release = 0;
|
||||
spi_msg->next = NONE;
|
||||
|
||||
ret = spi_dev->spi_dev_done->dev_read(spi_dev, spi_msg);
|
||||
x_free(spi_msg);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const struct HalDevDone dev_done =
|
||||
@@ -183,12 +209,27 @@ int SpiDevConfigureCs(struct HardwareDev *dev, uint8 spi_chip_select, uint8 spi_
|
||||
{
|
||||
NULL_PARAM_CHECK(dev);
|
||||
|
||||
int ret;
|
||||
struct SpiHardwareDevice *spi_dev = (struct SpiHardwareDevice *)dev;
|
||||
struct SpiDataStandard msg;
|
||||
struct SpiDataStandard *msg;
|
||||
|
||||
memset(&msg, 0, sizeof(struct SpiDataStandard));
|
||||
msg.spi_chip_select = spi_chip_select;
|
||||
msg.spi_cs_release = spi_cs_release;
|
||||
msg = (struct SpiDataStandard *)x_malloc(sizeof(struct SpiDataStandard));
|
||||
if (NONE == msg) {
|
||||
KPrintf("SpiDevConfigureCs x_malloc msg error\n");
|
||||
x_free(msg);
|
||||
return ERROR;
|
||||
}
|
||||
|
||||
return spi_dev->spi_dev_done->dev_write(spi_dev, &msg);
|
||||
//memset(msg, 0, sizeof(struct SpiDataStandard));
|
||||
msg->length = 0;
|
||||
msg->rx_buff = NONE;
|
||||
msg->tx_buff = NONE;
|
||||
msg->next = NONE;
|
||||
msg->spi_chip_select = spi_chip_select;
|
||||
msg->spi_cs_release = spi_cs_release;
|
||||
|
||||
ret = spi_dev->spi_dev_done->dev_write(spi_dev, msg);
|
||||
|
||||
x_free(msg);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -491,14 +491,14 @@ x_err_t UsbhClearFeature(UinstPointer device, int endpoint, int feature)
|
||||
x_err_t UsbhGetInterfaceDescriptor(UcfgDescPointer CfgDesc, int num,
|
||||
UintfDescPointer* IntfDesc)
|
||||
{
|
||||
uint64 ptr, depth = 0;
|
||||
uint32 ptr, depth = 0;
|
||||
UdescPointer desc;
|
||||
|
||||
|
||||
NULL_PARAM_CHECK(CfgDesc);
|
||||
|
||||
ptr = (uint64)CfgDesc + CfgDesc->bLength;
|
||||
while(ptr < (uint64)CfgDesc + CfgDesc->wTotalLength)
|
||||
ptr = (uint32)CfgDesc + CfgDesc->bLength;
|
||||
while(ptr < (uint32)CfgDesc + CfgDesc->wTotalLength)
|
||||
{
|
||||
if(depth++ > 0x20)
|
||||
{
|
||||
@@ -517,7 +517,7 @@ x_err_t UsbhGetInterfaceDescriptor(UcfgDescPointer CfgDesc, int num,
|
||||
return EOK;
|
||||
}
|
||||
}
|
||||
ptr = (uint64)desc + desc->bLength;
|
||||
ptr = (uint32)desc + desc->bLength;
|
||||
}
|
||||
|
||||
KPrintf("usb_get_interface_descriptor %d failed\n", num);
|
||||
@@ -538,7 +538,7 @@ x_err_t UsbhGetEndpointDescriptor(UintfDescPointer IntfDesc, int num,
|
||||
UepDescPointer* EpDesc)
|
||||
{
|
||||
int count = 0, depth = 0;
|
||||
uint64 ptr;
|
||||
uint32 ptr;
|
||||
UdescPointer desc;
|
||||
|
||||
|
||||
@@ -546,7 +546,7 @@ x_err_t UsbhGetEndpointDescriptor(UintfDescPointer IntfDesc, int num,
|
||||
CHECK(num < IntfDesc->bNumEndpoints);
|
||||
*EpDesc = NONE;
|
||||
|
||||
ptr = (uint64)IntfDesc + IntfDesc->bLength;
|
||||
ptr = (uint32)IntfDesc + IntfDesc->bLength;
|
||||
while(count < IntfDesc->bNumEndpoints)
|
||||
{
|
||||
if(depth++ > 0x20)
|
||||
@@ -567,7 +567,7 @@ x_err_t UsbhGetEndpointDescriptor(UintfDescPointer IntfDesc, int num,
|
||||
}
|
||||
else count++;
|
||||
}
|
||||
ptr = (uint64)desc + desc->bLength;
|
||||
ptr = (uint32)desc + desc->bLength;
|
||||
}
|
||||
|
||||
KPrintf("usb_get_endpoint_descriptor %d failed\n", num);
|
||||
|
||||
@@ -49,7 +49,7 @@ static x_err_t RootHubCtrl(struct uhcd *hcd, uint16 port, uint8 cmd, void *args)
|
||||
hcd->roothub->PortStatus[port-1] = (*(uint32 *)args);
|
||||
break;
|
||||
case RH_CLEAR_PORT_FEATURE:
|
||||
switch(((uint64)args))
|
||||
switch(((uint32)args))
|
||||
{
|
||||
case PORT_FEAT_C_CONNECTION:
|
||||
hcd->roothub->PortStatus[port-1] &= ~PORT_CCSC;
|
||||
@@ -69,7 +69,7 @@ static x_err_t RootHubCtrl(struct uhcd *hcd, uint16 port, uint8 cmd, void *args)
|
||||
}
|
||||
break;
|
||||
case RH_SET_PORT_FEATURE:
|
||||
switch((uint64)args)
|
||||
switch((uint32)args)
|
||||
{
|
||||
case PORT_FEAT_CONNECTION:
|
||||
hcd->roothub->PortStatus[port-1] |= PORT_CCSC;
|
||||
@@ -222,7 +222,7 @@ x_err_t UsbhHubClearPortFeature(UhubPointer hub, uint16 port, uint16 feature)
|
||||
if(hub->IsRoothub)
|
||||
{
|
||||
RootHubCtrl(hub->hcd, port, RH_CLEAR_PORT_FEATURE,
|
||||
(void*)(uint64)feature);
|
||||
(void*)(uint32)feature);
|
||||
return EOK;
|
||||
}
|
||||
|
||||
@@ -254,7 +254,7 @@ x_err_t UsbhHubSetPortFeature(UhubPointer hub, uint16 port,
|
||||
if(hub->IsRoothub)
|
||||
{
|
||||
RootHubCtrl(hub->hcd, port, RH_SET_PORT_FEATURE,
|
||||
(void*)(uint64)feature);
|
||||
(void*)(uint32)feature);
|
||||
return EOK;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user