Lines Matching refs:props
16 void expresswire_power_off(struct expresswire_common_props *props) in expresswire_power_off() argument
18 gpiod_set_value_cansleep(props->ctrl_gpio, 0); in expresswire_power_off()
19 usleep_range(props->timing.poweroff_us, props->timing.poweroff_us * 2); in expresswire_power_off()
23 void expresswire_enable(struct expresswire_common_props *props) in expresswire_enable() argument
25 gpiod_set_value(props->ctrl_gpio, 1); in expresswire_enable()
26 udelay(props->timing.detect_delay_us); in expresswire_enable()
27 gpiod_set_value(props->ctrl_gpio, 0); in expresswire_enable()
28 udelay(props->timing.detect_us); in expresswire_enable()
29 gpiod_set_value(props->ctrl_gpio, 1); in expresswire_enable()
33 void expresswire_start(struct expresswire_common_props *props) in expresswire_start() argument
35 gpiod_set_value(props->ctrl_gpio, 1); in expresswire_start()
36 udelay(props->timing.data_start_us); in expresswire_start()
40 void expresswire_end(struct expresswire_common_props *props) in expresswire_end() argument
42 gpiod_set_value(props->ctrl_gpio, 0); in expresswire_end()
43 udelay(props->timing.end_of_data_low_us); in expresswire_end()
44 gpiod_set_value(props->ctrl_gpio, 1); in expresswire_end()
45 udelay(props->timing.end_of_data_high_us); in expresswire_end()
49 void expresswire_set_bit(struct expresswire_common_props *props, bool bit) in expresswire_set_bit() argument
52 gpiod_set_value(props->ctrl_gpio, 0); in expresswire_set_bit()
53 udelay(props->timing.short_bitset_us); in expresswire_set_bit()
54 gpiod_set_value(props->ctrl_gpio, 1); in expresswire_set_bit()
55 udelay(props->timing.long_bitset_us); in expresswire_set_bit()
57 gpiod_set_value(props->ctrl_gpio, 0); in expresswire_set_bit()
58 udelay(props->timing.long_bitset_us); in expresswire_set_bit()
59 gpiod_set_value(props->ctrl_gpio, 1); in expresswire_set_bit()
60 udelay(props->timing.short_bitset_us); in expresswire_set_bit()
65 void expresswire_write_u8(struct expresswire_common_props *props, u8 val) in expresswire_write_u8() argument
67 expresswire_start(props); in expresswire_write_u8()
69 expresswire_set_bit(props, val & BIT(i)); in expresswire_write_u8()
70 expresswire_end(props); in expresswire_write_u8()