I added two new make file 'includes': busses/Module.mk and chips/Module.mk
Frodo- You may want to review the makefile structure to make sure that
the system works as you intended.
Note: The docs still need to be updated to reflect the new file arrangement,
but at least it builds!
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@176 7894878c-1315-0410-8ee3-d5d059ff63e0
output to ADM9240. Status/alarms values need to be implemented instead
of a raw output, but I'll do that too.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@173 7894878c-1315-0410-8ee3-d5d059ff63e0
switch. It can switch two devices which each consume 300mA at 5V (or less).
This is good for fans, lights, or into relays for heftier stuff.
Here's what the usage looks like:
[root@penn sensors]# ls ltc1710-i2c-1-58/*
ltc1710-i2c-1-58/switch1
ltc1710-i2c-1-58/switch2
[root@penn sensors]# cat ltc1710-i2c-1-58/*
0
0
[root@penn sensors]# echo "1" > ltc1710-i2c-1-58/switch2
(blue LED turned on)
[root@penn sensors]# cat ltc1710-i2c-1-58/*
0
1
One problem with the device: It doesn't support reads. It ignores any
read transactions, so even detection with a read won't work. This
also means that the status of the switches has to be remembered and
can't be polled.
As simple as this device is, it is one of the few which actually
allows the computer to send signals OUT into the world to
control something.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@155 7894878c-1315-0410-8ee3-d5d059ff63e0
basically an expanded LM75. It can have an external temp probe (in
addition to the internal one), customizable conversion rate (in # of times
per second, depending on power consumption requirements), and
actually has a device-id register for easier/more-certain detecting!
The only strange property is the low-limit. The low-limit doesn't act
as a Hystersis value like the LM75. I.e., if the temp falls below it,
it triggers an alarm instead of clearing it. Strange, ey? This makes
using the chip for a thermostat control (like for a fan) much harder.
But it *could* be used to turn on a heater to prevent your computer from
freezing. :')
Here's what my output looks like (without a remote sensor. temp's
are the same format as the LM75 [high-limit, low-limit, value]):
[root@penn adm1021-i2c-0-18]# ls -l
total 0
-r--r--r-- 1 root root 0 Jan 9 23:42 die_code
-rw-r--r-- 1 root root 0 Jan 9 23:42 remote_temp
-r--r--r-- 1 root root 0 Jan 9 23:42 status
-rw-r--r-- 1 root root 0 Jan 9 23:42 temp
[root@penn adm1021-i2c-0-18]# cat *
3
60 20 0
76
60 20 24
PS- all temp values in the ADM1021 (limits and readings) are signed
(2's comp) bytes. So, all readings go from -128 to 127 C (actually,
the docs say it can only reliable sense down to -65), and only
in whole degree increments.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@153 7894878c-1315-0410-8ee3-d5d059ff63e0
* Better VDD internal computation, as described in the data sheet;
* Fixed the config file to reflect the above change;
* The library read the wrong file to get its gl518sm alarm data.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@150 7894878c-1315-0410-8ee3-d5d059ff63e0
When computing the fan rotation speed, the register value of the dividers
was used, instead of the value it represents. I'ev fixed this ages ago
for the LM80 driver, but it seems I had forgotten to fix it at other places.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@149 7894878c-1315-0410-8ee3-d5d059ff63e0
* (module) VIN limits are now set to sane values (3V instead of 30V, which
caused nasty overflows)
* (module) VIN limits had min/max swapped in gl518_attach_adapter
* (lib) TEMP_HYST used the VID sysctl instead of the TEMP sysctl, leading
to bogus readings
* (sensors) print n/a for gl518 not available readings.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@145 7894878c-1315-0410-8ee3-d5d059ff63e0
readings. (changed a u8 to a u16 in the data struct.) Now the temp
readings seem to work perfectly!
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@136 7894878c-1315-0410-8ee3-d5d059ff63e0
* Force the Winbond into bank 0 before anything else is done
* Copied fan_div patch from lm78.c
* Copied IN_{FROM,TO}_REG patch from lm78.c
* Copied alarms computation bug fix from lm78.c
* Nicer way of managing banks: the bank number to access is now the high
byte of the (as u16 declared) register number. Only
w38781d_{read,write}_value needs now to be aware of banks. Also, the
w38781d_{read,write}_value functions now know that sensors 2 and temp, hyst
and over registers are word-sized.
* Introduced fan_div for FAN3 and 9-bit temperature readings.
* Made beep file work like the gl518sm one
* Corrected small VID problem (bit 4 was read from the wrong register)
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@121 7894878c-1315-0410-8ee3-d5d059ff63e0
* fan_div should now be handled correctly (please, could anybody play with
this? My fan is on FAN3, the one whose fan_div can't be changed...)
* IN_{TO,FROM}_REG no longer needs the additional in parameter, since we
eliminated scaling in the module.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@114 7894878c-1315-0410-8ee3-d5d059ff63e0
* sensors.conf.eg now contains LM80 declarations
* i2c/i2c-core.c again displays which adapters and clients are found and
connected, but it does not track the calls to transfer functions in dmesg
* Slight alarms computation bug in lm78.c repaired
* First hacks at lm80.c; expect a fully working version later today
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@113 7894878c-1315-0410-8ee3-d5d059ff63e0
This file consists of two numbers: the first is either 0 (global sound
alarm disable) or 1 (enable), the second is in the same encoding as the
'alarm' file and determines for which alarms the speaker will sound.
The new file was added to the module, the library and the sensors application.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@112 7894878c-1315-0410-8ee3-d5d059ff63e0
doesn't seem to have any sensors (I guess?), or the Windbond PDF is so
convoluted that I haven't understood it enough to get it working (another
good possibility). Oh, well. It builds and inserts, anyway.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@85 7894878c-1315-0410-8ee3-d5d059ff63e0
start for the LM80 driver. (Since 80-79=1, they must be very similar,
right? :') Oh, and I removed the ISA components from it since the LM80 is
an SMBus only chip, too.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@84 7894878c-1315-0410-8ee3-d5d059ff63e0
has no Winbond specific features implemented yet. Proper testing for
a Winbond also needs to be implemented. src/Module.mk and src/sensors.h
were modified slightly to support the new driver.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@83 7894878c-1315-0410-8ee3-d5d059ff63e0
* Turned the i2c noise level down, by setting the debug_level in algo-bit.c
and i2c-core.c to 0 instead of 1. This should stop it from polluting
the dmesg output, as it does at this moment.
* Renamed gl518-r?0-* entries to gl518sm-r?0-*
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@82 7894878c-1315-0410-8ee3-d5d059ff63e0
* Only first 64 bytes are read (enough for SDRAM EEPROM data) in 16 byte
blocks (separate proc files).
* No writing to EEPROMs. It's actually quite easy to add support for
writing, but I was being very paranoid about killing my DIMMs. I may add
write support, but make it only available when a #define is specified.
Now for a user app to decode the values...
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@71 7894878c-1315-0410-8ee3-d5d059ff63e0
IF the Winbond docs are right this time, a Winbond should now be
recognized; a warning is printed, and it is treated as a LM79.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@70 7894878c-1315-0410-8ee3-d5d059ff63e0
Strangly enough, both these devices use a high byte, low byte order for
word-sized reads and writes. The SMBus documentation specifies the
reverse (low, high) order, though. If all devices use the high,low order,
we should change this in smbus.c.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@64 7894878c-1315-0410-8ee3-d5d059ff63e0
* Alarms may now work (sound signal disabled, though)
* Revision 0x80 should be recognized and handled correctly
* If fan unconnected, it should show 0 instead of -1 now
Note that this driver will not support GL520SM chips; that chip is different
enough that it deserves its own driver.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@61 7894878c-1315-0410-8ee3-d5d059ff63e0
To be done: support for GL518SM revision 0x80 and GL520SM
Kyösti, if you have some time soon, could you please test it?
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@56 7894878c-1315-0410-8ee3-d5d059ff63e0
See doc/sysctl for an explanation why it is needed.
Also fixed two very small cleanup bugs in lm75/lm78, which would probably be
impossible to trigger anyway, but still.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@51 7894878c-1315-0410-8ee3-d5d059ff63e0
* LM75 temperature limits initializations were switched
* LM78 VID readings were off by a factor 100
* New bit-mask constants in sensors.h for LM78 alarm field
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@49 7894878c-1315-0410-8ee3-d5d059ff63e0
This fix will only work for kernels >= 2.1.58.
* lm75, lm78: {INC,DEC}_MOD_USE_COUNT called for {inc,dec}_mod_use hooks
* sensors: For new kernels, fill_inode is called, which in turn calls
{inc,dec}_mod_use for a certain client
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@46 7894878c-1315-0410-8ee3-d5d059ff63e0
driver (used as a template). It is completely non-functional at this
point, but it's a start. There is a lot of code still specific to the
lm75 in it, so don't try to use it yet. ;') Also note that there needs
to be some concern with using it because a 'write' and a 'read' to an
EEPROM on the SMBus are very similar. So, we need to be carefull not
to start crippling SDRAM DIMMs due to unfinished/buggy code.
This should (when working) be able to read EEPROMs:
* In SDRAM DIMMs which specify the type, clocking, etc. of the DIMM.
* the EEPROMs in the new Intel Xeon processors.
* Any other EEPROM connected to the SMBus conforming to the standard
SMBus comminucation methods for SMBus EEPROMs.
Since only eight possible addresses are available for EEPROMs (at
least from the spec I'm looking at from Atmel), the code will
only probe for eight. Notice that this can lead to some problems
for machines for which this is true: # of SDRAM DIMMs + # of Xeons > 8
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@45 7894878c-1315-0410-8ee3-d5d059ff63e0
* Changed test in lm75 setup code to 'read/write returns < 0' instead of
(old) 'read/write returns 0xff'. Nowadays, we can see the difference
between an error and a 0xff result, after all.
* Introduced constants used by PIIX4 for transaction types. These are
*not* the same as those in smbus.h.
* Some small code optimalizations in piix4.o.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@40 7894878c-1315-0410-8ee3-d5d059ff63e0
* PIIX4: better names in /proc files
* sensors.c: fixed bug which prevented registration of non-ISA clients
Status:
* lm75 inserts happily and interacts with the PIIX4 correctly
* lm75 readings are still wrong (all 0xff)
* lm75 insertion with ISA bus present causes oops
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@39 7894878c-1315-0410-8ee3-d5d059ff63e0