From e9ae1200a88790986e492bafa620d76d208d1d5c Mon Sep 17 00:00:00 2001
From: Robert Sprowson <rsprowson@gitlab.riscosopen.org>
Date: Sat, 25 Oct 2014 17:35:39 +0000
Subject: [PATCH] Don't bother providing even dummy implementations of USB port
 and overcurrent functions

As the flag bit in HAL_USBControllerInfo isn't set, no need to provide them.
Use symbols from Hdr:HALEntries when building the USB info.
No need for AASMFLAGS in the makefile.
Built, but not tested.

Version 0.98. Tagged as 'OMAP3-0_98'
---
 Makefile     |  4 +---
 VersionNum   | 20 ++++++++++----------
 hdr/StaticWS |  2 +-
 hdr/USB      | 13 -------------
 s/Boot       | 11 ++++-------
 s/USB        | 41 +++++++++++++++--------------------------
 6 files changed, 31 insertions(+), 60 deletions(-)

diff --git a/Makefile b/Makefile
index 2fcdbf4..118cbe5 100644
--- a/Makefile
+++ b/Makefile
@@ -26,15 +26,13 @@ CUSTOMRES = custom
 CUSTOMROM = custom
 ROM_TARGET = custom
 LNK_TARGET = custom
-AIFDBG    = aif._OMAP3
+AIFDBG    = aif._${TARGET}
 GPADBG    = gpa.GPA
 
-include StdTools
 include CModule
 
 CCFLAGS += -ff -APCS 3/32bit/nofp/noswst
 ASFLAGS += -APCS 3/nofp/noswst
-AASMFLAGS += -APCS 3/nofp/noswst
 ROM_LIBS += ${USBDIR}.o.MUSBDriver ${USBDIR}.o.EHCIDriver ${USBDIR}.o.USBDriver
 
 resources:
diff --git a/VersionNum b/VersionNum
index 1b361f9..6d362e9 100644
--- a/VersionNum
+++ b/VersionNum
@@ -1,23 +1,23 @@
-/* (0.97)
+/* (0.98)
  *
  * This file is automatically maintained by srccommit, do not edit manually.
  * Last processed by srccommit version: 1.1.
  *
  */
-#define Module_MajorVersion_CMHG        0.97
+#define Module_MajorVersion_CMHG        0.98
 #define Module_MinorVersion_CMHG        
-#define Module_Date_CMHG                20 Jul 2014
+#define Module_Date_CMHG                25 Oct 2014
 
-#define Module_MajorVersion             "0.97"
-#define Module_Version                  97
+#define Module_MajorVersion             "0.98"
+#define Module_Version                  98
 #define Module_MinorVersion             ""
-#define Module_Date                     "20 Jul 2014"
+#define Module_Date                     "25 Oct 2014"
 
-#define Module_ApplicationDate          "20-Jul-14"
+#define Module_ApplicationDate          "25-Oct-14"
 
 #define Module_ComponentName            "OMAP3"
 #define Module_ComponentPath            "castle/RiscOS/Sources/HAL/OMAP3"
 
-#define Module_FullVersion              "0.97"
-#define Module_HelpVersion              "0.97 (20 Jul 2014)"
-#define Module_LibraryVersionInfo       "0:97"
+#define Module_FullVersion              "0.98"
+#define Module_HelpVersion              "0.98 (25 Oct 2014)"
+#define Module_LibraryVersionInfo       "0:98"
diff --git a/hdr/StaticWS b/hdr/StaticWS
index 12e1a64..154d28d 100644
--- a/hdr/StaticWS
+++ b/hdr/StaticWS
@@ -20,7 +20,7 @@
         GET     hdr.board
         GET     hdr.NIC
         GET     hdr.CPUClk
-        GET     <Lib$Dir>.USB.hdr.usbhal
+        GET     <Lib$$Dir>.USB.hdr.usbhal
         GET     Hdr:GPIODevice
         GET     Hdr:SDHCIDevice
         GET     Hdr:BMUDevice
diff --git a/hdr/USB b/hdr/USB
index c3bb874..95c1a8c 100644
--- a/hdr/USB
+++ b/hdr/USB
@@ -13,19 +13,6 @@
 ; limitations under the License.
 ;
 
-; usbinfo struct
-                   ^ 0
-USBINFO_TYPE       # 4 ; 0=OHCI, 1=EHCI, 2=MUSBMHDRC
-USBINFO_FLAGS      # 4 ; See below
-USBINFO_HW         # 4 ; EHCI/OHCI base addr
-USBINFO_DEVNO      # 4 ; IRQ number
-USBINFO_SIZEOF     # 0 ; Size of struct
-
-USBINFO_FLAG_HAL_USBPortPower   * 1 ; Use HAL_USBPortPower
-USBINFO_FLAG_HAL_USBPortStatus  * 2 ; Use HAL_USBPortStatus
-USBINFO_FLAG_HAL_USBPortIRQ     * 4 ; Use HAL_USBPortIRQ
-USBINFO_FLAG_32bit_Regs         * 8 ; Must use 32bit access for all registers
-
 ; USBTLL registers - relative to L4_USBTLL
 
 USBTLL_REVISION          *    &00
diff --git a/s/Boot b/s/Boot
index 7987817..1054455 100644
--- a/s/Boot
+++ b/s/Boot
@@ -267,9 +267,6 @@ HALdescriptor   DATA
         IMPORT   HAL_KbdScanInterrupt
 
         IMPORT   HAL_USBControllerInfo
-        IMPORT   HAL_USBPortPower
-        IMPORT   HAL_USBPortStatus
-        IMPORT   HAL_USBPortIRQ
 
 HAL_EntryTable  DATA
         HALEntry HAL_Init
@@ -401,11 +398,11 @@ HAL_EntryTable  DATA
 
         HALEntry HAL_IRQMax
 
-        NullEntry ;HALEntry HAL_VideoRender
+        NullEntry ; HAL_VideoRender
 
-        HALEntry HAL_USBPortPower
-        HALEntry HAL_USBPortStatus
-        HALEntry HAL_USBPortIRQ
+        NullEntry ; HAL_USBPortPower
+        NullEntry ; HAL_USBPortStatus
+        NullEntry ; HAL_USBPortDevice
 
         HALEntry HAL_VideoIICOp
 
diff --git a/s/USB b/s/USB
index f5783bf..91173d1 100644
--- a/s/USB
+++ b/s/USB
@@ -35,9 +35,6 @@
         EXPORT  USB_Init
 
         EXPORT  HAL_USBControllerInfo
-        EXPORT  HAL_USBPortPower
-        EXPORT  HAL_USBPortStatus
-        EXPORT  HAL_USBPortIRQ
 
         IMPORT  HAL_CounterDelay
         IMPORT  DebugHALPrintReg
@@ -169,39 +166,31 @@ HAL_USBControllerInfo
         MOVHI   pc, lr
         BEQ     %FT10
         ; Fill in the usbinfo struct
-        MOV     a1, #1 ; EHCI
-        STR     a1, [a2, #USBINFO_TYPE]
-        CMP     a3, #USBINFO_SIZEOF
-        MOV     a1, #USBINFO_SIZEOF
+        MOV     a1, #HALUSBControllerType_EHCI
+        STR     a1, [a2, #HALUSBControllerInfo_Type]
+        CMP     a3, #HALUSBControllerInfo_SizeOf
+        MOV     a1, #HALUSBControllerInfo_SizeOf
         MOVLO   pc, lr
-        MOV     a4, #USBINFO_FLAG_32bit_Regs ; EHCI did seem to work OK without forcing 32bit register access, but it is technically needed so I'll leave it set.
-        STR     a4, [a2, #USBINFO_FLAGS]
+        MOV     a4, #HALUSBControllerFlag_32bit_Regs ; EHCI did seem to work OK without forcing 32bit register access, but it is technically needed so I'll leave it set.
+        STR     a4, [a2, #HALUSBControllerInfo_Flags]
         LDR     a4, L4_USB_Host_Log
         ADD     a4, a4, #EHCI_BASE
-        STR     a4, [a2, #USBINFO_HW]
+        STR     a4, [a2, #HALUSBControllerInfo_HW]
         MOV     a4, #EHCI_IRQ
-        STR     a4, [a2, #USBINFO_DEVNO]
+        STR     a4, [a2, #HALUSBControllerInfo_DevNo]
         MOV     pc, lr
 10
-        MOV     a1, #2 ; MUSBMHDRC
-        STR     a1, [a2, #USBINFO_TYPE]
-        CMP     a3, #USBINFO_SIZEOF
-        MOV     a1, #USBINFO_SIZEOF
+        MOV     a1, #HALUSBControllerType_MUSBMHDRC
+        STR     a1, [a2, #HALUSBControllerInfo_Type]
+        CMP     a3, #HALUSBControllerInfo_SizeOf
+        MOV     a1, #HALUSBControllerInfo_SizeOf
         MOVLO   pc, lr
         MOV     a4, #0
-        STR     a4, [a2, #USBINFO_FLAGS]
+        STR     a4, [a2, #HALUSBControllerInfo_Flags]
         LDR     a4, L4_USB_OTG_Log
-        STR     a4, [a2, #USBINFO_HW]
+        STR     a4, [a2, #HALUSBControllerInfo_HW]
         MOV     a4, #MUSB_IRQ
-        STR     a4, [a2, #USBINFO_DEVNO]
-        MOV     pc, lr
-
-
-        ; These are unused for EHCI/MUSB
-HAL_USBPortPower
-HAL_USBPortStatus
-HAL_USBPortIRQ
-        MOV     a1, #-1
+        STR     a4, [a2, #HALUSBControllerInfo_DevNo]
         MOV     pc, lr
 
         END
-- 
GitLab