Lines Matching full:encoder
2 * bt856 - BT856A Digital Video Encoder (Rockwell Part)
36 MODULE_DESCRIPTION("Brooktree-856A video encoder driver");
64 static inline int bt856_write(struct bt856 *encoder, u8 reg, u8 value) in bt856_write() argument
66 struct i2c_client *client = v4l2_get_subdevdata(&encoder->sd); in bt856_write()
68 encoder->reg[reg - BT856_REG_OFFSET] = value; in bt856_write()
72 static inline int bt856_setbit(struct bt856 *encoder, u8 reg, u8 bit, u8 value) in bt856_setbit() argument
74 return bt856_write(encoder, reg, in bt856_setbit()
75 (encoder->reg[reg - BT856_REG_OFFSET] & ~(1 << bit)) | in bt856_setbit()
79 static void bt856_dump(struct bt856 *encoder) in bt856_dump() argument
83 v4l2_info(&encoder->sd, "register dump:\n"); in bt856_dump()
85 printk(KERN_CONT " %02x", encoder->reg[i]); in bt856_dump()
93 struct bt856 *encoder = to_bt856(sd); in bt856_init() local
97 bt856_write(encoder, 0xdc, 0x18); in bt856_init()
98 bt856_write(encoder, 0xda, 0); in bt856_init()
99 bt856_write(encoder, 0xde, 0); in bt856_init()
101 bt856_setbit(encoder, 0xdc, 3, 1); in bt856_init()
102 /*bt856_setbit(encoder, 0xdc, 6, 0);*/ in bt856_init()
103 bt856_setbit(encoder, 0xdc, 4, 1); in bt856_init()
105 if (encoder->norm & V4L2_STD_NTSC) in bt856_init()
106 bt856_setbit(encoder, 0xdc, 2, 0); in bt856_init()
108 bt856_setbit(encoder, 0xdc, 2, 1); in bt856_init()
110 bt856_setbit(encoder, 0xdc, 1, 1); in bt856_init()
111 bt856_setbit(encoder, 0xde, 4, 0); in bt856_init()
112 bt856_setbit(encoder, 0xde, 3, 1); in bt856_init()
114 bt856_dump(encoder); in bt856_init()
120 struct bt856 *encoder = to_bt856(sd); in bt856_s_std_output() local
125 bt856_setbit(encoder, 0xdc, 2, 0); in bt856_s_std_output()
127 bt856_setbit(encoder, 0xdc, 2, 1); in bt856_s_std_output()
128 bt856_setbit(encoder, 0xda, 0, 0); in bt856_s_std_output()
129 /*bt856_setbit(encoder, 0xda, 0, 1);*/ in bt856_s_std_output()
133 encoder->norm = std; in bt856_s_std_output()
135 bt856_dump(encoder); in bt856_s_std_output()
142 struct bt856 *encoder = to_bt856(sd); in bt856_s_routing() local
151 bt856_setbit(encoder, 0xde, 4, 0); in bt856_s_routing()
152 bt856_setbit(encoder, 0xde, 3, 1); in bt856_s_routing()
153 bt856_setbit(encoder, 0xdc, 3, 1); in bt856_s_routing()
154 bt856_setbit(encoder, 0xdc, 6, 0); in bt856_s_routing()
157 bt856_setbit(encoder, 0xde, 4, 0); in bt856_s_routing()
158 bt856_setbit(encoder, 0xde, 3, 1); in bt856_s_routing()
159 bt856_setbit(encoder, 0xdc, 3, 1); in bt856_s_routing()
160 bt856_setbit(encoder, 0xdc, 6, 1); in bt856_s_routing()
163 bt856_setbit(encoder, 0xdc, 3, 0); in bt856_s_routing()
164 bt856_setbit(encoder, 0xde, 4, 1); in bt856_s_routing()
171 bt856_dump(encoder); in bt856_s_routing()
196 struct bt856 *encoder; in bt856_probe() local
206 encoder = devm_kzalloc(&client->dev, sizeof(*encoder), GFP_KERNEL); in bt856_probe()
207 if (encoder == NULL) in bt856_probe()
209 sd = &encoder->sd; in bt856_probe()
211 encoder->norm = V4L2_STD_NTSC; in bt856_probe()
213 bt856_write(encoder, 0xdc, 0x18); in bt856_probe()
214 bt856_write(encoder, 0xda, 0); in bt856_probe()
215 bt856_write(encoder, 0xde, 0); in bt856_probe()
217 bt856_setbit(encoder, 0xdc, 3, 1); in bt856_probe()
218 /*bt856_setbit(encoder, 0xdc, 6, 0);*/ in bt856_probe()
219 bt856_setbit(encoder, 0xdc, 4, 1); in bt856_probe()
221 if (encoder->norm & V4L2_STD_NTSC) in bt856_probe()
222 bt856_setbit(encoder, 0xdc, 2, 0); in bt856_probe()
224 bt856_setbit(encoder, 0xdc, 2, 1); in bt856_probe()
226 bt856_setbit(encoder, 0xdc, 1, 1); in bt856_probe()
227 bt856_setbit(encoder, 0xde, 4, 0); in bt856_probe()
228 bt856_setbit(encoder, 0xde, 3, 1); in bt856_probe()
231 bt856_dump(encoder); in bt856_probe()