Имя модуля: USB1 , базовый адрес: 0x05200000 Имя модуля: USB2 , базовый адрес: 0x05310000 Имя модуля: USB3 , базовый адрес: 0x05311000 Руководство п. 9.5.3 Регистров: 43 Имя регистра | Смещение 1) E_CAPLENGTH | 0x0000 typedef union e_caplength { struct { unsigned caplength : 8; unsigned unused0 : 24; } b; unsigned long w; } E_CAPLENGTH 2) E_HCIVERSION | 0x0002 typedef union e_hciversion { struct { unsigned hciversion : 16; unsigned unused0 : 16; } b; unsigned long w; } E_HCIVERSION 3) E_HCSPARAMS | 0x0004 typedef union e_hcsparams { struct { unsigned n_ports : 4; unsigned unused0 : 3; unsigned port_routing_rules : 1; unsigned n_pcc : 4; unsigned n_cc : 4; unsigned unused1 : 4; unsigned debug_port_number : 4; unsigned unused2 : 8; } b; unsigned long w; } E_HCSPARAMS 4) E_HCCPARAMS | 0x0008 typedef union e_hccparams { struct { unsigned unused0 : 1; unsigned progr_frame_list_flg : 1; unsigned asynch_sched_park_cap : 1; unsigned reserv : 1; unsigned iso_sched_threshold : 4; unsigned eecp : 8; unsigned unused1 : 16; } b; unsigned long w; } E_HCCPARAMS 5) E_HCSPPORTROUTE | 0x000C typedef union e_hcspportroute { struct { unsigned hcsp_ortroute : 32; } b; unsigned long w; } E_HCSPPORTROUTE 6) E_USBCMD | 0x0010 typedef union e_usbcmd { struct { unsigned run_stop : 1; unsigned host_controller_reset : 1; unsigned frame_list_size : 2; unsigned aperiod_sched_ena : 1; unsigned asynch_sched_ena : 1; unsigned inter_async_adv_doorbell : 1; unsigned light_host_contr_res : 1; unsigned asyn_sched_pm_count : 2; unsigned unused0 : 1; unsigned asyn_sched_pm_ena : 1; unsigned unused1 : 4; unsigned interrupt_threshold_control : 8; unsigned unused2 : 8; } b; unsigned long w; } E_USBCMD 7) E_USBSTS | 0x0014 typedef union e_usbsts { struct { unsigned usb_int : 1; unsigned usb_err_int : 1; unsigned port_change_detect : 1; unsigned frame_list_rollover : 1; unsigned host_system_error : 1; unsigned inter_async_advance : 1; unsigned unused0 : 6; unsigned hc_halted : 1; unsigned reclamation : 1; unsigned period_sched_stat : 1; unsigned asynchr_sched_stat : 1; unsigned unused1 : 16; } b; unsigned long w; } E_USBSTS 8) E_USBINTR | 0x0018 typedef union e_usbintr { struct { unsigned usb_inter_ena : 1; unsigned usb_err_inter_ena : 1; unsigned port_change_inter_ena : 1; unsigned frame_list_roll_ena : 1; unsigned host_syst_err_ena : 1; unsigned inter_async_adv_ena : 1; unsigned unused0 : 26; } b; unsigned long w; } E_USBINTR 9) E_FRINDEX | 0x001C typedef union e_frindex { struct { unsigned frame_index : 14; unsigned unused0 : 18; } b; unsigned long w; } E_FRINDEX 10) E_CTRLDSSEGMENT | 0x0020 typedef union e_ctrldssegment { struct { unsigned unused0 : 32; } b; unsigned long w; } E_CTRLDSSEGMENT 11) E_PERIODICLISTBASE | 0x0024 typedef union e_periodiclistbase { struct { unsigned unused0 : 12; unsigned base_addr : 20; } b; unsigned long w; } E_PERIODICLISTBASE 12) E_ASYNCLISTADDR | 0x0028 typedef union e_asynclistaddr { struct { unsigned unused0 : 5; unsigned link_pointer : 27; } b; unsigned long w; } E_ASYNCLISTADDR 13) E_TIMERINTERRUPT | 0x0030 typedef union e_timerinterrupt { struct { unsigned timer_ena : 1; unsigned standby_irq_stat : 1; unsigned standby_irq_ena : 1; unsigned unused0 : 5; unsigned timer_cfg : 2; unsigned unused1 : 22; } b; unsigned long w; } E_TIMERINTERRUPT 14) E_CONFIGFLAG | 0x0050 typedef union e_configflag { struct { unsigned configure_flag : 1; unsigned unused0 : 31; } b; unsigned long w; } E_CONFIGFLAG 15) E_PORTSC | 0x0054 typedef union e_portsc { struct { unsigned current_connect_status : 1; unsigned connect_status_change : 1; unsigned port_enabled_disabled : 1; unsigned port_enable_disable_change : 1; unsigned over_current_active : 1; unsigned over_current_change : 1; unsigned force_port_resume : 1; unsigned suspend : 1; unsigned port_reset : 1; unsigned unused0 : 1; unsigned line_status : 2; unsigned unused1 : 1; unsigned port_owner : 1; unsigned unused2 : 2; unsigned port_test_control : 4; unsigned wkcnnt_e : 1; unsigned wkdscnnt_e : 1; unsigned unused3 : 10; } b; unsigned long w; } E_PORTSC 16) O_HcRevision | 0x0400 typedef union o_hcrevision { struct { unsigned revision : 8; unsigned unused0 : 24; } b; unsigned long w; } O_HcRevision 17) O_HcControl | 0x0404 typedef union o_hccontrol { struct { unsigned control_bulk_service_ratio : 2; unsigned periodic_list_enable : 1; unsigned isochronous_enable : 1; unsigned control_list_enable : 1; unsigned bulk_list_enable : 1; unsigned host_contr_func_state : 2; unsigned interrupt_routing : 1; unsigned remote_wakeup_connected : 1; unsigned remote_wakeup_enable : 1; unsigned unused0 : 21; } b; unsigned long w; } O_HcControl 18) O_HcCommandStatus | 0x0408 typedef union o_hccommandstatus { struct { unsigned host_controller_reset : 1; unsigned control_list_filled : 1; unsigned bulk_list_filled : 1; unsigned owership_change_request : 1; unsigned unused0 : 12; unsigned scheduling_overrun_count : 2; unsigned reserv : 14; } b; unsigned long w; } O_HcCommandStatus 19) O_HcInterruptStatus | 0x040C typedef union o_hcinterruptstatus { struct { unsigned scheduling_overrun : 1; unsigned write_back_done_head : 1; unsigned start_of_frame : 1; unsigned resume_detected : 1; unsigned un_recoverable_error : 1; unsigned frame_number_overflow : 1; unsigned root_hub_status_change : 1; unsigned unused0 : 25; } b; unsigned long w; } O_HcInterruptStatus 20) O_HcInterruptEnable | 0x0410 typedef union o_hcinterruptenable { struct { unsigned scheduling_overrun : 1; unsigned write_back_done_head : 1; unsigned start_of_frame : 1; unsigned resume_detected : 1; unsigned unrecoverable_error : 1; unsigned frame_number_overflow : 1; unsigned root_hub_status_change : 1; unsigned unused0 : 24; unsigned master_interrupt_enable : 1; } b; unsigned long w; } O_HcInterruptEnable 21) O_HcInterruptDisable | 0x0414 typedef union o_hcinterruptdisable { struct { unsigned scheduling_overrun : 1; unsigned write_back_done_head : 1; unsigned start_of_frame : 1; unsigned resume_detected : 1; unsigned unrecoverable_error : 1; unsigned frame_number_overflow : 1; unsigned root_hub_status_change : 1; unsigned unused0 : 24; unsigned master_interrupt_enable : 1; } b; unsigned long w; } O_HcInterruptDisable 22) O_HcHCCA | 0x0418 typedef union o_hchcca { struct { unsigned hcca_7_0 : 8; unsigned cca_31_8 : 24; } b; unsigned long w; } O_HcHCCA 23) O_HcPeriodCurrentED | 0x041C typedef union o_hcperiodcurrented { struct { unsigned pced_3_0 : 4; unsigned pced_31_4 : 28; } b; unsigned long w; } O_HcPeriodCurrentED 24) O_HcControlHeadED | 0x0420 typedef union o_hccontrolheaded { struct { unsigned ehcd_3_0 : 4; unsigned hcd_31_4 : 28; } b; unsigned long w; } O_HcControlHeadED 25) O_HcControlCurrentED | 0x0424 typedef union o_hccontrolcurrented { struct { unsigned cced_3_0 : 4; unsigned cced_31_4 : 28; } b; unsigned long w; } O_HcControlCurrentED 26) O_HcBulkHeadED | 0x0428 typedef union o_hcbulkheaded { struct { unsigned bhed_3_0 : 4; unsigned bhed_31_4 : 28; } b; unsigned long w; } O_HcBulkHeadED 27) O_HcBulkCurrentED | 0x042C typedef union o_hcbulkcurrented { struct { unsigned bulk_current_ed_3_0 : 4; unsigned bulk_current_ed_31_4 : 28; } b; unsigned long w; } O_HcBulkCurrentED 28) O_HcDoneHead | 0x0430 typedef union o_hcdonehead { struct { unsigned hc_done_head_3_0 : 4; unsigned hc_done_head_31_4 : 28; } b; unsigned long w; } O_HcDoneHead 29) O_HcFmInterval | 0x0434 typedef union o_hcfminterval { struct { unsigned frame_interval : 14; unsigned unused0 : 2; unsigned fs_largest_data_packet : 15; unsigned frame_interval_toggler : 1; } b; unsigned long w; } O_HcFmInterval 30) O_HcFmRemaining | 0x0438 typedef union o_hcfmremaining { struct { unsigned frame_remaining : 14; unsigned unused0 : 17; unsigned frame_remaining_toggle : 1; } b; unsigned long w; } O_HcFmRemaining 31) O_HcFmNumber | 0x043C typedef union o_hcfmnumber { struct { unsigned frame_number : 16; unsigned unused0 : 16; } b; unsigned long w; } O_HcFmNumber 32) O_HcPeriodicStart | 0x0440 typedef union o_hcperiodicstart { struct { unsigned periodic_start : 14; unsigned unused0 : 18; } b; unsigned long w; } O_HcPeriodicStart 33) O_HcLSThreshold | 0x0444 typedef union o_hclsthreshold { struct { unsigned lst_hres_hold : 12; unsigned unused0 : 20; } b; unsigned long w; } O_HcLSThreshold 34) O_HcRhDescriptorA | 0x0448 typedef union o_hcrhdescriptora { struct { unsigned number_down_stream_ports : 8; unsigned no_power_switching : 1; unsigned power_switching_mode : 1; unsigned device_type : 1; unsigned over_current_protection_mode : 1; unsigned no_over_current_protection : 1; unsigned unused0 : 11; unsigned potpgt : 8; } b; unsigned long w; } O_HcRhDescriptorA 35) O_HcRhDescriptorB | 0x044C typedef union o_hcrhdescriptorb { struct { unsigned device_removable : 16; unsigned port_power_control_mask : 16; } b; unsigned long w; } O_HcRhDescriptorB 36) O_HcRhStatus | 0x0450 typedef union o_hcrhstatus { struct { unsigned local_power_status : 1; unsigned over_current_indicator : 1; unsigned unused0 : 13; unsigned device_remote_wakeup_enable : 1; unsigned local_power_startus_change : 1; unsigned over_current_indicator_chang : 1; unsigned unused1 : 13; unsigned clear_remote_wakeup_enable : 1; } b; unsigned long w; } O_HcRhStatus 37) O_HcRhPortStatus | 0x0454 typedef union o_hcrhportstatus { struct { unsigned current_connect_status : 1; unsigned port_enable_status : 1; unsigned port_suspend_status : 1; unsigned ort_over_current_indicator : 1; unsigned port_reset_status : 1; unsigned unused0 : 3; unsigned port_power_status : 1; unsigned low_speed_device_attached : 1; unsigned unused1 : 6; unsigned connect_status_change : 1; unsigned port_enable_status_change : 1; unsigned port_suspend_status_change : 1; unsigned port_over_current_indicator_change : 1; unsigned port_reset_status_change : 1; unsigned unused2 : 11; } b; unsigned long w; } O_HcRhPortStatus 38) USB_CTRL | 0x0800 typedef union usb_ctrl { struct { unsigned ulpi_bypass_enable : 1; unsigned unused0 : 1; unsigned rc16m_clk_enable : 1; unsigned unused1 : 5; unsigned incrx_align_ena : 1; unsigned incr4_ena : 1; unsigned incr8_ena : 1; unsigned incr16_ena : 1; unsigned pp2vbus : 1; unsigned unused2 : 5; unsigned resume_se0_trans : 1; unsigned unused3 : 1; unsigned ehci_hs_force : 1; unsigned unused4 : 3; unsigned simulation_mode : 1; unsigned ohci_count_select : 1; unsigned unused5 : 2; unsigned dma_transf_stat_ena : 1; unsigned unused6 : 3; } b; unsigned long w; } USB_CTRL 39) PHY_Control | 0x0810 typedef union phy_control { struct { unsigned vatestenb : 2; unsigned commononn : 1; unsigned siddq : 1; unsigned vbusvldextsel : 1; unsigned vbusvldext : 1; unsigned idpullup : 1; unsigned loopbackenb : 1; unsigned unused0 : 24; } b; unsigned long w; } PHY_Control 40) HSIC_PHY_tune1 | 0x081C typedef union hsic_phy_tune1 { struct { unsigned txsrtune : 4; unsigned txrpdtune : 2; unsigned txrputune : 2; unsigned unused0 : 25; } b; unsigned long w; } HSIC_PHY_tune1 41) HSIC_PHY_tune2 | 0x0820 typedef union hsic_phy_tune2 { struct { unsigned refclk_div : 4; unsigned siddq : 12; unsigned testdatain : 8; unsigned testaddr : 4; unsigned testclk : 1; unsigned testdataoutsel : 1; unsigned testburnin : 1; unsigned bist_en : 1; } b; unsigned long w; } HSIC_PHY_tune2 42) HSIC_PHY_tune3 | 0x0824 typedef union hsic_phy_tune3 { struct { unsigned non_hsic_mode_bist_done : 1; unsigned non_hsic_mode_bist_error : 1; unsigned hsic_testdata_out : 2; unsigned sic_bist_done : 1; unsigned hsic_bist_error : 1; unsigned unused0 : 26; } b; unsigned long w; } HSIC_PHY_tune3 43) USB_SPDCR | 0x0828 typedef union usb_spdcr { struct { unsigned port_disable_control : 2; unsigned unused0 : 2; unsigned resume_sel : 1; unsigned unused1 : 11; unsigned se0_status : 1; unsigned unused2 : 15; } b; unsigned long w; } USB_SPDCR |
![]() |