diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-06-24 14:33:40 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-06-24 14:34:18 +0200 |
| commit | 9784f940cf71aef91ccbeb1a11651a83a3eff213 (patch) | |
| tree | bf0294e5ad8161372aaa27cacbfba4eb3e81eda0 /Kernel/Modules/XHCI | |
| parent | 7738550a55d6fa79447d0298c53fe6320a3135b2 (diff) | |
IMP: UIAccessibilty class, work in progress Core CoreGraphics (GPU/FB
SDK).
REFACTOR: Moved Builtins to Modules/
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Kernel/Modules/XHCI')
| -rw-r--r-- | Kernel/Modules/XHCI/.gitkeep | 0 | ||||
| -rw-r--r-- | Kernel/Modules/XHCI/Defines.hxx | 70 | ||||
| -rw-r--r-- | Kernel/Modules/XHCI/compile_flags.txt | 4 |
3 files changed, 74 insertions, 0 deletions
diff --git a/Kernel/Modules/XHCI/.gitkeep b/Kernel/Modules/XHCI/.gitkeep new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/Kernel/Modules/XHCI/.gitkeep diff --git a/Kernel/Modules/XHCI/Defines.hxx b/Kernel/Modules/XHCI/Defines.hxx new file mode 100644 index 00000000..91147a58 --- /dev/null +++ b/Kernel/Modules/XHCI/Defines.hxx @@ -0,0 +1,70 @@ +/* ------------------------------------------- + + Copyright Zeta Electronics Corporation + + File: Defines.hxx + Purpose: XHCI (and backwards) header. + + Revision History: + + 01/02/24: Added file (amlel) + 03/02/24: Update filename to Defines.hxx (amlel) + +------------------------------------------- */ + +#pragma once + +#include <NewKit/Defines.hpp> + +using namespace NewOS; + +#define kUSBCommand (UInt16)0x0 +#define kUSBStatus (UInt16)0x2 +#define kUSBInterruptEnable (UInt16)0x4 +#define kUSBFrameNum (UInt16)0x6 +#define kUSBFrameListBaseAddress (UInt16)0x8 +#define kUSBFrameModifyStart (UInt16)0xC +#define kUSBPort1StatusCtrl (UInt16)0x10 +#define kUSBPort2StatusCtrl (UInt16)0x12 + +typedef struct USBCommandRegister final +{ + UInt8 mReserved[8]; // Reserved + UInt8 + mMaxPacket; // 0 = Max packet size 32 bits 1 = Max packet size 64 bits + UInt8 mConfigure; + UInt8 mSoftwareDebug; + UInt8 mGlobalResume; + UInt8 mGlobalSuspend; + UInt8 mHostCtrlReset; + UInt8 mRun; // 1 = Controller execute frame list entries +} USBCommandRegister; + +typedef struct USBStatusRegister final +{ + UInt8 mReserved[8]; // Reserved + UInt8 mHalted; // 1 = bit 0 in CMD is zero 0 = bit 0 in CMD is 1 + UInt8 mProcessError; + UInt8 mSystemError; + UInt8 mResumeDetected; + UInt8 mErrorInterrupt; + UInt8 mInterrupt; +} USBStatusRegister; + +typedef struct USBInterruptEnableRegister final +{ + UInt8 mReserved[4]; // Reserved + UInt8 mShortPacket; // 1=Enable interrupt 0=Disable interrupt + UInt8 mComplete; // 1=Enable interrupt 0=Disable interrupt + UInt8 mResume; // 1=Enable interrupt 0=Disable interrupt + UInt8 mTimeoutCRC; // 1=Enable interrupt 0=Disable interrupt +} USBInterruptEnableRegister; + +/* + Some terminology: + + Frame Number: Number of processed entry of the Frame List. + Frame List Base Address: + 32-bit physical adress of Frame List. Remember that first 12 bytes are + always 0. The Frame List must contain 1024 entries. +*/ diff --git a/Kernel/Modules/XHCI/compile_flags.txt b/Kernel/Modules/XHCI/compile_flags.txt new file mode 100644 index 00000000..1bc51142 --- /dev/null +++ b/Kernel/Modules/XHCI/compile_flags.txt @@ -0,0 +1,4 @@ +-I./ +-I../ +-I../../ +-std=c++20 |
