162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/iio/adc/renesas,rcar-gyroadc.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Renesas R-Car GyroADC 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Marek Vasut <marek.vasut+renesas@gmail.com> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci The GyroADC block is a reduced SPI block with up to 8 chipselect lines, 1462306a36Sopenharmony_ci which supports the SPI protocol of a selected few SPI ADCs. The SPI ADCs 1562306a36Sopenharmony_ci are sampled by the GyroADC block in a round-robin fashion and the result 1662306a36Sopenharmony_ci presented in the GyroADC registers. 1762306a36Sopenharmony_ci The ADC bindings should match with that of the devices connected to a 1862306a36Sopenharmony_ci full featured SPI bus. 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciproperties: 2162306a36Sopenharmony_ci compatible: 2262306a36Sopenharmony_ci items: 2362306a36Sopenharmony_ci - enum: 2462306a36Sopenharmony_ci - renesas,r8a7791-gyroadc 2562306a36Sopenharmony_ci - renesas,r8a7792-gyroadc 2662306a36Sopenharmony_ci - const: renesas,rcar-gyroadc 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci reg: 2962306a36Sopenharmony_ci maxItems: 1 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci clocks: 3262306a36Sopenharmony_ci maxItems: 1 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci clock-names: 3562306a36Sopenharmony_ci const: fck 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci power-domains: 3862306a36Sopenharmony_ci maxItems: 1 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci resets: 4162306a36Sopenharmony_ci maxItems: 1 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci "#address-cells": 4462306a36Sopenharmony_ci const: 1 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci "#size-cells": 4762306a36Sopenharmony_ci const: 0 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ciadditionalProperties: false 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_cirequired: 5262306a36Sopenharmony_ci - compatible 5362306a36Sopenharmony_ci - reg 5462306a36Sopenharmony_ci - clocks 5562306a36Sopenharmony_ci - clock-names 5662306a36Sopenharmony_ci - power-domains 5762306a36Sopenharmony_ci - resets 5862306a36Sopenharmony_ci - "#address-cells" 5962306a36Sopenharmony_ci - "#size-cells" 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_cipatternProperties: 6262306a36Sopenharmony_ci "@[0-7]$": 6362306a36Sopenharmony_ci type: object 6462306a36Sopenharmony_ci properties: 6562306a36Sopenharmony_ci compatible: 6662306a36Sopenharmony_ci description: | 6762306a36Sopenharmony_ci fujitsu,mb88101a 6862306a36Sopenharmony_ci - Fujitsu MB88101A compatible mode, 6962306a36Sopenharmony_ci 12bit sampling, up to 4 channels can be sampled in round-robin 7062306a36Sopenharmony_ci fashion. One Fujitsu chip supplies four GyroADC channels with 7162306a36Sopenharmony_ci data as it contains four ADCs on the chip and thus for 4-channel 7262306a36Sopenharmony_ci operation, single MB88101A is required. The Cx chipselect lines 7362306a36Sopenharmony_ci of the MB88101A connect directly to two CHS lines of the GyroADC, 7462306a36Sopenharmony_ci no demuxer is required. The data out line of each MB88101A 7562306a36Sopenharmony_ci connects to a shared input pin of the GyroADC. 7662306a36Sopenharmony_ci ti,adcs7476 or ti,adc121 or adi,ad7476 7762306a36Sopenharmony_ci - TI ADCS7476 / TI ADC121 / ADI AD7476 compatible mode, 15bit 7862306a36Sopenharmony_ci sampling, up to 8 channels can be sampled in round-robin 7962306a36Sopenharmony_ci fashion. One TI/ADI chip supplies single ADC channel with data, 8062306a36Sopenharmony_ci thus for 8-channel operation, 8 chips are required. 8162306a36Sopenharmony_ci A 3:8 chipselect demuxer is required to connect the nCS line 8262306a36Sopenharmony_ci of the TI/ADI chips to the GyroADC, while MISO line of each 8362306a36Sopenharmony_ci TI/ADI ADC connects to a shared input pin of the GyroADC. 8462306a36Sopenharmony_ci maxim,max1162 or maxim,max11100 8562306a36Sopenharmony_ci - Maxim MAX1162 / Maxim MAX11100 compatible mode, 16bit sampling, 8662306a36Sopenharmony_ci up to 8 channels can be sampled in round-robin fashion. One 8762306a36Sopenharmony_ci Maxim chip supplies single ADC channel with data, thus for 8862306a36Sopenharmony_ci 8-channel operation, 8 chips are required. 8962306a36Sopenharmony_ci A 3:8 chipselect demuxer is required to connect the nCS line 9062306a36Sopenharmony_ci of the MAX chips to the GyroADC, while MISO line of each Maxim 9162306a36Sopenharmony_ci ADC connects to a shared input pin of the GyroADC. 9262306a36Sopenharmony_ci enum: 9362306a36Sopenharmony_ci - adi,ad7476 9462306a36Sopenharmony_ci - fujitsu,mb88101a 9562306a36Sopenharmony_ci - maxim,max1162 9662306a36Sopenharmony_ci - maxim,max11100 9762306a36Sopenharmony_ci - ti,adcs7476 9862306a36Sopenharmony_ci - ti,adc121 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ci reg: 10162306a36Sopenharmony_ci minimum: 0 10262306a36Sopenharmony_ci maximum: 7 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ci vref-supply: true 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ci additionalProperties: false 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci required: 10962306a36Sopenharmony_ci - compatible 11062306a36Sopenharmony_ci - reg 11162306a36Sopenharmony_ci - vref-supply 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ciexamples: 11462306a36Sopenharmony_ci - | 11562306a36Sopenharmony_ci #include <dt-bindings/clock/r8a7791-cpg-mssr.h> 11662306a36Sopenharmony_ci #include <dt-bindings/power/r8a7791-sysc.h> 11762306a36Sopenharmony_ci 11862306a36Sopenharmony_ci adc@e6e54000 { 11962306a36Sopenharmony_ci compatible = "renesas,r8a7791-gyroadc", "renesas,rcar-gyroadc"; 12062306a36Sopenharmony_ci reg = <0xe6e54000 64>; 12162306a36Sopenharmony_ci clocks = <&cpg CPG_MOD 901>; 12262306a36Sopenharmony_ci clock-names = "fck"; 12362306a36Sopenharmony_ci power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 12462306a36Sopenharmony_ci resets = <&cpg 901>; 12562306a36Sopenharmony_ci 12662306a36Sopenharmony_ci #address-cells = <1>; 12762306a36Sopenharmony_ci #size-cells = <0>; 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ci adc@0 { 13062306a36Sopenharmony_ci reg = <0>; 13162306a36Sopenharmony_ci compatible = "maxim,max1162"; 13262306a36Sopenharmony_ci vref-supply = <&vref_max1162>; 13362306a36Sopenharmony_ci }; 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ci adc@1 { 13662306a36Sopenharmony_ci reg = <1>; 13762306a36Sopenharmony_ci compatible = "maxim,max1162"; 13862306a36Sopenharmony_ci vref-supply = <&vref_max1162>; 13962306a36Sopenharmony_ci }; 14062306a36Sopenharmony_ci }; 14162306a36Sopenharmony_ci... 142