Home
last modified time | relevance | path

Searched full:encoder (Results 1 – 25 of 1099) sorted by relevance

12345678910>>...44

/linux-6.8/drivers/input/misc/
Drotary_encoder.c11 * See file:Documentation/input/devices/rotary-encoder.rst for more information
26 #define DRV_NAME "rotary-encoder"
56 static unsigned int rotary_encoder_get_state(struct rotary_encoder *encoder) in rotary_encoder_get_state() argument
61 for (i = 0; i < encoder->gpios->ndescs; ++i) { in rotary_encoder_get_state()
62 int val = gpiod_get_value_cansleep(encoder->gpios->desc[i]); in rotary_encoder_get_state()
65 if (encoder->encoding == ROTENC_GRAY && ret & 1) in rotary_encoder_get_state()
74 static void rotary_encoder_report_event(struct rotary_encoder *encoder) in rotary_encoder_report_event() argument
76 if (encoder->relative_axis) { in rotary_encoder_report_event()
77 input_report_rel(encoder->input, in rotary_encoder_report_event()
78 encoder->axis, encoder->dir); in rotary_encoder_report_event()
[all …]
/linux-6.8/drivers/gpu/drm/
Ddrm_encoder.c40 * generic sink entity, represented by &struct drm_connector). An encoder takes
74 struct drm_encoder *encoder; in drm_encoder_register_all() local
77 drm_for_each_encoder(encoder, dev) { in drm_encoder_register_all()
78 drm_debugfs_encoder_add(encoder); in drm_encoder_register_all()
80 if (encoder->funcs && encoder->funcs->late_register) in drm_encoder_register_all()
81 ret = encoder->funcs->late_register(encoder); in drm_encoder_register_all()
91 struct drm_encoder *encoder; in drm_encoder_unregister_all() local
93 drm_for_each_encoder(encoder, dev) { in drm_encoder_unregister_all()
94 if (encoder->funcs && encoder->funcs->early_unregister) in drm_encoder_unregister_all()
95 encoder->funcs->early_unregister(encoder); in drm_encoder_unregister_all()
[all …]
Ddrm_encoder_slave.c32 * drm_i2c_encoder_init - Initialize an I2C slave encoder
34 * @encoder: Encoder to be attached to the I2C device. You aren't
53 struct drm_encoder_slave *encoder, in drm_i2c_encoder_init() argument
76 encoder->bus_priv = client; in drm_i2c_encoder_init()
80 err = encoder_drv->encoder_init(client, dev, encoder); in drm_i2c_encoder_init()
85 encoder->slave_funcs->set_config(&encoder->base, in drm_i2c_encoder_init()
99 * drm_i2c_encoder_destroy - Unregister the I2C device backing an encoder
100 * @drm_encoder: Encoder to be unregistered.
103 * encoder driver once I2C access is no longer needed.
107 struct drm_encoder_slave *encoder = to_encoder_slave(drm_encoder); in drm_i2c_encoder_destroy() local
[all …]
Ddrm_crtc_helper.c97 * drm_helper_encoder_in_use - check if a given encoder is in use
98 * @encoder: encoder to check
100 * Checks whether @encoder is with the current mode setting output configuration
105 * True if @encoder is used, false otherwise.
107 bool drm_helper_encoder_in_use(struct drm_encoder *encoder) in drm_helper_encoder_in_use() argument
111 struct drm_device *dev = encoder->dev; in drm_helper_encoder_in_use()
127 if (connector->encoder == encoder) { in drm_helper_encoder_in_use()
150 struct drm_encoder *encoder; in drm_helper_crtc_in_use() local
162 drm_for_each_encoder(encoder, dev) in drm_helper_crtc_in_use()
163 if (encoder->crtc == crtc && drm_helper_encoder_in_use(encoder)) in drm_helper_crtc_in_use()
[all …]
/linux-6.8/drivers/gpu/drm/i915/display/
Dintel_ddi.c92 static int intel_ddi_hdmi_level(struct intel_encoder *encoder, in intel_ddi_hdmi_level() argument
97 level = intel_bios_hdmi_level_shift(encoder->devdata); in intel_ddi_hdmi_level()
119 void hsw_prepare_dp_ddi_buffers(struct intel_encoder *encoder, in hsw_prepare_dp_ddi_buffers() argument
122 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in hsw_prepare_dp_ddi_buffers()
125 enum port port = encoder->port; in hsw_prepare_dp_ddi_buffers()
128 trans = encoder->get_buf_trans(encoder, crtc_state, &n_entries); in hsw_prepare_dp_ddi_buffers()
134 intel_bios_dp_boost_level(encoder->devdata)) in hsw_prepare_dp_ddi_buffers()
150 static void hsw_prepare_hdmi_ddi_buffers(struct intel_encoder *encoder, in hsw_prepare_hdmi_ddi_buffers() argument
153 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in hsw_prepare_hdmi_ddi_buffers()
154 int level = intel_ddi_level(encoder, crtc_state, 0); in hsw_prepare_hdmi_ddi_buffers()
[all …]
Dg4x_hdmi.c26 static void intel_hdmi_prepare(struct intel_encoder *encoder, in intel_hdmi_prepare() argument
29 struct drm_device *dev = encoder->base.dev; in intel_hdmi_prepare()
32 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder); in intel_hdmi_prepare()
65 static bool intel_hdmi_get_hw_state(struct intel_encoder *encoder, in intel_hdmi_get_hw_state() argument
68 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_hdmi_get_hw_state()
69 struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder); in intel_hdmi_get_hw_state()
74 encoder->power_domain); in intel_hdmi_get_hw_state()
80 intel_display_power_put(dev_priv, encoder->power_domain, wakeref); in intel_hdmi_get_hw_state()
87 struct intel_encoder *encoder = in connector_is_hdmi() local
90 return encoder && encoder->type == INTEL_OUTPUT_HDMI; in connector_is_hdmi()
[all …]
Dintel_modeset_verify.c5 * High level crtc/connector/encoder modeset state verification.
36 struct intel_encoder *encoder = intel_attached_encoder(connector); in intel_connector_verify_state() local
47 if (!encoder || encoder->type == INTEL_OUTPUT_DP_MST) in intel_connector_verify_state()
51 conn_state->best_encoder != &encoder->base, in intel_connector_verify_state()
52 "atomic encoder doesn't match attached encoder\n"); in intel_connector_verify_state()
54 I915_STATE_WARN(i915, conn_state->crtc != encoder->base.crtc, in intel_connector_verify_state()
55 "attached encoder crtc differs from connector crtc\n"); in intel_connector_verify_state()
60 "best encoder set without crtc!\n"); in intel_connector_verify_state()
73 struct drm_encoder *encoder = connector->encoder; in verify_connector_state() local
84 I915_STATE_WARN(to_i915(connector->dev), new_conn_state->best_encoder != encoder, in verify_connector_state()
[all …]
Dicl_dsi.c98 static void wait_for_cmds_dispatched_to_panel(struct intel_encoder *encoder) in wait_for_cmds_dispatched_to_panel() argument
100 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in wait_for_cmds_dispatched_to_panel()
101 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in wait_for_cmds_dispatched_to_panel()
231 static void dsi_program_swing_and_deemphasis(struct intel_encoder *encoder) in dsi_program_swing_and_deemphasis() argument
233 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in dsi_program_swing_and_deemphasis()
234 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in dsi_program_swing_and_deemphasis()
276 static void configure_dual_link_mode(struct intel_encoder *encoder, in configure_dual_link_mode() argument
279 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in configure_dual_link_mode()
280 struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); in configure_dual_link_mode()
326 static int afe_clk(struct intel_encoder *encoder, in afe_clk() argument
[all …]
Dintel_dpio_phy.h32 void bxt_ddi_phy_set_signal_levels(struct intel_encoder *encoder,
41 void bxt_ddi_phy_set_lane_optim_mask(struct intel_encoder *encoder,
43 u8 bxt_ddi_phy_get_lane_lat_optim_mask(struct intel_encoder *encoder);
50 void chv_set_phy_signal_level(struct intel_encoder *encoder,
54 void chv_data_lane_soft_reset(struct intel_encoder *encoder,
57 void chv_phy_pre_pll_enable(struct intel_encoder *encoder,
59 void chv_phy_pre_encoder_enable(struct intel_encoder *encoder,
61 void chv_phy_release_cl2_override(struct intel_encoder *encoder);
62 void chv_phy_post_pll_disable(struct intel_encoder *encoder,
65 void vlv_set_phy_signal_level(struct intel_encoder *encoder,
[all …]
Dg4x_dp.c56 void g4x_dp_set_clock(struct intel_encoder *encoder, in g4x_dp_set_clock() argument
59 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in g4x_dp_set_clock()
88 static void intel_dp_prepare(struct intel_encoder *encoder, in intel_dp_prepare() argument
91 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_dp_prepare()
92 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in intel_dp_prepare()
93 enum port port = encoder->port; in intel_dp_prepare()
173 "[ENCODER:%d:%s] state assertion failure (expected %s, current %s)\n", in assert_dp_port()
296 static bool intel_dp_get_hw_state(struct intel_encoder *encoder, in intel_dp_get_hw_state() argument
299 struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); in intel_dp_get_hw_state()
300 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in intel_dp_get_hw_state()
[all …]
/linux-6.8/drivers/media/i2c/
Dbt856.c3 * bt856 - BT856A Digital Video Encoder (Rockwell Part)
27 MODULE_DESCRIPTION("Brooktree-856A video encoder driver");
55 static inline int bt856_write(struct bt856 *encoder, u8 reg, u8 value) in bt856_write() argument
57 struct i2c_client *client = v4l2_get_subdevdata(&encoder->sd); in bt856_write()
59 encoder->reg[reg - BT856_REG_OFFSET] = value; in bt856_write()
63 static inline int bt856_setbit(struct bt856 *encoder, u8 reg, u8 bit, u8 value) in bt856_setbit() argument
65 return bt856_write(encoder, reg, in bt856_setbit()
66 (encoder->reg[reg - BT856_REG_OFFSET] & ~(1 << bit)) | in bt856_setbit()
70 static void bt856_dump(struct bt856 *encoder) in bt856_dump() argument
74 v4l2_info(&encoder->sd, "register dump:\n"); in bt856_dump()
[all …]
/linux-6.8/drivers/gpu/drm/msm/disp/dpu1/
Ddpu_encoder.h41 * dpu_encoder_assign_crtc - Link the encoder to the crtc it's assigned to
42 * @encoder: encoder pointer
45 void dpu_encoder_assign_crtc(struct drm_encoder *encoder,
50 * the encoder is assigned to the given crtc
51 * @encoder: encoder pointer
55 void dpu_encoder_toggle_vblank_for_crtc(struct drm_encoder *encoder,
59 * dpu_encoder_register_frame_event_callback - provide callback to encoder that
61 * @encoder: encoder pointer
65 void dpu_encoder_register_frame_event_callback(struct drm_encoder *encoder,
73 * @encoder: encoder pointer
[all …]
Ddpu_encoder_phys.h31 * enum dpu_enc_split_role - Role this physical encoder will play in a
34 * @ENC_ROLE_SOLO: This is the one and only panel. This encoder is master.
35 * @ENC_ROLE_MASTER: This encoder is the master of a split panel config.
36 * @ENC_ROLE_SLAVE: This encoder is not the master of a split panel config.
45 * enum dpu_enc_enable_state - current enabled state of the physical encoder
46 * @DPU_ENC_DISABLING: Encoder transitioning to disable state
47 * Events bounding transition are encoder type specific
48 * @DPU_ENC_DISABLED: Encoder is disabled
49 * @DPU_ENC_ENABLING: Encoder transitioning to enabled
50 * Events bounding transition are encoder type specific
[all …]
/linux-6.8/include/drm/
Ddrm_encoder.h36 * struct drm_encoder_funcs - encoder controls
44 * Reset encoder hardware and software state to off. This function isn't
48 void (*reset)(struct drm_encoder *encoder);
53 * Clean up encoder resources. This is only called at driver unload time
54 * through drm_mode_config_cleanup() since an encoder cannot be
57 void (*destroy)(struct drm_encoder *encoder);
63 * interfaces attached to the encoder.
72 int (*late_register)(struct drm_encoder *encoder);
78 * userspace interfaces attached to the encoder from
83 void (*early_unregister)(struct drm_encoder *encoder);
[all …]
Ddrm_encoder_slave.h36 * struct drm_encoder_slave_funcs - Entry points exposed by a slave encoder driver
37 * @set_config: Initialize any encoder-specific modesetting parameters.
48 * if the encoder is the currently selected one for the connector.
51 void (*set_config)(struct drm_encoder *encoder,
54 void (*destroy)(struct drm_encoder *encoder);
55 void (*dpms)(struct drm_encoder *encoder, int mode);
56 void (*save)(struct drm_encoder *encoder);
57 void (*restore)(struct drm_encoder *encoder);
58 bool (*mode_fixup)(struct drm_encoder *encoder,
61 int (*mode_valid)(struct drm_encoder *encoder,
[all …]
/linux-6.8/drivers/gpu/drm/msm/disp/mdp5/
Dmdp5_encoder.c13 static struct mdp5_kms *get_kms(struct drm_encoder *encoder) in get_kms() argument
15 struct msm_drm_private *priv = encoder->dev->dev_private; in get_kms()
19 static void mdp5_vid_encoder_mode_set(struct drm_encoder *encoder, in mdp5_vid_encoder_mode_set() argument
23 struct mdp5_encoder *mdp5_encoder = to_mdp5_encoder(encoder); in mdp5_vid_encoder_mode_set()
24 struct mdp5_kms *mdp5_kms = get_kms(encoder); in mdp5_vid_encoder_mode_set()
25 struct drm_device *dev = encoder->dev; in mdp5_vid_encoder_mode_set()
53 if (connector->encoder == encoder) { in mdp5_vid_encoder_mode_set()
117 mdp5_crtc_set_pipeline(encoder->crtc); in mdp5_vid_encoder_mode_set()
120 static void mdp5_vid_encoder_disable(struct drm_encoder *encoder) in mdp5_vid_encoder_disable() argument
122 struct mdp5_encoder *mdp5_encoder = to_mdp5_encoder(encoder); in mdp5_vid_encoder_disable()
[all …]
Dmdp5_cmd_encoder.c13 static struct mdp5_kms *get_kms(struct drm_encoder *encoder) in get_kms() argument
15 struct msm_drm_private *priv = encoder->dev->dev_private; in get_kms()
20 static int pingpong_tearcheck_setup(struct drm_encoder *encoder, in pingpong_tearcheck_setup() argument
23 struct mdp5_kms *mdp5_kms = get_kms(encoder); in pingpong_tearcheck_setup()
24 struct device *dev = encoder->dev->dev; in pingpong_tearcheck_setup()
27 struct mdp5_hw_mixer *mixer = mdp5_crtc_get_mixer(encoder->crtc); in pingpong_tearcheck_setup()
77 static int pingpong_tearcheck_enable(struct drm_encoder *encoder) in pingpong_tearcheck_enable() argument
79 struct mdp5_kms *mdp5_kms = get_kms(encoder); in pingpong_tearcheck_enable()
80 struct mdp5_hw_mixer *mixer = mdp5_crtc_get_mixer(encoder->crtc); in pingpong_tearcheck_enable()
87 DRM_DEV_ERROR(encoder->dev->dev, in pingpong_tearcheck_enable()
[all …]
/linux-6.8/drivers/gpu/drm/nouveau/dispnv04/
Dtvnv17.c46 static uint32_t nv42_tv_sample_load(struct drm_encoder *encoder) in nv42_tv_sample_load() argument
48 struct drm_device *dev = encoder->dev; in nv42_tv_sample_load()
51 uint32_t testval, regoffset = nv04_dac_output_offset(encoder); in nv42_tv_sample_load()
145 nv17_tv_detect(struct drm_encoder *encoder, struct drm_connector *connector) in nv17_tv_detect() argument
147 struct drm_device *dev = encoder->dev; in nv17_tv_detect()
150 struct nv17_tv_encoder *tv_enc = to_tv_enc(encoder); in nv17_tv_detect()
154 if (nv04_dac_in_use(encoder)) in nv17_tv_detect()
161 nv42_tv_sample_load(encoder) >> 28 & 0xe; in nv17_tv_detect()
164 nv17_dac_sample_load(encoder) >> 28 & 0xe; in nv17_tv_detect()
201 static int nv17_tv_get_ld_modes(struct drm_encoder *encoder, in nv17_tv_get_ld_modes() argument
[all …]
Dtvnv04.c59 return nvkm_i2c_bus_probe(bus, "TV encoder", in nv04_tv_identify()
74 static void nv04_tv_dpms(struct drm_encoder *encoder, int mode) in nv04_tv_dpms() argument
76 struct drm_device *dev = encoder->dev; in nv04_tv_dpms()
78 struct nouveau_encoder *nv_encoder = nouveau_encoder(encoder); in nv04_tv_dpms()
82 NV_DEBUG(drm, "Setting dpms mode %d on TV encoder (output %d)\n", in nv04_tv_dpms()
88 int head = nouveau_crtc(encoder->crtc)->index; in nv04_tv_dpms()
102 get_slave_funcs(encoder)->dpms(encoder, mode); in nv04_tv_dpms()
124 static void nv04_tv_prepare(struct drm_encoder *encoder) in nv04_tv_prepare() argument
126 struct drm_device *dev = encoder->dev; in nv04_tv_prepare()
127 int head = nouveau_crtc(encoder->crtc)->index; in nv04_tv_prepare()
[all …]
Ddac.c41 int nv04_dac_output_offset(struct drm_encoder *encoder) in nv04_dac_output_offset() argument
43 struct dcb_output *dcb = nouveau_encoder(encoder)->dcb; in nv04_dac_output_offset()
132 static enum drm_connector_status nv04_dac_detect(struct drm_encoder *encoder, in nv04_dac_detect() argument
135 struct drm_device *dev = encoder->dev; in nv04_dac_detect()
235 uint32_t nv17_dac_sample_load(struct drm_encoder *encoder) in nv17_dac_sample_load() argument
237 struct drm_device *dev = encoder->dev; in nv17_dac_sample_load()
241 struct dcb_output *dcb = nouveau_encoder(encoder)->dcb; in nv17_dac_sample_load()
242 uint32_t sample, testval, regoffset = nv04_dac_output_offset(encoder); in nv17_dac_sample_load()
336 nv17_dac_detect(struct drm_encoder *encoder, struct drm_connector *connector) in nv17_dac_detect() argument
338 struct nouveau_drm *drm = nouveau_drm(encoder->dev); in nv17_dac_detect()
[all …]
/linux-6.8/drivers/gpu/drm/radeon/
Dradeon_legacy_encoders.c46 static void radeon_legacy_encoder_disable(struct drm_encoder *encoder) in radeon_legacy_encoder_disable() argument
48 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_legacy_encoder_disable()
51 encoder_funcs = encoder->helper_private; in radeon_legacy_encoder_disable()
52 encoder_funcs->dpms(encoder, DRM_MODE_DPMS_OFF); in radeon_legacy_encoder_disable()
56 static void radeon_legacy_lvds_update(struct drm_encoder *encoder, int mode) in radeon_legacy_lvds_update() argument
58 struct drm_device *dev = encoder->dev; in radeon_legacy_lvds_update()
60 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_legacy_lvds_update()
139 radeon_atombios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false); in radeon_legacy_lvds_update()
141 radeon_combios_encoder_dpms_scratch_regs(encoder, (mode == DRM_MODE_DPMS_ON) ? true : false); in radeon_legacy_lvds_update()
145 static void radeon_legacy_lvds_dpms(struct drm_encoder *encoder, int mode) in radeon_legacy_lvds_dpms() argument
[all …]
Datombios_encoders.c100 struct drm_encoder *encoder = &radeon_encoder->base; in atombios_set_backlight_level() local
136 atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_LCD_BLOFF, 0, 0); in atombios_set_backlight_level()
138 atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_BL_BRIGHTNESS_CONTROL, 0, 0); in atombios_set_backlight_level()
139 atombios_dig_transmitter_setup(encoder, ATOM_TRANSMITTER_ACTION_LCD_BLON, 0, 0); in atombios_set_backlight_level()
166 struct radeon_encoder *radeon_encoder = pdata->encoder; in radeon_atom_backlight_update_status()
176 struct radeon_encoder *radeon_encoder = pdata->encoder; in radeon_atom_backlight_get_brightness()
239 pdata->encoder = radeon_encoder; in radeon_atom_backlight_init()
296 static bool radeon_atom_mode_fixup(struct drm_encoder *encoder, in radeon_atom_mode_fixup() argument
300 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_atom_mode_fixup()
301 struct drm_device *dev = encoder->dev; in radeon_atom_mode_fixup()
[all …]
Dradeon_audio.c42 static void radeon_audio_hdmi_mode_set(struct drm_encoder *encoder,
44 static void radeon_audio_dp_mode_set(struct drm_encoder *encoder,
191 struct drm_encoder *encoder; in radeon_audio_enable() local
200 list_for_each_entry(encoder, &rdev->ddev->mode_config.encoder_list, head) { in radeon_audio_enable()
201 if (radeon_encoder_is_digital(encoder)) { in radeon_audio_enable()
202 radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_enable()
304 static void radeon_audio_write_sad_regs(struct drm_encoder *encoder) in radeon_audio_write_sad_regs() argument
306 struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); in radeon_audio_write_sad_regs()
307 struct radeon_encoder *radeon_encoder = to_radeon_encoder(encoder); in radeon_audio_write_sad_regs()
322 radeon_encoder->audio->write_sad_regs(encoder, sads, sad_count); in radeon_audio_write_sad_regs()
[all …]
/linux-6.8/drivers/gpu/drm/i2c/
Dch7006_drv.c33 /* DRM encoder functions */
35 static void ch7006_encoder_set_config(struct drm_encoder *encoder, in ch7006_encoder_set_config() argument
38 struct ch7006_priv *priv = to_ch7006_priv(encoder); in ch7006_encoder_set_config()
43 static void ch7006_encoder_destroy(struct drm_encoder *encoder) in ch7006_encoder_destroy() argument
45 struct ch7006_priv *priv = to_ch7006_priv(encoder); in ch7006_encoder_destroy()
47 drm_property_destroy(encoder->dev, priv->scale_property); in ch7006_encoder_destroy()
50 to_encoder_slave(encoder)->slave_priv = NULL; in ch7006_encoder_destroy()
52 drm_i2c_encoder_destroy(encoder); in ch7006_encoder_destroy()
55 static void ch7006_encoder_dpms(struct drm_encoder *encoder, int mode) in ch7006_encoder_dpms() argument
57 struct i2c_client *client = drm_i2c_encoder_get_client(encoder); in ch7006_encoder_dpms()
[all …]
/linux-6.8/Documentation/devicetree/bindings/input/
Drotary-encoder.txt1 Rotary encoder DT bindings
7 - linux,axis: the input subsystem axis to map to this rotary encoder.
9 - rotary-encoder,steps: Number of steps in a full turnaround of the
10 encoder. Only relevant for absolute axis. Defaults to 24 which is a
12 - rotary-encoder,relative-axis: register a relative axis rather than an
15 - rotary-encoder,rollover: Automatic rollover when the rotary value becomes
17 - rotary-encoder,steps-per-period: Number of steps (stable states) per period.
22 - wakeup-source: Boolean, rotary encoder can wake up the system.
23 - rotary-encoder,encoding: String, the method used to encode steps.
27 - rotary-encoder,half-period: Makes the driver work on half-period mode.
[all …]

12345678910>>...44