HALDevice 9.23 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
Ben Avison's avatar
Ben Avison committed
130 131 132

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

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

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

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

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

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

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

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

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

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

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

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

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

Jeffrey Lee's avatar
Jeffrey Lee committed
223 224 225 226
                                ^       0
HALDeviceID_ARMDBell_BCM2836    #       1
HALDeviceID_ARMDBell_GIC        #       1

227 228
                                ^       0
HALDeviceID_SDIO_SDHCI          #       1
229

230 231 232
                                ^       0
HALDeviceID_Keyboard_Pandora    #       1

233 234 235
                                ^       0
HALDeviceID_Touchscreen_FT5406  #       1

John Ballance's avatar
John Ballance committed
236 237
                                ^       0
HALDeviceID_AHCI_IMX6           #       1
238
HALDeviceID_AHCI_SynopsisDWC    #       1
John Ballance's avatar
John Ballance committed
239

240 241 242 243
                                ^       0
HALDeviceID_IDE_SMC37C66x       #       1  ; SMSC super IO '665/'669
HALDeviceID_IDE_M5229           #       1  ; ALi super IO

244 245 246
                                ^       0
HALDeviceID_CacheC_PL310        #       1

247
 ] ; Included_Hdr_HALDevice
Kevin Bracey's avatar
Kevin Bracey committed
248 249 250

        OPT     OldOpt
        END