h6. [[Hardware Abstraction Layer]] h6(. » [[HAL Device API]] h6((. » [[List of HAL devices]] h6(((. » VDU display h5. (HALDeviceVideo_VDU) h4. Device API Currently, only API version 0 is defined. <pre> struct vdudevice { /* Public interface */ struct device dev; uint32_t address2; int32_t device2; uint32_t devicespecificfield; }; </pre> "This specification is currently very rough and needs expanding as the new OMAP3 video driver is developed.":HAL+TODO#ambiguous At the moment the device only exists to provide a method for the OMAP3 video driver to detect the underlying hardware in a safe and clean manner. For the OMAP3 video controller: _dev.address_ and _dev.devicenumber_ specify the logical address of the OMAP3 video controller, and its IRQ number. _address2_ and _device2_ specify the logical address of the OMAP3 SDMA controller, and the IRQ number used by the assigned DMA channels. _devicespecificfield_ is a bitmask defining which SDMA channels are available for use by the video driver (bit set = available, bit clear = unavailable). At least one bit will be set. Any special behaviour of other fields is currently undefined. h4. Support in RISC OS HALDeviceVideo_VDU implementations are supported by several device-specific modules; see the "Known implementations" table below. h4. Known implementations |_<. Device ID |_<. Description |_<. Implemented in |_<^. Used by | |HALDeviceID_VDU_OMAP3 |OMAP3 video controller |HAL.OMAP3.s.Video |OMAPVideo | |HALDeviceID_VDU_OMAP4 |OMAP4 video controller |HAL.OMAP4.s.Video |OMAPVideo | |HALDeviceID_VDU_Tungsten |NVidia STRAP data |HAL.Tungsten.s.Video |NVidia | |HALDeviceID_VDU_VIDC20 |Acorn VIDC20 |HAL.IOMD.s.Video |VIDC20Video | |HALDeviceID_VDU_BCM2835 |BCM2835 VDU device |HAL.BCM2835.s.Video |BCMVideo | h6. Information source: Kernel.Hdr.HALDevice, Kernel.Hdr.VideoDevice in CVS