; Copyright 2002 Tematic Ltd ; ; Licensed under the Apache License, Version 2.0 (the "License"); ; you may not use this file except in compliance with the License. ; You may obtain a copy of the License at ; ; http://www.apache.org/licenses/LICENSE-2.0 ; ; Unless required by applicable law or agreed to in writing, software ; distributed under the License is distributed on an "AS IS" BASIS, ; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ; See the License for the specific language governing permissions and ; limitations under the License. ; ; Structure of generic HAL devices, as described in Kernel.Docs.HAL.NewAPI OldOpt SETA {OPT} OPT OptNoList+OptNoP1List [ :LNOT: :DEF: Included_Hdr_HALDevice GBLL Included_Hdr_HALDevice Included_Hdr_HALDevice SETL {TRUE} ^ 0 HALDevice_Type # 2 HALDevice_ID # 2 HALDevice_Location # 4 HALDevice_Version # 4 HALDevice_Description # 4 HALDevice_Address # 4 HALDevice_Reserved1 # 12 HALDevice_Activate # 4 HALDevice_Deactivate # 4 HALDevice_Reset # 4 HALDevice_Sleep # 4 HALDevice_Device # 4 HALDevice_TestIRQ # 4 HALDevice_ClearIRQ # 4 HALDevice_Reserved2 # 4 HALDeviceSize * :INDEX: @ HALDeviceType_Video * 1 :SHL: 8 ^ 1 HALDeviceVideo_VDU # 1 ; VDU display HALDeviceType_Audio * 2 :SHL: 8 ^ 1 HALDeviceAudio_AudC # 1 ; 16-bit sound input/output controller HALDeviceAudio_Mixer # 1 ; Sound I/O mixer HALDeviceType_SysPeri * 3 :SHL: 8 ^ 1 HALDeviceSysPeri_IntC # 1 ; Interrupt controller HALDeviceSysPeri_DMAC # 1 ; DMA controller HALDeviceSysPeri_DMAB # 1 ; DMA channel - buffer type HALDeviceSysPeri_DMAL # 1 ; DMA channel - list type HALDeviceSysPeri_RTC # 1 ; RTCDevice HALDeviceSysPeri_CPUClk # 1 ; CPU clock generator HALDeviceSysPeri_BMU # 1 ; Battery management unit HALDeviceSysPeri_NVRAM # 1 ; Low capacity non volatile storage HALDeviceType_Comms * 4 :SHL: 8 ^ 1 HALDeviceComms_UART # 1 ; UART HALDeviceComms_EtherNIC # 1 ; Ethernet NIC HALDeviceComms_GPIO # 1 ; GPIO interface HALDeviceComms_InterProc # 1 ; Inter-processor mailboxes, etc. HALDeviceType_ExpCtl * 5 :SHL: 8 ^ 1 HALDeviceExpCtl_SDIO # 1 ; SD/SDIO host controller ; things like USB, FireWire, SATA, SAS controllers might go here HALDeviceType_HID * 6 :SHL: 8 ^ 1 HALDeviceHID_Keyboard # 1 ; Standard data entry keyboard HALDeviceBus_Pro * 0 :SHL: 28 HALDeviceProBus_Core * 0 :SHL: 24 HALDeviceProBus_CoPro * 1 :SHL: 24 HALDeviceBus_Sys * 1 :SHL: 28 HALDeviceSysBus_AHB * 0 :SHL: 24 ; ARM HALDeviceSysBus_ASB * 1 :SHL: 24 ; ARM HALDeviceSysBus_PXBus * 2 :SHL: 24 ; Intel PXA HALDeviceSysBus_OPEN * 3 :SHL: 24 ; Acorn Risc PC HALDeviceBus_Peri * 2 :SHL: 28 HALDevicePeriBus_APB * 0 :SHL: 24 HALDevicePeriBus_GPMC * 1 :SHL: 24 HALDeviceBus_Exp * 3 :SHL: 28 HALDeviceExpBus_Acorn * 0 :SHL: 24 HALDeviceExpBus_ISA * 1 :SHL: 24 HALDeviceExpBus_PCI * 2 :SHL: 24 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 HALDeviceInterconnectBus_IMX6 * 2 :SHL: 24 ^ 0 HALDeviceID_AudC_M5451 # 1 HALDeviceID_AudC_TPS65950 # 1 HALDeviceID_AudC_TWL6040 # 1 HALDeviceID_AudC_VCHIQ # 1 HALDeviceID_AudC_Pandora # 1 ^ 0 HALDeviceID_Mixer_STAC9750 # 1 HALDeviceID_Mixer_TPS65950 # 1 HALDeviceID_Mixer_TWL6040 # 1 HALDeviceID_Mixer_VCHIQ # 1 ^ 0 HALDeviceID_DMAC_M1535 # 1 HALDeviceID_DMAC_M5229 # 1 HALDeviceID_DMAC_OMAP3 # 1 HALDeviceID_DMAC_OMAP4 # 1 HALDeviceID_DMAC_BCM2835 # 1 HALDeviceID_DMAC_IOMD21 # 1 ^ 0 HALDeviceID_DMAB_M1535 # 1 HALDeviceID_DMAB_OMAP3 # 1 HALDeviceID_DMAB_OMAP4 # 1 HALDeviceID_DMAB_IOMD21 # 1 ^ 0 HALDeviceID_DMAL_M5229 # 1 HALDeviceID_DMAL_BCM2835 # 1 ^ 0 HALDeviceID_RTC_TPS65950 # 1 HALDeviceID_RTC_TWL6030 # 1 HALDeviceID_RTC_DS1307 # 1 HALDeviceID_RTC_PCF8583 # 1 ^ 0 HALDeviceID_CPUClk_OMAP3 # 1 HALDeviceID_CPUClk_OMAP4 # 1 HALDeviceID_CPUClk_AMDM37x_SR # 1 HALDeviceID_CPUClk_IMX6 # 1 ^ 0 HALDeviceID_BMU_TPS65950 # 1 HALDeviceID_BMU_BQ27200 # 1 HALDeviceID_BMU_BQ27500 # 1 ^ 0 HALDeviceID_NVRAM_24C02 # 1 ; 2kb = 256B HALDeviceID_NVRAM_24C04 # 1 HALDeviceID_NVRAM_24C08 # 1 HALDeviceID_NVRAM_24C16 # 1 ; 16kb = 2kB ^ 0 HALDeviceID_VDU_OMAP3 # 1 HALDeviceID_VDU_OMAP4 # 1 HALDeviceID_VDU_Tungsten # 1 HALDeviceID_VDU_VIDC20 # 1 HALDeviceID_VDU_BCM2835 # 1 HALDeviceID_VDU_IMX6 # 1 ^ 0 HALDeviceID_EtherNIC_SMSC9221 # 1 HALDeviceID_EtherNIC_DM9000 # 1 ^ 0 HALDeviceID_GPIO_OMAP3 # 1 HALDeviceID_GPIO_OMAP4 # 1 HALDeviceID_GPIO_BCM2835 # 1 HALDeviceID_GPIO_IMX6 # 1 ^ 0 HALDeviceID_InterProc_VCHIQ # 1 ^ 0 HALDeviceID_SDIO_SDHCI # 1 ^ 0 HALDeviceID_Keyboard_Pandora # 1 ] ; Included_Hdr_HALDevice OPT OldOpt END