Output problem with adcxx on at91

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I am attempting to setup lm-sensors on an embedded platform, more specifically the Micromint Electrum 100. I'm experiencing an issue with the output of the sensors program where the output is obviously bogus, especially given that all the values are identical. Some basic details about the system:

- 6.04 Debian squeeze
- Atmel AT91SAM9G20 cpu (armv5)
- ADC128S052 SPI ADC
- atmel_spi driver built in to pre-compiled kernel
- hwmon, and adcxx loaded as modules later

The adcxx kernel module successfully loads and binds to the device. Reading the sysfs files it creates for each input, the same value of 52799 is seen on each. I know the device works because I have tested it with some userland example code provided by the manufacturer and get expected values for various inputs.

I initially had an issue with getting the adcxx module to bind with the device, but found that the problem was because of an alias problem. In ./arch/arm/mach-at91/board-electrum-100.c the ADC was declared with an alias as shown in the code segment below:

/static struct spi_board_info ek_spi_devices[] = {
/  .....
/    {    /* ADC128S052 analog inputs */
/        .modalias    = "adc128s052",
/        .chip_select    = 2,
/        .max_speed_hz    = 8 * 1000 * 1000,
/        .bus_num    = 1,
/    },
/  .....

Rather than change the alias in board-electrum-100.c and have to recompile and install a new kernel, I opted to add the alias as shown above to adcxx_ids[] in adcxx.c

/static const struct spi_device_id adcxx_ids[] = {
/    { "adcxx1s", 1 },
/    { "adcxx2s", 2 },
/    { "adcxx4s", 4 },
/    { "adcxx8s", 8 },
/    { "adc128s052", 8},   <-- added here
/    { },
/};

With that done, sensors starting giving me output, just not anything worth reading. At this point I'm a little baffled as to what is causing this and crawling the internet has turned up nothing. Here is my output for sensors:

electrum100:~# sensors
adcxx8s-spi-1-2
Adapter: SPI adapter
in0:         +52.80 V
in1:         +52.80 V
in2:         +52.80 V
in3:         +52.80 V
in4:         +52.80 V
in5:         +52.80 V
in6:         +52.80 V
in7:         +52.80 V


Any help would be greatly appreciated.  Thank you.

    - John

_______________________________________________
lm-sensors mailing list
lm-sensors@xxxxxxxxxxxxxx
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors


[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux