* [PATCH v10 0/4] Add Rockchip VPU JPEG encoder
@ 2018-11-21 19:16 Ezequiel Garcia
[not found] ` <20181121191652.22814-1-ezequiel-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
0 siblings, 1 reply; 5+ messages in thread
From: Ezequiel Garcia @ 2018-11-21 19:16 UTC (permalink / raw)
To: linux-media-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA,
linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Cc: Mark Rutland, Nicolas Dufresne, Heiko Stuebner, Tomasz Figa,
Rob Herring, Hans Verkuil, Miouyouyou,
kernel-ZGY8ohtN/8qB+jHODAdFcQ, Ezequiel Garcia
This series is based on Mauro's master branch,
with the following patch applied:
https://patchwork.kernel.org/patch/10676149/
Hans,
If you think the driver is now ready, I'd like to merge
only patches 1/4 and 4/4 (the driver per-se) via the media tree.
The devicetree changes could go via Heiko's tree.
v10:
* Fix SPDX syntax
* Add missing patch with binding documentation
* Remove white line in Kconfig
v9:
* Address some style comments from Hans.
* Fix TODO file
v8:
* Drop new JPEG_RAW format.
* Drop quantization table user controls.
* Add JPEG headers to produce JPEG frames.
Ezequiel Garcia (4):
media: dt-bindings: Document the Rockchip VPU bindings
ARM: dts: rockchip: add VPU device node for RK3288
arm64: dts: rockchip: add VPU device node for RK3399
media: add Rockchip VPU JPEG encoder driver
.../bindings/media/rockchip-vpu.txt | 29 +
MAINTAINERS | 7 +
arch/arm/boot/dts/rk3288.dtsi | 14 +-
arch/arm64/boot/dts/rockchip/rk3399.dtsi | 14 +-
drivers/staging/media/Kconfig | 2 +
drivers/staging/media/Makefile | 1 +
drivers/staging/media/rockchip/vpu/Kconfig | 13 +
drivers/staging/media/rockchip/vpu/Makefile | 10 +
drivers/staging/media/rockchip/vpu/TODO | 6 +
.../media/rockchip/vpu/rk3288_vpu_hw.c | 118 +++
.../rockchip/vpu/rk3288_vpu_hw_jpeg_enc.c | 133 ++++
.../media/rockchip/vpu/rk3288_vpu_regs.h | 442 +++++++++++
.../media/rockchip/vpu/rk3399_vpu_hw.c | 118 +++
.../rockchip/vpu/rk3399_vpu_hw_jpeg_enc.c | 160 ++++
.../media/rockchip/vpu/rk3399_vpu_regs.h | 600 +++++++++++++++
.../staging/media/rockchip/vpu/rockchip_vpu.h | 237 ++++++
.../media/rockchip/vpu/rockchip_vpu_common.h | 29 +
.../media/rockchip/vpu/rockchip_vpu_drv.c | 535 +++++++++++++
.../media/rockchip/vpu/rockchip_vpu_enc.c | 702 ++++++++++++++++++
.../media/rockchip/vpu/rockchip_vpu_hw.h | 58 ++
.../media/rockchip/vpu/rockchip_vpu_jpeg.c | 290 ++++++++
.../media/rockchip/vpu/rockchip_vpu_jpeg.h | 14 +
22 files changed, 3530 insertions(+), 2 deletions(-)
create mode 100644 Documentation/devicetree/bindings/media/rockchip-vpu.txt
create mode 100644 drivers/staging/media/rockchip/vpu/Kconfig
create mode 100644 drivers/staging/media/rockchip/vpu/Makefile
create mode 100644 drivers/staging/media/rockchip/vpu/TODO
create mode 100644 drivers/staging/media/rockchip/vpu/rk3288_vpu_hw.c
create mode 100644 drivers/staging/media/rockchip/vpu/rk3288_vpu_hw_jpeg_enc.c
create mode 100644 drivers/staging/media/rockchip/vpu/rk3288_vpu_regs.h
create mode 100644 drivers/staging/media/rockchip/vpu/rk3399_vpu_hw.c
create mode 100644 drivers/staging/media/rockchip/vpu/rk3399_vpu_hw_jpeg_enc.c
create mode 100644 drivers/staging/media/rockchip/vpu/rk3399_vpu_regs.h
create mode 100644 drivers/staging/media/rockchip/vpu/rockchip_vpu.h
create mode 100644 drivers/staging/media/rockchip/vpu/rockchip_vpu_common.h
create mode 100644 drivers/staging/media/rockchip/vpu/rockchip_vpu_drv.c
create mode 100644 drivers/staging/media/rockchip/vpu/rockchip_vpu_enc.c
create mode 100644 drivers/staging/media/rockchip/vpu/rockchip_vpu_hw.h
create mode 100644 drivers/staging/media/rockchip/vpu/rockchip_vpu_jpeg.c
create mode 100644 drivers/staging/media/rockchip/vpu/rockchip_vpu_jpeg.h
--
2.19.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v10 1/4] media: dt-bindings: Document the Rockchip VPU bindings
[not found] ` <20181121191652.22814-1-ezequiel-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
@ 2018-11-21 19:16 ` Ezequiel Garcia
[not found] ` <20181121191652.22814-2-ezequiel-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
2018-11-21 19:16 ` [PATCH v10 2/4] ARM: dts: rockchip: add VPU device node for RK3288 Ezequiel Garcia
1 sibling, 1 reply; 5+ messages in thread
From: Ezequiel Garcia @ 2018-11-21 19:16 UTC (permalink / raw)
To: linux-media-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA,
linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Cc: Mark Rutland, Nicolas Dufresne, Heiko Stuebner, Tomasz Figa,
Rob Herring, Hans Verkuil, Miouyouyou,
kernel-ZGY8ohtN/8qB+jHODAdFcQ, Ezequiel Garcia
Add devicetree binding documentation for Rockchip Video Processing
Unit IP.
Reviewed-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Signed-off-by: Ezequiel Garcia <ezequiel-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
---
.../bindings/media/rockchip-vpu.txt | 29 +++++++++++++++++++
1 file changed, 29 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/rockchip-vpu.txt
diff --git a/Documentation/devicetree/bindings/media/rockchip-vpu.txt b/Documentation/devicetree/bindings/media/rockchip-vpu.txt
new file mode 100644
index 000000000000..35dc464ad7c8
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/rockchip-vpu.txt
@@ -0,0 +1,29 @@
+device-tree bindings for rockchip VPU codec
+
+Rockchip (Video Processing Unit) present in various Rockchip platforms,
+such as RK3288 and RK3399.
+
+Required properties:
+- compatible: value should be one of the following
+ "rockchip,rk3288-vpu";
+ "rockchip,rk3399-vpu";
+- interrupts: encoding and decoding interrupt specifiers
+- interrupt-names: should be "vepu" and "vdpu"
+- clocks: phandle to VPU aclk, hclk clocks
+- clock-names: should be "aclk" and "hclk"
+- power-domains: phandle to power domain node
+- iommus: phandle to a iommu node
+
+Example:
+SoC-specific DT entry:
+ vpu: video-codec@ff9a0000 {
+ compatible = "rockchip,rk3288-vpu";
+ reg = <0x0 0xff9a0000 0x0 0x800>;
+ interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "vepu", "vdpu";
+ clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
+ clock-names = "aclk", "hclk";
+ power-domains = <&power RK3288_PD_VIDEO>;
+ iommus = <&vpu_mmu>;
+ };
--
2.19.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v10 2/4] ARM: dts: rockchip: add VPU device node for RK3288
[not found] ` <20181121191652.22814-1-ezequiel-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
2018-11-21 19:16 ` [PATCH v10 1/4] media: dt-bindings: Document the Rockchip VPU bindings Ezequiel Garcia
@ 2018-11-21 19:16 ` Ezequiel Garcia
[not found] ` <20181121191652.22814-3-ezequiel-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
1 sibling, 1 reply; 5+ messages in thread
From: Ezequiel Garcia @ 2018-11-21 19:16 UTC (permalink / raw)
To: linux-media-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA,
linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Cc: Mark Rutland, Nicolas Dufresne, Heiko Stuebner, Tomasz Figa,
Rob Herring, Hans Verkuil, Miouyouyou,
kernel-ZGY8ohtN/8qB+jHODAdFcQ, Ezequiel Garcia
Add the Video Processing Unit node for RK3288 SoC.
Fix the VPU IOMMU node, which was disabled and lacking
its power domain property.
Signed-off-by: Ezequiel Garcia <ezequiel-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
---
arch/arm/boot/dts/rk3288.dtsi | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
index 0840ffb3205c..40d203cdca09 100644
--- a/arch/arm/boot/dts/rk3288.dtsi
+++ b/arch/arm/boot/dts/rk3288.dtsi
@@ -1223,6 +1223,18 @@
};
};
+ vpu: video-codec@ff9a0000 {
+ compatible = "rockchip,rk3288-vpu";
+ reg = <0x0 0xff9a0000 0x0 0x800>;
+ interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "vepu", "vdpu";
+ clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
+ clock-names = "aclk", "hclk";
+ power-domains = <&power RK3288_PD_VIDEO>;
+ iommus = <&vpu_mmu>;
+ };
+
vpu_mmu: iommu@ff9a0800 {
compatible = "rockchip,iommu";
reg = <0x0 0xff9a0800 0x0 0x100>;
@@ -1230,8 +1242,8 @@
interrupt-names = "vpu_mmu";
clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
clock-names = "aclk", "iface";
+ power-domains = <&power RK3288_PD_VIDEO>;
#iommu-cells = <0>;
- status = "disabled";
};
hevc_mmu: iommu@ff9c0440 {
--
2.19.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v10 1/4] media: dt-bindings: Document the Rockchip VPU bindings
[not found] ` <20181121191652.22814-2-ezequiel-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
@ 2018-11-22 9:42 ` Hans Verkuil
0 siblings, 0 replies; 5+ messages in thread
From: Hans Verkuil @ 2018-11-22 9:42 UTC (permalink / raw)
To: Ezequiel Garcia, linux-media-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA,
linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
Cc: Mark Rutland, Nicolas Dufresne, Heiko Stuebner, Tomasz Figa,
Rob Herring, Hans Verkuil, Miouyouyou,
kernel-ZGY8ohtN/8qB+jHODAdFcQ
On 11/21/2018 08:16 PM, Ezequiel Garcia wrote:
> Add devicetree binding documentation for Rockchip Video Processing
> Unit IP.
>
> Reviewed-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> Signed-off-by: Ezequiel Garcia <ezequiel-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
This one has been merged already.
Regards,
Hans
> ---
> .../bindings/media/rockchip-vpu.txt | 29 +++++++++++++++++++
> 1 file changed, 29 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/media/rockchip-vpu.txt
>
> diff --git a/Documentation/devicetree/bindings/media/rockchip-vpu.txt b/Documentation/devicetree/bindings/media/rockchip-vpu.txt
> new file mode 100644
> index 000000000000..35dc464ad7c8
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/rockchip-vpu.txt
> @@ -0,0 +1,29 @@
> +device-tree bindings for rockchip VPU codec
> +
> +Rockchip (Video Processing Unit) present in various Rockchip platforms,
> +such as RK3288 and RK3399.
> +
> +Required properties:
> +- compatible: value should be one of the following
> + "rockchip,rk3288-vpu";
> + "rockchip,rk3399-vpu";
> +- interrupts: encoding and decoding interrupt specifiers
> +- interrupt-names: should be "vepu" and "vdpu"
> +- clocks: phandle to VPU aclk, hclk clocks
> +- clock-names: should be "aclk" and "hclk"
> +- power-domains: phandle to power domain node
> +- iommus: phandle to a iommu node
> +
> +Example:
> +SoC-specific DT entry:
> + vpu: video-codec@ff9a0000 {
> + compatible = "rockchip,rk3288-vpu";
> + reg = <0x0 0xff9a0000 0x0 0x800>;
> + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "vepu", "vdpu";
> + clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
> + clock-names = "aclk", "hclk";
> + power-domains = <&power RK3288_PD_VIDEO>;
> + iommus = <&vpu_mmu>;
> + };
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v10 2/4] ARM: dts: rockchip: add VPU device node for RK3288
[not found] ` <20181121191652.22814-3-ezequiel-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
@ 2018-11-22 10:29 ` Tomasz Figa
0 siblings, 0 replies; 5+ messages in thread
From: Tomasz Figa @ 2018-11-22 10:29 UTC (permalink / raw)
To: Ezequiel Garcia
Cc: Mark Rutland, devicetree-u79uwXL29TY76Z2rM5mHXA, Nicolas Dufresne,
Heiko Stübner, open list:ARM/Rockchip SoC..., Rob Herring,
Hans Verkuil, myy-tmjzNUIc0P1+EYZtW95mkQ,
kernel-ZGY8ohtN/8qB+jHODAdFcQ, Linux Media Mailing List
Hi Ezequiel,
On Thu, Nov 22, 2018 at 4:17 AM Ezequiel Garcia <ezequiel-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org> wrote:
>
> Add the Video Processing Unit node for RK3288 SoC.
>
> Fix the VPU IOMMU node, which was disabled and lacking
> its power domain property.
>
> Signed-off-by: Ezequiel Garcia <ezequiel-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
> ---
> arch/arm/boot/dts/rk3288.dtsi | 14 +++++++++++++-
> 1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
> index 0840ffb3205c..40d203cdca09 100644
> --- a/arch/arm/boot/dts/rk3288.dtsi
> +++ b/arch/arm/boot/dts/rk3288.dtsi
> @@ -1223,6 +1223,18 @@
> };
> };
>
> + vpu: video-codec@ff9a0000 {
> + compatible = "rockchip,rk3288-vpu";
> + reg = <0x0 0xff9a0000 0x0 0x800>;
> + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "vepu", "vdpu";
> + clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
> + clock-names = "aclk", "hclk";
> + power-domains = <&power RK3288_PD_VIDEO>;
> + iommus = <&vpu_mmu>;
> + };
> +
> vpu_mmu: iommu@ff9a0800 {
> compatible = "rockchip,iommu";
> reg = <0x0 0xff9a0800 0x0 0x100>;
> @@ -1230,8 +1242,8 @@
> interrupt-names = "vpu_mmu";
> clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>;
> clock-names = "aclk", "iface";
> + power-domains = <&power RK3288_PD_VIDEO>;
> #iommu-cells = <0>;
> - status = "disabled";
> };
>
> hevc_mmu: iommu@ff9c0440 {
Reviewed-by: Tomasz Figa <tfiga-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
Best regards,
Tomasz
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2018-11-22 10:29 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-21 19:16 [PATCH v10 0/4] Add Rockchip VPU JPEG encoder Ezequiel Garcia
[not found] ` <20181121191652.22814-1-ezequiel-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
2018-11-21 19:16 ` [PATCH v10 1/4] media: dt-bindings: Document the Rockchip VPU bindings Ezequiel Garcia
[not found] ` <20181121191652.22814-2-ezequiel-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
2018-11-22 9:42 ` Hans Verkuil
2018-11-21 19:16 ` [PATCH v10 2/4] ARM: dts: rockchip: add VPU device node for RK3288 Ezequiel Garcia
[not found] ` <20181121191652.22814-3-ezequiel-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>
2018-11-22 10:29 ` Tomasz Figa
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).