/Zephyr-latest/dts/bindings/sensor/ |
D | nxp,fxos8700-common.yaml | 2 # SPDX-License-Identifier: Apache-2.0 4 description: FXOS8700 6-axis accelerometer/magnetometer sensor 6 include: sensor-device.yaml 9 reset-gpios: 10 type: phandle-array 17 int1-gpios: 18 type: phandle-array 25 int2-gpios: 26 type: phandle-array 38 - 8 # 8g (0.976 mg/LSB) [all …]
|
/Zephyr-latest/drivers/pwm/ |
D | pwm_renesas_rz_gpt.c | 4 * SPDX-License-Identifier: Apache-2.0 12 #include <zephyr/dt-bindings/pwm/renesas_rz_pwm.h> 32 uint64_t pulse; member 71 gpt_extended_cfg_t *p_extend = (gpt_extended_cfg_t *)p_cfg->p_extend; in pwm_rz_gpt_apply_gtior_config() 72 uint32_t gtior = p_extend->gtior_setting.gtior; in pwm_rz_gpt_apply_gtior_config() 76 if (p_extend->gtior_setting.gtior == 0) { in pwm_rz_gpt_apply_gtior_config() 78 if (p_extend->gtioca.output_enabled) { in pwm_rz_gpt_apply_gtior_config() 80 pwm_rz_gpt_gtior_calculate(p_extend->gtioca.stop_level); in pwm_rz_gpt_apply_gtior_config() 84 if (p_extend->gtiocb.output_enabled) { in pwm_rz_gpt_apply_gtior_config() 86 pwm_rz_gpt_gtior_calculate(p_extend->gtiocb.stop_level); in pwm_rz_gpt_apply_gtior_config() [all …]
|
D | pwm_stm32.c | 6 * SPDX-License-Identifier: Apache-2.0 24 #include <zephyr/dt-bindings/pwm/stm32_pwm.h> 31 /* L0 series MCUs only have 16-bit timers and don't have below macro defined */ 39 * @brief Capture state when in 4-channel support mode 49 * that is used to capture the end of the pulse. 57 uint32_t pulse; member 71 * This is not the case when using four-channel-support. 202 * @brief Check if LL counter mode is center-aligned. 206 * @return `true` when center-aligned, otherwise `false`. 241 if (pclken->bus == STM32_CLOCK_BUS_APB1) { in get_tim_clk() [all …]
|
D | pwm_mchp_xec_bbled.c | 4 * SPDX-License-Identifier: Apache-2.0 51 * Puse_OFF_width = (1/Fpwm) * (256 - duty_cycle) seconds 52 * where duty_cycle is an 8-bit value 0 to 255. 53 * Prescale is derived from DELAY register LOW_DELAY 12-bit field 54 * Duty cycle is derived from LIMITS register MINIMUM 8-bit field 60 * API passes pulse period and pulse width in nanoseconds. 61 * BBLED PWM mode duty cycle specified by 8-bit MIN field of the LIMITS register 140 * DELAY.LO = pre-scaler = [0, 4095] 147 const struct pwm_bbled_xec_config * const cfg = dev->config; in xec_pwmbb_progam_pwm() local 148 struct bbled_regs * const regs = cfg->regs; in xec_pwmbb_progam_pwm() [all …]
|
D | pwm_sam0_tc.c | 7 * SPDX-License-Identifier: Apache-2.0 14 * The 8-bit counter operates in Normal PWM (NPWM) mode, it supports pulse width and period 16 * however, it is not suitable for high-precision or low-frequency applications. 18 * The 16-bit counter operates in Match PWM (MPWM) mode to generate the PWM signal. 19 * this mode sacrifices the timer's CC0 channel in order to achieve pulse width modulation. 31 /* clang-format off */ 53 while (regs->COUNT8.SYNCBUSY.reg != 0) { in wait_synchronization() 56 while (regs->COUNT16.SYNCBUSY.reg != 0) { in wait_synchronization() 64 const struct pwm_sam0_config *const cfg = dev->config; in pwm_sam0_get_cycles_per_sec() local 66 if (channel >= cfg->channels) { in pwm_sam0_get_cycles_per_sec() [all …]
|
D | pwm_renesas_ra.c | 2 * Copyright (c) 2024-2025 Renesas Electronics Corporation 4 * SPDX-License-Identifier: Apache-2.0 31 uint64_t pulse; member 73 gpt_extended_cfg_t *p_extend = (gpt_extended_cfg_t *)p_cfg->p_extend; in pwm_renesas_ra_apply_gtior_config() 74 uint32_t gtior = p_extend->gtior_setting.gtior; in pwm_renesas_ra_apply_gtior_config() 79 if (p_extend->gtior_setting.gtior == 0) { in pwm_renesas_ra_apply_gtior_config() 81 if (p_extend->gtioca.output_enabled) { in pwm_renesas_ra_apply_gtior_config() 83 pwm_renesas_ra_gtior_calculate(p_extend->gtioca.stop_level); in pwm_renesas_ra_apply_gtior_config() 88 if (p_extend->gtiocb.output_enabled) { in pwm_renesas_ra_apply_gtior_config() 90 pwm_renesas_ra_gtior_calculate(p_extend->gtiocb.stop_level); in pwm_renesas_ra_apply_gtior_config() [all …]
|
D | pwm_numaker.c | 4 * SPDX-License-Identifier: Apache-2.0 21 /* 11-bit prescaler in Numaker EPWM modules */ 67 const struct pwm_numaker_config *cfg = dev->config; in pwm_numaker_configure() local 68 EPWM_T *epwm = cfg->epwm; in pwm_numaker_configure() 74 epwm->POLCTL &= ~(NUMAKER_PWM_CHANNEL_MASK << EPWM_POLCTL_PINV0_Pos); in pwm_numaker_configure() 81 const struct pwm_numaker_config *cfg = dev->config; in pwm_numaker_set_cycles() local 82 struct pwm_numaker_data *data = dev->data; in pwm_numaker_set_cycles() 83 EPWM_T *epwm = cfg->epwm; in pwm_numaker_set_cycles() 86 LOG_DBG("Channel=0x%x, CAPIEN=0x%x, CAPIF=0x%x", channel, epwm->CAPIEN, in pwm_numaker_set_cycles() 87 epwm->CAPIF); in pwm_numaker_set_cycles() [all …]
|
/Zephyr-latest/drivers/sensor/st/iis2iclx/ |
D | iis2iclx_trigger.c | 1 /* ST Microelectronics IIS2ICLX 2-axis accelerometer sensor driver 5 * SPDX-License-Identifier: Apache-2.0 24 * iis2iclx_enable_t_int - TEMP enable selected int pin to generate interrupt 28 const struct iis2iclx_config *cfg = dev->config; in iis2iclx_enable_t_int() local 34 /* dummy read: re-trigger interrupt */ in iis2iclx_enable_t_int() 35 iis2iclx_temperature_raw_get((stmdev_ctx_t *)&cfg->ctx, &buf); in iis2iclx_enable_t_int() 39 if (cfg->int_pin == 1) { in iis2iclx_enable_t_int() 40 return -EIO; in iis2iclx_enable_t_int() 43 iis2iclx_read_reg((stmdev_ctx_t *)&cfg->ctx, IIS2ICLX_INT2_CTRL, in iis2iclx_enable_t_int() 46 return iis2iclx_write_reg((stmdev_ctx_t *)&cfg->ctx, IIS2ICLX_INT2_CTRL, in iis2iclx_enable_t_int() [all …]
|
/Zephyr-latest/drivers/sensor/st/iis2dlpc/ |
D | iis2dlpc_trigger.c | 1 /* ST Microelectronics IIS2DLPC 3-axis accelerometer driver 5 * SPDX-License-Identifier: Apache-2.0 23 * iis2dlpc_enable_int - enable selected int pin to generate interrupt 28 const struct iis2dlpc_config *cfg = dev->config; in iis2dlpc_enable_int() local 29 stmdev_ctx_t *ctx = (stmdev_ctx_t *)&cfg->ctx; in iis2dlpc_enable_int() 34 if (cfg->drdy_int == 1) { in iis2dlpc_enable_int() 85 return -ENOTSUP; in iis2dlpc_enable_int() 90 * iis2dlpc_trigger_set - link external trigger to event data ready 96 const struct iis2dlpc_config *cfg = dev->config; in iis2dlpc_trigger_set() local 97 stmdev_ctx_t *ctx = (stmdev_ctx_t *)&cfg->ctx; in iis2dlpc_trigger_set() [all …]
|
/Zephyr-latest/drivers/sensor/st/ism330dhcx/ |
D | ism330dhcx_trigger.c | 1 /* ST Microelectronics ISM330DHCX 6-axis IMU sensor driver 5 * SPDX-License-Identifier: Apache-2.0 24 * ism330dhcx_enable_t_int - TEMP enable selected int pin to generate interrupt 28 const struct ism330dhcx_config *cfg = dev->config; in ism330dhcx_enable_t_int() local 29 struct ism330dhcx_data *ism330dhcx = dev->data; in ism330dhcx_enable_t_int() 35 /* dummy read: re-trigger interrupt */ in ism330dhcx_enable_t_int() 36 ism330dhcx_temperature_raw_get(ism330dhcx->ctx, &buf); in ism330dhcx_enable_t_int() 40 if (cfg->int_pin == 1) { in ism330dhcx_enable_t_int() 41 return -EIO; in ism330dhcx_enable_t_int() 44 ism330dhcx_read_reg(ism330dhcx->ctx, ISM330DHCX_INT2_CTRL, in ism330dhcx_enable_t_int() [all …]
|
/Zephyr-latest/drivers/sensor/st/iis3dhhc/ |
D | iis3dhhc_trigger.c | 5 * SPDX-License-Identifier: Apache-2.0 23 * iis3dhhc_enable_int - enable selected int pin to generate interrupt 27 struct iis3dhhc_data *iis3dhhc = dev->data; in iis3dhhc_enable_int() 31 return iis3dhhc_drdy_on_int1_set(iis3dhhc->ctx, enable); in iis3dhhc_enable_int() 33 return iis3dhhc_drdy_on_int2_set(iis3dhhc->ctx, enable); in iis3dhhc_enable_int() 38 * iis3dhhc_trigger_set - link external trigger to event data ready 44 struct iis3dhhc_data *iis3dhhc = dev->data; in iis3dhhc_trigger_set() 45 const struct iis3dhhc_config *config = dev->config; in iis3dhhc_trigger_set() 48 if (!config->int_gpio.port) { in iis3dhhc_trigger_set() 49 return -ENOTSUP; in iis3dhhc_trigger_set() [all …]
|
/Zephyr-latest/drivers/sensor/st/iis2dh/ |
D | iis2dh_trigger.c | 1 /* ST Microelectronics IIS2DH 3-axis accelerometer driver 5 * SPDX-License-Identifier: Apache-2.0 23 * iis2dh_enable_int - enable selected int pin to generate interrupt 28 struct iis2dh_data *iis2dh = dev->data; in iis2dh_enable_drdy() 32 iis2dh_pin_int1_config_get(iis2dh->ctx, ®3); in iis2dh_enable_drdy() 36 return iis2dh_pin_int1_config_set(iis2dh->ctx, ®3); in iis2dh_enable_drdy() 40 * iis2dh_trigger_set - link external trigger to event data ready 46 struct iis2dh_data *iis2dh = dev->data; in iis2dh_trigger_set() 47 const struct iis2dh_device_config *cfg = dev->config; in iis2dh_trigger_set() local 51 if (!cfg->int_gpio.port) { in iis2dh_trigger_set() [all …]
|
/Zephyr-latest/drivers/w1/ |
D | w1_max32.c | 2 * Copyright (c) 2023-2024 Analog Devices, Inc. 4 * SPDX-License-Identifier: Apache-2.0 37 const struct max32_w1_config *const cfg = dev->config; in api_reset_bus() local 38 mxc_owm_regs_t *regs = cfg->regs; in api_reset_bus() 40 /* 0 if no 1-wire devices responded during the presence pulse, 1 otherwise */ in api_reset_bus() 44 if (regs->ctrl_stat & MXC_F_OWM_CTRL_STAT_OW_INPUT) { in api_reset_bus() 64 return -EIO; in api_read_bit() 81 return -EIO; in api_write_bit() 98 return -EIO; in api_read_byte() 115 return -EIO; in api_write_byte() [all …]
|
D | w1_zephyr_serial.c | 4 * SPDX-License-Identifier: Apache-2.0 10 * @brief 1-Wire Bus Master driver using Zephyr serial interface. 12 * This driver implements the 1-Wire interface using an uart. 16 …* https://www.analog.com/en/resources/technical-articles/using-a-uart-to-implement-a-1wire-bus-mas… 54 /** UART device used for 1-Wire communication */ 66 * Concurrently transmits and receives one 1-Wire bit 72 const struct w1_serial_config *cfg = dev->config; in serial_tx_rx() local 81 while (uart_poll_in(cfg->uart_dev, &dummy) == 0) { in serial_tx_rx() 85 uart_poll_out(cfg->uart_dev, tx_data[i]); in serial_tx_rx() 89 ret = uart_poll_in(cfg->uart_dev, &rx_data[i]); in serial_tx_rx() [all …]
|
/Zephyr-latest/drivers/sensor/tdk/icm42688/ |
D | icm42688_trigger.c | 4 * SPDX-License-Identifier: Apache-2.0 30 k_sem_give(&data->gpio_sem); in icm42688_gpio_callback() 32 k_work_submit(&data->work); in icm42688_gpio_callback() 35 icm42688_fifo_event(data->dev); in icm42688_gpio_callback() 42 struct icm42688_dev_data *data = dev->data; in icm42688_thread_cb() 46 if (data->data_ready_handler != NULL) { in icm42688_thread_cb() 47 data->data_ready_handler(dev, data->data_ready_trigger); in icm42688_thread_cb() 64 k_sem_take(&data->gpio_sem, K_FOREVER); in icm42688_thread() 65 icm42688_thread_cb(data->dev); in icm42688_thread() 75 icm42688_thread_cb(data->dev); in icm42688_work_handler() [all …]
|
D | icm42688_common.c | 6 * SPDX-License-Identifier: Apache-2.0 24 const struct icm42688_dev_cfg *dev_cfg = dev->config; in icm42688_reset() 29 /* perform a soft reset to ensure a clean slate, reset bit will auto-clear */ in icm42688_reset() 30 res = icm42688_spi_single_write(&dev_cfg->spi, REG_DEVICE_CONFIG, BIT_SOFT_RESET); in icm42688_reset() 41 res = icm42688_spi_read(&dev_cfg->spi, REG_INT_STATUS, &value, 1); in icm42688_reset() 49 return -EINVAL; in icm42688_reset() 52 res = icm42688_spi_read(&dev_cfg->spi, REG_WHO_AM_I, &value, 1); in icm42688_reset() 59 return -EINVAL; in icm42688_reset() 65 static uint16_t icm42688_compute_fifo_wm(const struct icm42688_cfg *cfg) in icm42688_compute_fifo_wm() argument 67 const bool accel_enabled = cfg->accel_pwr_mode != ICM42688_DT_ACCEL_OFF; in icm42688_compute_fifo_wm() [all …]
|
/Zephyr-latest/drivers/led_strip/ |
D | ws2812_gpio.c | 6 * SPDX-License-Identifier: Apache-2.0 25 #include <zephyr/dt-bindings/led/led.h> 42 * https://github.com/zephyrproject-rtos/zephyr/issues/11917. 47 * Per Arm docs, both Rd and Rn must be r0-r7, so we use the "l" 56 /* Send out a 1 bit's pulse */ 66 /* Send out a 0 bit's pulse */ 78 const struct ws2812_gpio_cfg *config = dev->config; in send_buf() 79 volatile uint32_t *base = (uint32_t *)&NRF_GPIO->OUTSET; in send_buf() 80 const uint32_t val = BIT(config->gpio.pin); in send_buf() 99 while (len--) { in send_buf() [all …]
|
/Zephyr-latest/drivers/sensor/st/lps22hh/ |
D | lps22hh_trigger.c | 5 * SPDX-License-Identifier: Apache-2.0 23 * lps22hh_enable_int - enable selected int pin to generate interrupt 27 const struct lps22hh_config * const cfg = dev->config; in lps22hh_enable_int() local 28 stmdev_ctx_t *ctx = (stmdev_ctx_t *)&cfg->ctx; in lps22hh_enable_int() 38 * lps22hh_trigger_set - link external trigger to event data ready 44 struct lps22hh_data *lps22hh = dev->data; in lps22hh_trigger_set() 45 const struct lps22hh_config * const cfg = dev->config; in lps22hh_trigger_set() local 46 stmdev_ctx_t *ctx = (stmdev_ctx_t *)&cfg->ctx; in lps22hh_trigger_set() 49 if (trig->chan == SENSOR_CHAN_ALL) { in lps22hh_trigger_set() 50 lps22hh->handler_drdy = handler; in lps22hh_trigger_set() [all …]
|
/Zephyr-latest/drivers/counter/ |
D | counter_mcux_lptmr.c | 4 * SPDX-License-Identifier: Apache-2.0 38 const struct mcux_lptmr_config *config = dev->config; in mcux_lptmr_start() 40 LPTMR_EnableInterrupts(config->base, in mcux_lptmr_start() 42 LPTMR_StartTimer(config->base); in mcux_lptmr_start() 49 const struct mcux_lptmr_config *config = dev->config; in mcux_lptmr_stop() 51 LPTMR_DisableInterrupts(config->base, in mcux_lptmr_stop() 53 LPTMR_StopTimer(config->base); in mcux_lptmr_stop() 60 const struct mcux_lptmr_config *config = dev->config; in mcux_lptmr_get_value() 62 *ticks = LPTMR_GetCurrentTimerCount(config->base); in mcux_lptmr_get_value() 68 const struct counter_top_cfg *cfg) in mcux_lptmr_set_top_value() argument [all …]
|
/Zephyr-latest/boards/others/promicro_nrf52840/doc/ |
D | index.rst | 10 Semiconductor nRF52840 ARM Cortex-M4F CPU and the following devices: 16 * :abbr:`I2C (Inter-Integrated Circuit)` 19 * :abbr:`PWM (Pulse Width Modulation)` 23 * :abbr:`UART (Universal asynchronous receiver-transmitter)` 38 .. zephyr:board-supported-hw:: 44 --- 57 The board is factory-programmed with Adafruit's UF2 booloader 65 #. Compile a Zephyr application; we'll use :zephyr:code-sample:`blinky`. 67 .. zephyr-app-commands:: 74 .. code-block:: console [all …]
|
/Zephyr-latest/drivers/sensor/nxp/fxas21002/ |
D | fxas21002.c | 4 * SPDX-License-Identifier: Apache-2.0 28 const struct fxas21002_config *cfg = dev->config; in fxas21002_transceive() local 32 return spi_transceive_dt(&cfg->bus_cfg.spi, &s, &s); in fxas21002_transceive() 40 const struct fxas21002_config *cfg = dev->config; in fxas21002_read_spi() local 51 return spi_transceive_dt(&cfg->bus_cfg.spi, &tx, &rx); in fxas21002_read_spi() 108 const struct fxas21002_config *config = dev->config; in fxas21002_read_i2c() 110 return i2c_burst_read_dt(&config->bus_cfg.i2c, reg, data, length); in fxas21002_read_i2c() 117 const struct fxas21002_config *config = dev->config; in fxas21002_byte_read_i2c() 119 return i2c_reg_read_byte_dt(&config->bus_cfg.i2c, reg, byte); in fxas21002_byte_read_i2c() 126 const struct fxas21002_config *config = dev->config; in fxas21002_byte_write_i2c() [all …]
|
/Zephyr-latest/drivers/i2c/ |
D | i2c_gd32.c | 4 * SPDX-License-Identifier: Apache-2.0 25 #include "i2c-priv.h" 57 static inline void i2c_gd32_enable_interrupts(const struct i2c_gd32_config *cfg) in i2c_gd32_enable_interrupts() argument 59 I2C_CTL1(cfg->reg) |= I2C_CTL1_ERRIE; in i2c_gd32_enable_interrupts() 60 I2C_CTL1(cfg->reg) |= I2C_CTL1_EVIE; in i2c_gd32_enable_interrupts() 61 I2C_CTL1(cfg->reg) |= I2C_CTL1_BUFIE; in i2c_gd32_enable_interrupts() 64 static inline void i2c_gd32_disable_interrupts(const struct i2c_gd32_config *cfg) in i2c_gd32_disable_interrupts() argument 66 I2C_CTL1(cfg->reg) &= ~I2C_CTL1_ERRIE; in i2c_gd32_disable_interrupts() 67 I2C_CTL1(cfg->reg) &= ~I2C_CTL1_EVIE; in i2c_gd32_disable_interrupts() 68 I2C_CTL1(cfg->reg) &= ~I2C_CTL1_BUFIE; in i2c_gd32_disable_interrupts() [all …]
|
/Zephyr-latest/drivers/usb/bc12/ |
D | bc12_pi3usb9201.c | 4 * SPDX-License-Identifier: Apache-2.0 29 /* Run-time configuration data */ 57 * The USB Type-C specification limits the maximum amount of current from BC 1.2 88 const struct pi3usb9201_config *cfg = dev->config; in pi3usb9201_interrupt_enable() local 91 return i2c_reg_update_byte_dt(&cfg->i2c, PI3USB9201_REG_CTRL_1, in pi3usb9201_interrupt_enable() 98 const struct pi3usb9201_config *cfg = dev->config; in pi3usb9201_bc12_detect_ctrl() local 100 return i2c_reg_update_byte_dt(&cfg->i2c, PI3USB9201_REG_CTRL_2, in pi3usb9201_bc12_detect_ctrl() 107 const struct pi3usb9201_config *cfg = dev->config; in pi3usb9201_bc12_usb_switch() local 110 return i2c_reg_update_byte_dt(&cfg->i2c, PI3USB9201_REG_CTRL_2, in pi3usb9201_bc12_usb_switch() 117 const struct pi3usb9201_config *cfg = dev->config; in pi3usb9201_set_mode() local [all …]
|
/Zephyr-latest/include/zephyr/drivers/ |
D | dai.h | 4 * SPDX-License-Identifier: Apache-2.0 48 * clock-related configurations w.r.t the DAI 73 DAI_PROTO_PDM, /**< Pulse Density Modulation */ 165 /** @brief Optional - Pre Start the transmission / reception of data. 189 /** @brief Optional - Post Stop the transmission / reception of data. 316 int (*config_set)(const struct device *dev, const struct dai_config *cfg, 318 int (*config_get)(const struct device *dev, struct dai_config *cfg, 329 int (*ts_config)(const struct device *dev, struct dai_ts_cfg *cfg); 330 int (*ts_start)(const struct device *dev, struct dai_ts_cfg *cfg); 331 int (*ts_stop)(const struct device *dev, struct dai_ts_cfg *cfg); [all …]
|
/Zephyr-latest/drivers/sensor/apds9960/ |
D | apds9960.h | 5 * SPDX-License-Identifier: Apache-2.0 149 /* Gesture Pulse Length values */ 239 static inline void apds9960_setup_int(const struct apds9960_config *cfg, in apds9960_setup_int() argument 246 gpio_pin_interrupt_configure_dt(&cfg->int_gpio, flags); in apds9960_setup_int()
|