108080963SLad Prabhakar# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 208080963SLad Prabhakar%YAML 1.2 308080963SLad Prabhakar--- 408080963SLad Prabhakar$id: http://devicetree.org/schemas/iio/adc/renesas,rzg2l-adc.yaml# 508080963SLad Prabhakar$schema: http://devicetree.org/meta-schemas/core.yaml# 608080963SLad Prabhakar 708080963SLad Prabhakartitle: Renesas RZ/G2L ADC 808080963SLad Prabhakar 908080963SLad Prabhakarmaintainers: 1008080963SLad Prabhakar - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> 1108080963SLad Prabhakar 1208080963SLad Prabhakardescription: | 1308080963SLad Prabhakar A/D Converter block is a successive approximation analog-to-digital converter 1408080963SLad Prabhakar with a 12-bit accuracy. Up to eight analog input channels can be selected. 1508080963SLad Prabhakar Conversions can be performed in single or repeat mode. Result of the ADC is 1608080963SLad Prabhakar stored in a 32-bit data register corresponding to each channel. 1708080963SLad Prabhakar 1808080963SLad Prabhakarproperties: 1908080963SLad Prabhakar compatible: 20*4af77feaSClaudiu Beznea oneOf: 21*4af77feaSClaudiu Beznea - items: 2208080963SLad Prabhakar - enum: 2332abe97bSLad Prabhakar - renesas,r9a07g043-adc # RZ/G2UL and RZ/Five 2442763b24SBiju Das - renesas,r9a07g044-adc # RZ/G2L 2542763b24SBiju Das - renesas,r9a07g054-adc # RZ/V2L 2608080963SLad Prabhakar - const: renesas,rzg2l-adc 27*4af77feaSClaudiu Beznea - items: 28*4af77feaSClaudiu Beznea - const: renesas,r9a08g045-adc # RZ/G3S 2908080963SLad Prabhakar 3008080963SLad Prabhakar reg: 3108080963SLad Prabhakar maxItems: 1 3208080963SLad Prabhakar 3308080963SLad Prabhakar interrupts: 3408080963SLad Prabhakar maxItems: 1 3508080963SLad Prabhakar 3608080963SLad Prabhakar clocks: 3708080963SLad Prabhakar items: 3808080963SLad Prabhakar - description: converter clock 3908080963SLad Prabhakar - description: peripheral clock 4008080963SLad Prabhakar 4108080963SLad Prabhakar clock-names: 4208080963SLad Prabhakar items: 4308080963SLad Prabhakar - const: adclk 4408080963SLad Prabhakar - const: pclk 4508080963SLad Prabhakar 4608080963SLad Prabhakar power-domains: 4708080963SLad Prabhakar maxItems: 1 4808080963SLad Prabhakar 4908080963SLad Prabhakar resets: 5008080963SLad Prabhakar maxItems: 2 5108080963SLad Prabhakar 5208080963SLad Prabhakar reset-names: 5308080963SLad Prabhakar items: 5408080963SLad Prabhakar - const: presetn 5508080963SLad Prabhakar - const: adrst-n 5608080963SLad Prabhakar 5708080963SLad Prabhakar '#address-cells': 5808080963SLad Prabhakar const: 1 5908080963SLad Prabhakar 6008080963SLad Prabhakar '#size-cells': 6108080963SLad Prabhakar const: 0 6208080963SLad Prabhakar 63*4af77feaSClaudiu Beznea "#io-channel-cells": 64*4af77feaSClaudiu Beznea const: 1 65*4af77feaSClaudiu Beznea 6608080963SLad Prabhakarrequired: 6708080963SLad Prabhakar - compatible 6808080963SLad Prabhakar - reg 6908080963SLad Prabhakar - interrupts 7008080963SLad Prabhakar - clocks 7108080963SLad Prabhakar - clock-names 7208080963SLad Prabhakar - power-domains 7308080963SLad Prabhakar - resets 7408080963SLad Prabhakar - reset-names 7508080963SLad Prabhakar 7608080963SLad PrabhakarpatternProperties: 77*4af77feaSClaudiu Beznea "^channel@[0-8]$": 7834d1e754SKrzysztof Kozlowski $ref: adc.yaml 7908080963SLad Prabhakar type: object 8008080963SLad Prabhakar description: | 8108080963SLad Prabhakar Represents the external channels which are connected to the ADC. 8208080963SLad Prabhakar 8308080963SLad Prabhakar properties: 8408080963SLad Prabhakar reg: 8508080963SLad Prabhakar description: | 86153415feSBiju Das The channel number. 87*4af77feaSClaudiu Beznea minimum: 0 88*4af77feaSClaudiu Beznea maximum: 8 8908080963SLad Prabhakar 9008080963SLad Prabhakar required: 9108080963SLad Prabhakar - reg 9208080963SLad Prabhakar 9308080963SLad Prabhakar additionalProperties: false 9408080963SLad Prabhakar 95153415feSBiju DasallOf: 96153415feSBiju Das - if: 97153415feSBiju Das properties: 98153415feSBiju Das compatible: 99153415feSBiju Das contains: 100153415feSBiju Das const: renesas,r9a07g043-adc 101153415feSBiju Das then: 102153415feSBiju Das patternProperties: 103*4af77feaSClaudiu Beznea "^channel@[2-8]$": false 104153415feSBiju Das "^channel@[0-1]$": 105153415feSBiju Das properties: 106153415feSBiju Das reg: 107153415feSBiju Das maximum: 1 108*4af77feaSClaudiu Beznea 109*4af77feaSClaudiu Beznea - if: 110*4af77feaSClaudiu Beznea properties: 111*4af77feaSClaudiu Beznea compatible: 112*4af77feaSClaudiu Beznea contains: 113*4af77feaSClaudiu Beznea enum: 114*4af77feaSClaudiu Beznea - renesas,r9a07g044-adc 115*4af77feaSClaudiu Beznea - renesas,r9a07g054-adc 116*4af77feaSClaudiu Beznea then: 117153415feSBiju Das patternProperties: 118*4af77feaSClaudiu Beznea "^channel@[8]$": false 119153415feSBiju Das "^channel@[0-7]$": 120153415feSBiju Das properties: 121153415feSBiju Das reg: 122153415feSBiju Das maximum: 7 123153415feSBiju Das 12408080963SLad PrabhakaradditionalProperties: false 12508080963SLad Prabhakar 12608080963SLad Prabhakarexamples: 12708080963SLad Prabhakar - | 12808080963SLad Prabhakar #include <dt-bindings/clock/r9a07g044-cpg.h> 12908080963SLad Prabhakar #include <dt-bindings/interrupt-controller/arm-gic.h> 13008080963SLad Prabhakar 13108080963SLad Prabhakar adc: adc@10059000 { 13208080963SLad Prabhakar compatible = "renesas,r9a07g044-adc", "renesas,rzg2l-adc"; 13308080963SLad Prabhakar reg = <0x10059000 0x400>; 13408080963SLad Prabhakar interrupts = <GIC_SPI 347 IRQ_TYPE_EDGE_RISING>; 13508080963SLad Prabhakar clocks = <&cpg CPG_MOD R9A07G044_ADC_ADCLK>, 13608080963SLad Prabhakar <&cpg CPG_MOD R9A07G044_ADC_PCLK>; 13708080963SLad Prabhakar clock-names = "adclk", "pclk"; 13808080963SLad Prabhakar power-domains = <&cpg>; 13908080963SLad Prabhakar resets = <&cpg R9A07G044_ADC_PRESETN>, 14008080963SLad Prabhakar <&cpg R9A07G044_ADC_ADRST_N>; 14108080963SLad Prabhakar reset-names = "presetn", "adrst-n"; 14208080963SLad Prabhakar 14308080963SLad Prabhakar #address-cells = <1>; 14408080963SLad Prabhakar #size-cells = <0>; 14508080963SLad Prabhakar 14608080963SLad Prabhakar channel@0 { 14708080963SLad Prabhakar reg = <0>; 14808080963SLad Prabhakar }; 14908080963SLad Prabhakar channel@1 { 15008080963SLad Prabhakar reg = <1>; 15108080963SLad Prabhakar }; 15208080963SLad Prabhakar channel@2 { 15308080963SLad Prabhakar reg = <2>; 15408080963SLad Prabhakar }; 15508080963SLad Prabhakar channel@3 { 15608080963SLad Prabhakar reg = <3>; 15708080963SLad Prabhakar }; 15808080963SLad Prabhakar channel@4 { 15908080963SLad Prabhakar reg = <4>; 16008080963SLad Prabhakar }; 16108080963SLad Prabhakar channel@5 { 16208080963SLad Prabhakar reg = <5>; 16308080963SLad Prabhakar }; 16408080963SLad Prabhakar channel@6 { 16508080963SLad Prabhakar reg = <6>; 16608080963SLad Prabhakar }; 16708080963SLad Prabhakar channel@7 { 16808080963SLad Prabhakar reg = <7>; 16908080963SLad Prabhakar }; 17008080963SLad Prabhakar }; 171