Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
cs40l26.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2026 Cirrus Logic, Inc.
3 * SPDX-License-Identifier: Apache-2.0
4 */
5
6#ifndef ZEPHYR_INCLUDE_DRIVERS_HAPTICS_CS40L26_H_
7#define ZEPHYR_INCLUDE_DRIVERS_HAPTICS_CS40L26_H_
8
9#include <zephyr/kernel.h>
10
11#ifdef __cplusplus
12extern "C" {
13#endif /* __cplusplus */
14
20
31
40int cs40l26_calibrate(const struct device *const dev);
41
55int cs40l26_configure_buzz(const struct device *const dev, const uint32_t frequency,
56 const uint8_t level, const uint32_t duration);
57
68int cs40l26_select_output(const struct device *const dev, const enum cs40l26_bank bank,
69 const uint16_t index);
70
80int cs40l26_set_gain(const struct device *const dev, const uint8_t gain);
81
82#ifdef __cplusplus
83}
84#endif /* __cplusplus */
85
86#endif /* ZEPHYR_INCLUDE_DRIVERS_HAPTICS_CS40L26_H_ */
int cs40l26_set_gain(const struct device *const dev, const uint8_t gain)
Configure gain for haptic effects triggered via haptics_start_output().
int cs40l26_configure_buzz(const struct device *const dev, const uint32_t frequency, const uint8_t level, const uint32_t duration)
Configure ROM buzz for haptic playback.
cs40l26_bank
Wavetable sources for effects.
Definition cs40l26.h:26
@ CS40L26_ROM_BANK
Playback from the pre-programmed ROM library.
Definition cs40l26.h:27
@ CS40L26_NO_BANK
Reserved for driver error handling.
Definition cs40l26.h:29
@ CS40L26_BUZ_BANK
Playback from buzz source programmed at runtime.
Definition cs40l26.h:28
int cs40l26_select_output(const struct device *const dev, const enum cs40l26_bank bank, const uint16_t index)
Select haptic effect triggered via haptics_start_output().
int cs40l26_calibrate(const struct device *const dev)
Run calibration to derive ReDC and F0 values and apply results for click compensation.
Public kernel APIs.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
Runtime device structure (in ROM) per driver instance.
Definition device.h:513