diff --git a/src/hulk/usb/xhci.d b/src/hulk/usb/xhci.d index f012b89..c6c1eb2 100644 --- a/src/hulk/usb/xhci.d +++ b/src/hulk/usb/xhci.d @@ -353,14 +353,19 @@ struct XHCI m_runtime_registers = cast(RuntimeRegisters *)(base_address + m_capability_registers.rts_offset); m_doorbell_registers = cast(DoorbellRegister *)(base_address + m_capability_registers.doorbell_offset); dump_extended_capabilities(); - if (reset()) - { - Klog.writefln("XHCI controller initialization successful"); - } - else + if (!reset()) { Klog.writefln("XHCI controller failed to initialize"); + return; } + /* TODO: write dcbaap. */ + /* TODO: write cr_ctrl. */ + /+ TODO: + m_operational_registers.config = volatileLoad(&m_capability_registers.hcs_params1) & 0xFu; + m_operational_registers.dn_ctrl = 1u << 1u; + +/ + /* TODO: set up interrupt register set. */ + Klog.writefln("XHCI controller initialization successful"); } private void dump_extended_capabilities()