Lines Matching refs:sd

51 	struct v4l2_subdev sd;  member
56 static inline struct adv7175 *to_adv7175(struct v4l2_subdev *sd) in to_adv7175() argument
58 return container_of(sd, struct adv7175, sd); in to_adv7175()
70 static inline int adv7175_write(struct v4l2_subdev *sd, u8 reg, u8 value) in adv7175_write() argument
72 struct i2c_client *client = v4l2_get_subdevdata(sd); in adv7175_write()
77 static inline int adv7175_read(struct v4l2_subdev *sd, u8 reg) in adv7175_read() argument
79 struct i2c_client *client = v4l2_get_subdevdata(sd); in adv7175_read()
84 static int adv7175_write_block(struct v4l2_subdev *sd, in adv7175_write_block() argument
87 struct i2c_client *client = v4l2_get_subdevdata(sd); in adv7175_write_block()
115 ret = adv7175_write(sd, reg, *data++); in adv7175_write_block()
125 static void set_subcarrier_freq(struct v4l2_subdev *sd, int pass_through) in set_subcarrier_freq() argument
130 adv7175_write(sd, 0x02, 0x00); in set_subcarrier_freq()
132 adv7175_write(sd, 0x02, 0x55); in set_subcarrier_freq()
134 adv7175_write(sd, 0x03, 0x55); in set_subcarrier_freq()
135 adv7175_write(sd, 0x04, 0x55); in set_subcarrier_freq()
136 adv7175_write(sd, 0x05, 0x25); in set_subcarrier_freq()
196 static int adv7175_init(struct v4l2_subdev *sd, u32 val) in adv7175_init() argument
199 adv7175_write_block(sd, init_common, sizeof(init_common)); in adv7175_init()
200 adv7175_write(sd, 0x07, TR0MODE | TR0RST); in adv7175_init()
201 adv7175_write(sd, 0x07, TR0MODE); in adv7175_init()
205 static int adv7175_s_std_output(struct v4l2_subdev *sd, v4l2_std_id std) in adv7175_s_std_output() argument
207 struct adv7175 *encoder = to_adv7175(sd); in adv7175_s_std_output()
210 adv7175_write_block(sd, init_ntsc, sizeof(init_ntsc)); in adv7175_s_std_output()
212 adv7175_write(sd, 0x0d, 0x4f); /* Enable genlock */ in adv7175_s_std_output()
213 adv7175_write(sd, 0x07, TR0MODE | TR0RST); in adv7175_s_std_output()
214 adv7175_write(sd, 0x07, TR0MODE); in adv7175_s_std_output()
216 adv7175_write_block(sd, init_pal, sizeof(init_pal)); in adv7175_s_std_output()
218 adv7175_write(sd, 0x0d, 0x4f); /* Enable genlock */ in adv7175_s_std_output()
219 adv7175_write(sd, 0x07, TR0MODE | TR0RST); in adv7175_s_std_output()
220 adv7175_write(sd, 0x07, TR0MODE); in adv7175_s_std_output()
228 adv7175_write_block(sd, init_pal, sizeof(init_pal)); in adv7175_s_std_output()
230 adv7175_write(sd, 0x0d, 0x49); /* Disable genlock */ in adv7175_s_std_output()
231 adv7175_write(sd, 0x07, TR0MODE | TR0RST); in adv7175_s_std_output()
232 adv7175_write(sd, 0x07, TR0MODE); in adv7175_s_std_output()
234 v4l2_dbg(1, debug, sd, "illegal norm: %llx\n", in adv7175_s_std_output()
238 v4l2_dbg(1, debug, sd, "switched to %llx\n", (unsigned long long)std); in adv7175_s_std_output()
243 static int adv7175_s_routing(struct v4l2_subdev *sd, in adv7175_s_routing() argument
246 struct adv7175 *encoder = to_adv7175(sd); in adv7175_s_routing()
254 adv7175_write(sd, 0x01, 0x00); in adv7175_s_routing()
257 set_subcarrier_freq(sd, 1); in adv7175_s_routing()
259 adv7175_write(sd, 0x0c, TR1CAPT); /* TR1 */ in adv7175_s_routing()
261 adv7175_write(sd, 0x0d, 0x49); /* Disable genlock */ in adv7175_s_routing()
263 adv7175_write(sd, 0x0d, 0x4f); /* Enable genlock */ in adv7175_s_routing()
264 adv7175_write(sd, 0x07, TR0MODE | TR0RST); in adv7175_s_routing()
265 adv7175_write(sd, 0x07, TR0MODE); in adv7175_s_routing()
270 adv7175_write(sd, 0x01, 0x00); in adv7175_s_routing()
273 set_subcarrier_freq(sd, 0); in adv7175_s_routing()
275 adv7175_write(sd, 0x0c, TR1PLAY); /* TR1 */ in adv7175_s_routing()
276 adv7175_write(sd, 0x0d, 0x49); in adv7175_s_routing()
277 adv7175_write(sd, 0x07, TR0MODE | TR0RST); in adv7175_s_routing()
278 adv7175_write(sd, 0x07, TR0MODE); in adv7175_s_routing()
283 adv7175_write(sd, 0x01, 0x80); in adv7175_s_routing()
286 set_subcarrier_freq(sd, 0); in adv7175_s_routing()
288 adv7175_write(sd, 0x0d, 0x49); in adv7175_s_routing()
289 adv7175_write(sd, 0x07, TR0MODE | TR0RST); in adv7175_s_routing()
290 adv7175_write(sd, 0x07, TR0MODE); in adv7175_s_routing()
295 v4l2_dbg(1, debug, sd, "illegal input: %d\n", input); in adv7175_s_routing()
298 v4l2_dbg(1, debug, sd, "switched to %s\n", inputs[input]); in adv7175_s_routing()
303 static int adv7175_enum_mbus_code(struct v4l2_subdev *sd, in adv7175_enum_mbus_code() argument
314 static int adv7175_get_fmt(struct v4l2_subdev *sd, in adv7175_get_fmt() argument
319 u8 val = adv7175_read(sd, 0x7); in adv7175_get_fmt()
337 static int adv7175_set_fmt(struct v4l2_subdev *sd, in adv7175_set_fmt() argument
342 u8 val = adv7175_read(sd, 0x7); in adv7175_set_fmt()
358 v4l2_dbg(1, debug, sd, in adv7175_set_fmt()
364 ret = adv7175_write(sd, 0x7, val); in adv7175_set_fmt()
369 static int adv7175_s_power(struct v4l2_subdev *sd, int on) in adv7175_s_power() argument
372 adv7175_write(sd, 0x01, 0x00); in adv7175_s_power()
374 adv7175_write(sd, 0x01, 0x78); in adv7175_s_power()
410 struct v4l2_subdev *sd; in adv7175_probe() local
422 sd = &encoder->sd; in adv7175_probe()
423 v4l2_i2c_subdev_init(sd, client, &adv7175_ops); in adv7175_probe()
427 i = adv7175_write_block(sd, init_common, sizeof(init_common)); in adv7175_probe()
429 i = adv7175_write(sd, 0x07, TR0MODE | TR0RST); in adv7175_probe()
430 i = adv7175_write(sd, 0x07, TR0MODE); in adv7175_probe()
431 i = adv7175_read(sd, 0x12); in adv7175_probe()
432 v4l2_dbg(1, debug, sd, "revision %d\n", i & 1); in adv7175_probe()
435 v4l2_dbg(1, debug, sd, "init error 0x%x\n", i); in adv7175_probe()
441 struct v4l2_subdev *sd = i2c_get_clientdata(client); in adv7175_remove() local
443 v4l2_device_unregister_subdev(sd); in adv7175_remove()