# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/sound/esstech,es9039q2m.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: ESS Technology ES9039Q2M audio DAC maintainers: - Karl Asseily description: The ES9039Q2M is a 32-bit two-channel audio DAC supporting PCM to 768 kHz, DSD64 to DSD1024, DoP and S/PDIF. It is controlled over I2C or SPI when the MODE pin selects software mode; this binding covers the I2C interface. The part contains an asynchronous sample rate converter, so the system clock need not be synchronous with the audio bit or frame clocks. The four supplies are all nominally 3.3V and the datasheet requires a set order - AVDD first, then VCCA about 200us later, then AVCC_DAC1 and AVCC_DAC2, and the reverse on the way down. DVDD, the part's 1.2V rail, is on-chip and needs only its decoupling capacitor - it is not a supply input and has no property here. allOf: - $ref: dai-common.yaml# properties: compatible: const: esstech,es9039q2m reg: description: I2C address, selected by the ADDR0 and ADDR1 pins - 0x48, 0x49, 0x4a or 0x4b for GND/GND, GND/AVDD, AVDD/GND and AVDD/AVDD respectively. enum: [ 0x48, 0x49, 0x4a, 0x4b ] clocks: maxItems: 1 clock-names: const: mclk avdd-supply: description: 3.3V supply for the part's internal digital regulator, pin AVDD. It is the first rail up and the last down, per the ordering described above. vcca-supply: description: 3.3V analogue supply, pin VCCA. avcc-dac1-supply: description: 3.3V reference supply for the channel 1 analogue output stage, pin AVCC_DAC1. The datasheet allows this rail to move by up to 15% where a calibrating regulator tracks the DAC's output impedance. avcc-dac2-supply: description: 3.3V reference supply for the channel 2 analogue output stage, pin AVCC_DAC2, with the same 15% allowance as channel 1. "#sound-dai-cells": const: 0 required: - compatible - reg - avdd-supply - vcca-supply - avcc-dac1-supply - avcc-dac2-supply - "#sound-dai-cells" unevaluatedProperties: false examples: - | i2c { #address-cells = <1>; #size-cells = <0>; audio-codec@48 { compatible = "esstech,es9039q2m"; reg = <0x48>; #sound-dai-cells = <0>; clocks = <&dac_mclk>; clock-names = "mclk"; avdd-supply = <&dac_3v3>; vcca-supply = <&dac_3v3>; avcc-dac1-supply = <&dac_avcc1>; avcc-dac2-supply = <&dac_avcc2>; }; };