xref: /NextBSD/share/man/man4/terasic_mtl.4 (revision 95f7c2f56c7268d6ed9c2a56d357aeeac260363b)
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