; 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 HALDeviceSysPeri_CacheC # 1 ; Cache controller 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. HALDeviceComms_SPI # 1 ; SPI HALDeviceType_ExpCtl * 5 :SHL: 8 ^ 1 HALDeviceExpCtl_SDIO # 1 ; SD/SDIO host controller HALDeviceExpCtl_AHCI # 1 ; AHCI SATA bus interface HALDeviceExpCtl_IDE # 1 ; IDE PATA bus interface ; things like USB, FireWire, SAS controllers might go here HALDeviceType_HID * 6 :SHL: 8 ^ 1 HALDeviceHID_Keyboard # 1 ; Standard data entry keyboard HALDeviceHID_Touchscreen # 1 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 ; AMBA 2, ARM HALDeviceSysBus_ASB * 1 :SHL: 24 ; AMBA 2, ARM HALDeviceSysBus_PXBus * 2 :SHL: 24 ; Intel PXA HALDeviceSysBus_OPEN * 3 :SHL: 24 ; Acorn Risc PC HALDeviceSysBus_SonicsMX * 4 :SHL: 24 ; Sonics Inc - OMAP3 'L3' HALDeviceSysBus_NoC * 5 :SHL: 24 ; Network on Chip, Arteris Inc - OMAP4 'L3' HALDeviceSysBus_AXI * 6 :SHL: 24 ; AMBA 3, ARM HALDeviceBus_Peri * 2 :SHL: 28 HALDevicePeriBus_APB * 0 :SHL: 24 ; ARM HALDevicePeriBus_Rsvd1 * 1 :SHL: 24 ; Reserved HALDevicePeriBus_Sonics3220 * 2 :SHL: 24 ; Sonics Inc - OMAP3/OMAP4 'L4' HALDeviceBus_Exp * 3 :SHL: 28 HALDeviceExpBus_Acorn * 0 :SHL: 24 ; DEBI, EASI, IOC, MEMC HALDeviceExpBus_ISA * 1 :SHL: 24 ; IBM HALDeviceExpBus_PCI * 2 :SHL: 24 ; PCI SIG HALDeviceExpBus_GPMC * 3 :SHL: 24 ; General purpose memory controller HALDeviceBus_Ser * 4 :SHL: 28 HALDeviceSerBus_ACLink * 0 :SHL: 24 ; Audio codec HALDeviceSerBus_IIC * 1 :SHL: 24 ; Inter IC HALDeviceSerBus_IIS * 2 :SHL: 24 ; Inter IC sound ^ 0 HALDeviceID_AudC_M5451 # 1 HALDeviceID_AudC_TPS65950 # 1 HALDeviceID_AudC_TWL6040 # 1 HALDeviceID_AudC_VCHIQ # 1 HALDeviceID_AudC_Pandora # 1 HALDeviceID_AudC_SGTL5000 # 1 HALDeviceID_AudC_TLV320AIC310x # 1 HALDeviceID_AudC_IMX6HDMI # 1 ^ 0 HALDeviceID_Mixer_STAC9750 # 1 HALDeviceID_Mixer_TPS65950 # 1 HALDeviceID_Mixer_TWL6040 # 1 HALDeviceID_Mixer_VCHIQ # 1 HALDeviceID_Mixer_SGTL5000 # 1 HALDeviceID_Mixer_TLV320AIC310x # 1 HALDeviceID_Mixer_Software # 1 ; Any kind of software mixer (e.g. generic mixer created by SoundDMA) ^ 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 HALDeviceID_DMAC_IMX6 # 1 HALDeviceID_DMAC_SDMA # 1 ; Same enough as OMAP3? HALDeviceID_DMAC_OMAP5 # 1 ^ 0 HALDeviceID_DMAB_M1535 # 1 HALDeviceID_DMAB_OMAP3 # 1 HALDeviceID_DMAB_OMAP4 # 1 HALDeviceID_DMAB_IOMD21 # 1 HALDeviceID_DMAB_SDMA # 1 ; Same enough as OMAP3? HALDeviceID_DMAB_OMAP5 # 1 ^ 0 HALDeviceID_DMAL_M5229 # 1 HALDeviceID_DMAL_BCM2835 # 1 HALDeviceID_DMAL_IMX6 # 1 ^ 0 HALDeviceID_RTC_TPS65950 # 1 HALDeviceID_RTC_TWL6030 # 1 HALDeviceID_RTC_DS1307 # 1 HALDeviceID_RTC_PCF8583 # 1 HALDeviceID_RTC_PCF8523 # 1 ^ 0 HALDeviceID_CPUClk_OMAP3 # 1 HALDeviceID_CPUClk_OMAP4 # 1 HALDeviceID_CPUClk_AMDM37x_SR # 1 HALDeviceID_CPUClk_IMX6 # 1 HALDeviceID_CPUClk_AM572x # 1 HALDeviceID_CPUClk_OMAP5 # 1 HALDeviceID_CPUClk_BCM283x # 1 ^ 0 HALDeviceID_BMU_TPS65950 # 1 HALDeviceID_BMU_BQ27200 # 1 HALDeviceID_BMU_BQ27500 # 1 HALDeviceID_BMU_TWL6037 # 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 HALDeviceID_VDU_GC320 # 1 HALDeviceID_VDU_OMAP5 # 1 ^ 0 HALDeviceID_EtherNIC_SMSC9221 # 1 HALDeviceID_EtherNIC_DM9000 # 1 HALDeviceID_EtherNIC_IMX6 # 1 HALDeviceID_EtherNIC_CPSW # 1 ^ 0 HALDeviceID_GPIO_OMAP3 # 1 HALDeviceID_GPIO_OMAP4 # 1 HALDeviceID_GPIO_BCM2835 # 1 HALDeviceID_GPIO_IMX6 # 1 HALDeviceID_GPIO_OMAP5 # 1 ^ 0 HALDeviceID_InterProc_VCHIQ # 1 HALDeviceID_InterProc_BCMMBox # 1 ^ 0 HALDeviceID_SPI_BCM2835_0 # 1 HALDeviceID_SPI_BCM2835_12 # 1 HALDeviceID_SPI_IMX6 # 1 ^ 0 HALDeviceID_SDIO_SDHCI # 1 ^ 0 HALDeviceID_Keyboard_Pandora # 1 ^ 0 HALDeviceID_Touchscreen_FT5406 # 1 ^ 0 HALDeviceID_AHCI_IMX6 # 1 HALDeviceID_AHCI_SynopsisDWC # 1 ^ 0 HALDeviceID_IDE_SMC37C66x # 1 ; SMSC super IO '665/'669 HALDeviceID_IDE_M5229 # 1 ; ALi super IO ^ 0 HALDeviceID_CacheC_PL310 # 1 ] ; Included_Hdr_HALDevice OPT OldOpt END