Драйвер управления вентилятором
=================================

Используется в проекте ETL-N.

В ETL-N ШИМ для управления вентилятором реализован в FPGA.

Это драйвер умеет:
  * Управлять режимом работы вентилятора через регистры FPGA.
  * Предоставлять hwmon устройство для управления из userspace.
  

На данный момент в FPGA поддерживается только 4 режима:
  * Выключен
  * 30%
  * 60%
  * 100%

В sysfs настройка PWM выполняется записью от 0 до 255.
Поэтому, драйвер выполяет округление (слева -- записанное
число в sysfs, справа -- выбранный в FPGA режим):
  * 0             -- выключен
  * от 1 до 127   -- 30%
  * от 128 до 255 -- 60%
  * 255           -- 100%

При чтении возвращается реальное значение PWM:
  * выключен      -- 0
  * 30%           -- 76
  * 60%           -- 153
  * 100%          -- 255


Никакого кеширования нет.
Запись в регистры FPGA происходит при каждой записи в sysfs.
Это сделано, чтобы избежать проблем, даже в ситуации,
если кто-то запишет данные в регистры FPGA в обход драйвера.



Зависимости
------------

Использует драйвера etn-fpga-mgr и etn-io



Требования к FPGA
-----------------

В FPGA должны присутствовать фича "FAN"



Требования к .dtb
-----------------

В .dtb должны быть следующие строки:

```
  etn-fan {
    compatible = "etn,fan";
  };
```



Какие значения можно записать/прочитать из sysfs?
-------------------------------------------------

PWM задаётся в диапазоне от 0 до 255.

Сейчас в sysfs доступно только текущее значение вентилятора:
  * pwm1 (RW)

