1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
From 6ba58915e8c2f884d17b651d68535959f9eff97d Mon Sep 17 00:00:00 2001
From: Markus Proeller <markus.proeller@pieye.org>
Date: Tue, 16 Jun 2020 13:27:42 +0200
Subject: [PATCH] media: irs1125: Refactoring and debug messages
Changed some variable names to comply with checkpatch --strict mode.
Debug messages added.
Signed-off-by: Markus Proeller <markus.proeller@pieye.org>
---
drivers/media/i2c/irs1125.c | 36 ++++++++++++++++++++----------------
1 file changed, 20 insertions(+), 16 deletions(-)
--- a/drivers/media/i2c/irs1125.c
+++ b/drivers/media/i2c/irs1125.c
@@ -15,6 +15,7 @@
#include "irs1125.h"
#include <linux/clk.h>
#include <linux/delay.h>
+#include <linux/firmware.h>
#include <linux/gpio/consumer.h>
#include <linux/i2c.h>
#include <linux/init.h>
@@ -22,13 +23,13 @@
#include <linux/module.h>
#include <linux/of_graph.h>
#include <linux/slab.h>
+#include <linux/types.h>
#include <linux/videodev2.h>
-#include <linux/firmware.h>
+#include <media/v4l2-ctrls.h>
#include <media/v4l2-device.h>
#include <media/v4l2-fwnode.h>
#include <media/v4l2-image-sizes.h>
#include <media/v4l2-mediabus.h>
-#include <media/v4l2-ctrls.h>
#define CHECK_BIT(val, pos) ((val) & BIT(pos))
@@ -38,18 +39,19 @@
#define IRS1125_ALTERNATE_FW "irs1125_af.bin"
-#define IRS1125_REG_CSICFG 0xA882
-#define IRS1125_REG_DESIGN_STEP 0xB0AD
-#define IRS1125_REG_EFUSEVAL2 0xB09F
-#define IRS1125_REG_EFUSEVAL3 0xB0A0
-#define IRS1125_REG_EFUSEVAL4 0xB0A1
-#define IRS1125_REG_DMEM_SHADOW 0xC320
+#define IRS1125_REG_SAFE_RECONFIG 0xA850
+#define IRS1125_REG_CSICFG 0xA882
+#define IRS1125_REG_DESIGN_STEP 0xB0AD
+#define IRS1125_REG_EFUSEVAL2 0xB09F
+#define IRS1125_REG_EFUSEVAL3 0xB0A0
+#define IRS1125_REG_EFUSEVAL4 0xB0A1
+#define IRS1125_REG_DMEM_SHADOW 0xC320
-#define IRS1125_DESIGN_STEP_EXPECTED 0x0a12
+#define IRS1125_DESIGN_STEP_EXPECTED 0x0a12
#define IRS1125_ROW_START_DEF 0
#define IRS1125_COLUMN_START_DEF 0
-#define IRS1125_WINDOW_HEIGHT_DEF 288
+#define IRS1125_WINDOW_HEIGHT_DEF 288
#define IRS1125_WINDOW_WIDTH_DEF 352
struct regval_list {
@@ -87,7 +89,7 @@ static inline struct irs1125 *to_state(s
return container_of(sd, struct irs1125, sd);
}
-static struct regval_list irs1125_26MHz[] = {
+static struct regval_list irs1125_26mhz[] = {
{0xB017, 0x0413},
{0xB086, 0x3535},
{0xB0AE, 0xEF02},
@@ -153,7 +155,7 @@ static struct regval_list irs1125_26MHz[
{0xFFFF, 100}
};
-static struct regval_list irs1125_seq_cfg[] = {
+static struct regval_list irs1125_seq_cfg_init[] = {
{0xC3A0, 0x823D},
{0xC3A1, 0xB13B},
{0xC3A2, 0x0313},
@@ -243,6 +245,7 @@ static int irs1125_write(struct v4l2_sub
dev_err(&client->dev, "%s: i2c write error, reg: %x\n",
__func__, reg);
+ dev_dbg(&client->dev, "write addr 0x%04x, val 0x%04x\n", reg, val);
return ret;
}
@@ -364,8 +367,8 @@ static int __sensor_init(struct v4l2_sub
cnt++;
}
- ret = irs1125_write_array(sd, irs1125_26MHz,
- ARRAY_SIZE(irs1125_26MHz));
+ ret = irs1125_write_array(sd, irs1125_26mhz,
+ ARRAY_SIZE(irs1125_26mhz));
if (ret < 0) {
dev_err(&client->dev, "write sensor default regs error\n");
return ret;
@@ -415,8 +418,8 @@ static int __sensor_init(struct v4l2_sub
}
release_firmware(fw);
- ret = irs1125_write_array(sd, irs1125_seq_cfg,
- ARRAY_SIZE(irs1125_seq_cfg));
+ ret = irs1125_write_array(sd, irs1125_seq_cfg_init,
+ ARRAY_SIZE(irs1125_seq_cfg_init));
if (ret < 0) {
dev_err(&client->dev, "write default sequence failed\n");
return ret;
@@ -1037,6 +1040,7 @@ static int irs1125_probe(struct i2c_clie
}
gpio_num = desc_to_gpio(sensor->reset);
+ dev_dbg(&client->dev, "reset on GPIO num %d\n", gpio_num);
mutex_init(&sensor->lock);
|