|
Server : LiteSpeed System : Linux srv526460274 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : kerao9884 ( 1082) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/src/linux-headers-5.15.0-125/arch/mips/include/asm/txx9/ |
Upload File : |
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* TXx9 SoC DMA Controller
*/
#ifndef __ASM_TXX9_DMAC_H
#define __ASM_TXX9_DMAC_H
#include <linux/dmaengine.h>
#define TXX9_DMA_MAX_NR_CHANNELS 4
/**
* struct txx9dmac_platform_data - Controller configuration parameters
* @memcpy_chan: Channel used for DMA_MEMCPY
* @have_64bit_regs: DMAC have 64 bit registers
*/
struct txx9dmac_platform_data {
int memcpy_chan;
bool have_64bit_regs;
};
/**
* struct txx9dmac_chan_platform_data - Channel configuration parameters
* @dmac_dev: A platform device for DMAC
*/
struct txx9dmac_chan_platform_data {
struct platform_device *dmac_dev;
};
/**
* struct txx9dmac_slave - Controller-specific information about a slave
* @tx_reg: physical address of data register used for
* memory-to-peripheral transfers
* @rx_reg: physical address of data register used for
* peripheral-to-memory transfers
* @reg_width: peripheral register width
*/
struct txx9dmac_slave {
u64 tx_reg;
u64 rx_reg;
unsigned int reg_width;
};
void txx9_dmac_init(int id, unsigned long baseaddr, int irq,
const struct txx9dmac_platform_data *pdata);
#endif /* __ASM_TXX9_DMAC_H */