Lines Matching refs:sd

36 struct sd {  struct
487 static void i2c_write(struct sd *sd, in i2c_write() argument
491 struct gspca_dev *gspca_dev = &sd->gspca_dev; in i2c_write()
500 sensor = &sensor_tb[sd->sensor]; in i2c_write()
592 static void gpio_set(struct sd *sd, u16 val, u16 mask) in gpio_set() argument
594 struct gspca_dev *gspca_dev = &sd->gspca_dev; in gpio_set()
597 sd->gpio[0] &= ~mask; in gpio_set()
598 sd->gpio[0] |= val; in gpio_set()
600 ~sd->gpio[0] << 8); in gpio_set()
605 sd->gpio[1] &= ~mask; in gpio_set()
606 sd->gpio[1] |= val; in gpio_set()
608 ~sd->gpio[1] << 8); in gpio_set()
612 static void gpio_init(struct sd *sd, in gpio_init() argument
615 gpio_set(sd, *gpio++, 0x000f); in gpio_init()
616 gpio_set(sd, *gpio++, 0x000f); in gpio_init()
617 gpio_set(sd, *gpio++, 0x000f); in gpio_init()
618 gpio_set(sd, *gpio++, 0x000f); in gpio_init()
619 gpio_set(sd, *gpio, 0x000f); in gpio_init()
622 static void bridge_init(struct sd *sd) in bridge_init() argument
628 ucbus_write(&sd->gspca_dev, &clkfreq_cmd, 1, 1); in bridge_init()
630 gpio_set(sd, SQ930_GPIO_POWER, 0xff00); in bridge_init()
635 struct sd *sd = (struct sd *) gspca_dev; in cmos_probe() local
648 ucbus_write(&sd->gspca_dev, sensor->cmd, sensor->cmd_len, 8); in cmos_probe()
649 gpio_init(sd, sensor->gpio); in cmos_probe()
661 sd->sensor = probe_order[i]; in cmos_probe()
662 switch (sd->sensor) { in cmos_probe()
666 sensor_tb[sd->sensor].name); in cmos_probe()
707 static void global_init(struct sd *sd, int first_time) in global_init() argument
709 switch (sd->sensor) { in global_init()
712 ucbus_write(&sd->gspca_dev, in global_init()
715 gpio_init(sd, sensor_tb[sd->sensor].gpio); in global_init()
718 if (sd->type != Creative_live_motion) in global_init()
719 gpio_set(sd, SQ930_GPIO_EXTRA1, 0x00ff); in global_init()
721 gpio_set(sd, 0, 0x00ff); in global_init()
724 ucbus_write(&sd->gspca_dev, in global_init()
727 gpio_init(sd, sensor_tb[sd->sensor].gpio); in global_init()
731 ucbus_write(&sd->gspca_dev, in global_init()
735 gpio_init(sd, sensor_tb[sd->sensor].gpio); in global_init()
736 gpio_set(sd, SQ930_GPIO_EXTRA2, SQ930_GPIO_EXTRA2); in global_init()
741 mt9v111_init(&sd->gspca_dev); in global_init()
743 gpio_init(sd, sensor_tb[sd->sensor].gpio); in global_init()
748 static void lz24bp_ppl(struct sd *sd, u16 ppl) in lz24bp_ppl() argument
755 ucbus_write(&sd->gspca_dev, cmds, ARRAY_SIZE(cmds), 2); in lz24bp_ppl()
760 struct sd *sd = (struct sd *) gspca_dev; in setexposure() local
770 switch (sd->sensor) { in setexposure()
773 min_frclk = sd->sensor == SENSOR_ICX098BQ ? 0x210 : 0x26f; in setexposure()
791 sensor = &sensor_tb[sd->sensor]; in setexposure()
816 struct sd *sd = (struct sd *) gspca_dev; in sd_config() local
819 sd->sensor = id->driver_info >> 8; in sd_config()
820 sd->type = id->driver_info; in sd_config()
833 struct sd *sd = (struct sd *) gspca_dev; in sd_init() local
835 sd->gpio[0] = sd->gpio[1] = 0xff; /* force gpio rewrite */ in sd_init()
866 bridge_init(sd); in sd_init()
868 if (sd->sensor == SENSOR_MI0360) { in sd_init()
872 sd->sensor = SENSOR_ICX098BQ; in sd_init()
877 PDEBUG(D_PROBE, "Sensor %s", sensor_tb[sd->sensor].name); in sd_init()
878 global_init(sd, 1); in sd_init()
886 struct sd *sd = (struct sd *) gspca_dev; in send_start() local
891 cap = &capconfig[sd->sensor][mode]; in send_start()
905 struct sd *sd = (struct sd *) gspca_dev; in sd_isoc_init() local
908 sd->do_ctrl = 0; in sd_isoc_init()
917 struct sd *sd = (struct sd *) gspca_dev; in sd_start() local
920 bridge_init(sd); in sd_start()
921 global_init(sd, 0); in sd_start()
924 switch (sd->sensor) { in sd_start()
939 gpio_set(sd, SQ930_GPIO_EXTRA2 | SQ930_GPIO_RSTBAR, 0x00ff); in sd_start()
942 gpio_set(sd, 0x7f, 0x00ff); in sd_start()
946 gpio_set(sd, SQ930_GPIO_EXTRA2 | SQ930_GPIO_RSTBAR, 0x00ff); in sd_start()
952 if (sd->type != Creative_live_motion) in sd_start()
964 lz24bp_ppl(sd, mode == 1 ? 0x0564 : 0x0310); in sd_start()
971 i2c_write(sd, mi0360_init_23, in sd_start()
973 i2c_write(sd, mi0360_init_24, in sd_start()
975 i2c_write(sd, mi0360_init_25, in sd_start()
980 i2c_write(sd, mi0360_start_2, in sd_start()
982 i2c_write(sd, mi0360_start_3, in sd_start()
990 i2c_write(sd, in sd_start()
998 i2c_write(sd, mt9v111_init_0, in sd_start()
1000 i2c_write(sd, mt9v111_init_1, in sd_start()
1002 i2c_write(sd, mt9v111_init_2, in sd_start()
1007 i2c_write(sd, mt9v111_init_3, in sd_start()
1009 i2c_write(sd, mt9v111_init_4, in sd_start()
1018 if (sd->sensor == SENSOR_MT9V111) in sd_start()
1019 gpio_set(sd, SQ930_GPIO_DFL_LED, SQ930_GPIO_DFL_LED); in sd_start()
1021 sd->do_ctrl = 1; /* set the exposure */ in sd_start()
1028 struct sd *sd = (struct sd *) gspca_dev; in sd_stopN() local
1030 if (sd->sensor == SENSOR_MT9V111) in sd_stopN()
1031 gpio_set(sd, 0, SQ930_GPIO_DFL_LED); in sd_stopN()
1039 struct sd *sd = (struct sd *) gspca_dev; in sd_dq_callback() local
1042 if (!sd->do_ctrl || gspca_dev->cam.bulk_nurbs != 0) in sd_dq_callback()
1044 sd->do_ctrl = 0; in sd_dq_callback()
1046 setexposure(gspca_dev, v4l2_ctrl_g_ctrl(sd->exposure), in sd_dq_callback()
1047 v4l2_ctrl_g_ctrl(sd->gain)); in sd_dq_callback()
1062 struct sd *sd = (struct sd *) gspca_dev; in sd_pkt_scan() local
1064 if (sd->do_ctrl) in sd_pkt_scan()
1075 struct sd *sd = (struct sd *) gspca_dev; in sd_s_ctrl() local
1084 setexposure(gspca_dev, ctrl->val, sd->gain->val); in sd_s_ctrl()
1097 struct sd *sd = (struct sd *) gspca_dev; in sd_init_controls() local
1101 sd->exposure = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops, in sd_init_controls()
1103 sd->gain = v4l2_ctrl_new_std(hdl, &sd_ctrl_ops, in sd_init_controls()
1110 v4l2_ctrl_cluster(2, &sd->exposure); in sd_init_controls()
1147 return gspca_dev_probe(intf, id, &sd_desc, sizeof(struct sd), in sd_probe()