Message ID | 20210622230950.3207047-1-kieran.bingham@ideasonboard.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | 8888a2ff634e9cf1d62457109811afc43c2be2ed |
Delegated to: | Kieran Bingham |
Headers | show |
Series | [v3] media: vsp1: Add support for the V3U VSPD | expand |
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
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