diff options
author | Laurent Pinchart <[email protected]> | 2022-01-02 00:26:37 +0100 |
---|---|---|
committer | Mauro Carvalho Chehab <[email protected]> | 2023-01-22 09:12:18 +0100 |
commit | defcedfb3e60320f54fac005ca3991d438e1f93b (patch) | |
tree | 5309a651ba3c838b9f7d6db79b95144340e9f736 | |
parent | 40f75457983f1d3fb01a89dfa8f1f3d5339decbc (diff) |
media: i2c: max9286: Print power-up GMSL link configuration
The power-up GMSL link configuration is controlled by the HIM and BWS
pins, whose state is reflected in register 0x1c. Print the detected
power-up config in a debug message to help debugging.
Signed-off-by: Laurent Pinchart <[email protected]>
Reviewed-by: Jacopo Mondi <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
-rw-r--r-- | drivers/media/i2c/max9286.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/drivers/media/i2c/max9286.c b/drivers/media/i2c/max9286.c index 0aa936c95a13..dd6477548f29 100644 --- a/drivers/media/i2c/max9286.c +++ b/drivers/media/i2c/max9286.c @@ -1156,6 +1156,7 @@ static int max9286_setup(struct max9286_priv *priv) (2 << 6) | (1 << 4) | (0 << 2) | (3 << 0), /* 210x */ (3 << 6) | (2 << 4) | (1 << 2) | (0 << 0), /* 3210 */ }; + int cfg; /* * Set the I2C bus speed. @@ -1177,21 +1178,23 @@ static int max9286_setup(struct max9286_priv *priv) max9286_set_video_format(priv, &max9286_default_format); max9286_set_fsync_period(priv); - if (priv->bus_width) { - int val; + cfg = max9286_read(priv, 0x1c); + if (cfg < 0) + return cfg; - val = max9286_read(priv, 0x1c); - if (val < 0) - return val; + dev_dbg(&priv->client->dev, "power-up config: %s immunity, %u-bit bus\n", + cfg & MAX9286_HIGHIMM(0) ? "high" : "legacy", + cfg & MAX9286_BWS ? 32 : cfg & MAX9286_HIBW ? 27 : 24); - val &= ~(MAX9286_HIBW | MAX9286_BWS); + if (priv->bus_width) { + cfg &= ~(MAX9286_HIBW | MAX9286_BWS); if (priv->bus_width == 27) - val |= MAX9286_HIBW; + cfg |= MAX9286_HIBW; else if (priv->bus_width == 32) - val |= MAX9286_BWS; + cfg |= MAX9286_BWS; - max9286_write(priv, 0x1c, val); + max9286_write(priv, 0x1c, cfg); } /* |