From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (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 84F4E3B47CA for ; Wed, 15 Jul 2026 05:26:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784093172; cv=none; b=OwZh57khOH7aMPUjimw/ZMErryX3upCC2vA/CGUl0aadDaoLRY10OOoDFL5eHsKlbbZhCMaxHtYEnKq94vis++/8HtMPy4e5qaUOfiD2nhfP8vYlkvw7JW2hAnalDvaTrM98t4ABhiIYRxgBXhNJw1hrrh5FGIjJbib/hEIYhqg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784093172; c=relaxed/simple; bh=e50auPVBSYp+zh5QQtBYOWikwJBXIX/ory+C1siRYls=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=TKCb1sJbP5ahgIlRJFpKwY8ONbFmiOHbJ5HKBN8v/D8Jf5xDFQl8DDPWgx1CFTLN6Gt/zSLSv0LZsjkgwrM+7hs0f8kUmLPrBIEi7kXK3qe0qN9GMqJXCyvphV77nN8JhSz7Hz6shlJP9eFKmyfdwoXnnnyohwh9u3oej5C8iU0= 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.45 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-f45.google.com with SMTP id 5b1f17b1804b1-493adc4ff7eso3552055e9.0 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=Uq03HTp7Dg1lwNTpKHW2aUTq/qG5ReHCqGUsJPI0AoCsmyVUaXW4v0pyBKIQBk1tnb nqVWSxnIgMwRFL9SzCEKZbNE9ztxzYHBjZAMpgMdQh5e2U3bqH9lmRkNyEAyRac6OR/1 kgHq/7G4rLkyWOqhN4w4/8ods3PeotUlC2Uh64Oznj3i+BqFz6qCh46v4kZAZQDOXqxi +gJyIlKryZyrweOKv83dPZ1E4ugYIxzaWEms2sJmXKQr73oy7/dQ9Y9nO4snz1uPC6DF vRoVwwHxRJJYLNf6tHqrKdN5CfFnh4YrBJPDiZ3ufoHWbUgBoKfTRM89rA1ks7/39y0q +nbg== X-Forwarded-Encrypted: i=1; AHgh+RrtObFP+M5e9hjQ02V5J30qmWQTrZETdBWoeYTd/Xl7bPhjK69jR956gIez/Dej/JOy3RzL0stnQpvvN3k=@vger.kernel.org X-Gm-Message-State: AOJu0YwATqnPMTnKwfQFRVqyUySKa1bNVGUtr8Bz2ORw6YvPfuIYfWJa oFOy6xEnOJK6mC6kDug4kjj98d47RoA/Eg00BSb8O0O9CgJ9+kkQnAx8 X-Gm-Gg: AfdE7ckaagijiZznoyNiK7YtI5/8kPSnuZccXIfxBKfTPoYBvERSJ3g8PiLREYzl72H 9h+l0ks+Jh1Oq6efSOzI6gek9ZuZck4SGWf2CYWy+VK5wGX5XBH9iQtwARei3IiV2U21GqOBmcU 5UfzCQLSzdcmMmqLNzQwLgdIFOtn2xP5baaxftFmef04wDD+auI7og1zkvAMTOMmD8uWtgvGWPF nIxEmut/r2Z9Tl3w79RXEyVZc/8p3UnY0Zrzl1xTBea16kmQd0rYutS0E1bn/9BPfUi0dsAEcv2 /V7AeBkg8212NwJ7zONG9AiRSP8ELSn9hC5OOZYdtbDqvnEA6DI60AN4NlMchTw73MZxD7i/JN2 zClbXKY7jtwTsbxlZDA58DFSXGs818Xl+21VpVYg6DRhpJxSdsPyT/56lIKyS54mgrohLzrlc7T 9Jhq4NJLQxmMMTSyRBdAvMAK2/VsZbX2O1gd2HDFZF1KsmKIU/7lNWFaGg4SfdugU+SL4o4dr55 Cy3OgpoVOM+rvhUienVAaxlzhHQWRmf 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-kernel@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