[PATCH] media: rkisp1: Allow higher input resolution

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Feb 19 03:54:30 PST 2024


On Mon, Feb 19, 2024 at 07:11:20PM +0900, Paul Elder wrote:
> On Mon, Feb 19, 2024 at 02:33:21PM +0530, Umang Jain wrote:
> > On 19/02/24 7:39 am, Adam Ford wrote:
> > > On Sun, Feb 18, 2024 at 3:02 PM Ondřej Jirman <megi at xff.cz> wrote:
> > > > On Sun, Feb 18, 2024 at 10:59:08PM +0200, Laurent Pinchart wrote:
> > > > > On Sat, Feb 17, 2024 at 07:51:58PM +0100, Ondřej Jirman wrote:
> > > > > > From: Ondrej Jirman <megi at xff.cz>
> > > > > > 
> > > > > > In BSP driver, it is allowed, and it works in practice. Tested on
> > > > > > Pinephone Pro/RK3399 with IMX258 at full res.
> > > > >
> > > > > Paul, Umang, do I recall correctly that you have a similar change ?
> > > > > Could you review and test this (especially on the i.MX8MP) ?
> > > >
> > > > It's also a limit from the datasheet, so the change should not be that
> > > > controversial:
> > > > 
> > > >    https://megous.com/dl/tmp/d2b333043ecebaf3.png
> > > > 
> > > > (so that it doesn't sound like I just copied the BSP values)
> > > > 
> > >  From what I see in the i.MX8M Plus reference manual, it has a max
> > > resolution of 4096x3072, so it might be necessary to move this off
> > 
> > This is what I (and I assume Paul too) have been working with on i.MX8M
> > Plus. So it's the known and tested value of max ISP input from out side.
> >
> > > from a #define into a structure that varies by product family.
> 
> Yes, this is what needs to be done. Here's what I have in my notes:
> 
> - The RK3399 TRM says 4416x3312 max input and output on main path, with
>   1920x1080 max output on self path.
> - The PX30 datasheet [1] says 3264x2448 max input and output on main
>   path, with 1920x1080 max output on self path.
> - The RK3288 documentation [2] (under "Camera Interface and Image
>   Processor") says 4416x3312 max input and output on main path, with
>   1920x1080 max output on self path.
> - The i.MX8MP reference manual (the open one) [3] (in table 13-1) says
>   4096x3072 max resolution in single ISP mode
> 
> The i.MX8M Plus seems to indeed be limited to 4096x3072, but the TPG is
> capable of generating 4416x3312, and the ISP works fine in bypass (and
> therefore raw) mode, so technically it has different maximum sizes
> depending on the format which makes this more exciting.
> 
> In any case, the PX30 (assuming the datasheet is correct) only supports
> up to 3264x2448, so the existing #define is incorrect anyway.
> 
> I don't have a PX30 nor an RK3288 so I can't test those, and I haven't
> set up my OV64A40 yet which (I've heard) can be used to test even bigger
> resolutions.

Thanks for the summary Paul.

Ondřej, would you be interested in implementing this ?

> [1] https://opensource.rock-chips.com/images/8/87/Rockchip_PX30_Datasheet_V1.4-20191227.pdf
> [2] https://opensource.rock-chips.com/images/4/49/Rockchip_RK3288_Datasheet_V2.7-20191227.pdf
> [3] (requires login) https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-processors/i-mx-8-applications-processors/i-mx-8m-plus-arm-cortex-a53-machine-learning-vision-multimedia-and-industrial-iot:IMX8MPLUS
> 
> > > > > > Signed-off-by: Ondrej Jirman <megi at xff.cz>
> > > > > > ---
> > > > > >   drivers/media/platform/rockchip/rkisp1/rkisp1-common.h | 4 ++--
> > > > > >   1 file changed, 2 insertions(+), 2 deletions(-)
> > > > > > 
> > > > > > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> > > > > > index 4b6b28c05b89..74098ddbeeb3 100644
> > > > > > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> > > > > > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> > > > > > @@ -33,8 +33,8 @@ struct dentry;
> > > > > >   #define RKISP1_ISP_SD_SINK                 BIT(1)
> > > > > > 
> > > > > >   /* min and max values for the widths and heights of the entities */
> > > > > > -#define RKISP1_ISP_MAX_WIDTH                       4032
> > > > > > -#define RKISP1_ISP_MAX_HEIGHT                      3024
> > > > > > +#define RKISP1_ISP_MAX_WIDTH                       4416
> > > > > > +#define RKISP1_ISP_MAX_HEIGHT                      3312
> > > > > >   #define RKISP1_ISP_MIN_WIDTH                       32
> > > > > >   #define RKISP1_ISP_MIN_HEIGHT                      32
> > > > > > 

-- 
Regards,

Laurent Pinchart



More information about the Linux-rockchip mailing list