dm: adc: add simple ADC uclass implementationThis commit adds:- new uclass id: UCLASS_ADC- new uclass driver: drivers/adc/adc-uclass.cThe new uclass's API allows for ADC operation on:* single-
dm: adc: add simple ADC uclass implementationThis commit adds:- new uclass id: UCLASS_ADC- new uclass driver: drivers/adc/adc-uclass.cThe new uclass's API allows for ADC operation on:* single-channel with channel selection by a number* multti-channel with channel selection by bit maskADC uclass's functions:* single-channel: - adc_start_channel() - start channel conversion - adc_channel_data() - get conversion data - adc_channel_single_shot() - start/get conversion data* multi-channel: - adc_start_channels() - start selected channels conversion - adc_channels_data() - get conversion data - adc_channels_single_shot() - start/get conversion data for channels selected by bit mask* general: - adc_stop() - stop the conversion - adc_vdd_value() - positive reference Voltage value with polarity [uV] - adc_vss_value() - negative reference Voltage value with polarity [uV] - adc_data_mask() - conversion data bit maskThe device tree can provide below constraints/properties:- vdd-polarity-negative: if true: Vdd = vdd-microvolts * (-1)- vss-polarity-negative: if true: Vss = vss-microvolts * (-1)- vdd-supply: phandle to Vdd regulator's node- vss-supply: phandle to Vss regulator's nodeAnd optional, checked only if the above corresponding, doesn't exist: - vdd-microvolts: positive reference Voltage [uV] - vss-microvolts: negative reference Voltage [uV]Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com>Cc: Simon Glass <sjg@chromium.org>Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
show more ...