Commit 736b815d authored by Jeffrey Lee's avatar Jeffrey Lee
Browse files

Add ClearIRQ entry to base HAL device struct, plus a couple of new HAL device IDs & bus types

Detail:
  hdr/HALDevice, h/HALDevice - inserted the new 'ClearIRQ' entry point into one of the reserved areas.
  Once the RISC OS-side driver has serviced the device's IRQ the ClearIRQ entry point should be called to allow the HAL device to clear any latched interrupt states in intermediate IRQ controllers (e.g. when using GPIO IRQs on OMAP)
  Since this entry point is new, support for it in existing device drivers isn't guaranteed; HAL device implementations of existing APIs must make sure the use a new major version number to indicate that they require ClearIRQ to be called.
  hdr/HALDevice - added some new bus types to represent the GPMC & L3/L4 interconnects in the OMAP.
  hdr/HALDevice - added ethernet NIC device type & IDs for SMSC9221 & DM9000 NICs
Admin:
  Tested on rev C2 beagleboard


Version 5.35, 4.79.2.98.2.25. Tagged as 'Kernel-5_35-4_79_2_98_2_25'
parent b213fdd5
......@@ -13,11 +13,11 @@
GBLS Module_ComponentPath
Module_MajorVersion SETS "5.35"
Module_Version SETA 535
Module_MinorVersion SETS "4.79.2.98.2.24"
Module_Date SETS "28 Feb 2010"
Module_ApplicationDate SETS "28-Feb-10"
Module_MinorVersion SETS "4.79.2.98.2.25"
Module_Date SETS "20 Mar 2010"
Module_ApplicationDate SETS "20-Mar-10"
Module_ComponentName SETS "Kernel"
Module_ComponentPath SETS "castle/RiscOS/Sources/Kernel"
Module_FullVersion SETS "5.35 (4.79.2.98.2.24)"
Module_HelpVersion SETS "5.35 (28 Feb 2010) 4.79.2.98.2.24"
Module_FullVersion SETS "5.35 (4.79.2.98.2.25)"
Module_HelpVersion SETS "5.35 (20 Mar 2010) 4.79.2.98.2.25"
END
......@@ -5,19 +5,19 @@
*
*/
#define Module_MajorVersion_CMHG 5.35
#define Module_MinorVersion_CMHG 4.79.2.98.2.24
#define Module_Date_CMHG 28 Feb 2010
#define Module_MinorVersion_CMHG 4.79.2.98.2.25
#define Module_Date_CMHG 20 Mar 2010
#define Module_MajorVersion "5.35"
#define Module_Version 535
#define Module_MinorVersion "4.79.2.98.2.24"
#define Module_Date "28 Feb 2010"
#define Module_MinorVersion "4.79.2.98.2.25"
#define Module_Date "20 Mar 2010"
#define Module_ApplicationDate "28-Feb-10"
#define Module_ApplicationDate "20-Mar-10"
#define Module_ComponentName "Kernel"
#define Module_ComponentPath "castle/RiscOS/Sources/Kernel"
#define Module_FullVersion "5.35 (4.79.2.98.2.24)"
#define Module_HelpVersion "5.35 (28 Feb 2010) 4.79.2.98.2.24"
#define Module_FullVersion "5.35 (4.79.2.98.2.25)"
#define Module_HelpVersion "5.35 (20 Mar 2010) 4.79.2.98.2.25"
#define Module_LibraryVersionInfo "5:35"
......@@ -32,7 +32,8 @@ struct device
int32_t (*Sleep)(struct device *, int32_t state);
int32_t devicenumber;
bool (*TestIRQ)(struct device *);
uint32_t reserved2[2];
void (*ClearIRQ)(struct device *);
uint32_t reserved2[1];
};
#endif
......
......@@ -37,7 +37,8 @@ HALDevice_Reset # 4
HALDevice_Sleep # 4
HALDevice_Device # 4
HALDevice_TestIRQ # 4
HALDevice_Reserved2 # 8
HALDevice_ClearIRQ # 4
HALDevice_Reserved2 # 4
HALDeviceSize * :INDEX: @
......@@ -61,6 +62,7 @@ HALDeviceSysPeri_RTC # 1 ; RTCDevice
HALDeviceType_Comms * 4 :SHL: 8
^ 1
HALDeviceComms_UART # 1 ; UART
HALDeviceComms_EtherNIC # 1 ; Ethernet NIC
HALDeviceBus_Pro * 0 :SHL: 28
......@@ -77,6 +79,7 @@ HALDeviceSysBus_PXBus * 2 :SHL: 24
HALDeviceBus_Peri * 2 :SHL: 28
HALDevicePeriBus_APB * 0 :SHL: 24
HALDevicePeriBus_GPMC * 1 :SHL: 24
HALDeviceBus_Exp * 3 :SHL: 28
......@@ -89,6 +92,11 @@ HALDeviceBus_Ser * 4 :SHL: 28
HALDeviceSerBus_ACLink * 0 :SHL: 24
HALDeviceSerBus_IIC * 1 :SHL: 24
HALDeviceBus_Interconnect * 5 :SHL: 28 ; Not really a bus type, but the OMAP stuff had to go somewhere!
HALDeviceInterconnectBus_L3 * 0 :SHL: 24
HALDeviceInterconnectBus_L4 * 1 :SHL: 24
^ 0
HALDeviceID_AudC_M5451 # 1
HALDeviceID_AudC_TPS65950 # 1
......@@ -115,6 +123,10 @@ HALDeviceID_RTC_TPS65950 # 1
^ 0
HALDeviceID_VDU_OMAP3 # 1
^ 0
HALDeviceID_EtherNIC_SMSC9221 # 1
HALDeviceID_EtherNIC_DM9000 # 1
]
OPT OldOpt
......
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