diff options
Diffstat (limited to 'drivers/media/video/sn9c102/sn9c102_ov7630.c')
-rw-r--r-- | drivers/media/video/sn9c102/sn9c102_ov7630.c | 63 |
1 files changed, 30 insertions, 33 deletions
diff --git a/drivers/media/video/sn9c102/sn9c102_ov7630.c b/drivers/media/video/sn9c102/sn9c102_ov7630.c index 7df09ff38e63..ad9fb2ca2735 100644 --- a/drivers/media/video/sn9c102/sn9c102_ov7630.c +++ b/drivers/media/video/sn9c102/sn9c102_ov7630.c | |||
@@ -22,9 +22,6 @@ | |||
22 | #include "sn9c102_sensor.h" | 22 | #include "sn9c102_sensor.h" |
23 | 23 | ||
24 | 24 | ||
25 | static struct sn9c102_sensor ov7630; | ||
26 | |||
27 | |||
28 | static int ov7630_init(struct sn9c102_device* cam) | 25 | static int ov7630_init(struct sn9c102_device* cam) |
29 | { | 26 | { |
30 | int err = 0; | 27 | int err = 0; |
@@ -32,21 +29,21 @@ static int ov7630_init(struct sn9c102_device* cam) | |||
32 | switch (sn9c102_get_bridge(cam)) { | 29 | switch (sn9c102_get_bridge(cam)) { |
33 | case BRIDGE_SN9C101: | 30 | case BRIDGE_SN9C101: |
34 | case BRIDGE_SN9C102: | 31 | case BRIDGE_SN9C102: |
35 | err += sn9c102_write_reg(cam, 0x00, 0x14); | 32 | err += sn9c102_write_reg(cam, 0x00, 0x14); |
36 | err += sn9c102_write_reg(cam, 0x60, 0x17); | 33 | err += sn9c102_write_reg(cam, 0x60, 0x17); |
37 | err += sn9c102_write_reg(cam, 0x0f, 0x18); | 34 | err += sn9c102_write_reg(cam, 0x0f, 0x18); |
38 | err += sn9c102_write_reg(cam, 0x50, 0x19); | 35 | err += sn9c102_write_reg(cam, 0x50, 0x19); |
39 | 36 | ||
40 | err += sn9c102_i2c_write(cam, 0x12, 0x8d); | 37 | err += sn9c102_i2c_write(cam, 0x12, 0x8d); |
41 | err += sn9c102_i2c_write(cam, 0x12, 0x0d); | 38 | err += sn9c102_i2c_write(cam, 0x12, 0x0d); |
42 | err += sn9c102_i2c_write(cam, 0x11, 0x00); | 39 | err += sn9c102_i2c_write(cam, 0x11, 0x00); |
43 | err += sn9c102_i2c_write(cam, 0x15, 0x34); | 40 | err += sn9c102_i2c_write(cam, 0x15, 0x35); |
44 | err += sn9c102_i2c_write(cam, 0x16, 0x03); | 41 | err += sn9c102_i2c_write(cam, 0x16, 0x03); |
45 | err += sn9c102_i2c_write(cam, 0x17, 0x1c); | 42 | err += sn9c102_i2c_write(cam, 0x17, 0x1c); |
46 | err += sn9c102_i2c_write(cam, 0x18, 0xbd); | 43 | err += sn9c102_i2c_write(cam, 0x18, 0xbd); |
47 | err += sn9c102_i2c_write(cam, 0x19, 0x06); | 44 | err += sn9c102_i2c_write(cam, 0x19, 0x06); |
48 | err += sn9c102_i2c_write(cam, 0x1a, 0xf6); | 45 | err += sn9c102_i2c_write(cam, 0x1a, 0xf6); |
49 | err += sn9c102_i2c_write(cam, 0x1b, 0x04); | 46 | err += sn9c102_i2c_write(cam, 0x1b, 0x04); |
50 | err += sn9c102_i2c_write(cam, 0x20, 0x44); | 47 | err += sn9c102_i2c_write(cam, 0x20, 0x44); |
51 | err += sn9c102_i2c_write(cam, 0x23, 0xee); | 48 | err += sn9c102_i2c_write(cam, 0x23, 0xee); |
52 | err += sn9c102_i2c_write(cam, 0x26, 0xa0); | 49 | err += sn9c102_i2c_write(cam, 0x26, 0xa0); |
@@ -108,23 +105,23 @@ static int ov7630_init(struct sn9c102_device* cam) | |||
108 | err += sn9c102_i2c_write(cam, 0x11, 0x01); | 105 | err += sn9c102_i2c_write(cam, 0x11, 0x01); |
109 | err += sn9c102_i2c_write(cam, 0x1b, 0x04); | 106 | err += sn9c102_i2c_write(cam, 0x1b, 0x04); |
110 | err += sn9c102_i2c_write(cam, 0x20, 0x44); | 107 | err += sn9c102_i2c_write(cam, 0x20, 0x44); |
111 | err += sn9c102_i2c_write(cam, 0x23, 0xee); | 108 | err += sn9c102_i2c_write(cam, 0x23, 0xee); |
112 | err += sn9c102_i2c_write(cam, 0x26, 0xa0); | 109 | err += sn9c102_i2c_write(cam, 0x26, 0xa0); |
113 | err += sn9c102_i2c_write(cam, 0x27, 0x9a); | 110 | err += sn9c102_i2c_write(cam, 0x27, 0x9a); |
114 | err += sn9c102_i2c_write(cam, 0x28, 0x20); | 111 | err += sn9c102_i2c_write(cam, 0x28, 0x20); |
115 | err += sn9c102_i2c_write(cam, 0x29, 0x30); | 112 | err += sn9c102_i2c_write(cam, 0x29, 0x30); |
116 | err += sn9c102_i2c_write(cam, 0x2f, 0x3d); | 113 | err += sn9c102_i2c_write(cam, 0x2f, 0x3d); |
117 | err += sn9c102_i2c_write(cam, 0x30, 0x24); | 114 | err += sn9c102_i2c_write(cam, 0x30, 0x24); |
118 | err += sn9c102_i2c_write(cam, 0x32, 0x86); | 115 | err += sn9c102_i2c_write(cam, 0x32, 0x86); |
119 | err += sn9c102_i2c_write(cam, 0x60, 0xa9); | 116 | err += sn9c102_i2c_write(cam, 0x60, 0xa9); |
120 | err += sn9c102_i2c_write(cam, 0x61, 0x42); | 117 | err += sn9c102_i2c_write(cam, 0x61, 0x42); |
121 | err += sn9c102_i2c_write(cam, 0x65, 0x00); | 118 | err += sn9c102_i2c_write(cam, 0x65, 0x00); |
122 | err += sn9c102_i2c_write(cam, 0x69, 0x38); | 119 | err += sn9c102_i2c_write(cam, 0x69, 0x38); |
123 | err += sn9c102_i2c_write(cam, 0x6f, 0x88); | 120 | err += sn9c102_i2c_write(cam, 0x6f, 0x88); |
124 | err += sn9c102_i2c_write(cam, 0x70, 0x0b); | 121 | err += sn9c102_i2c_write(cam, 0x70, 0x0b); |
125 | err += sn9c102_i2c_write(cam, 0x71, 0x00); | 122 | err += sn9c102_i2c_write(cam, 0x71, 0x00); |
126 | err += sn9c102_i2c_write(cam, 0x74, 0x21); | 123 | err += sn9c102_i2c_write(cam, 0x74, 0x21); |
127 | err += sn9c102_i2c_write(cam, 0x7d, 0xf7); | 124 | err += sn9c102_i2c_write(cam, 0x7d, 0xf7); |
128 | break; | 125 | break; |
129 | default: | 126 | default: |
130 | break; | 127 | break; |
@@ -428,9 +425,9 @@ int sn9c102_probe_ov7630(struct sn9c102_device* cam) | |||
428 | switch (sn9c102_get_bridge(cam)) { | 425 | switch (sn9c102_get_bridge(cam)) { |
429 | case BRIDGE_SN9C101: | 426 | case BRIDGE_SN9C101: |
430 | case BRIDGE_SN9C102: | 427 | case BRIDGE_SN9C102: |
431 | err += sn9c102_write_reg(cam, 0x01, 0x01); | 428 | err += sn9c102_write_reg(cam, 0x01, 0x01); |
432 | err += sn9c102_write_reg(cam, 0x00, 0x01); | 429 | err += sn9c102_write_reg(cam, 0x00, 0x01); |
433 | err += sn9c102_write_reg(cam, 0x28, 0x17); | 430 | err += sn9c102_write_reg(cam, 0x28, 0x17); |
434 | break; | 431 | break; |
435 | case BRIDGE_SN9C103: /* do _not_ change anything! */ | 432 | case BRIDGE_SN9C103: /* do _not_ change anything! */ |
436 | err += sn9c102_write_reg(cam, 0x09, 0x01); | 433 | err += sn9c102_write_reg(cam, 0x09, 0x01); |