1.\"- 2.\" Copyright (c) 2012 Robert N. M. Watson 3.\" All rights reserved. 4.\" 5.\" This software was developed by SRI International and the University of 6.\" Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237) 7.\" ("CTSRD"), as part of the DARPA CRASH research programme. 8.\" 9.\" Redistribution and use in source and binary forms, with or without 10.\" modification, are permitted provided that the following conditions 11.\" are met: 12.\" 1. Redistributions of source code must retain the above copyright 13.\" notice, this list of conditions and the following disclaimer. 14.\" 2. Redistributions in binary form must reproduce the above copyright 15.\" notice, this list of conditions and the following disclaimer in the 16.\" documentation and/or other materials provided with the distribution. 17.\" 18.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 19.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 22.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 24.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 27.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 28.\" SUCH DAMAGE. 29.\" 30.\" $FreeBSD$ 31.\" 32.Dd August 18, 2012 33.Dt TERASIC_MTL 4 34.Os 35.Sh NAME 36.Nm terasic_mtl 37.Nd driver for the Terasic/Cambridge Multi-Touch LCD device 38.Sh SYNOPSIS 39.Cd "device terasic_mtl" 40.Pp 41In 42.Pa /boot/device.hints : 43.Cd hint.terasic_mtl.0.at="nexus0" 44.Cd hint.terasic_mtl.0.reg_maddr=0x70400000 45.Cd hint.terasic_mtl.0.reg_msize=0x1000 46.Cd hint.terasic_mtl.0.pixel_maddr=0x70000000 47.Cd hint.terasic_mtl.0.pixel_msize=0x177000 48.Cd hint.terasic_mtl.0.text_maddr=0x70177000 49.Cd hint.terasic_mtl.0.text_msize=0x2000 50.Sh DESCRIPTION 51The 52.Nm 53device driver provides support for the Terasic Multi-Touch LCD combined as 54controlled by a University of Cambridge's IP Core. 55Three device nodes are instantiated, representing various services supported 56by the device: 57.Bl -tag -width terasic_pixelX 58.It terasic_regX 59Memory-mapped register interface, including touch screen input. 60.It terasic_pixelX 61Memory-mapped pixel-oriented frame buffer. 62.It terasic_textX 63Memory-mapped text-oriented frame buffer. 64.El 65.Pp 66.Nm 67devices are also attached to the 68.Xr syscons 4 69framework, which implements a VT-compatible terminal connected to the 70.Xr tty 4 71framework. 72.Li ttyvX 73device nodes may be added to 74.Xr ttys 5 75in order to launch 76.Xr login 1 77sessions at boot. 78.Pp 79Register, text, and pixel devices may be accessed using 80.Xr read 2 81and 82.Xr write 2 83system calls, and also memory mapped using 84.Xr mmap 2 . 85.Sh SEE ALSO 86.Xr login 1 , 87.Xr ioctl 2 , 88.Xr mmap 2 , 89.Xr poll 2 , 90.Xr read 2 , 91.Xr write 2 , 92.Xr syscons 4 , 93.Xr tty 4 , 94.Xr ttys 5 95.Sh HISTORY 96The 97.Nm 98device driver first appeared in 99.Fx 10.0 . 100.Sh AUTHORS 101The 102.Nm 103device driver and this manual page were 104developed by SRI International and the University of Cambridge Computer 105Laboratory under DARPA/AFRL contract 106.Pq FA8750-10-C-0237 107.Pq Do CTSRD Dc , 108as part of the DARPA CRASH research programme. 109This device driver was written by 110.An Robert N. M. Watson . 111.Sh BUGS 112The 113.Xr syscons 4 114attachment does not support the hardware cursor feature. 115.Pp 116A more structured interface to control registers using the 117.Xr ioctl 2 118system call, would sometimes be preferable to memory mapping. 119For touch screen input, it would be highly desirable to offer a streaming 120interface whose events can be managed using 121.Xr poll 2 122and related system calls, with the kernel performing polling rather than the 123userspace application. 124.Pp 125.Nm 126supports only a 127.Li nexus 128bus attachment, which is appropriate for system-on-chip busses such as 129Altera's Avalon bus. 130If the IP core is configured off of another bus type, then additional bus 131attachments will be required. 132