19601c94dSFabrice Gasnier# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
29601c94dSFabrice Gasnier%YAML 1.2
39601c94dSFabrice Gasnier---
4*34d1e754SKrzysztof Kozlowski$id: http://devicetree.org/schemas/iio/dac/st,stm32-dac.yaml#
5*34d1e754SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
69601c94dSFabrice Gasnier
784e85359SKrzysztof Kozlowskititle: STMicroelectronics STM32 DAC
89601c94dSFabrice Gasnier
99601c94dSFabrice Gasnierdescription: |
109601c94dSFabrice Gasnier  The STM32 DAC is a 12-bit voltage output digital-to-analog converter. The DAC
119601c94dSFabrice Gasnier  may be configured in 8 or 12-bit mode. It has two output channels, each with
129601c94dSFabrice Gasnier  its own converter.
139601c94dSFabrice Gasnier  It has built-in noise and triangle waveform generator and supports external
149601c94dSFabrice Gasnier  triggers for conversions. The DAC's output buffer allows a high drive output
159601c94dSFabrice Gasnier  current.
169601c94dSFabrice Gasnier
179601c94dSFabrice Gasniermaintainers:
18f4eedebdSPatrice Chotard  - Fabrice Gasnier <fabrice.gasnier@foss.st.com>
199601c94dSFabrice Gasnier
209601c94dSFabrice Gasnierproperties:
219601c94dSFabrice Gasnier  compatible:
229601c94dSFabrice Gasnier    enum:
239601c94dSFabrice Gasnier      - st,stm32f4-dac-core
249601c94dSFabrice Gasnier      - st,stm32h7-dac-core
259601c94dSFabrice Gasnier
269601c94dSFabrice Gasnier  reg:
279601c94dSFabrice Gasnier    maxItems: 1
289601c94dSFabrice Gasnier
299601c94dSFabrice Gasnier  resets:
309601c94dSFabrice Gasnier    maxItems: 1
319601c94dSFabrice Gasnier
329601c94dSFabrice Gasnier  clocks:
339601c94dSFabrice Gasnier    maxItems: 1
349601c94dSFabrice Gasnier
359601c94dSFabrice Gasnier  clock-names:
369601c94dSFabrice Gasnier    items:
379601c94dSFabrice Gasnier      - const: pclk
389601c94dSFabrice Gasnier
399601c94dSFabrice Gasnier  vref-supply:
409601c94dSFabrice Gasnier    description: Phandle to the vref input analog reference voltage.
419601c94dSFabrice Gasnier
429601c94dSFabrice Gasnier  '#address-cells':
439601c94dSFabrice Gasnier    const: 1
449601c94dSFabrice Gasnier
459601c94dSFabrice Gasnier  '#size-cells':
469601c94dSFabrice Gasnier    const: 0
479601c94dSFabrice Gasnier
489601c94dSFabrice GasnieradditionalProperties: false
499601c94dSFabrice Gasnier
509601c94dSFabrice Gasnierrequired:
519601c94dSFabrice Gasnier  - compatible
529601c94dSFabrice Gasnier  - reg
539601c94dSFabrice Gasnier  - clocks
549601c94dSFabrice Gasnier  - clock-names
559601c94dSFabrice Gasnier  - vref-supply
569601c94dSFabrice Gasnier  - '#address-cells'
579601c94dSFabrice Gasnier  - '#size-cells'
589601c94dSFabrice Gasnier
599601c94dSFabrice GasnierpatternProperties:
609601c94dSFabrice Gasnier  "^dac@[1-2]+$":
619601c94dSFabrice Gasnier    type: object
629601c94dSFabrice Gasnier    description:
639601c94dSFabrice Gasnier      A DAC block node should contain at least one subnode, representing an
649601c94dSFabrice Gasnier      DAC instance/channel available on the machine.
659601c94dSFabrice Gasnier
669601c94dSFabrice Gasnier    properties:
679601c94dSFabrice Gasnier      compatible:
689601c94dSFabrice Gasnier        const: st,stm32-dac
699601c94dSFabrice Gasnier
709601c94dSFabrice Gasnier      reg:
719601c94dSFabrice Gasnier        description: Must be either 1 or 2, to define (single) channel in use
729601c94dSFabrice Gasnier        enum: [1, 2]
739601c94dSFabrice Gasnier
749601c94dSFabrice Gasnier      '#io-channel-cells':
759601c94dSFabrice Gasnier        const: 1
769601c94dSFabrice Gasnier
779601c94dSFabrice Gasnier    additionalProperties: false
789601c94dSFabrice Gasnier
799601c94dSFabrice Gasnier    required:
809601c94dSFabrice Gasnier      - compatible
819601c94dSFabrice Gasnier      - reg
829601c94dSFabrice Gasnier      - '#io-channel-cells'
839601c94dSFabrice Gasnier
849601c94dSFabrice Gasnierexamples:
859601c94dSFabrice Gasnier  - |
869601c94dSFabrice Gasnier    // Example on stm32mp157c
879601c94dSFabrice Gasnier    #include <dt-bindings/clock/stm32mp1-clks.h>
889601c94dSFabrice Gasnier    dac: dac@40017000 {
899601c94dSFabrice Gasnier      compatible = "st,stm32h7-dac-core";
909601c94dSFabrice Gasnier      reg = <0x40017000 0x400>;
919601c94dSFabrice Gasnier      clocks = <&rcc DAC12>;
929601c94dSFabrice Gasnier      clock-names = "pclk";
939601c94dSFabrice Gasnier      vref-supply = <&vref>;
949601c94dSFabrice Gasnier      #address-cells = <1>;
959601c94dSFabrice Gasnier      #size-cells = <0>;
969601c94dSFabrice Gasnier
979601c94dSFabrice Gasnier      dac@1 {
989601c94dSFabrice Gasnier        compatible = "st,stm32-dac";
999601c94dSFabrice Gasnier        #io-channel-cells = <1>;
1009601c94dSFabrice Gasnier        reg = <1>;
1019601c94dSFabrice Gasnier      };
1029601c94dSFabrice Gasnier
1039601c94dSFabrice Gasnier      dac@2 {
1049601c94dSFabrice Gasnier        compatible = "st,stm32-dac";
1059601c94dSFabrice Gasnier        #io-channel-cells = <1>;
1069601c94dSFabrice Gasnier        reg = <2>;
1079601c94dSFabrice Gasnier      };
1089601c94dSFabrice Gasnier    };
1099601c94dSFabrice Gasnier
1109601c94dSFabrice Gasnier...
111