From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7D97D3B3BF3 for ; Wed, 15 Jul 2026 05:26:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.50 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784093171; cv=none; b=MDN7gD/yJASiEdTf4Ryb1GAJcVFb+FgT9ahsMAYoDUJdleFcLcvLRmmzvfux4Btx8qgLRrIzvaCFobpw4Wkn5f5kazw/3nAIX3Nr54EIBDYUnHNHsox1WQFfk0aqsg+1Oqsseb3gwuxAwGa9iG9kt5B4Se6w2NSUGpQG93bepM4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784093171; c=relaxed/simple; bh=e50auPVBSYp+zh5QQtBYOWikwJBXIX/ory+C1siRYls=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=SzQ5/mQeLodSa4Npfppky0uKotdb9xMx5sFJ78iEexNkZ9olvojMptmq/wWbBptqygvP5/Jy9SYMlM9xAlrCm8tUZspk5JFP6smPkOBH8gHJFS09aW9lSzKVIDduJOtl0++WTwD2syL7FUM7b/mIwYw9NKgPKROnFe0WwM2ivuA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=qj3rcuYH; arc=none smtp.client-ip=209.85.128.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="qj3rcuYH" Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-493c564ed4dso3664855e9.3 for ; Tue, 14 Jul 2026 22:26:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784093168; x=1784697968; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=Z/g7VD1QoXW2WdCPMiJ8z9UXoHJaiBqtkLX+/3dRHoc=; b=qj3rcuYHxSEa/FgHXGrxs/F9kOWxWniK4GHJSqXlEhkLOtYAuCYslOB+mfhhFuqK6k pR0u7K2rb96hJhapIAH2kJ7TdR931UGkmvVjX8VnbPe60eKTwSUw8XsdHxreq2Tny+O1 usOO3IzZoI/O3aOOoBjFwM7ZxKF2UUB/kqI01CBtqfaDVGTzi/Hy621XaZz6G73LqfpR oPASV0YmNuHEb/3lJlj9CKVvdrvqBShYaVLFqVzcso9LKi06fzRqNMA44TKbBk1cprWp Pt19PjQZSSg2yGkymujelxbOwOD2TI7Ev+zCnDIaAhi7dYj+094E/fJPy0AZy0IQSByN GyHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784093168; x=1784697968; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Z/g7VD1QoXW2WdCPMiJ8z9UXoHJaiBqtkLX+/3dRHoc=; b=P/5CtLCGGAa7Ca18VpH7BHe7c0o0Eu5+cZ1eF6ed11TFE8Ejdx6FWX6A0iLnj4Vfra O3o26It/9NWTuuBWitW0CfT5PaKESAG4SXnI3Khv2+LmVHANPm7kD//8SW5HNtycYcYR DJuYgdk53gvK+3SaG0iF36WiCgVZ50z3sk6cIWKRD29Zb4NGMvxLw6ItYpiRbBUP70aM irtjYh5Dta8iqVKdHX8V4CY9UoJigi14EjziyRKxrstQwrVUqEGydJsizROXyIhjt47N EqkGgx2+RH6NN9pt6NIhvCMp5objkJpoXkZdYchrd80u795fPzXSgnDn8UKLJBKrh+oO 3q4g== X-Forwarded-Encrypted: i=1; AHgh+RqyC90lnHUYfZ/nIU1/aZaO1tTPOdyB2TUx/5h3Mi9PqXvA7TXw8VzTcFuGBs6BCsmujDuwYaS+F7g7BA==@vger.kernel.org X-Gm-Message-State: AOJu0Yzm8T2mWXu0r75HSRq3z5MhhOJ0eUnnDoAg8paO8jMlz0BipW6e MBdBKwCnay7Q1bQ+gfMnuBTNyQO3Qpe6oueR/2aWfKQ7Dm78f2BlpWoB X-Gm-Gg: AfdE7cngutk5UwLx8114Y26ZtMx+9ZbJOjyf65I4gIgGwL5zwow3W02h1Z81+paJIfB X8fip2P7+jIMod/zU2vS8z0181tbazlXMrDbzkxDALAudYe1BQnEaGc2+VJ1W0xtWBOXte1gH3f K78hI7XBwbdPQlJxEX/tVHTcZ24aqA79EuB1aHcoaSQXC5RnBAh7k/lGe4M2fhPmXfSjRF6f1bo ofIrRmmF/5Sn/dJ7SuF/1Xb0H3+u++uoPy13AQL1Uv2WpLG3vCy4cIyJgVYHmRpQ4XpzCrDV7cj suROUNUxtN4VSSk3MzlU1hPWwTRWArw9oWUivzd8mhunT+0n3pJWRh4DdNtfU2ge67BS4lmUbSa V1hkIeZfrNlN2oMBSZBCwfxC24tKjfxZdqRWEzAJ3JZ1AGTED6LTufwSPEfdefyLsRC6qLqWpk3 jkPYyemItA/DOfeomNkf1PRglDVaDKQQtUz/1gusjcmfFkHv2p3Sfa4w4yvlFTiiaebV+sdHEfN hKYegzr60oVHZzAvtpPTv+T7efx0is7 X-Received: by 2002:adf:e19a:0:b0:475:1f75:b7f9 with SMTP id ffacd0b85a97d-47f2da6f920mr11304178f8f.0.1784093167657; Tue, 14 Jul 2026 22:26:07 -0700 (PDT) Received: from OrangePi5-Plus.BB-HOME (20014C4E1B883700A9E699EB87FB5BDB.dsl.pool.telekom.hu. [2001:4c4e:1b88:3700:a9e6:99eb:87fb:5bdb]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-47f464b7f84sm13003669f8f.27.2026.07.14.22.26.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jul 2026 22:26:06 -0700 (PDT) From: Igor Paunovic To: Dmitry Osipenko , Mauro Carvalho Chehab Cc: Rob Herring , Krzysztof Kozlowski , Conor Dooley , linux-media@vger.kernel.org, kernel@collabora.com, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Igor Paunovic Subject: [RFC PATCH 0/2] media: synopsys: hdmirx: add HDMI audio capture support Date: Wed, 15 Jul 2026 07:19:37 +0200 Message-ID: <20260715051939.64652-1-royalnet026@gmail.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit This series adds audio capture support to the Synopsys DesignWare HDMI RX driver, which currently handles video only. The controller already extracts the audio stream embedded in the incoming HDMI signal and can feed it to an on-SoC I2S interface. Patch 1 documents #sound-dai-cells in the binding. Patch 2 registers the generic hdmi-codec as a child device of the controller so that a simple-audio-card in the device tree can bind the HDMI RX audio DAI. The audio sample rate is recovered from the ACR N/CTS values together with the measured TMDS character rate, and a periodic worker keeps the local audio reference clock locked to the source by nudging it in small ppm steps to hold the audio FIFO fill level near its target, avoiding FIFO under/overflow and dropped samples. Tested on an Orange Pi 5 Plus (RK3588, i2s7_8ch as the capture DAI) with several HDMI sources: stable capture at 44.1 kHz and 48 kHz, sample rate switching, long recordings with no drift-related drops, and live A/V monitoring alongside the existing video capture. Sent as RFC to ask whether this is the preferred shape for the RX driver: the hdmi-codec child + DT sound card plumbing follows the pattern used on the TX side by dw-hdmi. The board-side DT changes (enabling the I2S interface and adding the sound card) are not part of this series and would go through the SoC tree separately. Igor Paunovic (2): dt-bindings: media: snps,dw-hdmi-rx: add #sound-dai-cells media: synopsys: hdmirx: add HDMI audio capture support .../bindings/media/snps,dw-hdmi-rx.yaml | 7 + .../platform/synopsys/hdmirx/snps_hdmirx.c | 244 ++++++++++++++++++ .../platform/synopsys/hdmirx/snps_hdmirx.h | 8 + 3 files changed, 259 insertions(+) -- 2.53.0