Port-arm archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
New ADC driver for Amlogic Meson
I have written a driver for the Amlogic Meson SoC's ADC and tested it on
the ODROID C2.
The ADC's 8 channels are exposed through the envsys(2) framework, so it
is not limited to the 2 channels exposed on the ODROID C2's GPIO header.
For each conversion, a series of 8 samples is averaged, which takes over
40 microseconds.
This driver is thus not suited for fast data acquisition.
I don't know if attachments are ok on the mailing-list, so I made
thesource code available here: http://www.defert.com/meson_adc.c
It belongs in sys/arch/arm/amlogic.
In addition, the following lines must be added in
sys/arch/arm/amlogic/files.meson:
# ADC
device mesonadc
attach mesonadc at fdt with meson_adc
file arch/arm/amlogic/meson_adc.c meson_adc
and the line below in sys/arch/evbarm/config/GENERIC64:
mesonadc* at fdt? # Amlogic Meson SAR ADC
While you're at it, please also add to GENERIC64 the missing line for
the I2C driver, which I had forgotten to mention lately:
mesoniic* at fdt? # Amlogic Meson I2C
To test the driver, apply a known voltage __under 1.8V__ to pin 40 (ch0)
or 37 (ch1) of the ODROID C2's GPIO header and simply run envstat with
no argument.
The C2's ADC has a 10-bit resolution, that is more or less 3 digits
after the decimal point.
Home |
Main Index |
Thread Index |
Old Index