[PATCH v3 2/2] iio: adc: add Nuvoton NCT7201 ADC driver
David Lechner
dlechner at baylibre.com
Tue Jan 7 01:50:18 AEDT 2025
On 1/6/25 2:33 AM, Yu-Hsian Yang wrote:
> Dear Andy,
>
> Thanks for your comments.
>
> Andy Shevchenko <andriy.shevchenko at linux.intel.com> 於 2024年12月27日 週五 下午8:14寫道:
>>
>> On Thu, Dec 26, 2024 at 01:53:13PM +0800, Eason Yang wrote:
>>> Add Nuvoton NCT7201/NCT7202 system voltage monitor 12-bit ADC driver
>>>
>>> NCT7201/NCT7202 supports up to 12 analog voltage monitor inputs and up to
>>> 4 SMBus addresses by ADDR pin. Meanwhile, ALERT# hardware event pins for
>>> independent alarm signals, and the all threshold values could be set for
>>> system protection without any timing delay. It also supports reset input
>>> RSTIN# to recover system from a fault condition.
>>>
>>> Currently, only single-edge mode conversion and threshold events support.
>>
...
>>
>>> +static const struct regmap_config nct7201_regmap8_config = {
>>> + .name = "vin-data-read-byte",
>>> + .reg_bits = 8,
>>> + .val_bits = 8,
>>> + .max_register = 0xff,
>>> +};
>>> +
>>> +static const struct regmap_config nct7201_regmap16_config = {
>>> + .name = "vin-data-read-word",
>>> + .reg_bits = 8,
>>> + .val_bits = 16,
>>> + .max_register = 0xff,
>>> +};
>>
>> I don't see how these configurations will prevent, e.g., debugfs to access
>> 16-bit registers via 8-bit IO and vice versa.
>>
>
> Read VIN info can use word read or byte read, and other registers
> should use byte read.
>
> The design is that VIN info registers are used 16-bit debugfs to access and
> other registers are used 8-bit debugfs to access.
>
> We need to probe 8-bit regmap and 16-bit regmap,
> but I have no idea how to prevent 8-bit IO to access 16-bit registers
> and vice versa.
You can do this with struct regmap_access_table via wr_table and rd_table
in the struct regmap_config.
More information about the openbmc
mailing list