Difference between revisions of "AS1531"
(→modprobe) |
|||
Line 96: | Line 96: | ||
All values read are in milivolts. | All values read are in milivolts. | ||
+ | [[Category:ExternalDeviceControl]] | ||
+ | [[Category:Linux drivers]] | ||
+ | [[Category:Analog to Digital Converter]] |
Revision as of 17:04, 18 February 2011
Introduction
AS1531 is a 8 channels 12bits analog do digital converter made by Austriamicrosystem. The driver is included in ARMadeus distribution, but not currently on ARMadeus board.
Soldering
AS1531 chip use a SPI bus to communicate with the microprocessor, then to use it on APFx board it must be solder on a SPI bus. For example on APF27-Dev board it can be soldered on SPI3 bus, that can be found on connector J8.
J8 pin | AS1531 pin |
---|---|
SD1_D0_SPI3_MISO | DOUT |
SD1_D3_SPI3_SS | CSN |
SD1_CMD_SPI3_MOSI | DIN |
SP1_CLK_SPI3_SCLK | SCLK |
Driver
The driver is included in ARMadeus distribution, then to use it, select it :
[ ] $ make linux26-menuconfig
Device Drivers ---> <M> Hardware Monitoring support ---> <M> Austria Microsystems AS1531 Analog to Digital Converter
If the chip is plugged on SPI3 don't forget to select SPI3 and platform module :
Device Drivers ---> [*] SPI support ---> [*] CSPI3
Device Drivers ---> Armadeus specific drivers ---> <M> AS1531 platform data
Then compile the distribution :
[ ] $ make linux26;make
Use it
modprobe
To use the ADC first load module hwmon and as1531 (if configured as module) :
# modprobe hwmon # modprobe as1531 # modprobe as1531_plat
read values
If chip is plugged on SPI3, adc input file will be found under directory :
# cd /sys/bus/spi/devices/spi2.0/ # ls driver in1_input in4_input in7_input modalias subsystem hwmon in2_input in5_input in_max name uevent in0_input in3_input in6_input in_min power
or:
# cd /sys/class/hwmon/hwmon0/device/ # ls driver in1_input in4_input in7_input modalias subsystem hwmon in2_input in5_input in_max name uevent in0_input in3_input in6_input in_min power
To read adc value just «cat» an input :
# cat in5_input 887
All values read are in milivolts.