• Robert Sprowson's avatar
    Add OS_ReadSysInfo 9,6 and 9,7 · ea837302
    Robert Sprowson authored
    Subreason 7 returns a string naming the HAL platform. Use HAL entry 97 to get this, and obsolete 97/98/99 in favour of using a HAL device. Line up the HAL video entries to match the others.
    Subreason 6 is just back filling one ROL added, testing this on RISC OS Select just returned the OS name so we do the same now (same as subreason 0, not sure what ROL's distinction was for).
    Allocate a HAL device for PATA IDE controllers, and the 2 known ones to date - Tungsten and IOMD systems.
    
    Version 5.35, 4.79.2.301. Tagged as 'Kernel-5_35-4_79_2_301'
    ea837302
HALDevice 8.94 KB
; 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

                                ^       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

                                ^       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

                                ^       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