HALDevice 9.02 KB
Newer Older
Kevin Bracey's avatar
Kevin Bracey committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
; 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}

25

Kevin Bracey's avatar
Kevin Bracey committed
26 27 28 29 30 31 32
                        ^       0
HALDevice_Type          #       2
HALDevice_ID            #       2
HALDevice_Location      #       4
HALDevice_Version       #       4
HALDevice_Description   #       4
HALDevice_Address       #       4
Ben Avison's avatar
Ben Avison committed
33
HALDevice_Reserved1     #       12
Kevin Bracey's avatar
Kevin Bracey committed
34 35 36 37 38 39
HALDevice_Activate      #       4
HALDevice_Deactivate    #       4
HALDevice_Reset         #       4
HALDevice_Sleep         #       4
HALDevice_Device        #       4
HALDevice_TestIRQ       #       4
40 41
HALDevice_ClearIRQ      #       4
HALDevice_Reserved2     #       4
Kevin Bracey's avatar
Kevin Bracey committed
42 43
HALDeviceSize           *       :INDEX: @

44 45 46 47 48 49 50

HALDeviceType_Video     *       1 :SHL: 8
                        ^       1
HALDeviceVideo_VDU      #       1       ; VDU display

HALDeviceType_Audio     *       2 :SHL: 8
                        ^       1
Ben Avison's avatar
Ben Avison committed
51 52
HALDeviceAudio_AudC     #       1       ; 16-bit sound input/output controller
HALDeviceAudio_Mixer    #       1       ; Sound I/O mixer
53 54 55 56 57 58 59

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
60
HALDeviceSysPeri_RTC    #       1       ; RTCDevice
61
HALDeviceSysPeri_CPUClk #       1       ; CPU clock generator
62
HALDeviceSysPeri_BMU    #       1       ; Battery management unit
63
HALDeviceSysPeri_NVRAM  #       1       ; Low capacity non volatile storage
64
HALDeviceSysPeri_CacheC #       1       ; Cache controller
65

66 67 68 69 70 71
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.
72
HALDeviceComms_SPI       #      1       ; SPI
73

74 75 76
HALDeviceType_ExpCtl    *       5 :SHL: 8
                        ^       1
HALDeviceExpCtl_SDIO    #       1       ; SD/SDIO host controller
77
HALDeviceExpCtl_AHCI    #       1       ; AHCI SATA bus interface
78
HALDeviceExpCtl_IDE     #       1       ; IDE PATA bus interface
79
                                        ; things like USB, FireWire, SAS controllers might go here
80

81 82 83
HALDeviceType_HID       *       6 :SHL: 8
                        ^       1
HALDeviceHID_Keyboard   #       1       ; Standard data entry keyboard
84
HALDeviceHID_Touchscreen #      1
85

86
HALDeviceBus_Pro        *       0 :SHL: 28
Ben Avison's avatar
Ben Avison committed
87 88 89

HALDeviceProBus_Core    *       0 :SHL: 24
HALDeviceProBus_CoPro   *       1 :SHL: 24
90 91

HALDeviceBus_Sys        *       1 :SHL: 28
Ben Avison's avatar
Ben Avison committed
92

Robert Sprowson's avatar
Robert Sprowson committed
93 94
HALDeviceSysBus_AHB     *       0 :SHL: 24 ; AMBA 2, ARM
HALDeviceSysBus_ASB     *       1 :SHL: 24 ; AMBA 2, ARM
Robert Sprowson's avatar
Robert Sprowson committed
95 96
HALDeviceSysBus_PXBus   *       2 :SHL: 24 ; Intel PXA
HALDeviceSysBus_OPEN    *       3 :SHL: 24 ; Acorn Risc PC
Robert Sprowson's avatar
Robert Sprowson committed
97 98 99
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
100 101

HALDeviceBus_Peri       *       2 :SHL: 28
Ben Avison's avatar
Ben Avison committed
102

Robert Sprowson's avatar
Robert Sprowson committed
103 104 105
HALDevicePeriBus_APB    *       0 :SHL: 24 ; ARM
HALDevicePeriBus_Rsvd1  *       1 :SHL: 24 ; Reserved
HALDevicePeriBus_Sonics3220 *   2 :SHL: 24 ; Sonics Inc - OMAP3/OMAP4 'L4'
106 107

HALDeviceBus_Exp        *       3 :SHL: 28
Ben Avison's avatar
Ben Avison committed
108

Robert Sprowson's avatar
Robert Sprowson committed
109 110 111 112
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
Ben Avison's avatar
Ben Avison committed
113 114 115

HALDeviceBus_Ser        *       4 :SHL: 28

Robert Sprowson's avatar
Robert Sprowson committed
116 117 118
HALDeviceSerBus_ACLink  *       0 :SHL: 24 ; Audio codec
HALDeviceSerBus_IIC     *       1 :SHL: 24 ; Inter IC
HALDeviceSerBus_IIS     *       2 :SHL: 24 ; Inter IC sound
Ben Avison's avatar
Ben Avison committed
119 120 121

                                ^       0
HALDeviceID_AudC_M5451          #       1
122
HALDeviceID_AudC_TPS65950       #       1
123
HALDeviceID_AudC_TWL6040        #       1
124
HALDeviceID_AudC_VCHIQ          #       1
125
HALDeviceID_AudC_Pandora        #       1
Jeffrey Lee's avatar
Jeffrey Lee committed
126
HALDeviceID_AudC_SGTL5000       #       1
127
HALDeviceID_AudC_TLV320AIC310x  #       1
128
HALDeviceID_AudC_IMX6HDMI       #       1
Ben Avison's avatar
Ben Avison committed
129 130 131

                                ^       0
HALDeviceID_Mixer_STAC9750      #       1
132
HALDeviceID_Mixer_TPS65950      #       1
133
HALDeviceID_Mixer_TWL6040       #       1
134
HALDeviceID_Mixer_VCHIQ         #       1
Jeffrey Lee's avatar
Jeffrey Lee committed
135
HALDeviceID_Mixer_SGTL5000      #       1
136
HALDeviceID_Mixer_TLV320AIC310x #       1
137
HALDeviceID_Mixer_Software      #       1 ; Any kind of software mixer (e.g. generic mixer created by SoundDMA)
138

139
                                ^       0
Ben Avison's avatar
Ben Avison committed
140 141
HALDeviceID_DMAC_M1535          #       1
HALDeviceID_DMAC_M5229          #       1
142
HALDeviceID_DMAC_OMAP3          #       1
143
HALDeviceID_DMAC_OMAP4          #       1
144
HALDeviceID_DMAC_BCM2835        #       1
Robert Sprowson's avatar
Robert Sprowson committed
145
HALDeviceID_DMAC_IOMD21         #       1
Jeffrey Lee's avatar
Jeffrey Lee committed
146
HALDeviceID_DMAC_IMX6           #       1
147 148
HALDeviceID_DMAC_SDMA           #       1 ; Same enough as OMAP3?
HALDeviceID_DMAC_OMAP5          #       1
149 150

                                ^       0
Ben Avison's avatar
Ben Avison committed
151
HALDeviceID_DMAB_M1535          #       1
152
HALDeviceID_DMAB_OMAP3          #       1
153
HALDeviceID_DMAB_OMAP4          #       1
Robert Sprowson's avatar
Robert Sprowson committed
154
HALDeviceID_DMAB_IOMD21         #       1
155 156
HALDeviceID_DMAB_SDMA           #       1 ; Same enough as OMAP3?
HALDeviceID_DMAB_OMAP5          #       1
157 158

                                ^       0
Ben Avison's avatar
Ben Avison committed
159
HALDeviceID_DMAL_M5229          #       1
160
HALDeviceID_DMAL_BCM2835        #       1
Jeffrey Lee's avatar
Jeffrey Lee committed
161
HALDeviceID_DMAL_IMX6           #       1
162

163 164
                                ^       0
HALDeviceID_RTC_TPS65950        #       1
165
HALDeviceID_RTC_TWL6030         #       1
166 167
HALDeviceID_RTC_DS1307          #       1
HALDeviceID_RTC_PCF8583         #       1
168

169 170
                                ^       0
HALDeviceID_CPUClk_OMAP3        #       1
171
HALDeviceID_CPUClk_OMAP4        #       1
172
HALDeviceID_CPUClk_AMDM37x_SR   #       1
173
HALDeviceID_CPUClk_IMX6         #       1
174 175
HALDeviceID_CPUClk_AM572x       #       1
HALDeviceID_CPUClk_OMAP5        #       1
Jeffrey Lee's avatar
Jeffrey Lee committed
176
HALDeviceID_CPUClk_BCM283x      #       1
177

178 179 180 181
                                ^       0
HALDeviceID_BMU_TPS65950        #       1
HALDeviceID_BMU_BQ27200         #       1
HALDeviceID_BMU_BQ27500         #       1
182
HALDeviceID_BMU_TWL6037         #       1
183

184 185 186 187 188 189
                                ^       0
HALDeviceID_NVRAM_24C02         #       1  ; 2kb = 256B
HALDeviceID_NVRAM_24C04         #       1
HALDeviceID_NVRAM_24C08         #       1
HALDeviceID_NVRAM_24C16         #       1  ; 16kb = 2kB

190 191
                                ^       0
HALDeviceID_VDU_OMAP3           #       1
192 193
HALDeviceID_VDU_OMAP4           #       1
HALDeviceID_VDU_Tungsten        #       1
194
HALDeviceID_VDU_VIDC20          #       1
195
HALDeviceID_VDU_BCM2835         #       1
196
HALDeviceID_VDU_IMX6            #       1
197 198
HALDeviceID_VDU_GC320           #       1
HALDeviceID_VDU_OMAP5           #       1
199 200 201 202

                                ^       0
HALDeviceID_EtherNIC_SMSC9221   #       1
HALDeviceID_EtherNIC_DM9000     #       1
203
HALDeviceID_EtherNIC_IMX6       #       1
204
HALDeviceID_EtherNIC_CPSW       #       1
205

206 207
                                ^       0
HALDeviceID_GPIO_OMAP3          #       1
208
HALDeviceID_GPIO_OMAP4          #       1
209
HALDeviceID_GPIO_BCM2835        #       1
210
HALDeviceID_GPIO_IMX6           #       1
211
HALDeviceID_GPIO_OMAP5          #       1
212 213 214

                                ^       0
HALDeviceID_InterProc_VCHIQ     #       1
Jeffrey Lee's avatar
Jeffrey Lee committed
215
HALDeviceID_InterProc_BCMMBox   #       1
216

217 218 219
                                ^       0
HALDeviceID_SPI_BCM2835_0       #       1
HALDeviceID_SPI_BCM2835_12      #       1
220
HALDeviceID_SPI_IMX6            #       1
221

222 223
                                ^       0
HALDeviceID_SDIO_SDHCI          #       1
224

225 226 227
                                ^       0
HALDeviceID_Keyboard_Pandora    #       1

228 229 230
                                ^       0
HALDeviceID_Touchscreen_FT5406  #       1

John Ballance's avatar
John Ballance committed
231 232
                                ^       0
HALDeviceID_AHCI_IMX6           #       1
233
HALDeviceID_AHCI_SynopsisDWC    #       1
John Ballance's avatar
John Ballance committed
234

235 236 237 238
                                ^       0
HALDeviceID_IDE_SMC37C66x       #       1  ; SMSC super IO '665/'669
HALDeviceID_IDE_M5229           #       1  ; ALi super IO

239 240 241
                                ^       0
HALDeviceID_CacheC_PL310        #       1

242
 ] ; Included_Hdr_HALDevice
Kevin Bracey's avatar
Kevin Bracey committed
243 244 245

        OPT     OldOpt
        END