mirror of
https://github.com/hathach/tinyusb.git
synced 2025-03-25 10:43:44 +00:00
implement hcd_uframe_number for ohci
able to get 8 byte descriptors using LPC1769 + base, but failed to reset and set address.
This commit is contained in:
parent
4c01099a3d
commit
d108ea4326
@ -18,8 +18,8 @@
|
|||||||
arm_target_debug_interface_type="ADIv5"
|
arm_target_debug_interface_type="ADIv5"
|
||||||
arm_target_device_name="LPC4088"
|
arm_target_device_name="LPC4088"
|
||||||
arm_target_interface_type="SWD"
|
arm_target_interface_type="SWD"
|
||||||
c_preprocessor_definitions="CORE_M4;__LPC4000_FAMILY;__LPC408x_SUBFAMILY;ARM_MATH_CM4;FLASH_PLACEMENT=1;BOARD_EA4088QS;CFG_TUSB_MCU=OPT_MCU_LPC40XX;CFG_TUSB_MEM_SECTION= __attribute__((section(".bss2")))"
|
c_preprocessor_definitions="CORE_M4;__LPC4000_FAMILY;__LPC408x_SUBFAMILY;ARM_MATH_CM4;FLASH_PLACEMENT=1;BOARD_EA4088QS;CFG_TUSB_MCU=OPT_MCU_LPC40XX;CFG_TUSB_MEM_SECTION= __attribute__((section(".bss2")));CFG_TUSB_DEBUG=2;LOGGER_RTT"
|
||||||
c_user_include_directories="../../src;$(rootDir)/hw;$(rootDir)/src;$(lpcDir)/inc"
|
c_user_include_directories="../../src;$(rootDir)/hw;$(rootDir)/src;$(lpcDir)/inc;$(rootDir)/lib/SEGGER_RTT/RTT"
|
||||||
debug_register_definition_file="$(ProjectDir)/LPC408x_7x_Registers.xml"
|
debug_register_definition_file="$(ProjectDir)/LPC408x_7x_Registers.xml"
|
||||||
debug_target_connection="J-Link"
|
debug_target_connection="J-Link"
|
||||||
gcc_enable_all_warnings="Yes"
|
gcc_enable_all_warnings="Yes"
|
||||||
@ -55,6 +55,7 @@
|
|||||||
<folder Name="ea4088qs">
|
<folder Name="ea4088qs">
|
||||||
<file file_name="../../../../../hw/bsp/ea4088qs/ea4088qs.c" />
|
<file file_name="../../../../../hw/bsp/ea4088qs/ea4088qs.c" />
|
||||||
</folder>
|
</folder>
|
||||||
|
<file file_name="../../../../../hw/bsp/board.c" />
|
||||||
</folder>
|
</folder>
|
||||||
<folder Name="mcu">
|
<folder Name="mcu">
|
||||||
<folder Name="nxp">
|
<folder Name="nxp">
|
||||||
@ -91,12 +92,6 @@
|
|||||||
</folder>
|
</folder>
|
||||||
</folder>
|
</folder>
|
||||||
</folder>
|
</folder>
|
||||||
<folder
|
|
||||||
Name="segger_rtt"
|
|
||||||
exclude=""
|
|
||||||
filter="*.c;*.h"
|
|
||||||
path="../../../../../lib/segger_rtt"
|
|
||||||
recurse="No" />
|
|
||||||
<folder
|
<folder
|
||||||
Name="src"
|
Name="src"
|
||||||
exclude=""
|
exclude=""
|
||||||
@ -109,6 +104,19 @@
|
|||||||
filter="*.c;*.h"
|
filter="*.c;*.h"
|
||||||
path="../../../../../src"
|
path="../../../../../src"
|
||||||
recurse="Yes" />
|
recurse="Yes" />
|
||||||
|
<folder Name="lib">
|
||||||
|
<folder Name="SEGGER_RTT">
|
||||||
|
<folder Name="RTT">
|
||||||
|
<file file_name="../../../../../lib/SEGGER_RTT/RTT/SEGGER_RTT.c" />
|
||||||
|
<file file_name="../../../../../lib/SEGGER_RTT/RTT/SEGGER_RTT.h" />
|
||||||
|
<file file_name="../../../../../lib/SEGGER_RTT/RTT/SEGGER_RTT_Conf.h" />
|
||||||
|
<file file_name="../../../../../lib/SEGGER_RTT/RTT/SEGGER_RTT_printf.c" />
|
||||||
|
</folder>
|
||||||
|
<folder Name="Syscalls">
|
||||||
|
<file file_name="../../../../../lib/SEGGER_RTT/Syscalls/SEGGER_RTT_Syscalls_SES.c" />
|
||||||
|
</folder>
|
||||||
|
</folder>
|
||||||
|
</folder>
|
||||||
</project>
|
</project>
|
||||||
<configuration
|
<configuration
|
||||||
Name="EA4088 QuickStart"
|
Name="EA4088 QuickStart"
|
||||||
|
@ -166,7 +166,7 @@ bool hcd_init(void)
|
|||||||
OHCI_REG->interrupt_disable = OHCI_REG->interrupt_enable; // disable all interrupts
|
OHCI_REG->interrupt_disable = OHCI_REG->interrupt_enable; // disable all interrupts
|
||||||
OHCI_REG->interrupt_status = OHCI_REG->interrupt_status; // clear current set bits
|
OHCI_REG->interrupt_status = OHCI_REG->interrupt_status; // clear current set bits
|
||||||
OHCI_REG->interrupt_enable = OHCI_INT_WRITEBACK_DONEHEAD_MASK | OHCI_INT_RESUME_DETECTED_MASK |
|
OHCI_REG->interrupt_enable = OHCI_INT_WRITEBACK_DONEHEAD_MASK | OHCI_INT_RESUME_DETECTED_MASK |
|
||||||
OHCI_INT_UNRECOVERABLE_ERROR_MASK | /*OHCI_INT_FRAME_OVERFLOW_MASK |*/ OHCI_INT_RHPORT_STATUS_CHANGE_MASK |
|
OHCI_INT_UNRECOVERABLE_ERROR_MASK | OHCI_INT_FRAME_OVERFLOW_MASK | OHCI_INT_RHPORT_STATUS_CHANGE_MASK |
|
||||||
OHCI_INT_MASTER_ENABLE_MASK;
|
OHCI_INT_MASTER_ENABLE_MASK;
|
||||||
|
|
||||||
OHCI_REG->control |= OHCI_CONTROL_CONTROL_BULK_RATIO | OHCI_CONTROL_LIST_CONTROL_ENABLE_MASK |
|
OHCI_REG->control |= OHCI_CONTROL_CONTROL_BULK_RATIO | OHCI_CONTROL_LIST_CONTROL_ENABLE_MASK |
|
||||||
@ -181,6 +181,13 @@ bool hcd_init(void)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint32_t hcd_uframe_number(uint8_t rhport)
|
||||||
|
{
|
||||||
|
(void) rhport;
|
||||||
|
return (ohci_data.frame_number_hi << 16 | OHCI_REG->frame_number) << 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
// PORT API
|
// PORT API
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
@ -606,6 +613,12 @@ void hcd_isr(uint8_t hostid)
|
|||||||
|
|
||||||
if (int_status == 0) return;
|
if (int_status == 0) return;
|
||||||
|
|
||||||
|
// Frame number overflow
|
||||||
|
if ( int_status & OHCI_INT_FRAME_OVERFLOW_MASK )
|
||||||
|
{
|
||||||
|
ohci_data.frame_number_hi++;
|
||||||
|
}
|
||||||
|
|
||||||
//------------- RootHub status -------------//
|
//------------- RootHub status -------------//
|
||||||
if ( int_status & OHCI_INT_RHPORT_STATUS_CHANGE_MASK )
|
if ( int_status & OHCI_INT_RHPORT_STATUS_CHANGE_MASK )
|
||||||
{
|
{
|
||||||
|
@ -180,6 +180,8 @@ typedef struct TU_ATTR_ALIGNED(256)
|
|||||||
ohci_ed_t ed_pool[HCD_MAX_ENDPOINT];
|
ohci_ed_t ed_pool[HCD_MAX_ENDPOINT];
|
||||||
ohci_gtd_t gtd_pool[HCD_MAX_XFER];
|
ohci_gtd_t gtd_pool[HCD_MAX_XFER];
|
||||||
|
|
||||||
|
volatile uint16_t frame_number_hi;
|
||||||
|
|
||||||
} ohci_data_t;
|
} ohci_data_t;
|
||||||
|
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
|
Loading…
x
Reference in New Issue
Block a user