Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/i2c/busses/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  i2c-stm32.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * i2c-stm32.h
 *
 * Copyright (C) M'boumba Cedric Madianga 2017
 * Copyright (C) STMicroelectronics 2017
 * Author: M'boumba Cedric Madianga <cedric.madianga@gmail.com>
 *
 */


#ifndef _I2C_STM32_H
#define _I2C_STM32_H

#include <linux/dma-direction.h>
#include <linux/dmaengine.h>
#include <linux/dma-mapping.h>

enum stm32_i2c_speed {
 STM32_I2C_SPEED_STANDARD, /* 100 kHz */
 STM32_I2C_SPEED_FAST, /* 400 kHz */
 STM32_I2C_SPEED_FAST_PLUS, /* 1 MHz */
 STM32_I2C_SPEED_END,
};

/**
 * struct stm32_i2c_dma - DMA specific data
 * @chan_tx: dma channel for TX transfer
 * @chan_rx: dma channel for RX transfer
 * @chan_using: dma channel used for the current transfer (TX or RX)
 * @dma_buf: dma buffer
 * @dma_len: dma buffer len
 * @dma_transfer_dir: dma transfer direction indicator
 * @dma_data_dir: dma transfer mode indicator
 * @dma_complete: dma transfer completion
 */

struct stm32_i2c_dma {
 struct dma_chan *chan_tx;
 struct dma_chan *chan_rx;
 struct dma_chan *chan_using;
 dma_addr_t dma_buf;
 unsigned int dma_len;
 enum dma_transfer_direction dma_transfer_dir;
 enum dma_data_direction dma_data_dir;
 struct completion dma_complete;
};

struct stm32_i2c_dma *stm32_i2c_dma_request(struct device *dev,
         dma_addr_t phy_addr,
         u32 txdr_offset, u32 rxdr_offset);

void stm32_i2c_dma_free(struct stm32_i2c_dma *dma);

int stm32_i2c_prep_dma_xfer(struct device *dev, struct stm32_i2c_dma *dma,
       bool rd_wr, u32 len, u8 *buf,
       dma_async_tx_callback callback,
       void *dma_async_param);

#endif /* _I2C_STM32_H */

Messung V0.5
C=97 H=94 G=95

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.