From 196bd5c62d6e7b8b8ae3b31c86f43716d59f2f94 Mon Sep 17 00:00:00 2001
From: Robert Sprowson <rsprowson@gitlab.riscosopen.org>
Date: Sat, 25 Oct 2014 17:26:30 +0000
Subject: [PATCH] Add the DWC (type 3) USB controller structure definitions

Add an extra entry for a revised power control/overcurrent monitoring API, more closely following the model that HAL_TimerIRQStatus and HAL_TimerIRQClear uses.

Version 5.35, 4.79.2.243. Tagged as 'Kernel-5_35-4_79_2_243'
---
 VersionASM     | 10 +++++-----
 VersionNum     | 14 +++++++-------
 hdr/HALEntries | 21 ++++++++++++++-------
 3 files changed, 26 insertions(+), 19 deletions(-)

diff --git a/VersionASM b/VersionASM
index 32d0534..d51f38a 100644
--- a/VersionASM
+++ b/VersionASM
@@ -13,11 +13,11 @@
                         GBLS    Module_ComponentPath
 Module_MajorVersion     SETS    "5.35"
 Module_Version          SETA    535
-Module_MinorVersion     SETS    "4.79.2.242"
-Module_Date             SETS    "22 Oct 2014"
-Module_ApplicationDate  SETS    "22-Oct-14"
+Module_MinorVersion     SETS    "4.79.2.243"
+Module_Date             SETS    "25 Oct 2014"
+Module_ApplicationDate  SETS    "25-Oct-14"
 Module_ComponentName    SETS    "Kernel"
 Module_ComponentPath    SETS    "castle/RiscOS/Sources/Kernel"
-Module_FullVersion      SETS    "5.35 (4.79.2.242)"
-Module_HelpVersion      SETS    "5.35 (22 Oct 2014) 4.79.2.242"
+Module_FullVersion      SETS    "5.35 (4.79.2.243)"
+Module_HelpVersion      SETS    "5.35 (25 Oct 2014) 4.79.2.243"
                         END
diff --git a/VersionNum b/VersionNum
index b4505e4..63b6092 100644
--- a/VersionNum
+++ b/VersionNum
@@ -5,19 +5,19 @@
  *
  */
 #define Module_MajorVersion_CMHG        5.35
-#define Module_MinorVersion_CMHG        4.79.2.242
-#define Module_Date_CMHG                22 Oct 2014
+#define Module_MinorVersion_CMHG        4.79.2.243
+#define Module_Date_CMHG                25 Oct 2014
 
 #define Module_MajorVersion             "5.35"
 #define Module_Version                  535
-#define Module_MinorVersion             "4.79.2.242"
-#define Module_Date                     "22 Oct 2014"
+#define Module_MinorVersion             "4.79.2.243"
+#define Module_Date                     "25 Oct 2014"
 
-#define Module_ApplicationDate          "22-Oct-14"
+#define Module_ApplicationDate          "25-Oct-14"
 
 #define Module_ComponentName            "Kernel"
 #define Module_ComponentPath            "castle/RiscOS/Sources/Kernel"
 
-#define Module_FullVersion              "5.35 (4.79.2.242)"
-#define Module_HelpVersion              "5.35 (22 Oct 2014) 4.79.2.242"
+#define Module_FullVersion              "5.35 (4.79.2.243)"
+#define Module_HelpVersion              "5.35 (25 Oct 2014) 4.79.2.243"
 #define Module_LibraryVersionInfo       "5:35"
diff --git a/hdr/HALEntries b/hdr/HALEntries
index 8516b7d..3d49977 100644
--- a/hdr/HALEntries
+++ b/hdr/HALEntries
@@ -160,8 +160,8 @@ EntryNo_HAL_IRQMax              #       1 ; 107 (was HAL_MonitorLeadID)
 EntryNo_HAL_VideoRender         #       1 ; 108
 
 EntryNo_HAL_USBPortPower        #       1 ; 109
-EntryNo_HAL_USBPortStatus       #       1 ; 110
-EntryNo_HAL_USBPortIRQ          #       1 ; 111
+EntryNo_HAL_USBPortIRQStatus    #       1 ; 110
+EntryNo_HAL_USBPortIRQClear     #       1 ; 111
 
 EntryNo_HAL_VideoIICOp          #       1 ; 112
 
@@ -177,6 +177,8 @@ EntryNo_HAL_UARTDefault         #       1 ; 117
 EntryNo_HAL_VideoStartupMode    #       1 ; 118
 EntryNo_HAL_VideoPixelFormatList #      1 ; 119
 
+EntryNo_HAL_USBPortDevice       #       1 ; 120
+
 KnownHALEntries                 #       0 ; Used inside Kernel
 
 ; Various flags and constants
@@ -247,16 +249,21 @@ HALUSBControllerInfo_Flags       # 4 ; As below
 HALUSBControllerInfo_HW          # 4 ; Hardware base address
 HALUSBControllerInfo_DevNo       # 4 ; IRQ device number
 HALUSBControllerInfo_SizeOf      # 0 ; Size of base structure
+                                 ^ HALUSBControllerInfo_SizeOf
+HALUSBControllerInfo_DMAOffset   # 4 ; Offset from ARM physical -> DMA addresses
+HALUSBControllerInfo_HW_MPHI     # 4 ; Message based Parallel Host Interface base address
+HALUSBControllerInfo_DevNo_MPHI  # 4 ; IRQ device number
+HALUSBControllerInfo_SizeOfType3 # 0 ; Size of extended structure for Synopsys DWC
 
 HALUSBControllerType_OHCI        * 0
 HALUSBControllerType_EHCI        * 1
 HALUSBControllerType_MUSBMHDRC   * 2
 HALUSBControllerType_SynopsysDWC * 3
+HALUSBControllerType_XHCI        * 4
 
-HALUSBControllerFlag_HAL_USBPortPower  * 1 ; Use HAL_USBPortPower
-HALUSBControllerFlag_HAL_USBPortStatus * 2 ; Use HAL_USBPortStatus
-HALUSBControllerFlag_HAL_USBPortIRQ    * 4 ; Use HAL_USBPortIRQ
-HALUSBControllerFlag_32bit_Regs        * 8 ; Must use 32bit access for all registers
-HALUSBControllerFlag_EHCI_ETTF         * &80000000 ; EHCI controller has embedded TT
+HALUSBControllerFlag_HAL_Port_Power   * 1 ; Use HAL_USBPortPower
+HALUSBControllerFlag_HAL_Over_Current * 2 ; Use HAL_USBPortDevice/IRQStatus/IRQClear
+HALUSBControllerFlag_32bit_Regs       * 8 ; Must use 32bit access for all registers
+HALUSBControllerFlag_EHCI_ETTF        * &80000000 ; EHCI controller has embedded TT
 
         END
-- 
GitLab