From patchwork Thu Feb 6 18:02:34 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dave Stevenson X-Patchwork-Id: 13963403 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 7407AC02199 for ; Thu, 6 Feb 2025 18:06:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=dY5Z8v+X+nz1eokOU34c0ipWgG+WmjgO9GaqVuQeGj8=; b=k9eXwNK59em41NlGp6EWRKJ7XR FKUTFFrlbwctyitRHqWz80/d7OybBuWobtbpi8M0zPPG+bRnKL53exQNXuUALpY6Zc2awicTAhIX4 AzNaPh2UvpsxnItcTi7/gCt5W2C9gbqZaSL7FutlHy0fxIL1f7s+YtFNWEBRINaajCBltGCgMd805 xy8MYF5YOapjR2SD+UlQ2k/CJgGFLSQ6sWv5AY3sUQNMmHNwzKAOdOp16imwvwmFvDV4A+RTlA3TD c16syMOxS79AF/Rkl54d2p+NTx7ZEjWsddQrOF8s2zQocCgX1RbykT4OW0doja3vGkp27SSWHHkWO hgIsoWiw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tg6Ga-000000075rg-3NYT; Thu, 06 Feb 2025 18:06:20 +0000 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tg6Dq-000000075AJ-06ms for linux-arm-kernel@lists.infradead.org; Thu, 06 Feb 2025 18:03:32 +0000 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-43626213fffso14434785e9.1 for ; Thu, 06 Feb 2025 10:03:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; t=1738865008; x=1739469808; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=dY5Z8v+X+nz1eokOU34c0ipWgG+WmjgO9GaqVuQeGj8=; b=Q31NwT48Y5ZWe3WudpkksDGsMwzp61SlPAHSSbQgD9nd4R3ZY32Y8QdqAXs4xVdmER FhDGMwshj8IPV7W9aGaeblT01sAVOWkBat2bPVocw/v8/Xm194IMrU4Jq+5jNCL89Lhz XzJZtTcwMS6W+IIDoWiL6293o5gQrs6/AwnwIaalFicOgwKw+b7QwX4jLmdU9HR7QLIB nXUvNOXIKV7DpfIyzgpib/CKO5wTg/nJOmHqIwXPvhKvzNumpP/3LyrNx5ct8DPQFMau Gp5ElcYyFhkWFyRsqwZwC6avsbvtRl7VU7wMyJ8SC0GyJqzqCPnBusRrrtZc18DBwT8e Pzxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738865008; x=1739469808; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dY5Z8v+X+nz1eokOU34c0ipWgG+WmjgO9GaqVuQeGj8=; b=P+ukealuQusGUR8Ps02+5DC8xeKcu2ppsmh3FM9IDbM9PlH2nNaUbUuOlbEJejyCsM bKQapHwVzyw0uhYbb+m3PCNHxLxj6TOchcdzCQnL5rBdVSUw4jCWoAz+5bOQyC2KU5h7 n6pKMJ1LElKeMeZ61GgRUrPxDh7thQGq+yPej5dO507aM0PjgsTHOaFtHUxJiu6kcEsk CRSob1VR71f/ZAtSwQu8t4Q57NFOjIFVs+GwUytLyHcRkUdPr5ngTXCOHEtEf1RU4NaG HDN7SFYdMns4ao6mZYLmZ+Srs0rDk6zTNc/aER04BTMhUszfAqSNMCfzf4PI09eIFfQG 0AWQ== X-Forwarded-Encrypted: i=1; AJvYcCXO+YB/mlKW2iBAzk4V+bpA0YxRMraghDcZwKdJ8BVGaVbzt8KBuD4+Y7O1H2GyCbnBnwRlAxJv9+Qg2VmKGkGd@lists.infradead.org X-Gm-Message-State: AOJu0Yy/sqnyc55H8cvKz3SnMSpt/tL7/WK22LP7Vx7geZSemsQ1rzFV Sr1xGTX8NN3MfwvX42p+rFwG8UaeiEqgfPjGudsBITULr+XsFJXG7WOn5b2cWo8= X-Gm-Gg: ASbGnctIMwLJ5zfBWuqz9/Qxe/KIJAYtygLTNsoTugstyscIkVCbH72VilGTuso4rBu 2VjdKu2qx07DbPSvhly1Bi2kh6ozUMBxGd2S4CpcoQhCONRwe+QljdYJNiCMNZufsbKdnxyfyBl 26x/yjBKgUJjTNmhoVymfQ0wxInBf97Rys3/7Fkge0NRCNqf3JlPrygd0Bmz8yqxJO4yiQLywNG iSN7NJYQWTH6coQD7f+KjZH6NnbBK6PZaxqig8rvQwz/wV6LEqWiVMUXl9f1SKhnV53z4M2hqQG xi7jWSw= X-Google-Smtp-Source: AGHT+IGA7y0kPIv4lcDBe/6bTHHSSHeIsT4CR86PjP/yHXhvJVRneQ5HCkaklQwceTZaGwBvQ0G3HQ== X-Received: by 2002:a05:600c:5782:b0:438:9280:61d5 with SMTP id 5b1f17b1804b1-43912d150fdmr30935075e9.5.1738865008121; Thu, 06 Feb 2025 10:03:28 -0800 (PST) Received: from [127.0.1.1] ([2a00:1098:3142:e::8]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-38dbdd3856fsm2278858f8f.28.2025.02.06.10.03.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Feb 2025 10:03:27 -0800 (PST) From: Dave Stevenson Date: Thu, 06 Feb 2025 18:02:34 +0000 Subject: [PATCH v2 1/5] docs: uapi: media: Document Raspberry Pi NV12 column format MIME-Version: 1.0 Message-Id: <20250206-media-rpi-hevc-dec-v2-1-69353c8805b2@raspberrypi.com> References: <20250206-media-rpi-hevc-dec-v2-0-69353c8805b2@raspberrypi.com> In-Reply-To: <20250206-media-rpi-hevc-dec-v2-0-69353c8805b2@raspberrypi.com> To: Sakari Ailus , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Florian Fainelli , Broadcom internal kernel review list , John Cox , Dom Cobley , review list , Ezequiel Garcia Cc: John Cox , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org, Dave Stevenson X-Mailer: b4 0.14.1 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250206_100330_071712_23DE7783 X-CRM114-Status: GOOD ( 11.14 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The Raspberry Pi HEVC decoder uses a tiled format based on columns for 8 and 10 bit YUV images, so document them as NV12MT_COL128 and NV12MT_10_COL128. Signed-off-by: Dave Stevenson --- .../userspace-api/media/v4l/pixfmt-yuv-planar.rst | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst b/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst index b788f6933855..b5b590f234b0 100644 --- a/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst +++ b/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst @@ -827,6 +827,48 @@ Data in the 12 high bits, zeros in the 4 low bits, arranged in little endian ord - Cb\ :sub:`11` - Cr\ :sub:`11` +V4L2_PIX_FMT_NV12MT_COL128 and V4L2_PIX_FMT_NV12MT_10_COL128 +------------------------------------------------------------ + +``V4L2_PIX_FMT_NV12MT_COL128`` is a tiled version of +``V4L2_PIX_FMT_NV12M`` where the two planes are split into 128 byte wide columns +of Y or interleaved CbCr. + +V4L2_PIX_FMT_NV12MT_10_COL128 expands that as a 10 bit format where 3 10 bit +values are packed into a 32bit word. A 128 byte wide column therefore holds 96 +samples (either Y or interleaved CrCb). That effectively makes it 6 values in a +64 bit word for the CbCr plane, as the values always go in pairs. + +Bit-packed representation. + +.. tabularcolumns:: |p{1.2cm}||p{1.2cm}||p{1.2cm}||p{1.2cm}|p{3.2cm}|p{3.2cm}| + +.. flat-table:: + :header-rows: 0 + :stub-columns: 0 + :widths: 8 8 8 8 + + * - Y'\ :sub:`00[7:0]` + - Y'\ :sub:`01[5:0] (bits 7--2)` Y'\ :sub:`00[9:8]`\ (bits 1--0) + - Y'\ :sub:`02[3:0] (bits 7--4)` Y'\ :sub:`01[9:6]`\ (bits 3--0) + - unused (bits 7--6)` Y'\ :sub:`02[9:4]`\ (bits 5--0) + +.. tabularcolumns:: |p{1.2cm}||p{1.2cm}||p{1.2cm}||p{1.2cm}|p{3.2cm}|p{3.2cm}| + +.. flat-table:: + :header-rows: 0 + :stub-columns: 0 + :widths: 12 12 12 12 12 12 12 12 + + * - Cb\ :sub:`00[7:0]` + - Cr\ :sub:`00[5:0]`\ (bits 7--2) Cb\ :sub:`00[9:8]`\ (bits 1--0) + - Cb\ :sub:`01[3:0]`\ (bits 7--4) Cr\ :sub:`00[9:6]`\ (bits 3--0) + - unused (bits 7--6) Cb\ :sub:`02[9:4]`\ (bits 5--0) + - Cr\ :sub:`01[7:0]` + - Cb\ :sub:`02[5:0]`\ (bits 7--2) Cr\ :sub:`01[9:8]`\ (bits 1--0) + - Cr\ :sub:`02[3:0]`\ (bits 7--4) Cb\ :sub:`02[9:6]`\ (bits 3--0) + - unused (bits 7--6) Cr\ :sub:`02[9:4]`\ (bits 5--0) + Fully Planar YUV Formats ======================== From patchwork Thu Feb 6 18:02:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dave Stevenson X-Patchwork-Id: 13963404 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 907F2C02199 for ; Thu, 6 Feb 2025 18:07:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=kR3OVycuCmoqTqRR5D0uJANjV33MoT0CPRB7lcsHjJo=; b=csu6zM+Q0kquThq4YIvt+VT3dY rOTdtwBco8ou7IV7cWpkFN59RB5daOkVlW9qzU7EZfNwmuJpd2c/B/gsri4Mo0A2i0U0apqBu1ieV vtpZI/6B30vyXcdWEeEJE49GF1QAAnZ64T3m0tn55DxvGV27goaCA7gFkMb2z9DwsxD3rDC7gEorb lwjX+SngOmHlxbdO8io0vUFkaAf4m6UI34fKtU1n/iL+As0co+aQvwgkmEzTHWrhzveRLDYyvPwxz RyvKxRtq8/1NteTWhGFpdVyNvv4ktPH1iRFsktVG8dVf4hoX39LQmbMkAjNb97+z6fBuvB9Vl8FdQ ptj9BmYQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tg6Hz-000000076GA-1Whu; Thu, 06 Feb 2025 18:07:47 +0000 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tg6Dq-000000075AN-42kF for linux-arm-kernel@lists.infradead.org; Thu, 06 Feb 2025 18:03:33 +0000 Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-38dc5b8ed86so242240f8f.1 for ; Thu, 06 Feb 2025 10:03:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; t=1738865009; x=1739469809; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=kR3OVycuCmoqTqRR5D0uJANjV33MoT0CPRB7lcsHjJo=; b=M7+hpjpxFwwcu9PCHWO2NBxRJnlcwGGy47BR6djcGtBBa5N9AkAmh4Diy96y6KAW8h +nnE9T3UrFwKBlckozpL++QL93BtlXyqOx/yol5U2G1w4mHuKLdVjsH5M9/VJ3a+WgYI 77BTpI/Br4ZFHDk0Dt5EBcM4ojeaNG3vqcCdCCupAVSqbuFo5hoVUyKuCeSynDBLeR4P FM0qttcyS/j4c05gxvudJH9FA9kA+0gm9p0ILJlSnNTVe1YaiwpnfBQGqQakqTYHWxid mrgFggN9PEV1khpw6+Zj+CAiohWVwziahLt3647PhBjcOat9JeQjw6y2+noYrT2iN8Tg LanQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738865009; x=1739469809; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kR3OVycuCmoqTqRR5D0uJANjV33MoT0CPRB7lcsHjJo=; b=BK8RPHcfocktvWTs3DIl6mO709ZBcOIYHIRYraNcJCrXrlzhXmVxoMQfmvrc/iRmT3 mFNFtXMam2f055stCDPzlCQm3zjMuiwn88eRt6vK83W1UoDzaf4LZQKHSM+5oM/OxR/k WlPKary2ypjrneCXe9+6YllhzrunVlqz8pMtNwsnmqpKpgswSJmgxnexKYQxzIXdxJtG SwBcxCzvxTnE6sYIi5dQcYgDDFykBlmI7VOWDP5UCDLvUc+LZSlKcIMCciwe5nriWJun Nzv/sI8LvsmCuVhSJqKggMMXSkYbZsGH6WAEWWRygB/KLnKUqPPHmbFj8g0aTYVgfe6p 7nPQ== X-Forwarded-Encrypted: i=1; AJvYcCURfRC1hhrHY18eVLpyAu46WWSwLQ6ZlyUzdqOBVrDW566CCRnC2dNNjs/IDP1bYaPnt8V5nFeyzXWLyJpt3pw9@lists.infradead.org X-Gm-Message-State: AOJu0YwednTMLnOs5q6s4/z3rmXHoDfbEN6kFMJiUj5FSCBM7O+2i6Uc sNQbT0JhM8xy9eNbNoJSojEOrRLaqlQAQydaEZtYfmh9aaYwoMZRJg+8gMD7IYM= X-Gm-Gg: ASbGnctVDPDjAmY/vkUEkAk+5OY7tklxtsn4dhEgQvg4C2Slzm8E1Z9VdO/XHrU3/pB 7iKVgcZSYEkimx0S7mCS8j+rAodMroOBcdt6/Lr3B4frAqlwL/rzNjZd/eMC+BtiQKFDO4S6HUC S66NhKjQHn5JLdVJ4yDsvjWDIAMkQYKqAUtUK+sglepOqNZ3sOlYvyZEzbh3HV202FPkMe1dAFv Uwq3TVdgaaMX/H3I9roUUPqNMgZRXsbMS2cGR2rtvfY4cBhHUfV9yB0mgvtVKZX+DBt5laDnsIe EvtdkbQ= X-Google-Smtp-Source: AGHT+IEoc/9XOwlp0DvnbUlLjy/NlRiR7j2XwPEULfDZEUfoxbrwXS8TYDaBV4uvHBf5o/4F0pxwsg== X-Received: by 2002:a05:6000:1886:b0:38d:b2e4:6d98 with SMTP id ffacd0b85a97d-38db491f10cmr4937014f8f.42.1738865009088; Thu, 06 Feb 2025 10:03:29 -0800 (PST) Received: from [127.0.1.1] ([2a00:1098:3142:e::8]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-38dbdd3856fsm2278858f8f.28.2025.02.06.10.03.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Feb 2025 10:03:28 -0800 (PST) From: Dave Stevenson Date: Thu, 06 Feb 2025 18:02:35 +0000 Subject: [PATCH v2 2/5] media: ioctl: Add pixel formats NV12MT_COL128 and NV12MT_10_COL128 MIME-Version: 1.0 Message-Id: <20250206-media-rpi-hevc-dec-v2-2-69353c8805b2@raspberrypi.com> References: <20250206-media-rpi-hevc-dec-v2-0-69353c8805b2@raspberrypi.com> In-Reply-To: <20250206-media-rpi-hevc-dec-v2-0-69353c8805b2@raspberrypi.com> To: Sakari Ailus , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Florian Fainelli , Broadcom internal kernel review list , John Cox , Dom Cobley , review list , Ezequiel Garcia Cc: John Cox , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org, Dave Stevenson X-Mailer: b4 0.14.1 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250206_100330_994291_9343D7C9 X-CRM114-Status: GOOD ( 11.78 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add V4L2_PIXFMT_NV12MT_COL128 and V4L2_PIXFMT_NV12MT_10_COL128 to describe the Raspberry Pi HEVC decoder NV12 multiplanar formats. Signed-off-by: Dave Stevenson --- drivers/media/v4l2-core/v4l2-ioctl.c | 2 ++ include/uapi/linux/videodev2.h | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c index 0304daa8471d..e510e375a871 100644 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c @@ -1377,7 +1377,9 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt) case V4L2_PIX_FMT_NV16M: descr = "Y/UV 4:2:2 (N-C)"; break; case V4L2_PIX_FMT_NV61M: descr = "Y/VU 4:2:2 (N-C)"; break; case V4L2_PIX_FMT_NV12MT: descr = "Y/UV 4:2:0 (64x32 MB, N-C)"; break; + case V4L2_PIX_FMT_NV12MT_COL128: descr = "Y/CbCr 4:2:0 (128b cols)"; break; case V4L2_PIX_FMT_NV12MT_16X16: descr = "Y/UV 4:2:0 (16x16 MB, N-C)"; break; + case V4L2_PIX_FMT_NV12MT_10_COL128: descr = "10-bit Y/CbCr 4:2:0 (128b cols)"; break; case V4L2_PIX_FMT_P012M: descr = "12-bit Y/UV 4:2:0 (N-C)"; break; case V4L2_PIX_FMT_YUV420M: descr = "Planar YUV 4:2:0 (N-C)"; break; case V4L2_PIX_FMT_YVU420M: descr = "Planar YVU 4:2:0 (N-C)"; break; diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h index e7c4dce39007..ce07b242c1a0 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h @@ -687,6 +687,10 @@ struct v4l2_pix_format { #define V4L2_PIX_FMT_NV12MT_16X16 v4l2_fourcc('V', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 16x16 tiles */ #define V4L2_PIX_FMT_NV12M_8L128 v4l2_fourcc('N', 'A', '1', '2') /* Y/CbCr 4:2:0 8x128 tiles */ #define V4L2_PIX_FMT_NV12M_10BE_8L128 v4l2_fourcc_be('N', 'T', '1', '2') /* Y/CbCr 4:2:0 10-bit 8x128 tiles */ +#define V4L2_PIX_FMT_NV12MT_COL128 v4l2_fourcc('N', 'c', '1', '2') /* 12 Y/CbCr 4:2:0 128 pixel wide column */ +#define V4L2_PIX_FMT_NV12MT_10_COL128 v4l2_fourcc('N', 'c', '3', '0') + /* Y/CbCr 4:2:0 10bpc, 3x10 packed as 4 bytes in a 128 bytes / 96 pixel wide column */ + /* Bayer formats - see http://www.siliconimaging.com/RGB%20Bayer.htm */ #define V4L2_PIX_FMT_SBGGR8 v4l2_fourcc('B', 'A', '8', '1') /* 8 BGBG.. GRGR.. */ From patchwork Thu Feb 6 18:02:36 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dave Stevenson X-Patchwork-Id: 13963405 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 36A52C02194 for ; Thu, 6 Feb 2025 18:09:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=6+Ptm0oRwTnL3Ocb32TjntW1tAXUnQly4a1T7oh0b/g=; b=tf80mgCOIltwaQGX/D0Nskjs4M 2qOi0PyXgjNTymmI+MIUi/GQGx8+Hlv+W6SGoDGkagTXm6VJ5DIgfbu+DgJzbvqDWLGZuHslDCCkE 1ap+kh1EEvFlWBJVmCbOX5/Z40QBNpmi3H+G9h6FmvBMPZjSxPjYnhi8rWGbv8UN2Z/wZbtbSLOs8 Qtgf5WOx9xgubbxgPUHdlyENxkpHEU+nsGNuYKPicyVhUqZjW/ig9rGn6FzX7zFmMaFEuOPBDJcfQ shVm4wg3dqtEBc+QUiFoIvc1NOM1dLFN7X51B8Sk4LuIKr6x5Vaa1hfg91Pl44RYv3qgGe+2gmPPy tu3WadXQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tg6JL-000000076Tt-0BNc; Thu, 06 Feb 2025 18:09:11 +0000 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tg6Ds-000000075CG-3h63 for linux-arm-kernel@lists.infradead.org; Thu, 06 Feb 2025 18:03:34 +0000 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-4361f796586so14563325e9.3 for ; Thu, 06 Feb 2025 10:03:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; t=1738865011; x=1739469811; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=6+Ptm0oRwTnL3Ocb32TjntW1tAXUnQly4a1T7oh0b/g=; b=bIOc+hHDPS+45UrFvHO7eFfN5U1T8OkhdGvB8WL9oIqRlZ1QJEeKzIw8P43+oeXA5T 3cD4kYmyumdm8j4skuj4e2TAnfEsC48rRLyZixq1LfOVu+VJvHxUjI4JQyBRjLz93v0u Jn2N6QGAOcweGYM2kHh8KbxMDh4pprLFieP3qT88E2KVt/24iRVfI184P2d13dDtJNwJ PSLboSQwUopdBpKX/eDKxWBuMPLkEzv3p28mLvQLkvfNbGG2NcgzFOZMVTOiQQzmUv6f a5F/9XfoN17uGaZv0CQBpRlbnzB75t0FIbnv1ozIP66lLwyfzchPTdjUVC9v0KvZJqAy NCGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738865011; x=1739469811; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6+Ptm0oRwTnL3Ocb32TjntW1tAXUnQly4a1T7oh0b/g=; b=wdtHZN3wIuMZK7OngOxODzRvNVv6pbH8F4FLbfiCz//hUs8ZtqZJVYg3XnouncpabM +QKwwyc4EoDV1Dnbq8bdYxmOZ24OG6sOwHyUiXmpl8aERRmFzQjIILrPwp4VVrqA5lf9 pzV57ZQv5qDqxySRgD9Ot8paamN2oVmRmf0wld9MEcHQQ8ihpwIatuJmUjDD8utRXyUY pEvEGURZELrxSOIm7TM/NomTR63zcEl/rd7ikykr0+XMPq3SVS20Ew7Cv8WFRHEVBc92 cSc5Fo/zjhi9L3vOBnegHcLkMheBoyIyT87NpfjR4M8Ll4W33WrJKZcrqtDRB/ENb+Gx znxQ== X-Forwarded-Encrypted: i=1; AJvYcCVBAed08kF1sBLSaNwfR0e90hHxiUQh2PoJR8anFMmrfL32lj6Q6YhAyQzBZBSWQaV0dzAcHFm21IkCCxy15NLe@lists.infradead.org X-Gm-Message-State: AOJu0YzQydd6d7epvLfNkkbpXhSM/Aqqx/WzYki6FwCt6c47C4SuooJ7 LCEKLYTQhjyPM9vInW5nxw793OlXUD2UGa4fz3Q6iM0P8GEAW+3wHePmB+ih97Q= X-Gm-Gg: ASbGncs6K8xT6NbMeA2f724zTwZCikhGs1j3cKqq7Cl2l+M5EX0ius5DVXor5DHEfHg xli8fBfIDP+eneXMP0ARHzF0mpk3t3YZ2oerEdjidAa1ZezJEiVATFTGt68thjnH4yg3IMMZWMn U1izeAuAXZdHblJjNE5SX4/Ra4K0z0fQY5u77J8jPIAsaO9pXeEyHrJ4LKaxn8uRuqMp8ais6z8 RaLOUYYlI8tIgRlXtGwqYYgK1u2K157eIfwk6LZcsXBtvuXYf26MjMkBBRA+kx3YrBvRM3HtYan rCQAGuE= X-Google-Smtp-Source: AGHT+IEc40ueYLTteR1KlQ3fnrgzcK1xfXxwFu0xmwqnVwELnnEw0h737ayS1xCS2yNyZ8/F36GDAA== X-Received: by 2002:a05:600c:4f91:b0:436:916b:aaf4 with SMTP id 5b1f17b1804b1-4392498a1b5mr4704265e9.10.1738865010000; Thu, 06 Feb 2025 10:03:30 -0800 (PST) Received: from [127.0.1.1] ([2a00:1098:3142:e::8]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-38dbdd3856fsm2278858f8f.28.2025.02.06.10.03.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Feb 2025 10:03:29 -0800 (PST) From: Dave Stevenson Date: Thu, 06 Feb 2025 18:02:36 +0000 Subject: [PATCH v2 3/5] media: dt-bindings: media: Add binding for the Raspberry Pi HEVC decoder MIME-Version: 1.0 Message-Id: <20250206-media-rpi-hevc-dec-v2-3-69353c8805b2@raspberrypi.com> References: <20250206-media-rpi-hevc-dec-v2-0-69353c8805b2@raspberrypi.com> In-Reply-To: <20250206-media-rpi-hevc-dec-v2-0-69353c8805b2@raspberrypi.com> To: Sakari Ailus , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Florian Fainelli , Broadcom internal kernel review list , John Cox , Dom Cobley , review list , Ezequiel Garcia Cc: John Cox , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org, Dave Stevenson X-Mailer: b4 0.14.1 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250206_100332_928964_A2D5B6B7 X-CRM114-Status: GOOD ( 13.60 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Adds a binding for the HEVC decoder found on the BCM2711 / Raspberry Pi 4, and BCM2712 / Raspberry Pi 5. Signed-off-by: Dave Stevenson --- .../bindings/media/raspberrypi,hevc-dec.yaml | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/Documentation/devicetree/bindings/media/raspberrypi,hevc-dec.yaml b/Documentation/devicetree/bindings/media/raspberrypi,hevc-dec.yaml new file mode 100644 index 000000000000..06db7004c765 --- /dev/null +++ b/Documentation/devicetree/bindings/media/raspberrypi,hevc-dec.yaml @@ -0,0 +1,67 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/raspberrypi,hevc-dec.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Raspberry Pi HEVC Decoder + +maintainers: + - John Cox + - Dom Cobley + - Dave Stevenson + - Raspberry Pi internal review list + +description: + The Raspberry Pi HEVC decoder is a hardware video decode accelerator block + found in the BCM2711 and BCM2712 processors used on Raspberry Pi 4 and 5 + boards respectively. + +properties: + compatible: + enum: + - raspberrypi,hevc-dec + + reg: + items: + - description: The HEVC main register region + - description: The Interrupt control register region + + reg-names: + items: + - const: hevc + - const: intc + + interrupts: + maxItems: 1 + + clocks: + items: + - description: The HEVC block clock + +required: + - compatible + - reg + - reg-names + - interrupts + - clocks + +additionalProperties: false + +examples: + - | + #include + + video-codec@7eb10000 { + compatible = "raspberrypi,hevc-dec"; + reg = <0x7eb00000 0x10000>, /* HEVC */ + <0x7eb10000 0x1000>; /* INTC */ + reg-names = "hevc", + "intc"; + + interrupts = ; + + clocks = <&clk 0>; + }; + +... From patchwork Thu Feb 6 18:02:38 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dave Stevenson X-Patchwork-Id: 13963412 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 33B9AC02194 for ; Thu, 6 Feb 2025 18:10:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=9j/Oa5YYyXRr2YC4IwFerwor4UG4DCkLhlqZUyCWpwA=; b=0wwZY3gYyJdBX4EltJRRgw5DaP 7QUwTaeqeAcOouonXxexVgWQVCJ0S6tFAyJ0MpOigcrnjVcJ3lfCP7UH5Z7SElBZr7ZRlG1ESToaw hXNU4ZjOqTx8TV5fvpCMNtmXNUI57XlQ5l/Xik73x8BX1fchE7H7YSn2vHWy19vavhndGaxVhj60x 5qcC6QI383tlEL/P/YLkqoNyn9pgTx6Qp22x/dgot8brFHaFbDPjpHRZIzLWdjrRpo17QXqt6iaZE f8Zyd7x5Qx/VHSxs58HqWrtuamx1XxD8AQWGqdlGeXcXC9MrZ5djXQ3/ingpe7qmScuC6dSxD0R5x 8jHjCNEA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tg6Kj-000000076ku-3igh; Thu, 06 Feb 2025 18:10:37 +0000 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tg6Du-000000075Cs-0cs0 for linux-arm-kernel@lists.infradead.org; Thu, 06 Feb 2025 18:03:35 +0000 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-436281c8a38so8673855e9.3 for ; Thu, 06 Feb 2025 10:03:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; t=1738865012; x=1739469812; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=9j/Oa5YYyXRr2YC4IwFerwor4UG4DCkLhlqZUyCWpwA=; b=k/nfM5A7jj4ZUFpWePW/shvFl/ad0u9+kOhjJVJUV2rKTqEpHSfF1IPsJgzR7qnDzg mauK3R75wtrMPYTUJiee4Q2HqVOn1FYEJFx+SpV+9ix8EDci6vRkRMpSWxU4GkQx+B4o xuBkPyVSaO97SceULM5lx/aUKxJofHDmEVtWZ3Kr7qF3neSLp6zSRM5nvDLTJ9ow762h JDQFWSg8HUHCbBT2OpV0A65SfGOCdr8Ox6ZYuot7fbN4izqDJIV5GglOwLF7M9fZ5lqP VcbE6EES8DvgP9UdvlhjtrvPatAq5IrSSn0RO8AZjCdE2GRkczOJ4ZLK/2+B11/dmsnI 4ZxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738865012; x=1739469812; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=9j/Oa5YYyXRr2YC4IwFerwor4UG4DCkLhlqZUyCWpwA=; b=X7cR8JRD5bi5X+x8yXzPZWz8kQ1i08YS/fZzKXP3dmY+rKwM7Ty9u5FIfV1vUtMu5A Js6wZN+rY7IfxZaKrLpcizGMg/hWTyPiVT61Akyl2LieovA1dZtSL9IjjBRr57G/oveJ pXsnkKONRO/Vco8yYrFnFkmSsZaZBv88m24ZxlEg20XGc0fPmrEXpVFL7DNluNQAhc8e oEkmnK6hZavQ2G9z3Gm6MtYCahMnjSewfXYhqsk7+7+4FltNdyb+4cXDpghxRAdJEMK4 TuOqirz6Thw2vwk7P0b9qT3cbcgxu/c/3sdLQDCDQPutgHRznJKivjvg/8b+ITCz5Ab0 R+Mw== X-Forwarded-Encrypted: i=1; AJvYcCW6EXlptMqGEJuCkxMURuw4T1A0gJZemsOBBBUwLADWB9oHp3PXa1iDSrAmgSfAlFWUbV5SFVSfSm8xFkHbIIed@lists.infradead.org X-Gm-Message-State: AOJu0Yyu9IzZf+zjmiXqz/0q5J7P58MLqQddQBPIha+OnzpglfOjdvzi 8pNqtm28eAfuloJT5qOH60OQtCT8JaYorlXppL7YkRmTPb0qPfz56VkkCMXjmIQ= X-Gm-Gg: ASbGncuUKe0nmtFlvnJaXWYRgrwylBGIYe3ETMj7yOMC/CADU6J/DPMnaVyiewvvWpm 1bhrO6H/Rk6UTwEA6b1UT662gztfI0iyd+KzK65vX7KjR0liemxuoNGPLoJavmROJi0fQ2bOQwE zTuNs4Ra0h6jrqkFPorYP3m33Tb6RYg52jCiya4KIAaaB2O7L3OrRDHclg9V74GTi+a8Hn26ajp 06WJxOwrAsDW1upEEiqe+U4kqUlDiT8mjyIOu+1lh0h9OH7tF2+Ckw82FBsEXtTwFvdJW255O39 gE3W+cw= X-Google-Smtp-Source: AGHT+IEGNVXFcPPbaAsAkKUz6RKFMzgdm3ieZv/CxcB2k8KxB6gUfL4TU2Ef/Sfmqg6Pd5YA7HWYzQ== X-Received: by 2002:a05:600c:46cb:b0:433:c76d:d57e with SMTP id 5b1f17b1804b1-43924972d1amr3677925e9.5.1738865012189; Thu, 06 Feb 2025 10:03:32 -0800 (PST) Received: from [127.0.1.1] ([2a00:1098:3142:e::8]) by smtp.googlemail.com with ESMTPSA id ffacd0b85a97d-38dbdd3856fsm2278858f8f.28.2025.02.06.10.03.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Feb 2025 10:03:31 -0800 (PST) From: Dave Stevenson Date: Thu, 06 Feb 2025 18:02:38 +0000 Subject: [PATCH v2 5/5] arm: dts: bcm2711-rpi: Add HEVC decoder node MIME-Version: 1.0 Message-Id: <20250206-media-rpi-hevc-dec-v2-5-69353c8805b2@raspberrypi.com> References: <20250206-media-rpi-hevc-dec-v2-0-69353c8805b2@raspberrypi.com> In-Reply-To: <20250206-media-rpi-hevc-dec-v2-0-69353c8805b2@raspberrypi.com> To: Sakari Ailus , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Florian Fainelli , Broadcom internal kernel review list , John Cox , Dom Cobley , review list , Ezequiel Garcia Cc: John Cox , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org, Dave Stevenson X-Mailer: b4 0.14.1 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250206_100334_187225_A0ABD234 X-CRM114-Status: GOOD ( 10.64 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add the configuration information for the HEVC decoder. Signed-off-by: Dave Stevenson --- arch/arm/boot/dts/broadcom/bcm2711-rpi.dtsi | 4 ++++ arch/arm/boot/dts/broadcom/bcm2711.dtsi | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi.dtsi b/arch/arm/boot/dts/broadcom/bcm2711-rpi.dtsi index 6bf4241fe3b7..56c633005941 100644 --- a/arch/arm/boot/dts/broadcom/bcm2711-rpi.dtsi +++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi.dtsi @@ -105,3 +105,7 @@ &vchiq { &xhci { power-domains = <&power RPI_POWER_DOMAIN_USB>; }; + +&hevc_dec { + clocks = <&firmware_clocks 11>; +}; diff --git a/arch/arm/boot/dts/broadcom/bcm2711.dtsi b/arch/arm/boot/dts/broadcom/bcm2711.dtsi index e4e42af21ef3..2931d93ba184 100644 --- a/arch/arm/boot/dts/broadcom/bcm2711.dtsi +++ b/arch/arm/boot/dts/broadcom/bcm2711.dtsi @@ -628,6 +628,15 @@ v3d: gpu@7ec00000 { resets = <&pm BCM2835_RESET_V3D>; interrupts = ; }; + + hevc_dec: codec@7eb10000 { + compatible = "raspberrypi,hevc-dec"; + reg = <0x0 0x7eb00000 0x10000>, /* HEVC */ + <0x0 0x7eb10000 0x1000>; /* INTC */ + reg-names = "hevc", + "intc"; + interrupts = ; + }; }; };