xref: /freebsd/share/man/man4/man4.arm/ti_adc.4 (revision fa9896e082a1046ff4fbc75fcba4d18d1f2efc19)
1855feb68SLuiz Otavio O Souza.\"
2855feb68SLuiz Otavio O Souza.\" Copyright (c) 2014 Luiz Otavio O Souza <loos@freebsd.org>
3855feb68SLuiz Otavio O Souza.\" All rights reserved.
4855feb68SLuiz Otavio O Souza.\"
5855feb68SLuiz Otavio O Souza.\" Redistribution and use in source and binary forms, with or without
6855feb68SLuiz Otavio O Souza.\" modification, are permitted provided that the following conditions
7855feb68SLuiz Otavio O Souza.\" are met:
8855feb68SLuiz Otavio O Souza.\" 1. Redistributions of source code must retain the above copyright
9855feb68SLuiz Otavio O Souza.\"    notice, this list of conditions and the following disclaimer.
10855feb68SLuiz Otavio O Souza.\" 2. Redistributions in binary form must reproduce the above copyright
11855feb68SLuiz Otavio O Souza.\"    notice, this list of conditions and the following disclaimer in the
12855feb68SLuiz Otavio O Souza.\"    documentation and/or other materials provided with the distribution.
13855feb68SLuiz Otavio O Souza.\"
14855feb68SLuiz Otavio O Souza.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
15855feb68SLuiz Otavio O Souza.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
16855feb68SLuiz Otavio O Souza.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
17855feb68SLuiz Otavio O Souza.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
18855feb68SLuiz Otavio O Souza.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
19855feb68SLuiz Otavio O Souza.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20855feb68SLuiz Otavio O Souza.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
21855feb68SLuiz Otavio O Souza.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22855feb68SLuiz Otavio O Souza.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23855feb68SLuiz Otavio O Souza.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24855feb68SLuiz Otavio O Souza.\"
25f7eebb77SLuiz Otavio O Souza.Dd June 1, 2014
26855feb68SLuiz Otavio O Souza.Dt TI_ADC 4
27855feb68SLuiz Otavio O Souza.Os
28855feb68SLuiz Otavio O Souza.Sh NAME
29855feb68SLuiz Otavio O Souza.Nm ti_adc
30855feb68SLuiz Otavio O Souza.Nd TI AM3XXX analog to digital converter driver
31855feb68SLuiz Otavio O Souza.Sh SYNOPSIS
32855feb68SLuiz Otavio O Souza.Cd "device ti_adc"
33855feb68SLuiz Otavio O Souza.Sh DESCRIPTION
34855feb68SLuiz Otavio O SouzaThe
35855feb68SLuiz Otavio O Souza.Nm
36855feb68SLuiz Otavio O Souzadriver provides access to the AIN (analog inputs) on am3xxx SoCs.
37855feb68SLuiz Otavio O Souza.Pp
38855feb68SLuiz Otavio O SouzaIt provides raw readings of the converted values for each analog inputs.
39855feb68SLuiz Otavio O Souza.Pp
40855feb68SLuiz Otavio O SouzaThe access to
41855feb68SLuiz Otavio O Souza.Nm
42855feb68SLuiz Otavio O Souzadata is made via the
43855feb68SLuiz Otavio O Souza.Xr sysctl 8
44855feb68SLuiz Otavio O Souzainterface:
45855feb68SLuiz Otavio O Souza.Bd -literal
46855feb68SLuiz Otavio O Souzadev.ti_adc.0.%desc: TI ADC controller
47855feb68SLuiz Otavio O Souzadev.ti_adc.0.%driver: ti_adc
48855feb68SLuiz Otavio O Souzadev.ti_adc.0.%pnpinfo: name=adc@44E0D000 compat=ti,adc
49855feb68SLuiz Otavio O Souzadev.ti_adc.0.%parent: simplebus0
50855feb68SLuiz Otavio O Souzadev.ti_adc.0.clockdiv: 2400
51855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.0.enable: 0
52855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.0.open_delay: 0
53855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.0.samples_avg: 0
54855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.0.input: 0
55855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.1.enable: 0
56855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.1.open_delay: 0
57855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.1.samples_avg: 0
58855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.1.input: 0
59855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.2.enable: 0
60855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.2.open_delay: 0
61855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.2.samples_avg: 0
62855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.2.input: 0
63855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.3.enable: 0
64855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.3.open_delay: 0
65855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.3.samples_avg: 0
66855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.3.input: 0
67855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.4.enable: 0
68855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.4.open_delay: 0
69855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.4.samples_avg: 0
70855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.4.input: 0
71855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.5.enable: 0
72855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.5.open_delay: 0
73855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.5.samples_avg: 0
74855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.5.input: 0
75855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.6.enable: 1
76855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.6.open_delay: 0
77855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.6.samples_avg: 4
78855feb68SLuiz Otavio O Souzadev.ti_adc.0.ain.6.input: 2308
79f7eebb77SLuiz Otavio O Souzadev.ti_adc.0.ain.7.enable: 1
80f7eebb77SLuiz Otavio O Souzadev.ti_adc.0.ain.7.open_delay: 0
81f7eebb77SLuiz Otavio O Souzadev.ti_adc.0.ain.7.samples_avg: 0
82f7eebb77SLuiz Otavio O Souzadev.ti_adc.0.ain.7.input: 3812
83855feb68SLuiz Otavio O Souza.Ed
84855feb68SLuiz Otavio O Souza.Pp
85f7eebb77SLuiz Otavio O SouzaOn Beaglebone-black the analog input 7 is connected to the 3V3B rail through
86f7eebb77SLuiz Otavio O Souzaa voltage divisor (2:1).
87f7eebb77SLuiz Otavio O SouzaThe 3V3B voltage rail comes from the TL5209 LDO regulator which is limited
88f7eebb77SLuiz Otavio O Souzato 500mA maximum.
89f7eebb77SLuiz Otavio O Souza.Pp
90855feb68SLuiz Otavio O SouzaGlobal settings:
91855feb68SLuiz Otavio O Souza.Bl -tag -width ".Va dev.ti_adc.0.clockdiv"
92855feb68SLuiz Otavio O Souza.It Va dev.ti_adc.0.clockdiv
93855feb68SLuiz Otavio O SouzaSets the ADC clock prescaler.
94855feb68SLuiz Otavio O SouzaThe minimum value is 10 and the maximum is 65535.
95855feb68SLuiz Otavio O SouzaThe ADC clock is based on CLK_M_OSC (24Mhz) / clockdiv.
96855feb68SLuiz Otavio O SouzaThis gives a maximum of ~2.4Mhz for the ADC clock and ~10Khz for the default
97855feb68SLuiz Otavio O Souzasetting (clockdiv = 2400).
98855feb68SLuiz Otavio O Souza.El
99855feb68SLuiz Otavio O Souza.Pp
100855feb68SLuiz Otavio O SouzaSettings per input:
101855feb68SLuiz Otavio O Souza.Bl -tag -width ".Va dev.ti_adc.0.ain.%d.samples_avg"
102855feb68SLuiz Otavio O Souza.It Va dev.ti_adc.0.ain.%d.enable
103855feb68SLuiz Otavio O SouzaEnable the conversion for the input.
104855feb68SLuiz Otavio O SouzaEach input should be individually enabled before it can be used.
105855feb68SLuiz Otavio O SouzaWhen all the inputs are disabled, the ADC is turned off.
106855feb68SLuiz Otavio O Souza.It Va dev.ti_adc.0.ain.%d.open_delay
107855feb68SLuiz Otavio O SouzaSets the number of ADC clock cycles to wait after applying the input
108855feb68SLuiz Otavio O Souzaconfiguration and before start the ADC conversion.
109855feb68SLuiz Otavio O Souza.It Va dev.ti_adc.0.ain.%d.samples_avg
110855feb68SLuiz Otavio O SouzaSets the number of samples average used on each input, it can be set to 0
111855feb68SLuiz Otavio O Souza(no samples average), 2, 4, 8, or 16.
112855feb68SLuiz Otavio O Souza.It Va dev.ti_adc.0.ain.%d.input
113855feb68SLuiz Otavio O SouzaIs the converted raw value of the voltage applied on the analog input.
114855feb68SLuiz Otavio O SouzaIt is made of a 12 bit value (0 ~ 4095).
115855feb68SLuiz Otavio O Souza.El
116855feb68SLuiz Otavio O Souza.Sh SEE ALSO
117855feb68SLuiz Otavio O Souza.Xr sysctl 8
118855feb68SLuiz Otavio O Souza.Sh HISTORY
119855feb68SLuiz Otavio O SouzaThe
120855feb68SLuiz Otavio O Souza.Nm
121855feb68SLuiz Otavio O Souzadriver first appeared in
122f7eebb77SLuiz Otavio O Souza.Fx 10.1 .
123855feb68SLuiz Otavio O Souza.Sh AUTHORS
124855feb68SLuiz Otavio O Souza.An -nosplit
125855feb68SLuiz Otavio O SouzaThe driver and this manual page was written by
126*6c899950SBaptiste Daroussin.An Luiz Otavio O Souza Aq Mt loos@FreeBSD.org .
127