---
name: "terasic_mtl"
section: "4freebsd"
platform: "linux"
package: "freebsd-manpages"
version: "12.2-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/terasic_mtl"
---

# terasic\_mtl(4freebsd)

driver for the Terasic/Cambridge Multi-Touch LCD device

## NAME

**terasic\_mtl** – driver for the Terasic/Cambridge Multi-Touch LCD device

## SYNOPSIS

**device terasic\_mtl**

In */boot/device.hints*: **hint.terasic\_mtl.0.at="nexus0"** **hint.terasic\_mtl.0.reg\_maddr=0x70400000** **hint.terasic\_mtl.0.reg\_msize=0x1000** **hint.terasic\_mtl.0.pixel\_maddr=0x70000000** **hint.terasic\_mtl.0.pixel\_msize=0x177000** **hint.terasic\_mtl.0.text\_maddr=0x70177000** **hint.terasic\_mtl.0.text\_msize=0x2000**

## DESCRIPTION

The **terasic\_mtl** device driver provides support for the Terasic Multi-Touch LCD combined as controlled by a University of Cambridge's IP Core. Three device nodes are instantiated, representing various services supported by the device:

- terasic\_regX

  Memory-mapped register interface, including touch screen input.

- terasic\_pixelX

  Memory-mapped pixel-oriented frame buffer.

- terasic\_textX

  Memory-mapped text-oriented frame buffer.

**terasic\_mtl** devices are also attached to the [syscons(4)](/syscons/4.md) framework, which implements a VT-compatible terminal connected to the [tty(4)](/tty/4.md) framework. ttyvX device nodes may be added to [ttys(5)](/ttys/5.md) in order to launch [login(1)](/login/1.md) sessions at boot.

Register, text, and pixel devices may be accessed using [read(2)](/read/2.md) and [write(2)](/write/2.md) system calls, and also memory mapped using [mmap(2)](/mmap/2.md).

## SEE ALSO

[login(1)](/login/1.md), [ioctl(2)](/ioctl/2.md), [mmap(2)](/mmap/2.md), [poll(2)](/poll/2.md), [read(2)](/read/2.md), [write(2)](/write/2.md), [syscons(4)](/syscons/4.md), [tty(4)](/tty/4.md), [ttys(5)](/ttys/5.md)

## HISTORY

The **terasic\_mtl** device driver first appeared in FreeBSD 10.0.

## AUTHORS

The **terasic\_mtl** device driver and this manual page were developed by SRI International and the University of Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) (“CTSRD”), as part of the DARPA CRASH research programme. This device driver was written by Robert N. M. Watson.

## BUGS

The [syscons(4)](/syscons/4.md) attachment does not support the hardware cursor feature.

A more structured interface to control registers using the [ioctl(2)](/ioctl/2.md) system call, would sometimes be preferable to memory mapping. For touch screen input, it would be highly desirable to offer a streaming interface whose events can be managed using [poll(2)](/poll/2.md) and related system calls, with the kernel performing polling rather than the userspace application.

**terasic\_mtl** supports only a nexus bus attachment, which is appropriate for system-on-chip busses such as Altera's Avalon bus. If the IP core is configured off of another bus type, then additional bus attachments will be required.
