* [PATCH v2 1/5] docs: uapi: media: Document Raspberry Pi NV12 column format
2025-02-06 18:02 [PATCH v2 0/5] Raspberry Pi HEVC decoder driver Dave Stevenson
@ 2025-02-06 18:02 ` Dave Stevenson
2025-02-06 18:02 ` [PATCH v2 2/5] media: ioctl: Add pixel formats NV12MT_COL128 and NV12MT_10_COL128 Dave Stevenson
` (2 subsequent siblings)
3 siblings, 0 replies; 8+ messages in thread
From: Dave Stevenson @ 2025-02-06 18:02 UTC (permalink / raw)
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, linux-kernel, devicetree, linux-rpi-kernel,
linux-arm-kernel, Dave Stevenson
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 <dave.stevenson@raspberrypi.com>
---
.../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
========================
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v2 2/5] media: ioctl: Add pixel formats NV12MT_COL128 and NV12MT_10_COL128
2025-02-06 18:02 [PATCH v2 0/5] Raspberry Pi HEVC decoder driver Dave Stevenson
2025-02-06 18:02 ` [PATCH v2 1/5] docs: uapi: media: Document Raspberry Pi NV12 column format Dave Stevenson
@ 2025-02-06 18:02 ` Dave Stevenson
2025-02-06 18:02 ` [PATCH v2 3/5] media: dt-bindings: media: Add binding for the Raspberry Pi HEVC decoder Dave Stevenson
2025-02-06 18:02 ` [PATCH v2 5/5] arm: dts: bcm2711-rpi: Add HEVC decoder node Dave Stevenson
3 siblings, 0 replies; 8+ messages in thread
From: Dave Stevenson @ 2025-02-06 18:02 UTC (permalink / raw)
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, linux-kernel, devicetree, linux-rpi-kernel,
linux-arm-kernel, Dave Stevenson
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 <dave.stevenson@raspberrypi.com>
---
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.. */
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* [PATCH v2 3/5] media: dt-bindings: media: Add binding for the Raspberry Pi HEVC decoder
2025-02-06 18:02 [PATCH v2 0/5] Raspberry Pi HEVC decoder driver Dave Stevenson
2025-02-06 18:02 ` [PATCH v2 1/5] docs: uapi: media: Document Raspberry Pi NV12 column format Dave Stevenson
2025-02-06 18:02 ` [PATCH v2 2/5] media: ioctl: Add pixel formats NV12MT_COL128 and NV12MT_10_COL128 Dave Stevenson
@ 2025-02-06 18:02 ` Dave Stevenson
2025-02-11 22:20 ` Rob Herring
2025-02-06 18:02 ` [PATCH v2 5/5] arm: dts: bcm2711-rpi: Add HEVC decoder node Dave Stevenson
3 siblings, 1 reply; 8+ messages in thread
From: Dave Stevenson @ 2025-02-06 18:02 UTC (permalink / raw)
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, linux-kernel, devicetree, linux-rpi-kernel,
linux-arm-kernel, Dave Stevenson
Adds a binding for the HEVC decoder found on the BCM2711 / Raspberry Pi 4,
and BCM2712 / Raspberry Pi 5.
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
---
.../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 <john.cox@raspberrypi.com>
+ - Dom Cobley <dom@raspberrypi.com>
+ - Dave Stevenson <dave.stevenson@raspberrypi.com>
+ - Raspberry Pi internal review list <kernel-list@raspberrypi.com>
+
+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 <dt-bindings/interrupt-controller/arm-gic.h>
+
+ video-codec@7eb10000 {
+ compatible = "raspberrypi,hevc-dec";
+ reg = <0x7eb00000 0x10000>, /* HEVC */
+ <0x7eb10000 0x1000>; /* INTC */
+ reg-names = "hevc",
+ "intc";
+
+ interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
+
+ clocks = <&clk 0>;
+ };
+
+...
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v2 3/5] media: dt-bindings: media: Add binding for the Raspberry Pi HEVC decoder
2025-02-06 18:02 ` [PATCH v2 3/5] media: dt-bindings: media: Add binding for the Raspberry Pi HEVC decoder Dave Stevenson
@ 2025-02-11 22:20 ` Rob Herring
2025-02-12 15:29 ` Dave Stevenson
0 siblings, 1 reply; 8+ messages in thread
From: Rob Herring @ 2025-02-11 22:20 UTC (permalink / raw)
To: Dave Stevenson
Cc: Sakari Ailus, Laurent Pinchart, Mauro Carvalho Chehab,
Krzysztof Kozlowski, Conor Dooley, Florian Fainelli,
Broadcom internal kernel review list, John Cox, Dom Cobley,
review list, Ezequiel Garcia, John Cox, linux-media, linux-kernel,
devicetree, linux-rpi-kernel, linux-arm-kernel
On Thu, Feb 06, 2025 at 06:02:36PM +0000, Dave Stevenson wrote:
> Adds a binding for the HEVC decoder found on the BCM2711 / Raspberry Pi 4,
> and BCM2712 / Raspberry Pi 5.
>
> Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
> ---
> .../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 <john.cox@raspberrypi.com>
> + - Dom Cobley <dom@raspberrypi.com>
> + - Dave Stevenson <dave.stevenson@raspberrypi.com>
> + - Raspberry Pi internal review list <kernel-list@raspberrypi.com>
> +
> +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
SoC specific compatible please. If they are 'the same' then 2712 can
fallback to 2711.
> +
> + 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 <dt-bindings/interrupt-controller/arm-gic.h>
> +
> + video-codec@7eb10000 {
> + compatible = "raspberrypi,hevc-dec";
> + reg = <0x7eb00000 0x10000>, /* HEVC */
> + <0x7eb10000 0x1000>; /* INTC */
> + reg-names = "hevc",
> + "intc";
> +
> + interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
> +
> + clocks = <&clk 0>;
> + };
> +
> +...
>
> --
> 2.34.1
>
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH v2 3/5] media: dt-bindings: media: Add binding for the Raspberry Pi HEVC decoder
2025-02-11 22:20 ` Rob Herring
@ 2025-02-12 15:29 ` Dave Stevenson
0 siblings, 0 replies; 8+ messages in thread
From: Dave Stevenson @ 2025-02-12 15:29 UTC (permalink / raw)
To: Rob Herring
Cc: Sakari Ailus, Laurent Pinchart, Mauro Carvalho Chehab,
Krzysztof Kozlowski, Conor Dooley, Florian Fainelli,
Broadcom internal kernel review list, John Cox, Dom Cobley,
review list, Ezequiel Garcia, John Cox, linux-media, linux-kernel,
devicetree, linux-rpi-kernel, linux-arm-kernel
Hi Rob
On Tue, 11 Feb 2025 at 22:20, Rob Herring <robh@kernel.org> wrote:
>
> On Thu, Feb 06, 2025 at 06:02:36PM +0000, Dave Stevenson wrote:
> > Adds a binding for the HEVC decoder found on the BCM2711 / Raspberry Pi 4,
> > and BCM2712 / Raspberry Pi 5.
> >
> > Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
> > ---
> > .../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 <john.cox@raspberrypi.com>
> > + - Dom Cobley <dom@raspberrypi.com>
> > + - Dave Stevenson <dave.stevenson@raspberrypi.com>
> > + - Raspberry Pi internal review list <kernel-list@raspberrypi.com>
> > +
> > +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
>
> SoC specific compatible please. If they are 'the same' then 2712 can
> fallback to 2711.
Can I just make sure I understand your request before I respin?
This is a Raspberry Pi IP block that has been added to the Broadcom
SoCs. It's the same situation as for PiSP Backend which is documented
in bindings/media/raspberrypi,pisbe.yaml
Based on that I'm interpreting your comment as wanting:
properties:
compatible:
items:
- enum:
- brcm,bcm2711-hevc-dec
- brcm,bcm2712-hevc-dec
- const: raspberrypi,hevc-dec
Is that right?
Thanks
Dave
> > +
> > + 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 <dt-bindings/interrupt-controller/arm-gic.h>
> > +
> > + video-codec@7eb10000 {
> > + compatible = "raspberrypi,hevc-dec";
> > + reg = <0x7eb00000 0x10000>, /* HEVC */
> > + <0x7eb10000 0x1000>; /* INTC */
> > + reg-names = "hevc",
> > + "intc";
> > +
> > + interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
> > +
> > + clocks = <&clk 0>;
> > + };
> > +
> > +...
> >
> > --
> > 2.34.1
> >
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 5/5] arm: dts: bcm2711-rpi: Add HEVC decoder node
2025-02-06 18:02 [PATCH v2 0/5] Raspberry Pi HEVC decoder driver Dave Stevenson
` (2 preceding siblings ...)
2025-02-06 18:02 ` [PATCH v2 3/5] media: dt-bindings: media: Add binding for the Raspberry Pi HEVC decoder Dave Stevenson
@ 2025-02-06 18:02 ` Dave Stevenson
2025-03-16 9:52 ` Stefan Wahren
3 siblings, 1 reply; 8+ messages in thread
From: Dave Stevenson @ 2025-02-06 18:02 UTC (permalink / raw)
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, linux-kernel, devicetree, linux-rpi-kernel,
linux-arm-kernel, Dave Stevenson
Add the configuration information for the HEVC decoder.
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
---
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 = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
};
+
+ hevc_dec: codec@7eb10000 {
+ compatible = "raspberrypi,hevc-dec";
+ reg = <0x0 0x7eb00000 0x10000>, /* HEVC */
+ <0x0 0x7eb10000 0x1000>; /* INTC */
+ reg-names = "hevc",
+ "intc";
+ interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
+ };
};
};
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [PATCH v2 5/5] arm: dts: bcm2711-rpi: Add HEVC decoder node
2025-02-06 18:02 ` [PATCH v2 5/5] arm: dts: bcm2711-rpi: Add HEVC decoder node Dave Stevenson
@ 2025-03-16 9:52 ` Stefan Wahren
0 siblings, 0 replies; 8+ messages in thread
From: Stefan Wahren @ 2025-03-16 9:52 UTC (permalink / raw)
To: Dave Stevenson, 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, linux-kernel, devicetree, linux-rpi-kernel,
linux-arm-kernel
Hi Dave,
Am 06.02.25 um 19:02 schrieb Dave Stevenson:
> Add the configuration information for the HEVC decoder.
>
> Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
> ---
> 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>;
> +};
the node ref should be in alphabetical order, so please add after hdmi1.
> 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 = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
> };
> +
> + hevc_dec: codec@7eb10000 {
Please put the node before V3D to keep the register order.
> + compatible = "raspberrypi,hevc-dec";
> + reg = <0x0 0x7eb00000 0x10000>, /* HEVC */
> + <0x0 0x7eb10000 0x1000>; /* INTC */
Since the reg-names are provided, there is no need for these comments.
> + reg-names = "hevc",
> + "intc";
> + interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
> + };
> };
> };
>
>
^ permalink raw reply [flat|nested] 8+ messages in thread