1. 02 Nov, 2015 1 commit
    • Przemyslaw Marczak's avatar
      dm: adc: add simple ADC uclass implementation · 5decbf53
      Przemyslaw Marczak authored
      This commit adds:
      - new uclass id: UCLASS_ADC
      - new uclass driver: drivers/adc/adc-uclass.c
      
      The new uclass's API allows for ADC operation on:
      * single-channel with channel selection by a number
      * multti-channel with channel selection by bit mask
      
      ADC 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 mask
      
      The 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 node
      And 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: default avatarPrzemyslaw Marczak <p.marczak@samsung.com>
      Cc: Simon Glass <sjg@chromium.org>
      Signed-off-by: default avatarMinkyu Kang <mk7.kang@samsung.com>
      5decbf53