1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4cb7aa33aSEmmanuel Vadot$id: http://devicetree.org/schemas/iio/dac/st,stm32-dac.yaml# 5cb7aa33aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 78bab661aSEmmanuel Vadottitle: STMicroelectronics STM32 DAC 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotdescription: | 10c66ec88fSEmmanuel Vadot The STM32 DAC is a 12-bit voltage output digital-to-analog converter. The DAC 11c66ec88fSEmmanuel Vadot may be configured in 8 or 12-bit mode. It has two output channels, each with 12c66ec88fSEmmanuel Vadot its own converter. 13c66ec88fSEmmanuel Vadot It has built-in noise and triangle waveform generator and supports external 14c66ec88fSEmmanuel Vadot triggers for conversions. The DAC's output buffer allows a high drive output 15c66ec88fSEmmanuel Vadot current. 16c66ec88fSEmmanuel Vadot 17c66ec88fSEmmanuel Vadotmaintainers: 188cc087a1SEmmanuel Vadot - Fabrice Gasnier <fabrice.gasnier@foss.st.com> 19c66ec88fSEmmanuel Vadot 20c66ec88fSEmmanuel Vadotproperties: 21c66ec88fSEmmanuel Vadot compatible: 22c66ec88fSEmmanuel Vadot enum: 23c66ec88fSEmmanuel Vadot - st,stm32f4-dac-core 24c66ec88fSEmmanuel Vadot - st,stm32h7-dac-core 25c66ec88fSEmmanuel Vadot 26c66ec88fSEmmanuel Vadot reg: 27c66ec88fSEmmanuel Vadot maxItems: 1 28c66ec88fSEmmanuel Vadot 29c66ec88fSEmmanuel Vadot resets: 30c66ec88fSEmmanuel Vadot maxItems: 1 31c66ec88fSEmmanuel Vadot 32c66ec88fSEmmanuel Vadot clocks: 33c66ec88fSEmmanuel Vadot maxItems: 1 34c66ec88fSEmmanuel Vadot 35c66ec88fSEmmanuel Vadot clock-names: 36c66ec88fSEmmanuel Vadot items: 37c66ec88fSEmmanuel Vadot - const: pclk 38c66ec88fSEmmanuel Vadot 39c66ec88fSEmmanuel Vadot vref-supply: 40c66ec88fSEmmanuel Vadot description: Phandle to the vref input analog reference voltage. 41c66ec88fSEmmanuel Vadot 42c66ec88fSEmmanuel Vadot '#address-cells': 43c66ec88fSEmmanuel Vadot const: 1 44c66ec88fSEmmanuel Vadot 45c66ec88fSEmmanuel Vadot '#size-cells': 46c66ec88fSEmmanuel Vadot const: 0 47c66ec88fSEmmanuel Vadot 48*7d0873ebSEmmanuel Vadot access-controllers: 49*7d0873ebSEmmanuel Vadot minItems: 1 50*7d0873ebSEmmanuel Vadot maxItems: 2 51*7d0873ebSEmmanuel Vadot 52c66ec88fSEmmanuel VadotadditionalProperties: false 53c66ec88fSEmmanuel Vadot 54c66ec88fSEmmanuel Vadotrequired: 55c66ec88fSEmmanuel Vadot - compatible 56c66ec88fSEmmanuel Vadot - reg 57c66ec88fSEmmanuel Vadot - clocks 58c66ec88fSEmmanuel Vadot - clock-names 59c66ec88fSEmmanuel Vadot - vref-supply 60c66ec88fSEmmanuel Vadot - '#address-cells' 61c66ec88fSEmmanuel Vadot - '#size-cells' 62c66ec88fSEmmanuel Vadot 63c66ec88fSEmmanuel VadotpatternProperties: 64c66ec88fSEmmanuel Vadot "^dac@[1-2]+$": 65c66ec88fSEmmanuel Vadot type: object 66c66ec88fSEmmanuel Vadot description: 67c66ec88fSEmmanuel Vadot A DAC block node should contain at least one subnode, representing an 68c66ec88fSEmmanuel Vadot DAC instance/channel available on the machine. 69c66ec88fSEmmanuel Vadot 70c66ec88fSEmmanuel Vadot properties: 71c66ec88fSEmmanuel Vadot compatible: 72c66ec88fSEmmanuel Vadot const: st,stm32-dac 73c66ec88fSEmmanuel Vadot 74c66ec88fSEmmanuel Vadot reg: 75c66ec88fSEmmanuel Vadot description: Must be either 1 or 2, to define (single) channel in use 76c66ec88fSEmmanuel Vadot enum: [1, 2] 77c66ec88fSEmmanuel Vadot 78c66ec88fSEmmanuel Vadot '#io-channel-cells': 79c66ec88fSEmmanuel Vadot const: 1 80c66ec88fSEmmanuel Vadot 81c66ec88fSEmmanuel Vadot additionalProperties: false 82c66ec88fSEmmanuel Vadot 83c66ec88fSEmmanuel Vadot required: 84c66ec88fSEmmanuel Vadot - compatible 85c66ec88fSEmmanuel Vadot - reg 86c66ec88fSEmmanuel Vadot - '#io-channel-cells' 87c66ec88fSEmmanuel Vadot 88c66ec88fSEmmanuel Vadotexamples: 89c66ec88fSEmmanuel Vadot - | 90c66ec88fSEmmanuel Vadot // Example on stm32mp157c 91c66ec88fSEmmanuel Vadot #include <dt-bindings/clock/stm32mp1-clks.h> 92c66ec88fSEmmanuel Vadot dac: dac@40017000 { 93c66ec88fSEmmanuel Vadot compatible = "st,stm32h7-dac-core"; 94c66ec88fSEmmanuel Vadot reg = <0x40017000 0x400>; 95c66ec88fSEmmanuel Vadot clocks = <&rcc DAC12>; 96c66ec88fSEmmanuel Vadot clock-names = "pclk"; 97c66ec88fSEmmanuel Vadot vref-supply = <&vref>; 98c66ec88fSEmmanuel Vadot #address-cells = <1>; 99c66ec88fSEmmanuel Vadot #size-cells = <0>; 100c66ec88fSEmmanuel Vadot 101c66ec88fSEmmanuel Vadot dac@1 { 102c66ec88fSEmmanuel Vadot compatible = "st,stm32-dac"; 103c66ec88fSEmmanuel Vadot #io-channel-cells = <1>; 104c66ec88fSEmmanuel Vadot reg = <1>; 105c66ec88fSEmmanuel Vadot }; 106c66ec88fSEmmanuel Vadot 107c66ec88fSEmmanuel Vadot dac@2 { 108c66ec88fSEmmanuel Vadot compatible = "st,stm32-dac"; 109c66ec88fSEmmanuel Vadot #io-channel-cells = <1>; 110c66ec88fSEmmanuel Vadot reg = <2>; 111c66ec88fSEmmanuel Vadot }; 112c66ec88fSEmmanuel Vadot }; 113c66ec88fSEmmanuel Vadot 114c66ec88fSEmmanuel Vadot... 115