# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/iio/adc/amlogic,meson-saradc.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Amlogic Meson SAR (Successive Approximation Register) A/D converter maintainers: - Martin Blumenstingl <martin.blumenstingl@googlemail.com> description: Binding covers a range of ADCs found on Amlogic Meson SoCs. properties: compatible: oneOf: - const: amlogic,meson-saradc - items: - enum: - amlogic,meson8-saradc - amlogic,meson8b-saradc - amlogic,meson8m2-saradc - amlogic,meson-gxbb-saradc - amlogic,meson-gxl-saradc - amlogic,meson-gxm-saradc - amlogic,meson-axg-saradc - amlogic,meson-g12a-saradc - const: amlogic,meson-saradc reg: maxItems: 1 interrupts: description: Interrupt indicates end of sampling. maxItems: 1 clocks: minItems: 2 maxItems: 4 clock-names: minItems: 2 items: - const: clkin - const: core - const: adc_clk - const: adc_sel vref-supply: true "#io-channel-cells": const: 1 amlogic,hhi-sysctrl: $ref: /schemas/types.yaml#/definitions/phandle description: Syscon which contains the 5th bit of the TSC (temperature sensor coefficient) on Meson8b and Meson8m2 (which used to calibrate the temperature sensor) nvmem-cells: description: phandle to the temperature_calib eFuse cells maxItems: 1 nvmem-cell-names: const: temperature_calib allOf: - if: properties: compatible: contains: enum: - amlogic,meson8-saradc - amlogic,meson8b-saradc - amlogic,meson8m2-saradc then: properties: clocks: maxItems: 2 clock-names: maxItems: 2 else: properties: nvmem-cells: false mvmem-cel-names: false clocks: minItems: 4 clock-names: minItems: 4 - if: properties: compatible: contains: enum: - amlogic,meson8b-saradc - amlogic,meson8m2-saradc then: properties: amlogic,hhi-sysctrl: true else: properties: amlogic,hhi-sysctrl: false required: - compatible - reg - interrupts - clocks - clock-names - "#io-channel-cells" additionalProperties: false examples: - | #include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/clock/gxbb-clkc.h> #include <dt-bindings/interrupt-controller/arm-gic.h> soc { #address-cells = <2>; #size-cells = <2>; adc@8680 { compatible = "amlogic,meson-gxl-saradc", "amlogic,meson-saradc"; #io-channel-cells = <1>; reg = <0x0 0x8680 0x0 0x34>; interrupts = <GIC_SPI 73 IRQ_TYPE_EDGE_RISING>; clocks = <&xtal>, <&clkc CLKID_SAR_ADC>, <&clkc CLKID_SAR_ADC_CLK>, <&clkc CLKID_SAR_ADC_SEL>; clock-names = "clkin", "core", "adc_clk", "adc_sel"; }; adc@9680 { compatible = "amlogic,meson8b-saradc", "amlogic,meson-saradc"; #io-channel-cells = <1>; reg = <0x0 0x9680 0x0 0x34>; interrupts = <GIC_SPI 73 IRQ_TYPE_EDGE_RISING>; clocks = <&xtal>, <&clkc CLKID_SAR_ADC>; clock-names = "clkin", "core"; nvmem-cells = <&tsens_caldata>; nvmem-cell-names = "temperature_calib"; amlogic,hhi-sysctrl = <&hhi>; }; }; ...