АЦП включаются в дереве устройств в разделе adc. В простейшем случае
&adc {
status = "okay";
};
Для того чтобы работать с ними с помощью Entity-Manager требуется драйвер iio-hwmon
iio-hwmon {
compatible = "iio-hwmon";
io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, <&adc 4>,
<&adc 5>, <&adc 6>, <&adc 7>, <&adc 8>, <&adc 9>,
<&adc 10>, <&adc 11>, <&adc 12>, <&adc 13>, <&adc 14>;
};
Проверить наличие CONFIG_ASPEED_ADC=y
в конфигурации
После этого можно перечислять в конфигурации
{
"Index": 10,
"Name": "VOLT_PCH_1.8V",
"ScaleFactor": 0.7519,
"Type": "ADC"
},
ScaleFactor обычно можно вычислить воспользовавшись калькулятором делителя напряжения (в данном случае 1/value) Для измерения напряжения батареи используется дополнительный gpio, для того чтобы батарея быстро не садилась от частого измерения. Для этого линия gpio должна быть названа. В конфигураторе Entity-manager для данного АЦП добавляется
"BridgeGpio": [
{
"Name": "BAT_HWM_EN",
"Polarity": "High"
}
],
При описании конфигурации датчиков напряжения i2c обратить внимания на значения типа in0_Max, т.к. они влияют на ipmi