diff mbox series

[v3] media: renesas: fdp1: Identify R-Car Gen2 versions

Message ID 3d6cbf2cd4398f29379d8d7287b93e8b8ec6c147.1684856457.git.geert+renesas@glider.be (mailing list archive)
State Mainlined
Commit 59a95979638664a905cd46845e7cac1b3ff942f7
Delegated to: Kieran Bingham
Headers show
Series [v3] media: renesas: fdp1: Identify R-Car Gen2 versions | expand

Commit Message

Geert Uytterhoeven May 23, 2023, 3:42 p.m. UTC
On R-Car M2-W:

    rcar_fdp1 fe940000.fdp1: FDP1 Unidentifiable (0x02010101)
    rcar_fdp1 fe944000.fdp1: FDP1 Unidentifiable (0x02010101)

Although the IP Internal Data Register on R-Car Gen2 is documented to
contain all zeros, the actual register contents seem to match the FDP1
version ID of R-Car H3 ES1.*, which has just been removed.
Fortunately this version is not used for any other purposes yet.

Fix this by re-adding the ID, now using an R-Car Gen2-specific name.

Fixes: af4273b43f2bd9ee ("media: renesas: fdp1: remove R-Car H3 ES1.* handling")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
---
Version register contents verified on R-Car H2 ES1.0, R-Car M2-W ES1.0 &
ES3.0, and R-Car E2 ES1.0.  I couldn't get hold of an R-Car M2-N.

v3:
  - Add Reviewed-by,

v2:
  - Add Reviewed-by,
  - Add comment.
---
 drivers/media/platform/renesas/rcar_fdp1.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Sakari Ailus May 24, 2023, 9:53 a.m. UTC | #1
Hi Geert,

On Tue, May 23, 2023 at 05:42:21PM +0200, Geert Uytterhoeven wrote:
> On R-Car M2-W:
> 
>     rcar_fdp1 fe940000.fdp1: FDP1 Unidentifiable (0x02010101)
>     rcar_fdp1 fe944000.fdp1: FDP1 Unidentifiable (0x02010101)
> 
> Although the IP Internal Data Register on R-Car Gen2 is documented to
> contain all zeros, the actual register contents seem to match the FDP1
> version ID of R-Car H3 ES1.*, which has just been removed.
> Fortunately this version is not used for any other purposes yet.
> 
> Fix this by re-adding the ID, now using an R-Car Gen2-specific name.
> 
> Fixes: af4273b43f2bd9ee ("media: renesas: fdp1: remove R-Car H3 ES1.* handling")
> Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> ---
> Version register contents verified on R-Car H2 ES1.0, R-Car M2-W ES1.0 &
> ES3.0, and R-Car E2 ES1.0.  I couldn't get hold of an R-Car M2-N.
> 
> v3:
>   - Add Reviewed-by,

V2 is already in my PR to Mauro. I hope that's fine!

> 
> v2:
>   - Add Reviewed-by,
>   - Add comment.
> ---
>  drivers/media/platform/renesas/rcar_fdp1.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/media/platform/renesas/rcar_fdp1.c b/drivers/media/platform/renesas/rcar_fdp1.c
> index f43e458590b8cada..ab39cd2201c85d84 100644
> --- a/drivers/media/platform/renesas/rcar_fdp1.c
> +++ b/drivers/media/platform/renesas/rcar_fdp1.c
> @@ -254,6 +254,8 @@ MODULE_PARM_DESC(debug, "activate debug info");
>  
>  /* Internal Data (HW Version) */
>  #define FD1_IP_INTDATA			0x0800
> +/* R-Car Gen2 HW manual says zero, but actual value matches R-Car H3 ES1.x */
> +#define FD1_IP_GEN2			0x02010101
>  #define FD1_IP_M3W			0x02010202
>  #define FD1_IP_H3			0x02010203
>  #define FD1_IP_M3N			0x02010204
> @@ -2360,6 +2362,9 @@ static int fdp1_probe(struct platform_device *pdev)
>  
>  	hw_version = fdp1_read(fdp1, FD1_IP_INTDATA);
>  	switch (hw_version) {
> +	case FD1_IP_GEN2:
> +		dprintk(fdp1, "FDP1 Version R-Car Gen2\n");
> +		break;
>  	case FD1_IP_M3W:
>  		dprintk(fdp1, "FDP1 Version R-Car M3-W\n");
>  		break;
Geert Uytterhoeven May 24, 2023, 10:11 a.m. UTC | #2
Hi Sakari,

On Wed, May 24, 2023 at 11:53 AM Sakari Ailus
<sakari.ailus@linux.intel.com> wrote:
> On Tue, May 23, 2023 at 05:42:21PM +0200, Geert Uytterhoeven wrote:
> > On R-Car M2-W:
> >
> >     rcar_fdp1 fe940000.fdp1: FDP1 Unidentifiable (0x02010101)
> >     rcar_fdp1 fe944000.fdp1: FDP1 Unidentifiable (0x02010101)
> >
> > Although the IP Internal Data Register on R-Car Gen2 is documented to
> > contain all zeros, the actual register contents seem to match the FDP1
> > version ID of R-Car H3 ES1.*, which has just been removed.
> > Fortunately this version is not used for any other purposes yet.
> >
> > Fix this by re-adding the ID, now using an R-Car Gen2-specific name.
> >
> > Fixes: af4273b43f2bd9ee ("media: renesas: fdp1: remove R-Car H3 ES1.* handling")
> > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> > Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
> > Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> > ---
> > Version register contents verified on R-Car H2 ES1.0, R-Car M2-W ES1.0 &
> > ES3.0, and R-Car E2 ES1.0.  I couldn't get hold of an R-Car M2-N.
> >
> > v3:
> >   - Add Reviewed-by,
>
> V2 is already in my PR to Mauro. I hope that's fine!

Np, I wasn't aware of that. Thanks!

Gr{oetje,eeting}s,

                        Geert
diff mbox series

Patch

diff --git a/drivers/media/platform/renesas/rcar_fdp1.c b/drivers/media/platform/renesas/rcar_fdp1.c
index f43e458590b8cada..ab39cd2201c85d84 100644
--- a/drivers/media/platform/renesas/rcar_fdp1.c
+++ b/drivers/media/platform/renesas/rcar_fdp1.c
@@ -254,6 +254,8 @@  MODULE_PARM_DESC(debug, "activate debug info");
 
 /* Internal Data (HW Version) */
 #define FD1_IP_INTDATA			0x0800
+/* R-Car Gen2 HW manual says zero, but actual value matches R-Car H3 ES1.x */
+#define FD1_IP_GEN2			0x02010101
 #define FD1_IP_M3W			0x02010202
 #define FD1_IP_H3			0x02010203
 #define FD1_IP_M3N			0x02010204
@@ -2360,6 +2362,9 @@  static int fdp1_probe(struct platform_device *pdev)
 
 	hw_version = fdp1_read(fdp1, FD1_IP_INTDATA);
 	switch (hw_version) {
+	case FD1_IP_GEN2:
+		dprintk(fdp1, "FDP1 Version R-Car Gen2\n");
+		break;
 	case FD1_IP_M3W:
 		dprintk(fdp1, "FDP1 Version R-Car M3-W\n");
 		break;