ADC device binding There are no mandatory properties for ADC. However, if Voltage info is required, then there are two options: - use microvolts constraint or - use regulator phandle to enable/read supply's Voltage Properties and constraints: *optional and always checked, Voltage polarity info: - vdd-polarity-negative: positive reference Voltage has a negative polarity - vss-polarity-negative: negative reference Voltage has a negative polarity Chose one option, for each supply (Vdd/Vss): *optional and always checked, supply Voltage constants: - vdd-supply: phandle to Vdd regulator's node - vss-supply: phandle to Vss regulator's node *optional and checked only if the above corresponding, doesn't exist: - vdd-microvolts: positive reference Voltage value [uV] - vss-microvolts: negative reference Voltage value [uV] Example with constant 'Vdd' value: adc@1000000 { compatible = "some-adc"; reg = <0xaabb000 0x100>; status = "enabled"; vdd-microvolts = <1800000>; }; Example of supply phandle usage, for the ADC's VDD/VSS references as below: _______ _______ |Sandbox| |Sandbox| : PMIC : : ADC : . . . . | | (Vdd) | AIN0|--> | BUCK2|-------|VDDref | | (3.3V)| _|VSSref | |_______| | |_______| _|_ For the above PMIC, the node can be defined as follows: sandbox_pmic { compatible = "sandbox,pmic"; ... buck2: buck2 { regulator-name = "SUPPLY_3.3V"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; ... }; For the above ADC, the node can be defined as follows: adc@0 { compatible = "sandbox,adc"; vdd-supply = <&buck2>; vss-microvolts = <0>; }; The ADC uclass code, will enable the supply before start of the conversion, but it will not configure the regulator settings.