HALDevice 9.81 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
Jeffrey Lee's avatar
Jeffrey Lee committed
73
HALDeviceComms_ARMDBell  #      1       ; Doorbell for signaling other ARM cores
74

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

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

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

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

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

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

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

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

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

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

HALDeviceBus_Ser        *       4 :SHL: 28

Robert Sprowson's avatar
Robert Sprowson committed
117 118 119
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
120 121 122

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

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

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

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

                                ^       0
Ben Avison's avatar
Ben Avison committed
162
HALDeviceID_DMAL_M5229          #       1
163
HALDeviceID_DMAL_BCM2835        #       1
Jeffrey Lee's avatar
Jeffrey Lee committed
164
HALDeviceID_DMAL_IMX6           #       1
165

166 167
                                ^       0
HALDeviceID_RTC_TPS65950        #       1
168
HALDeviceID_RTC_TWL6030         #       1
169 170
HALDeviceID_RTC_DS1307          #       1
HALDeviceID_RTC_PCF8583         #       1
John Ballance's avatar
John Ballance committed
171
HALDeviceID_RTC_PCF8523         #       1
172
HALDeviceID_RTC_RK808           #       1
173

174 175
                                ^       0
HALDeviceID_CPUClk_OMAP3        #       1
176
HALDeviceID_CPUClk_OMAP4        #       1
177
HALDeviceID_CPUClk_AMDM37x_SR   #       1
178
HALDeviceID_CPUClk_IMX6         #       1
179 180
HALDeviceID_CPUClk_AM572x       #       1
HALDeviceID_CPUClk_OMAP5        #       1
Jeffrey Lee's avatar
Jeffrey Lee committed
181
HALDeviceID_CPUClk_BCM283x      #       1
182
HALDeviceID_CPUClk_RK3399       #       1
183

184 185 186 187
                                ^       0
HALDeviceID_BMU_TPS65950        #       1
HALDeviceID_BMU_BQ27200         #       1
HALDeviceID_BMU_BQ27500         #       1
188
HALDeviceID_BMU_TWL6037         #       1
189
HALDeviceID_BMU_RK808           #       1
190

191 192 193 194 195 196
                                ^       0
HALDeviceID_NVRAM_24C02         #       1  ; 2kb = 256B
HALDeviceID_NVRAM_24C04         #       1
HALDeviceID_NVRAM_24C08         #       1
HALDeviceID_NVRAM_24C16         #       1  ; 16kb = 2kB

197 198
                                ^       0
HALDeviceID_VDU_OMAP3           #       1
199 200
HALDeviceID_VDU_OMAP4           #       1
HALDeviceID_VDU_Tungsten        #       1
201
HALDeviceID_VDU_VIDC20          #       1
202
HALDeviceID_VDU_BCM2835         #       1
203
HALDeviceID_VDU_IMX6            #       1
204 205
HALDeviceID_VDU_GC320           #       1
HALDeviceID_VDU_OMAP5           #       1
206 207 208 209
HALDeviceID_VDU_VOP3328         #       1  ; Rockchip
HALDeviceID_VDU_VOP3366         #       1  ; Rockchip
HALDeviceID_VDU_VOP3368         #       1  ; Rockchip
HALDeviceID_VDU_VOP3399         #       1  ; Rockchip
210 211 212 213

                                ^       0
HALDeviceID_EtherNIC_SMSC9221   #       1
HALDeviceID_EtherNIC_DM9000     #       1
214
HALDeviceID_EtherNIC_IMX6       #       1
215
HALDeviceID_EtherNIC_CPSW       #       1
216
HALDeviceID_EtherNIC_BCMGENET   #       1
217
HALDeviceID_EtherNIC_DWCGMAC    #       1
218

219 220
                                ^       0
HALDeviceID_GPIO_OMAP3          #       1
221
HALDeviceID_GPIO_OMAP4          #       1
222
HALDeviceID_GPIO_BCM2835        #       1
223
HALDeviceID_GPIO_IMX6           #       1
224
HALDeviceID_GPIO_OMAP5          #       1
225
HALDeviceID_GPIO_RK3399         #       1
226 227 228

                                ^       0
HALDeviceID_InterProc_VCHIQ     #       1
Jeffrey Lee's avatar
Jeffrey Lee committed
229
HALDeviceID_InterProc_BCMMBox   #       1
230

231 232 233
                                ^       0
HALDeviceID_SPI_BCM2835_0       #       1
HALDeviceID_SPI_BCM2835_12      #       1
234
HALDeviceID_SPI_IMX6            #       1
235

Jeffrey Lee's avatar
Jeffrey Lee committed
236 237 238 239
                                ^       0
HALDeviceID_ARMDBell_BCM2836    #       1
HALDeviceID_ARMDBell_GIC        #       1

240 241
                                ^       0
HALDeviceID_SDIO_SDHCI          #       1
242

243 244 245
                                ^       0
HALDeviceID_Keyboard_Pandora    #       1

246 247 248
                                ^       0
HALDeviceID_Touchscreen_FT5406  #       1

John Ballance's avatar
John Ballance committed
249 250
                                ^       0
HALDeviceID_AHCI_IMX6           #       1
251
HALDeviceID_AHCI_SynopsisDWC    #       1
John Ballance's avatar
John Ballance committed
252

253 254 255 256
                                ^       0
HALDeviceID_IDE_SMC37C66x       #       1  ; SMSC super IO '665/'669
HALDeviceID_IDE_M5229           #       1  ; ALi super IO

257 258 259
                                ^       0
HALDeviceID_CacheC_PL310        #       1

260
 ] ; Included_Hdr_HALDevice
Kevin Bracey's avatar
Kevin Bracey committed
261 262 263

        OPT     OldOpt
        END