diff mbox series

[v3] media: vsp1: Add support for the V3U VSPD

Message ID 20210622230950.3207047-1-kieran.bingham@ideasonboard.com
State New
Headers show
Series [v3] media: vsp1: Add support for the V3U VSPD | expand

Commit Message

Kieran Bingham June 22, 2021, 11:09 p.m. UTC
From: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>

The V3U provides two VSPD instances, with a new update to the version
register to detect the new SoC.

Add the new version and model detection, and detail the features
available in this module.

Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
---

Whilst it has not been possible to test this with the uapi to validate
with our VSP tests, I have now successfully used this to display an
image over the DisplayPort connector on the V3U, so I believe it is
suitable for integration.

changes since v2:
 - Removed VSP1_HAS_CLU



 drivers/media/platform/vsp1/vsp1_drv.c  | 10 ++++++++++
 drivers/media/platform/vsp1/vsp1_regs.h |  3 +++
 2 files changed, 13 insertions(+)

Comments

Laurent Pinchart June 23, 2021, 2:42 a.m. UTC | #1
Hi Kieran,

Thank you for the patch.

On Wed, Jun 23, 2021 at 12:09:50AM +0100, Kieran Bingham wrote:
> From: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>

> 

> The V3U provides two VSPD instances, with a new update to the version

> register to detect the new SoC.

> 

> Add the new version and model detection, and detail the features

> available in this module.

> 

> Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>


Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>


> ---

> 

> Whilst it has not been possible to test this with the uapi to validate

> with our VSP tests, I have now successfully used this to display an

> image over the DisplayPort connector on the V3U, so I believe it is

> suitable for integration.

> 

> changes since v2:

>  - Removed VSP1_HAS_CLU

> 

>  drivers/media/platform/vsp1/vsp1_drv.c  | 10 ++++++++++

>  drivers/media/platform/vsp1/vsp1_regs.h |  3 +++

>  2 files changed, 13 insertions(+)

> 

> diff --git a/drivers/media/platform/vsp1/vsp1_drv.c b/drivers/media/platform/vsp1/vsp1_drv.c

> index de442d6c9926..501b592fd6d6 100644

> --- a/drivers/media/platform/vsp1/vsp1_drv.c

> +++ b/drivers/media/platform/vsp1/vsp1_drv.c

> @@ -777,6 +777,16 @@ static const struct vsp1_device_info vsp1_device_infos[] = {

>  		.uif_count = 2,

>  		.wpf_count = 2,

>  		.num_bru_inputs = 5,

> +	}, {

> +		.version = VI6_IP_VERSION_MODEL_VSPD_V3U,

> +		.model = "VSP2-D",

> +		.gen = 3,

> +		.features = VSP1_HAS_BRU | VSP1_HAS_EXT_DL,

> +		.lif_count = 1,

> +		.rpf_count = 5,

> +		.uif_count = 2,

> +		.wpf_count = 1,

> +		.num_bru_inputs = 5,

>  	},

>  };

>  

> diff --git a/drivers/media/platform/vsp1/vsp1_regs.h b/drivers/media/platform/vsp1/vsp1_regs.h

> index fe3130db1fa2..b378ea4451ce 100644

> --- a/drivers/media/platform/vsp1/vsp1_regs.h

> +++ b/drivers/media/platform/vsp1/vsp1_regs.h

> @@ -766,6 +766,8 @@

>  #define VI6_IP_VERSION_MODEL_VSPD_V3	(0x18 << 8)

>  #define VI6_IP_VERSION_MODEL_VSPDL_GEN3	(0x19 << 8)

>  #define VI6_IP_VERSION_MODEL_VSPBS_GEN3	(0x1a << 8)

> +#define VI6_IP_VERSION_MODEL_VSPD_V3U	(0x1c << 8)

> +

>  #define VI6_IP_VERSION_SOC_MASK		(0xff << 0)

>  #define VI6_IP_VERSION_SOC_H2		(0x01 << 0)

>  #define VI6_IP_VERSION_SOC_V2H		(0x01 << 0)

> @@ -777,6 +779,7 @@

>  #define VI6_IP_VERSION_SOC_D3		(0x04 << 0)

>  #define VI6_IP_VERSION_SOC_M3N		(0x04 << 0)

>  #define VI6_IP_VERSION_SOC_E3		(0x04 << 0)

> +#define VI6_IP_VERSION_SOC_V3U		(0x05 << 0)

>  

>  /* -----------------------------------------------------------------------------

>   * RPF CLUT Registers


-- 
Regards,

Laurent Pinchart
diff mbox series

Patch

diff --git a/drivers/media/platform/vsp1/vsp1_drv.c b/drivers/media/platform/vsp1/vsp1_drv.c
index de442d6c9926..501b592fd6d6 100644
--- a/drivers/media/platform/vsp1/vsp1_drv.c
+++ b/drivers/media/platform/vsp1/vsp1_drv.c
@@ -777,6 +777,16 @@  static const struct vsp1_device_info vsp1_device_infos[] = {
 		.uif_count = 2,
 		.wpf_count = 2,
 		.num_bru_inputs = 5,
+	}, {
+		.version = VI6_IP_VERSION_MODEL_VSPD_V3U,
+		.model = "VSP2-D",
+		.gen = 3,
+		.features = VSP1_HAS_BRU | VSP1_HAS_EXT_DL,
+		.lif_count = 1,
+		.rpf_count = 5,
+		.uif_count = 2,
+		.wpf_count = 1,
+		.num_bru_inputs = 5,
 	},
 };
 
diff --git a/drivers/media/platform/vsp1/vsp1_regs.h b/drivers/media/platform/vsp1/vsp1_regs.h
index fe3130db1fa2..b378ea4451ce 100644
--- a/drivers/media/platform/vsp1/vsp1_regs.h
+++ b/drivers/media/platform/vsp1/vsp1_regs.h
@@ -766,6 +766,8 @@ 
 #define VI6_IP_VERSION_MODEL_VSPD_V3	(0x18 << 8)
 #define VI6_IP_VERSION_MODEL_VSPDL_GEN3	(0x19 << 8)
 #define VI6_IP_VERSION_MODEL_VSPBS_GEN3	(0x1a << 8)
+#define VI6_IP_VERSION_MODEL_VSPD_V3U	(0x1c << 8)
+
 #define VI6_IP_VERSION_SOC_MASK		(0xff << 0)
 #define VI6_IP_VERSION_SOC_H2		(0x01 << 0)
 #define VI6_IP_VERSION_SOC_V2H		(0x01 << 0)
@@ -777,6 +779,7 @@ 
 #define VI6_IP_VERSION_SOC_D3		(0x04 << 0)
 #define VI6_IP_VERSION_SOC_M3N		(0x04 << 0)
 #define VI6_IP_VERSION_SOC_E3		(0x04 << 0)
+#define VI6_IP_VERSION_SOC_V3U		(0x05 << 0)
 
 /* -----------------------------------------------------------------------------
  * RPF CLUT Registers