Commit 8a75792e authored by Robert Sprowson's avatar Robert Sprowson
Browse files

Probe earlier, declare device later

Reflects changes in OMAP3-0_88.

Version 0.18. Tagged as 'OMAP4-0_18'
parent 28fc9a0a
/* (0.17)
/* (0.18)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 0.17
#define Module_MajorVersion_CMHG 0.18
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 15 Aug 2013
#define Module_Date_CMHG 17 Aug 2013
#define Module_MajorVersion "0.17"
#define Module_Version 17
#define Module_MajorVersion "0.18"
#define Module_Version 18
#define Module_MinorVersion ""
#define Module_Date "15 Aug 2013"
#define Module_Date "17 Aug 2013"
#define Module_ApplicationDate "15-Aug-13"
#define Module_ApplicationDate "17-Aug-13"
#define Module_ComponentName "OMAP4"
#define Module_ComponentPath "castle/RiscOS/Sources/HAL/OMAP4"
#define Module_FullVersion "0.17"
#define Module_HelpVersion "0.17 (15 Aug 2013)"
#define Module_LibraryVersionInfo "0:17"
#define Module_FullVersion "0.18"
#define Module_HelpVersion "0.18 (17 Aug 2013)"
#define Module_LibraryVersionInfo "0:18"
......@@ -163,7 +163,7 @@ HALdescriptor DATA
DCD HAL_Null - HAL_EntryTable
MEND
IMPORT Video_init
IMPORT Video_Init
IMPORT Interrupt_Init
IMPORT Timer_Init
IMPORT PRCM_SetClocks
......@@ -178,6 +178,7 @@ HALdescriptor DATA
IMPORT GPIO_InitDevice
IMPORT SDIO_InitDevices
IMPORT NVMemory_Init
IMPORT NVMemory_InitDevice
EXPORT Board_InitDevices_None
EXPORT Board_InitDevices_Panda
......@@ -580,15 +581,20 @@ HAL_Init
BL GPIO_Init
[ MoreDebug
DebugTX "Video_init"
DebugTX "Video_Init"
] ; MoreDebug
BL Video_init
BL Video_Init
[ MoreDebug
DebugTX "USB_Init"
] ; MoreDebug
BL USB_Init
[ MoreDebug
DebugTX "NVMemory_Init"
] ; MoreDebug
BL NVMemory_Init
[ MoreDebug
DebugTX "Timer_Init"
] ; MoreDebug
......@@ -723,7 +729,7 @@ HAL_InitDevices
Entry "v1-v3"
DebugTime a1, "HAL_InitDevices @ "
; Common HAL devices
BL NVMemory_Init
BL NVMemory_InitDevice
BL RTC_Init
BL SDMA_Init
BL VideoDevice_Init
......
......@@ -25,6 +25,7 @@
AREA |Asm$$Code|, CODE, READONLY, PIC
EXPORT NVMemory_Init
EXPORT NVMemory_InitDevice
EXPORT HAL_NVMemoryType
EXPORT HAL_NVMemorySize
EXPORT HAL_NVMemoryPageSize
......@@ -264,7 +265,7 @@ NVMemory_Init
30
]
STR v3, NVMemoryFound
[ TryLoadedCMOS
[ TryLoadedCMOS
TEQ v3, #0
BNE %FT50
......@@ -301,12 +302,7 @@ NVMemory_Init
SUBS v1, v1, #1
BNE %BT45
50
]
; If some was found, create a placeholder HAL device
LDR a1, NVMemoryFound
TEQ a1, #0
BLNE NVMemory_AddDevice
]
Pull "v1-v3, pc"
NVMemory_Barrel16
......@@ -332,13 +328,16 @@ NVMemory_Barrel16
Pull "v1-v2, pc"
NVMemory_AddDevice
; void NVMemory_AddDevice(uint32_t bytesize)
Push "a1, lr"
NVMemory_InitDevice
; void NVMemory_InitDevice(void)
LDR a3, NVMemoryFound
TEQ a3, #0
MOVEQ pc, lr
Push "a3, lr"
; Copy over template
ADRL a1, NVRAMWS
ADR a2, NVMemory_AddDevice_Template
ADR a2, NVMemory_Device_Template
MOV a3, #HALDeviceSize
BL memcpy
......@@ -348,12 +347,12 @@ NVMemory_AddDevice
CLZ a1, a3
RSB a1, a1, #31 - 8
ADR a4, NVMemory_AddDevice_IDs
ADR a4, NVMemory_Device_IDs
MOV a3, a1, LSL #1
LDRH a3, [a4, a3]
STRH a3, [a2, #HALDevice_ID]
ADR a4, NVMemory_AddDevice_Descs
ADR a4, NVMemory_Device_Descs
MOV a3, #1 + :LEN:"24Cxx EEPROM"
MLA a3, a3, a1, a4
STR a3, [a2, #HALDevice_Description]
......@@ -362,7 +361,7 @@ NVMemory_AddDevice
MOV a1, #0
LDR pc, OSentries + 4*OS_AddDevice
NVMemory_AddDevice_Template
NVMemory_Device_Template
DCW HALDeviceType_SysPeri + HALDeviceSysPeri_NVRAM
DCW &1234 ; ID filled at runtime
DCD HALDeviceBus_Ser + HALDeviceSerBus_IIC
......@@ -370,29 +369,29 @@ NVMemory_AddDevice_Template
DCD &12345678 ; Description filled at runtime
DCD 0 ; Address - N/A
% 12 ; Reserved
DCD NVMemory_AddDevice_Activate
DCD NVMemory_AddDevice_Deactivate
DCD NVMemory_AddDevice_Reset
DCD NVMemory_AddDevice_Sleep
DCD NVMemory_Device_Activate
DCD NVMemory_Device_Deactivate
DCD NVMemory_Device_Reset
DCD NVMemory_Device_Sleep
DCD -1
DCD 0
% 8
ASSERT (. - NVMemory_AddDevice_Template) = HALDeviceSize
ASSERT (. - NVMemory_Device_Template) = HALDeviceSize
NVMemory_AddDevice_Activate
NVMemory_Device_Activate
MOV a1, #1
MOV pc, lr
NVMemory_AddDevice_Sleep
NVMemory_Device_Sleep
MOV a1, #0
NVMemory_AddDevice_Deactivate
NVMemory_AddDevice_Reset
NVMemory_Device_Deactivate
NVMemory_Device_Reset
MOV pc, lr
NVMemory_AddDevice_IDs
NVMemory_Device_IDs
DCW HALDeviceID_NVRAM_24C02
DCW HALDeviceID_NVRAM_24C04
DCW HALDeviceID_NVRAM_24C08
DCW HALDeviceID_NVRAM_24C16
NVMemory_AddDevice_Descs
NVMemory_Device_Descs
DCB "24C02 EEPROM", 0
DCB "24C04 EEPROM", 0
DCB "24C08 EEPROM", 0
......
......@@ -33,7 +33,6 @@
AREA |Asm$$Code|, CODE, READONLY, PIC
EXPORT Video_init
EXPORT HAL_VideoFlybackDevice
EXPORT HAL_VideoSetMode
EXPORT HAL_VideoWritePaletteEntry
......@@ -50,6 +49,7 @@
EXPORT HAL_VideoBufferAlignment
EXPORT HAL_VideoOutputFormat
EXPORT Video_Init
EXPORT VideoDevice_Init
EXPORT Video_Power_VBC_DVI
......@@ -111,7 +111,7 @@
; -------------------------------------------------------------------------
Video_init
Video_Init
Push "lr"
; Configure GPIO pins so we can turn the DVI framer on/off
......
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