Received: by 2002:ab2:6816:0:b0:1f9:5764:f03e with SMTP id t22csp922317lqo; Fri, 17 May 2024 05:59:34 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVn0KjdsismnqNSXgdP9Gej7z2eINRog+XRA+rCjkibRA1W6jdqrSMk2s9WyxjLW3sjWVQu74NeE3I8mAHm7dUfNZddFsLgx5g9Qqeyqg== X-Google-Smtp-Source: AGHT+IHJpTkbj4PjN8tKaw+qYkjXToBkrtc2HrEXN567qQj0gUoSkQPgOPS3+fO5dNXA3IsF9yMb X-Received: by 2002:a05:620a:7e6:b0:792:c854:42fc with SMTP id af79cd13be357-792c8544312mr2046342585a.69.1715950773957; Fri, 17 May 2024 05:59:33 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1715950773; cv=pass; d=google.com; s=arc-20160816; b=vRTh+4Bljam/fcKyoYLYiv1148M2uTzmoi9mhmIC+K9wDiQPPZzdz8jE+74SrSbYOJ 4vH4/91GxAq5nC/iazEq0BfemwSW5K97tXZr1P4uoJXO886R3iLp4klc9KSDK+ckARyq cS9Ux+P+63/m153O9/TEI7Kcf5I940YYRRb70g/5+/IriVLqOgDhAdur7nZ31rRZKxAh BG9CGKXvfUGq5Gqc7mSzpEThYnGIVHcOG86H5MUSuO1NGgmjfl+sTagXtQBvBrpGHC/3 8YXATFhRYvlvtbq+DRdpXamZbgiAppJjGHr4VqEIRH7Jbxx1gX043QCXG54TnGSryAoN CsUQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :subject:date:from:dkim-signature; bh=tl+q/jQrGvH8Zg3A/f5QNM02CauYUnImoBTtV4Mgvtk=; fh=eWggdLazXcUXncaZ6QlZnj4lONIov1bc4JkVW6Q/2sw=; b=R4+pATDmICuQ24QCbqzymnFjIEejBgLZsZHRhjbY5h69URne1l+KBeRCc0CrLAgHY1 vTkXhC7J0C5kiyCTT1GwlTXS7Obf+7gUi5hxOxMbdWLxmKupF2/bcehG/L1SXugdaYEA nuF85Zv95ZDEnMOOuT+FYhEGY7FMzC7jf+8/o2octu9u3eq7ZpG/BL/oOrKEC7rutjWp ZAoiMQ4DsHj7PgndBDfTdQx9vLgxIOGCtBb9biFxJd3vFUniQ5HbtbzToPTanXTqUOLr jnarGfJNcFMwRdHY1/tx6wblgKSb+qruZjYF/kl4qNnkifLWlGGQJWthp6WSitE5PBEP hlbw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@pqrs.dk header.s=key1 header.b=sYkG9chu; arc=pass (i=1 spf=pass spfdomain=pqrs.dk dkim=pass dkdomain=pqrs.dk); spf=pass (google.com: domain of linux-kernel+bounces-182122-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-182122-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id af79cd13be357-792bf2787d8si1835282185a.106.2024.05.17.05.59.33 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 May 2024 05:59:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-182122-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@pqrs.dk header.s=key1 header.b=sYkG9chu; arc=pass (i=1 spf=pass spfdomain=pqrs.dk dkim=pass dkdomain=pqrs.dk); spf=pass (google.com: domain of linux-kernel+bounces-182122-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-182122-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 9BBBE1C21BB2 for ; Fri, 17 May 2024 12:59:33 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 52FA254BC3; Fri, 17 May 2024 12:58:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=pqrs.dk header.i=@pqrs.dk header.b="sYkG9chu" Received: from out-170.mta1.migadu.com (out-170.mta1.migadu.com [95.215.58.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AE39B4F888 for ; Fri, 17 May 2024 12:58:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.170 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715950733; cv=none; b=X/WL4XdmioFVHdaXnwBr0m1Xy/wYaELJAmpsKnxmP5NtnCDOdQhpnCprf37BjRQ3kXH3+tvZ2KbxfUbyfWKJd8AabGIZw9D1qgSV3NEihOc9pXeWw3DYvDZzSGj8jDvRu1SHrNWOjFz507aGFBMMYbc+l3BLL+1YKn2/A37TjB8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715950733; c=relaxed/simple; bh=E71ly8foJT0aHkZA0E4KWODwmYGz89/hKVx+xoBMyzo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ViTc5a39mbARTgfz3ysodB9BDJNJ3VQwch6ItAvCW5WdDYSGO8zbNwtu7Aru4iw9n7XnvrpmFAD6ZAlPMoSDmcMd0C26iqirHBXso5hrO9qmV8aYdRNi8CAAW9EEfhXWsxx6x63z+7f9WQNc1P7bt3xgicu21XPWTJJrcU7pcew= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pqrs.dk; spf=pass smtp.mailfrom=pqrs.dk; dkim=pass (2048-bit key) header.d=pqrs.dk header.i=@pqrs.dk header.b=sYkG9chu; arc=none smtp.client-ip=95.215.58.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pqrs.dk Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pqrs.dk X-Envelope-To: linux-i2c@vger.kernel.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pqrs.dk; s=key1; t=1715950728; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tl+q/jQrGvH8Zg3A/f5QNM02CauYUnImoBTtV4Mgvtk=; b=sYkG9chuB9PKF8rVZgeB8KsuUrww9cfYSftHd3krpTT8OgsAmS+BozINb68ThHW63t3bEa tG68OtCV+sMYWeNd2Kh/+57/uOPojV7I9MHXRFQkqSuX94FGcFBYO1aSmMdN1c2PBYP7ac 7S5dHTxMwscKuxzg58pzJ1x+OxwNP5g6WrqeRTq6MNGtFQv91F/FhbGb97JU47Jo6AeATv VAEWUtNNSrwCNRCa9KbQ8FTkkLdpOJkn4QorlQ2O0m2tVvdqkoNRq+Nn3l6q08kwWee86A d2O1E9EFmK9KOdHoADcMxMvbDtIJSNy4kLMrRE/oCHw/2UqQ3zIOJJxbp7ivQQ== X-Envelope-To: linux-gpio@vger.kernel.org X-Envelope-To: conor+dt@kernel.org X-Envelope-To: linus.walleij@linaro.org X-Envelope-To: robh@kernel.org X-Envelope-To: emas@bang-olufsen.dk X-Envelope-To: krzk+dt@kernel.org X-Envelope-To: perex@perex.cz X-Envelope-To: lgirdwood@gmail.com X-Envelope-To: mturquette@baylibre.com X-Envelope-To: broonie@kernel.org X-Envelope-To: saravanak@google.com X-Envelope-To: alsi@bang-olufsen.dk X-Envelope-To: rafael@kernel.org X-Envelope-To: linux-kernel@vger.kernel.org X-Envelope-To: tiwai@suse.com X-Envelope-To: devicetree@vger.kernel.org X-Envelope-To: linux-sound@vger.kernel.org X-Envelope-To: linux-clk@vger.kernel.org X-Envelope-To: sboyd@kernel.org X-Envelope-To: gregkh@linuxfoundation.org X-Envelope-To: andi.shyti@kernel.org X-Envelope-To: brgl@bgdev.pl X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: =?utf-8?q?Alvin_=C5=A0ipraga?= Date: Fri, 17 May 2024 14:58:01 +0200 Subject: [PATCH 03/13] dt-bindings: a2b: Analog Devices AD24xx devices Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Message-Id: <20240517-a2b-v1-3-b8647554c67b@bang-olufsen.dk> References: <20240517-a2b-v1-0-b8647554c67b@bang-olufsen.dk> In-Reply-To: <20240517-a2b-v1-0-b8647554c67b@bang-olufsen.dk> To: Mark Brown , Greg Kroah-Hartman , "Rafael J. Wysocki" , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Linus Walleij , Bartosz Golaszewski , Liam Girdwood , Jaroslav Kysela , Takashi Iwai , Michael Turquette , Stephen Boyd , Andi Shyti , Saravana Kannan Cc: Emil Svendsen , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-gpio@vger.kernel.org, linux-sound@vger.kernel.org, linux-clk@vger.kernel.org, linux-i2c@vger.kernel.org, =?utf-8?q?Alvin_=C5=A0ipraga?= X-Migadu-Flow: FLOW_OUT From: Alvin Šipraga Add device tree bindings for the AD24xx series A2B transceiver chips, including their functional blocks. Signed-off-by: Alvin Šipraga --- .../devicetree/bindings/a2b/adi,ad24xx-clk.yaml | 53 +++++ .../devicetree/bindings/a2b/adi,ad24xx-codec.yaml | 52 +++++ .../devicetree/bindings/a2b/adi,ad24xx-gpio.yaml | 76 +++++++ .../devicetree/bindings/a2b/adi,ad24xx-i2c.yaml | 55 +++++ .../devicetree/bindings/a2b/adi,ad24xx.yaml | 253 +++++++++++++++++++++ 5 files changed, 489 insertions(+) diff --git a/Documentation/devicetree/bindings/a2b/adi,ad24xx-clk.yaml b/Documentation/devicetree/bindings/a2b/adi,ad24xx-clk.yaml new file mode 100644 index 000000000000..819efaa6a3f9 --- /dev/null +++ b/Documentation/devicetree/bindings/a2b/adi,ad24xx-clk.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/a2b/adi,ad24xx-clk.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Analog Devices Inc. AD24xx clock functional block + +maintainers: + - Alvin Šipraga + +allOf: + - $ref: /schemas/clock/clock.yaml + +properties: + compatible: + enum: + - adi,ad2420-clk + - adi,ad2421-clk + - adi,ad2422-clk + - adi,ad2425-clk + - adi,ad2426-clk + - adi,ad2427-clk + - adi,ad2428-clk + - adi,ad2429-clk + +required: + - compatible + - clock-output-names + +unevaluatedProperties: false + +examples: + - | + a2b { + #address-cells = <1>; + #size-cells = <0>; + + node@1 { + compatible = "adi,ad2425-node"; + reg = <1>; + interrupts = <1>; + adi,tdm-mode = <16>; + adi,tdm-slot-size = <32>; + + clock { + compatible = "adi,ad2425-clk"; + #clock-cells = <1>; + clock-indices = <1>; + clock-output-names = "A2B1 CLKOUT2"; + }; + }; + }; diff --git a/Documentation/devicetree/bindings/a2b/adi,ad24xx-codec.yaml b/Documentation/devicetree/bindings/a2b/adi,ad24xx-codec.yaml new file mode 100644 index 000000000000..eee12f1c810e --- /dev/null +++ b/Documentation/devicetree/bindings/a2b/adi,ad24xx-codec.yaml @@ -0,0 +1,52 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/a2b/adi,ad24xx-codec.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Analog Devices Inc. AD24xx I2S/TDM functional block + +maintainers: + - Alvin Šipraga + +allOf: + - $ref: /schemas/sound/dai-common.yaml# + +properties: + compatible: + enum: + - adi,ad2403-codec + - adi,ad2410-codec + - adi,ad2425-codec + - adi,ad2428-codec + - adi,ad2429-codec + + '#sound-dai-cells': + const: 0 + +required: + - compatible + - '#sound-dai-cells' + +unevaluatedProperties: false + +examples: + - | + a2b { + #address-cells = <1>; + #size-cells = <0>; + + node@2 { + compatible = "adi,ad2428-node"; + reg = <2>; + interrupts = <2>; + adi,tdm-mode = <8>; + adi,tdm-slot-size = <32>; + + codec { + compatible = "adi,ad2428-codec"; + #sound-dai-cells = <0>; + sound-name-prefix = "A2B Sub2"; + }; + }; + }; diff --git a/Documentation/devicetree/bindings/a2b/adi,ad24xx-gpio.yaml b/Documentation/devicetree/bindings/a2b/adi,ad24xx-gpio.yaml new file mode 100644 index 000000000000..e2b99c711a47 --- /dev/null +++ b/Documentation/devicetree/bindings/a2b/adi,ad24xx-gpio.yaml @@ -0,0 +1,76 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/a2b/adi,ad24xx-gpio.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Analog Devices Inc. AD24xx GPIO functional block + +maintainers: + - Alvin Šipraga + +properties: + compatible: + enum: + - adi,ad2401-gpio + - adi,ad2402-gpio + - adi,ad2403-gpio + - adi,ad2410-gpio + - adi,ad2420-gpio + - adi,ad2421-gpio + - adi,ad2422-gpio + - adi,ad2425-gpio + - adi,ad2426-gpio + - adi,ad2427-gpio + - adi,ad2428-gpio + - adi,ad2429-gpio + + gpio-controller: true + + '#gpio-cells': + const: 2 + + interrupt-controller: true + + '#interrupt-cells': + const: 2 + + gpio-line-names: true + gpio-reserved-ranges: true + +required: + - compatible + - gpio-controller + - '#gpio-cells' + +dependencies: + interrupt-controller: [ '#interrupt-cells' ] + '#interrupt-cells': [ interrupt-controller ] + +unevaluatedProperties: false + +examples: + - | + a2b { + #address-cells = <1>; + #size-cells = <0>; + + node@0 { + compatible = "adi,ad2428-node"; + reg = <0>; + interrupts = <0>; + interrupt-controller; + #interrupt-cells = <1>; + adi,tdm-mode = <16>; + adi,tdm-slot-size = <32>; + + gpio { + compatible = "adi,ad2428-gpio"; + interrupt-controller; + #interrupt-cells = <2>; + gpio-controller; + #gpio-cells = <2>; + gpio-reserved-ranges = <0 1>; + }; + }; + }; diff --git a/Documentation/devicetree/bindings/a2b/adi,ad24xx-i2c.yaml b/Documentation/devicetree/bindings/a2b/adi,ad24xx-i2c.yaml new file mode 100644 index 000000000000..ac52f184004d --- /dev/null +++ b/Documentation/devicetree/bindings/a2b/adi,ad24xx-i2c.yaml @@ -0,0 +1,55 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/a2b/adi,ad24xx-i2c.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Analog Devices Inc. AD24xx I2C controller functional block + +maintainers: + - Alvin Šipraga + +allOf: + - $ref: /schemas/i2c/i2c-controller.yaml + +properties: + compatible: + enum: + - adi,ad2401-i2c + - adi,ad2402-i2c + - adi,ad2403-i2c + - adi,ad2410-i2c + - adi,ad2420-i2c + - adi,ad2421-i2c + - adi,ad2422-i2c + - adi,ad2425-i2c + - adi,ad2426-i2c + - adi,ad2427-i2c + - adi,ad2428-i2c + +required: + - compatible + +unevaluatedProperties: false + +examples: + - | + a2b { + #address-cells = <1>; + #size-cells = <0>; + + node@1 { + compatible = "adi,ad2425-node"; + reg = <1>; + interrupts = <1>; + adi,tdm-mode = <16>; + adi,tdm-slot-size = <32>; + + i2c { + compatible = "adi,ad2425-i2c"; + #address-cells = <1>; + #size-cells = <0>; + clock-frequency = <400000>; + }; + }; + }; diff --git a/Documentation/devicetree/bindings/a2b/adi,ad24xx.yaml b/Documentation/devicetree/bindings/a2b/adi,ad24xx.yaml new file mode 100644 index 000000000000..dcda15e8032a --- /dev/null +++ b/Documentation/devicetree/bindings/a2b/adi,ad24xx.yaml @@ -0,0 +1,253 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/a2b/adi,ad24xx.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Analog Devices Inc. AD24xx Automotive Audio Bus A2B Transceiver + +description: | + AD24xx chips provide A2B bus functionality together with several peripheral + functions, including GPIO, I2S/TDM, an I2C controller interface, and + programmable clock outputs. + +maintainers: + - Alvin Šipraga + +properties: + compatible: + enum: + - adi,ad2403 + - adi,ad2410 + - adi,ad2425 + - adi,ad2428 + - adi,ad2429 + + reg-names: + items: + - const: base + - const: bus + + reg: + items: + - description: Normal I2C address of the chip + - description: Auxiliary BUS_ADDR I2C address of the chip + + '#address-cells': + const: 1 + + '#size-cells': + const: 0 + + clock-names: + items: + - const: sync + + clocks: + items: + - description: SYNC input pin clock source + + vin-supply: + description: Optional regulator for supply voltage to VIN pin + + bus-supply: + description: Optional regulator for out-of-band supply voltage to + subodrinate nodes' VIN pins + + interrupts: true + + interrupt-controller: true + + '#interrupt-cells': + const: 1 + +patternProperties: + '^node@[0-9]+$': + type: object + unevaluatedProperties: false + + properties: + compatible: + enum: + - adi,ad2401-node + - adi,ad2402-node + - adi,ad2403-node + - adi,ad2410-node + - adi,ad2420-node + - adi,ad2421-node + - adi,ad2422-node + - adi,ad2425-node + - adi,ad2426-node + - adi,ad2427-node + - adi,ad2428-node + - adi,ad2429-node + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + interrupt-controller: true + + '#interrupt-cells': + const: 1 + + gpio: + $ref: adi,ad24xx-gpio.yaml# + + codec: + $ref: adi,ad24xx-codec.yaml# + + i2c: + $ref: adi,ad24xx-i2c.yaml# + + clock: + $ref: adi,ad24xx-clk.yaml# + + adi,tdm-mode: + $ref: /schemas/types.yaml#/definitions/uint32 + description: TDM mode + enum: [2, 4, 8, 12, 16, 20, 24, 32] + + adi,tdm-slot-size: + $ref: /schemas/types.yaml#/definitions/uint32 + description: TDM slot size + enum: [16, 32] + + adi,invert-sync: + description: Falling edge of SYNC pin indicates the start of an audio + frame, as opposed to rising edge. + type: boolean + + adi,early-sync: + description: The SYNC pin changes one cycle before the MSB of the first + data slot. + type: boolean + + adi,alternating-sync: + description: Drive SYNC pin during first half of I2S/TDM data + transmission rather than just pulsing it for once cycle. + type: boolean + + adi,rx-on-dtx1: + description: Use the DTX1 pin for I2S/TDM RX in place of the DRX1 pin. + type: boolean + + adi,a2b-external-switch-mode-1: + description: Use external switch mode 1 instead of 0 on the assumption + that the downstream node is not using A2B bus power. + type: boolean + + adi,drive-strength: + $ref: /schemas/types.yaml#/definitions/uint32 + description: Configures drive strength low (0) or high (1, default). + enum: [0, 1] + default: 1 + + adi,invert-interrupt: + description: Invert polarity of IRQ pin, making it active low. + type: boolean + + adi,tristate-interrupt: + description: Rather than always actively driving the IRQ pin, only drive + when the interrupt is active and otherwise set to tristate (high-Z). + type: boolean + + required: + - compatible + - reg + - adi,tdm-mode + - adi,tdm-slot-size + + dependencies: + interrupt-controller: [ '#interrupt-cells' ] + '#interrupt-cells': [ interrupt-controller ] + +required: + - compatible + - reg-names + - reg + - clock-names + - clocks + - '#address-cells' + - '#size-cells' + - interrupts + - interrupt-controller + - '#interrupt-cells' + - node@0 + +unevaluatedProperties: false + +examples: + - | + sync_clk: sync-clock { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <48000>; + }; + + i2c { + #address-cells = <1>; + #size-cells = <0>; + + a2b@68 { + compatible = "adi,ad2428"; + reg-names = "base", "bus"; + reg = <0x68>, <0x69>; + clock-names = "sync"; + clocks = <&sync_clk>; + #address-cells = <1>; + #size-cells = <0>; + interrupts = <42>; + interrupt-controller; + #interrupt-cells = <1>; + + node@0 { + compatible = "adi,ad2428-node"; + reg = <0>; + interrupts = <0>; + adi,tdm-mode = <16>; + adi,tdm-slot-size = <32>; + + codec { + compatible = "adi,ad2428-codec"; + #sound-dai-cells = <0>; + sound-name-prefix = "A2B Main"; + }; + }; + + node@1 { + compatible = "adi,ad2425-node"; + reg = <1>; + interrupts = <1>; + adi,tdm-mode = <8>; + adi,tdm-slot-size = <32>; + + gpio { + compatible = "adi,ad2425-gpio"; + interrupt-controller; + #interrupt-cells = <2>; + gpio-controller; + #gpio-cells = <2>; + }; + + codec { + compatible = "adi,ad2425-codec"; + #sound-dai-cells = <0>; + sound-name-prefix = "A2B Sub1"; + }; + + i2c { + compatible = "adi,ad2425-i2c"; + #address-cells = <1>; + #size-cells = <0>; + + eeprom@50 { + compatible = "atmel,24c64"; + reg = <0x50>; + }; + }; + }; + }; + }; -- 2.44.0