| # 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 |
| |
| power-domains: |
| maxItems: 1 |
| |
| 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>; |
| }; |
| }; |
| ... |