mirror of
https://gitlab.com/manzerbredes/ina260-sysfs-driver.git
synced 2025-04-19 04:09:45 +00:00
29 lines
No EOL
1.4 KiB
Markdown
Executable file
29 lines
No EOL
1.4 KiB
Markdown
Executable file
# INA260 Linux Drivers
|
|
|
|
This project provides two drivers:
|
|
1) `ina2xx.c` that is compatible with [hwmon](https://docs.kernel.org/hwmon/hwmon-kernel-api.html)
|
|
2) `ina260.c` that provides an entire support for registers and fields of the ina260 and maximize performance over compatibility
|
|
|
|
## Installation
|
|
|
|
$ make
|
|
$ sudo insmod ina260.ko
|
|
|
|
## Managing INA260 devices
|
|
- Add device: `echo ina260 [devaddr] > /sys/bus/i2c/devices/<bus>/new_device`
|
|
- Delete device: `echo [devaddr] > /sys/bus/i2c/devices/<bus>/delete_device`
|
|
|
|
## Sysfs structure for the `ina2xx.c`
|
|
|
|
You will mostly use the [lm-sensors](https://github.com/lm-sensors/lm-sensors) utility.
|
|
|
|
## Sysfs structure for the `ina260.c`
|
|
- Overview: `tree /sys/kernel/ina260`
|
|
- You can access to each device registers in `/sys/kernel/ina260/<device>/registers/`
|
|
- You can access to each device register fields in `/sys/kernel/ina260/<device>/fields/`
|
|
- You can access to the currently measured current, voltage and power via `/sys/kernel/ina260/<device>/<power|current|voltage>` (units are watts, amperes and volts respectively)
|
|
|
|
For more informations on the registers/fields, please refer to the [ina260 datasheet](https://www.ti.com/lit/gpn/INA260).
|
|
|
|
## Notes
|
|
- Tested so far on a [Beaglebone Black](https://www.beagleboard.org/boards/beaglebone-black) with a [Mikrobus Cape](https://www.mikroe.com/beaglebone-mikrobus-cape) with up to four ina260 devices attached. |