diff mbox series

[v2,3/7] media: i2c: max9286: Break-out reverse channel setup

Message ID 20201015182710.54795-4-jacopo+renesas@jmondi.org
State Superseded
Headers show
Series media: i2c: Add support for RDACM21 camera module | expand

Commit Message

Jacopo Mondi Oct. 15, 2020, 6:27 p.m. UTC
Break out the reverse channel setup configuration procedure to its own
function.

This change prepares for configuring the reverse channel conditionally
to the remote side high threshold configuration.

No functional changes intended.

Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
---
 drivers/media/i2c/max9286.c | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)

Comments

Kieran Bingham Oct. 15, 2020, 7:53 p.m. UTC | #1
Hi Jacopo,

On 15/10/2020 19:27, Jacopo Mondi wrote:
> Break out the reverse channel setup configuration procedure to its own

> function.

> 

> This change prepares for configuring the reverse channel conditionally

> to the remote side high threshold configuration.

> 

> No functional changes intended.

> 

> Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>

> ---

>  drivers/media/i2c/max9286.c | 30 +++++++++++++++++-------------

>  1 file changed, 17 insertions(+), 13 deletions(-)

> 

> diff --git a/drivers/media/i2c/max9286.c b/drivers/media/i2c/max9286.c

> index d969ac21a058..89a7248f5c25 100644

> --- a/drivers/media/i2c/max9286.c

> +++ b/drivers/media/i2c/max9286.c

> @@ -906,6 +906,22 @@ static void max9286_v4l2_unregister(struct max9286_priv *priv)

>   * Probe/Remove

>   */

>  

> +static void max9286_reverse_channel_setup(struct max9286_priv *priv)

> +{

> +	/*

> +	 * Reverse channel setup.

> +	 *

> +	 * - Enable custom reverse channel configuration (through register 0x3f)

> +	 *   and set the first pulse length to 35 clock cycles.

> +	 * - Increase the reverse channel amplitude to 170mV to accommodate the

> +	 *   high threshold enabled by the serializer driver.

> +	 */

> +	max9286_write(priv, 0x3f, MAX9286_EN_REV_CFG | MAX9286_REV_FLEN(35));

> +	max9286_write(priv, 0x3b, MAX9286_REV_TRF(1) | MAX9286_REV_AMP(70) |

> +		      MAX9286_REV_AMP_X);

> +	usleep_range(2000, 2500);

> +}


This gets moved later on in the same series. It's probably better to put
it in the right place now.

With that,

Reviewed-by: Kieran Bingham <kieran.bingham+renesasa@ideasonboard.com>


> +

>  static int max9286_setup(struct max9286_priv *priv)

>  {

>  	/*

> @@ -941,19 +957,7 @@ static int max9286_setup(struct max9286_priv *priv)

>  	 * only. This should be disabled after the mux is initialised.

>  	 */

>  	max9286_configure_i2c(priv, true);

> -

> -	/*

> -	 * Reverse channel setup.

> -	 *

> -	 * - Enable custom reverse channel configuration (through register 0x3f)

> -	 *   and set the first pulse length to 35 clock cycles.

> -	 * - Increase the reverse channel amplitude to 170mV to accommodate the

> -	 *   high threshold enabled by the serializer driver.

> -	 */

> -	max9286_write(priv, 0x3f, MAX9286_EN_REV_CFG | MAX9286_REV_FLEN(35));

> -	max9286_write(priv, 0x3b, MAX9286_REV_TRF(1) | MAX9286_REV_AMP(70) |

> -		      MAX9286_REV_AMP_X);

> -	usleep_range(2000, 2500);

> +	max9286_reverse_channel_setup(priv);

>  

>  	/*

>  	 * Enable GMSL links, mask unused ones and autodetect link

>
diff mbox series

Patch

diff --git a/drivers/media/i2c/max9286.c b/drivers/media/i2c/max9286.c
index d969ac21a058..89a7248f5c25 100644
--- a/drivers/media/i2c/max9286.c
+++ b/drivers/media/i2c/max9286.c
@@ -906,6 +906,22 @@  static void max9286_v4l2_unregister(struct max9286_priv *priv)
  * Probe/Remove
  */
 
+static void max9286_reverse_channel_setup(struct max9286_priv *priv)
+{
+	/*
+	 * Reverse channel setup.
+	 *
+	 * - Enable custom reverse channel configuration (through register 0x3f)
+	 *   and set the first pulse length to 35 clock cycles.
+	 * - Increase the reverse channel amplitude to 170mV to accommodate the
+	 *   high threshold enabled by the serializer driver.
+	 */
+	max9286_write(priv, 0x3f, MAX9286_EN_REV_CFG | MAX9286_REV_FLEN(35));
+	max9286_write(priv, 0x3b, MAX9286_REV_TRF(1) | MAX9286_REV_AMP(70) |
+		      MAX9286_REV_AMP_X);
+	usleep_range(2000, 2500);
+}
+
 static int max9286_setup(struct max9286_priv *priv)
 {
 	/*
@@ -941,19 +957,7 @@  static int max9286_setup(struct max9286_priv *priv)
 	 * only. This should be disabled after the mux is initialised.
 	 */
 	max9286_configure_i2c(priv, true);
-
-	/*
-	 * Reverse channel setup.
-	 *
-	 * - Enable custom reverse channel configuration (through register 0x3f)
-	 *   and set the first pulse length to 35 clock cycles.
-	 * - Increase the reverse channel amplitude to 170mV to accommodate the
-	 *   high threshold enabled by the serializer driver.
-	 */
-	max9286_write(priv, 0x3f, MAX9286_EN_REV_CFG | MAX9286_REV_FLEN(35));
-	max9286_write(priv, 0x3b, MAX9286_REV_TRF(1) | MAX9286_REV_AMP(70) |
-		      MAX9286_REV_AMP_X);
-	usleep_range(2000, 2500);
+	max9286_reverse_channel_setup(priv);
 
 	/*
 	 * Enable GMSL links, mask unused ones and autodetect link