Commit df5f69cd authored by Robert Sprowson's avatar Robert Sprowson
Browse files

Modification to RISCOS_IICOpV

Now assumes an IICStatus return, per Kernel-5_35-4_79_2_196.
Built, but not tested.

Version 0.21. Tagged as 'OMAP4-0_21'
parent a627961a
/* (0.20) /* (0.21)
* *
* This file is automatically maintained by srccommit, do not edit manually. * This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1. * Last processed by srccommit version: 1.1.
* *
*/ */
#define Module_MajorVersion_CMHG 0.20 #define Module_MajorVersion_CMHG 0.21
#define Module_MinorVersion_CMHG #define Module_MinorVersion_CMHG
#define Module_Date_CMHG 02 Sep 2013 #define Module_Date_CMHG 28 Sep 2013
#define Module_MajorVersion "0.20" #define Module_MajorVersion "0.21"
#define Module_Version 20 #define Module_Version 21
#define Module_MinorVersion "" #define Module_MinorVersion ""
#define Module_Date "02 Sep 2013" #define Module_Date "28 Sep 2013"
#define Module_ApplicationDate "02-Sep-13" #define Module_ApplicationDate "28-Sep-13"
#define Module_ComponentName "OMAP4" #define Module_ComponentName "OMAP4"
#define Module_ComponentPath "castle/RiscOS/Sources/HAL/OMAP4" #define Module_ComponentPath "castle/RiscOS/Sources/HAL/OMAP4"
#define Module_FullVersion "0.20" #define Module_FullVersion "0.21"
#define Module_HelpVersion "0.20 (02 Sep 2013)" #define Module_HelpVersion "0.21 (28 Sep 2013)"
#define Module_LibraryVersionInfo "0:20" #define Module_LibraryVersionInfo "0:21"
...@@ -22,8 +22,6 @@ ...@@ -22,8 +22,6 @@
GET Hdr:OSEntries GET Hdr:OSEntries
GET Hdr:HALEntries GET Hdr:HALEntries
GET Hdr:FSNumbers
GET Hdr:NewErrors
GET hdr.omap4430 GET hdr.omap4430
GET hdr.StaticWS GET hdr.StaticWS
...@@ -806,20 +804,7 @@ HAL_VideoIICOp ...@@ -806,20 +804,7 @@ HAL_VideoIICOp
BEQ %FT10 BEQ %FT10
LDR a3, OSentries+4*OS_IICOpV LDR a3, OSentries+4*OS_IICOpV
BLX a3 BLX a3
; Unmap RISC OS error numbers to IICStatus return codes
ASSERT IICStatus_Completed = 0
TEQ a1, #0
LDRNE a1, [a1]
LDRNE lr, =ErrorNumber_IIC_NoAcknowledge
SUBNE a1, a1, lr ; 0/1/2 = NoAck/Error/Busy
USATNE a1, #2, a1 ; 4+ => 3 = Error
ADRNE lr, %FT05
LDRNEB a1, [lr, a1]
B %FT20 B %FT20
05
ASSERT (ErrorNumber_IIC_Error - ErrorNumber_IIC_NoAcknowledge) = 1
ASSERT (ErrorNumber_IIC_Busy - ErrorNumber_IIC_NoAcknowledge) = 2
DCB IICStatus_NoACK, IICStatus_Error, IICStatus_Busy, IICStatus_Error
10 10
BL IIC_DoOp_Poll BL IIC_DoOp_Poll
20 20
......
...@@ -30,8 +30,8 @@ ...@@ -30,8 +30,8 @@
; For the majority of uses, v1 simply needs to be initialised as follows: ; For the majority of uses, v1 simply needs to be initialised as follows:
; LDR v1, OSentries+4*OS_IICOpV ; LDR v1, OSentries+4*OS_IICOpV
; i.e. the IIC transfer will be performed on IIC bus 0, via RISCOS_IICOpV. This means that 0 ; i.e. the IIC transfer will be performed on IIC bus 0, via RISCOS_IICOpV,
; will be returned on success, or an OS error block pointer on failure! ; returning an IICStatus.
; When using OS_IICOpV, v2 can be left uninitialised. ; When using OS_IICOpV, v2 can be left uninitialised.
TPSRead TPSRead
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment