Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp4492935ybi; Tue, 11 Jun 2019 07:32:45 -0700 (PDT) X-Google-Smtp-Source: APXvYqxYgmyGthRcLI8vsqvIxJiXpAaZ8FKV35i+IMWW1P3nnNXDdwzfB2Gl6IcFx5czBGBa3mSQ X-Received: by 2002:a63:d008:: with SMTP id z8mr20813700pgf.335.1560263565461; Tue, 11 Jun 2019 07:32:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560263565; cv=none; d=google.com; s=arc-20160816; b=v3YqcM+v1Tm3n3OmpfUhaX/mgx3dtr/TR+AUJ9Vcoul+nSQ3vCBYAMjmSFoOlGadQd SxEHIg3i7xwGyerhopGm7M+THruJ9gejsRdGDaAsxYk7CPyeoUeM9iMKy0MQTd1u0irh jsrKmoYQI8NmNY7NdqjAgHF0vg/dmmdrJjTd7+A1JW7Ug03aAyBRsvjJQgoiVON3OxRB 7EAcwHT0gcTDns1NbmVTtm2NDR1W06a9UzdgdthxtV9KI8k8QXE6+UqPhfLycEm6wIr3 6BqHaYWUTYhTx4C/YuyVO1me/9BOW6tmemUWVK7hnUCKcAV0q32FO0pCrOcAN/BmcMDf 4HxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=I+b0ODQnts8tdntKoRjN83DkfLZxsjTT5tP4ANFK0k4=; b=icSu4P0TbSZtLZbI4iMvjQ8E3kime/nVA0FdEDd6r0Q1Mp8QdxuRRs8KPLnfT1qSEO VrxbeKFRPYLlWLqEIAcwB70WUEOyXnC3l9nUsiN08uNU55X3ZrRicsJxstNc+lO48yoL LJKyEFq6eNdNJL0DcmwB8XQeHHnRIHd9mQ5CoY5TcEW8Jn+EQinqWFxHzhQJVnUdFhde wi8+eqO8LVAQ+9fGFWtZbUoJYu0BEg1JbkUQFiSUv6wpRM4vFfqzu0i9QbScd+V2FKC/ DfaxWHw/Vz1LixWWi3p2JinF3iavjFejDYds2BdS6Fymlei+tz0I+nPRndc3zgnLQ0Pp Sqlw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=H1Rp4asA; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o20si2418178pjp.48.2019.06.11.07.32.28; Tue, 11 Jun 2019 07:32:45 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=H1Rp4asA; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390943AbfFKObZ (ORCPT + 99 others); Tue, 11 Jun 2019 10:31:25 -0400 Received: from mail-wm1-f66.google.com ([209.85.128.66]:55643 "EHLO mail-wm1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389253AbfFKObZ (ORCPT ); Tue, 11 Jun 2019 10:31:25 -0400 Received: by mail-wm1-f66.google.com with SMTP id a15so3198189wmj.5 for ; Tue, 11 Jun 2019 07:31:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=I+b0ODQnts8tdntKoRjN83DkfLZxsjTT5tP4ANFK0k4=; b=H1Rp4asAc/hZnrIK3cSDkXVRv+QZjJckPEeF2q/uTMemu80KOX67ebHjCifYvVvnHK qlpRK/E+rZUqmXitAbYXycopEbSc1T02FYsVbUdbaCJeqXKwM1IGM8EaWjmVe6eGuBDC xooTOTX4XsptGZOm9gumVueKn7ZlQ44b2Q9Lemy51VObASpSRRyaP76mHUBSDzjvYVtl 6l/XuxLLT1FfuXmrWk6UEIcFg5MeCHSJjE/AcvtvhPdyDdsL5YbiNO9PLJCmv526UZIZ 2DtX3zCDbQAhrA5gD8F+xvVHvWv9iynL4BmgoEId1oJZispnKUNwCoFd+uFFavMjuqE5 LnHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=I+b0ODQnts8tdntKoRjN83DkfLZxsjTT5tP4ANFK0k4=; b=Z8HPn1HU5bZN/lWxzsFLmbmOKksSKqqNlnhZaLjhwrui6HONoKRAhkCex+g9Jls88j rhnbG1JwcisWA3ONl40R6vdbZx3NQX8fqDRa4wlalRDzJzLvb6knmVcfUbPAzZaHnrGw xCJKLH8aY5p0vCQEKnMVwjay3N33ncbT1JkcXvKzHD7Ssqq91Mg6tWy5AVvjAU3dAzrr XA28OEXzVqCNhFEJ0cJw1KoyTgc023KwKOVP21CLiOf06CKvoZ5nHeccup9vjmCOmJb8 hzlvPfIEUeThVAeIGAy3Vwdzu1j4hQWt5piQOvsxjmaF4nVEp8n2PJs2lNMisa68dib6 VbcA== X-Gm-Message-State: APjAAAXjwAGc53G+eoLxqiGBRU95XECEORYSQOWi3QscgdSU+WTmkvXm jtX2yoexjxaDAN/TGhcJr5Ym9yuF85BEjg== X-Received: by 2002:a1c:67c2:: with SMTP id b185mr17212929wmc.98.1560263482948; Tue, 11 Jun 2019 07:31:22 -0700 (PDT) Received: from bender.baylibre.local (lmontsouris-657-1-212-31.w90-63.abo.wanadoo.fr. [90.63.244.31]) by smtp.gmail.com with ESMTPSA id w14sm13427258wrk.44.2019.06.11.07.31.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 11 Jun 2019 07:31:22 -0700 (PDT) From: Neil Armstrong To: khilman@baylibre.com, jbrunet@baylibre.com Cc: Neil Armstrong , linux-amlogic@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH] arm64: dts: meson-g12b-odroid-n2: add sound card Date: Tue, 11 Jun 2019 16:31:20 +0200 Message-Id: <20190611143120.25074-1-narmstrong@baylibre.com> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Enable the sound card on the Hardkernel Odroid-N2, enabling HDMI output using the TDM interface B, being aligned on other boards sound cards. The internal DAC connected to the audio jack will be added later on, when driver support is added. Tested by running: tinymix set "FRDDR_A SRC 1 EN Switch" 1 tinymix set "FRDDR_A SINK 1 SEL" "OUT 1" tinymix set "FRDDR_B SRC 1 EN Switch" 1 tinymix set "FRDDR_B SINK 1 SEL" "OUT 1" tinymix set "FRDDR_C SRC 1 EN Switch" 1 tinymix set "FRDDR_C SINK 1 SEL" "OUT 1" tinymix set "TOHDMITX I2S SRC" "I2S B" tinymix set "TOHDMITX Switch" 1 then: tinymix set "TDMOUT_B SRC SEL" "IN 0" speaker-test -Dhw:0,0 -c2 then: tinymix set "TDMOUT_B SRC SEL" "IN 1" speaker-test -Dhw:0,1 -c2 then: tinymix set "TDMOUT_B SRC SEL" "IN 2" speaker-test -Dhw:0,2 -c2 testing HDMI audio output from the all 3 ASoC playback interfaces. Signed-off-by: Neil Armstrong --- .../boot/dts/amlogic/meson-g12b-odroid-n2.dts | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts index 4146cd84989c..c3e0735e6d9f 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts +++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dts @@ -9,6 +9,7 @@ #include "meson-g12b.dtsi" #include #include +#include / { compatible = "hardkernel,odroid-n2", "amlogic,g12b"; @@ -165,6 +166,65 @@ }; }; }; + + sound { + compatible = "amlogic,axg-sound-card"; + model = "G12A-ODROIDN2"; + audio-aux-devs = <&tdmout_b>; + audio-routing = "TDMOUT_B IN 0", "FRDDR_A OUT 1", + "TDMOUT_B IN 1", "FRDDR_B OUT 1", + "TDMOUT_B IN 2", "FRDDR_C OUT 1", + "TDM_B Playback", "TDMOUT_B OUT"; + + assigned-clocks = <&clkc CLKID_MPLL2>, + <&clkc CLKID_MPLL0>, + <&clkc CLKID_MPLL1>; + assigned-clock-parents = <0>, <0>, <0>; + assigned-clock-rates = <294912000>, + <270950400>, + <393216000>; + status = "okay"; + + dai-link-0 { + sound-dai = <&frddr_a>; + }; + + dai-link-1 { + sound-dai = <&frddr_b>; + }; + + dai-link-2 { + sound-dai = <&frddr_c>; + }; + + /* 8ch hdmi interface */ + dai-link-3 { + sound-dai = <&tdmif_b>; + dai-format = "i2s"; + dai-tdm-slot-tx-mask-0 = <1 1>; + dai-tdm-slot-tx-mask-1 = <1 1>; + dai-tdm-slot-tx-mask-2 = <1 1>; + dai-tdm-slot-tx-mask-3 = <1 1>; + mclk-fs = <256>; + + codec { + sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>; + }; + }; + + /* hdmi glue */ + dai-link-4 { + sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>; + + codec { + sound-dai = <&hdmi_tx>; + }; + }; + }; +}; + +&arb { + status = "okay"; }; &cec_AO { @@ -181,6 +241,10 @@ hdmi-phandle = <&hdmi_tx>; }; +&clkc_audio { + status = "okay"; +}; + &ext_mdio { external_phy: ethernet-phy@0 { /* Realtek RTL8211F (0x001cc916) */ @@ -198,6 +262,18 @@ amlogic,tx-delay-ns = <2>; }; +&frddr_a { + status = "okay"; +}; + +&frddr_b { + status = "okay"; +}; + +&frddr_c { + status = "okay"; +}; + &gpio { /* * WARNING: The USB Hub on the Odroid-N2 needs a reset signal @@ -269,6 +345,18 @@ vqmmc-supply = <&flash_1v8>; }; +&tdmif_b { + status = "okay"; +}; + +&tdmout_b { + status = "okay"; +}; + +&tohdmitx { + status = "okay"; +}; + &uart_AO { status = "okay"; pinctrl-0 = <&uart_ao_a_pins>; -- 2.21.0