#[repr(C)]pub struct RegisterBlock {Show 23 fields
pub hcrevision: Reg<HCREVISION_SPEC>,
pub hccontrol: Reg<HCCONTROL_SPEC>,
pub hccommandstatus: Reg<HCCOMMANDSTATUS_SPEC>,
pub hcinterruptstatus: Reg<HCINTERRUPTSTATUS_SPEC>,
pub hcinterruptenable: Reg<HCINTERRUPTENABLE_SPEC>,
pub hcinterruptdisable: Reg<HCINTERRUPTDISABLE_SPEC>,
pub hchcca: Reg<HCHCCA_SPEC>,
pub hcperiodcurrented: Reg<HCPERIODCURRENTED_SPEC>,
pub hccontrolheaded: Reg<HCCONTROLHEADED_SPEC>,
pub hccontrolcurrented: Reg<HCCONTROLCURRENTED_SPEC>,
pub hcbulkheaded: Reg<HCBULKHEADED_SPEC>,
pub hcbulkcurrented: Reg<HCBULKCURRENTED_SPEC>,
pub hcdonehead: Reg<HCDONEHEAD_SPEC>,
pub hcfminterval: Reg<HCFMINTERVAL_SPEC>,
pub hcfmremaining: Reg<HCFMREMAINING_SPEC>,
pub hcfmnumber: Reg<HCFMNUMBER_SPEC>,
pub hcperiodicstart: Reg<HCPERIODICSTART_SPEC>,
pub hclsthreshold: Reg<HCLSTHRESHOLD_SPEC>,
pub hcrhdescriptora: Reg<HCRHDESCRIPTORA_SPEC>,
pub hcrhdescriptorb: Reg<HCRHDESCRIPTORB_SPEC>,
pub hcrhstatus: Reg<HCRHSTATUS_SPEC>,
pub hcrhportstatus: Reg<HCRHPORTSTATUS_SPEC>,
pub portmode: Reg<PORTMODE_SPEC>,
/* private fields */
}Expand description
Register block
Fields§
§hcrevision: Reg<HCREVISION_SPEC>0x00 - BCD representation of the version of the HCI specification that is implemented by the Host Controller (HC)
hccontrol: Reg<HCCONTROL_SPEC>0x04 - Defines the operating modes of the HC
hccommandstatus: Reg<HCCOMMANDSTATUS_SPEC>0x08 - This register is used to receive the commands from the Host Controller Driver (HCD)
hcinterruptstatus: Reg<HCINTERRUPTSTATUS_SPEC>0x0c - Indicates the status on various events that cause hardware interrupts by setting the appropriate bits
hcinterruptenable: Reg<HCINTERRUPTENABLE_SPEC>0x10 - Controls the bits in the HcInterruptStatus register and indicates which events will generate a hardware interrupt
hcinterruptdisable: Reg<HCINTERRUPTDISABLE_SPEC>0x14 - The bits in this register are used to disable corresponding bits in the HCInterruptStatus register and in turn disable that event leading to hardware interrupt
hchcca: Reg<HCHCCA_SPEC>0x18 - Contains the physical address of the host controller communication area
hcperiodcurrented: Reg<HCPERIODCURRENTED_SPEC>0x1c - Contains the physical address of the current isochronous or interrupt endpoint descriptor
hccontrolheaded: Reg<HCCONTROLHEADED_SPEC>0x20 - Contains the physical address of the first endpoint descriptor of the control list
hccontrolcurrented: Reg<HCCONTROLCURRENTED_SPEC>0x24 - Contains the physical address of the current endpoint descriptor of the control list
hcbulkheaded: Reg<HCBULKHEADED_SPEC>0x28 - Contains the physical address of the first endpoint descriptor of the bulk list
hcbulkcurrented: Reg<HCBULKCURRENTED_SPEC>0x2c - Contains the physical address of the current endpoint descriptor of the bulk list
hcdonehead: Reg<HCDONEHEAD_SPEC>0x30 - Contains the physical address of the last transfer descriptor added to the ‘Done’ queue
hcfminterval: Reg<HCFMINTERVAL_SPEC>0x34 - Defines the bit time interval in a frame and the full speed maximum packet size which would not cause an overrun
hcfmremaining: Reg<HCFMREMAINING_SPEC>0x38 - A 14-bit counter showing the bit time remaining in the current frame
hcfmnumber: Reg<HCFMNUMBER_SPEC>0x3c - Contains a 16-bit counter and provides the timing reference among events happening in the HC and the HCD
hcperiodicstart: Reg<HCPERIODICSTART_SPEC>0x40 - Contains a programmable 14-bit value which determines the earliest time HC should start processing a periodic list
hclsthreshold: Reg<HCLSTHRESHOLD_SPEC>0x44 - Contains 11-bit value which is used by the HC to determine whether to commit to transfer a maximum of 8-byte LS packet before EOF
hcrhdescriptora: Reg<HCRHDESCRIPTORA_SPEC>0x48 - First of the two registers which describes the characteristics of the root hub
hcrhdescriptorb: Reg<HCRHDESCRIPTORB_SPEC>0x4c - Second of the two registers which describes the characteristics of the Root Hub
hcrhstatus: Reg<HCRHSTATUS_SPEC>0x50 - This register is divided into two parts
hcrhportstatus: Reg<HCRHPORTSTATUS_SPEC>0x54 - Controls and reports the port events on a per-port basis
portmode: Reg<PORTMODE_SPEC>0x5c - Controls the port if it is attached to the host block or the device block