1*5ebba5e7SCharles Keepax# SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause) 2*5ebba5e7SCharles Keepax%YAML 1.2 3*5ebba5e7SCharles Keepax--- 4*5ebba5e7SCharles Keepax$id: http://devicetree.org/schemas/sound/cirrus,cs4234.yaml# 5*5ebba5e7SCharles Keepax$schema: http://devicetree.org/meta-schemas/core.yaml# 6*5ebba5e7SCharles Keepax 7*5ebba5e7SCharles Keepaxtitle: Cirrus Logic cs4234 audio CODEC 8*5ebba5e7SCharles Keepax 9*5ebba5e7SCharles Keepaxmaintainers: 10*5ebba5e7SCharles Keepax - patches@opensource.cirrus.com 11*5ebba5e7SCharles Keepax 12*5ebba5e7SCharles Keepaxdescription: 13*5ebba5e7SCharles Keepax The CS4234 is a highly versatile CODEC that combines 4 channels of 14*5ebba5e7SCharles Keepax high performance analog to digital conversion, 4 channels of high 15*5ebba5e7SCharles Keepax performance digital to analog conversion for audio, and 1 channel of 16*5ebba5e7SCharles Keepax digital to analog conversion to provide a nondelayed audio reference 17*5ebba5e7SCharles Keepax signal to an external Class H tracking power supply. If not used to 18*5ebba5e7SCharles Keepax drive a tracking power supply, the 5th DAC can instead be used as a 19*5ebba5e7SCharles Keepax standard audio grade DAC, with performance specifications identical 20*5ebba5e7SCharles Keepax to that of the 4 DACs in the audio path. Additionally, the CS4234 21*5ebba5e7SCharles Keepax includes tunable group delay for each of the 4 audio DAC paths to 22*5ebba5e7SCharles Keepax provide lead time for the external switch-mode power supply, and a 23*5ebba5e7SCharles Keepax nondelayed path into the DAC outputs for input signals requiring a 24*5ebba5e7SCharles Keepax low-latency path to the outputs. 25*5ebba5e7SCharles Keepax 26*5ebba5e7SCharles Keepaxproperties: 27*5ebba5e7SCharles Keepax compatible: 28*5ebba5e7SCharles Keepax enum: 29*5ebba5e7SCharles Keepax - cirrus,cs4234 30*5ebba5e7SCharles Keepax 31*5ebba5e7SCharles Keepax reg: 32*5ebba5e7SCharles Keepax description: 33*5ebba5e7SCharles Keepax The 7-bit I2C address depends on the state of the ADx pins, in 34*5ebba5e7SCharles Keepax binary given by [0 0 1 0 AD2 AD1 AD0 0]. 35*5ebba5e7SCharles Keepax items: 36*5ebba5e7SCharles Keepax minimum: 0x10 37*5ebba5e7SCharles Keepax maximum: 0x17 38*5ebba5e7SCharles Keepax 39*5ebba5e7SCharles Keepax VA-supply: 40*5ebba5e7SCharles Keepax description: 41*5ebba5e7SCharles Keepax Analogue power supply. 42*5ebba5e7SCharles Keepax 43*5ebba5e7SCharles Keepax VL-supply: 44*5ebba5e7SCharles Keepax description: 45*5ebba5e7SCharles Keepax Interface power supply. 46*5ebba5e7SCharles Keepax 47*5ebba5e7SCharles Keepax reset-gpios: 48*5ebba5e7SCharles Keepax maxItems: 1 49*5ebba5e7SCharles Keepax 50*5ebba5e7SCharles Keepaxrequired: 51*5ebba5e7SCharles Keepax - compatible 52*5ebba5e7SCharles Keepax - reg 53*5ebba5e7SCharles Keepax - VA-supply 54*5ebba5e7SCharles Keepax - VL-supply 55*5ebba5e7SCharles Keepax 56*5ebba5e7SCharles KeepaxadditionalProperties: false 57*5ebba5e7SCharles Keepax 58*5ebba5e7SCharles Keepaxexamples: 59*5ebba5e7SCharles Keepax - | 60*5ebba5e7SCharles Keepax i2c@e0004000 { 61*5ebba5e7SCharles Keepax #address-cells = <1>; 62*5ebba5e7SCharles Keepax #size-cells = <0>; 63*5ebba5e7SCharles Keepax reg = <0xe0004000 0x1000>; 64*5ebba5e7SCharles Keepax 65*5ebba5e7SCharles Keepax cs4234: codec@11 { 66*5ebba5e7SCharles Keepax compatible = "cirrus,cs4234"; 67*5ebba5e7SCharles Keepax reg = <0x11>; 68*5ebba5e7SCharles Keepax 69*5ebba5e7SCharles Keepax VA-supply = <&vdd3v3>; 70*5ebba5e7SCharles Keepax VL-supply = <&vdd3v3>; 71*5ebba5e7SCharles Keepax 72*5ebba5e7SCharles Keepax reset-gpios = <&gpio 0>; 73*5ebba5e7SCharles Keepax }; 74*5ebba5e7SCharles Keepax }; 75