Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: iio: adc: Add ast2600-adc bindings

Add device tree bindings document for the aspeed ast2600 adc device
driver.

Signed-off-by: Billy Tsai <billy_tsai@aspeedtech.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210831071458.2334-3-billy_tsai@aspeedtech.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

authored by

Billy Tsai and committed by
Jonathan Cameron
2bdb2f00 9cec9be7

+100
+100
Documentation/devicetree/bindings/iio/adc/aspeed,ast2600-adc.yaml
··· 1 + # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/iio/adc/aspeed,ast2600-adc.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: ADC that forms part of an ASPEED server management processor. 8 + 9 + maintainers: 10 + - Billy Tsai <billy_tsai@aspeedtech.com> 11 + 12 + description: | 13 + • 10-bits resolution for 16 voltage channels. 14 + • The device split into two individual engine and each contains 8 voltage 15 + channels. 16 + • Channel scanning can be non-continuous. 17 + • Programmable ADC clock frequency. 18 + • Programmable upper and lower threshold for each channels. 19 + • Interrupt when larger or less than threshold for each channels. 20 + • Support hysteresis for each channels. 21 + • Built-in a compensating method. 22 + • Built-in a register to trim internal reference voltage. 23 + • Internal or External reference voltage. 24 + • Support 2 Internal reference voltage 1.2v or 2.5v. 25 + • Integrate dividing circuit for battery sensing. 26 + 27 + properties: 28 + compatible: 29 + enum: 30 + - aspeed,ast2600-adc0 31 + - aspeed,ast2600-adc1 32 + description: 33 + Their trimming data, which is used to calibrate internal reference volage, 34 + locates in different address of OTP. 35 + 36 + reg: 37 + maxItems: 1 38 + 39 + clocks: 40 + maxItems: 1 41 + description: 42 + Input clock used to derive the sample clock. Expected to be the 43 + SoC's APB clock. 44 + 45 + resets: 46 + maxItems: 1 47 + 48 + "#io-channel-cells": 49 + const: 1 50 + 51 + vref-supply: 52 + description: 53 + The external regulator supply ADC reference voltage. 54 + 55 + aspeed,int-vref-microvolt: 56 + enum: [1200000, 2500000] 57 + description: 58 + ADC internal reference voltage in microvolts. 59 + 60 + aspeed,battery-sensing: 61 + type: boolean 62 + description: 63 + Inform the driver that last channel will be used to sensor battery. 64 + 65 + aspeed,trim-data-valid: 66 + type: boolean 67 + description: | 68 + The ADC reference voltage can be calibrated to obtain the trimming 69 + data which will be stored in otp. This property informs the driver that 70 + the data store in the otp is valid. 71 + 72 + required: 73 + - compatible 74 + - reg 75 + - clocks 76 + - resets 77 + - "#io-channel-cells" 78 + 79 + additionalProperties: false 80 + 81 + examples: 82 + - | 83 + #include <dt-bindings/clock/ast2600-clock.h> 84 + adc0: adc@1e6e9000 { 85 + compatible = "aspeed,ast2600-adc0"; 86 + reg = <0x1e6e9000 0x100>; 87 + clocks = <&syscon ASPEED_CLK_APB2>; 88 + resets = <&syscon ASPEED_RESET_ADC>; 89 + #io-channel-cells = <1>; 90 + aspeed,int-vref-microvolt = <2500000>; 91 + }; 92 + adc1: adc@1e6e9100 { 93 + compatible = "aspeed,ast2600-adc1"; 94 + reg = <0x1e6e9100 0x100>; 95 + clocks = <&syscon ASPEED_CLK_APB2>; 96 + resets = <&syscon ASPEED_RESET_ADC>; 97 + #io-channel-cells = <1>; 98 + aspeed,int-vref-microvolt = <2500000>; 99 + }; 100 + ...