Linux Audio

Check our new training course

Loading...
/*
 * Header for the SUDMAC driver
 *
 * Copyright (C) 2013 Renesas Solutions Corp.
 *
 * This is free software; you can redistribute it and/or modify
 * it under the terms of version 2 of the GNU General Public License as
 * published by the Free Software Foundation.
 */
#ifndef SUDMAC_H
#define SUDMAC_H

#include <linux/dmaengine.h>
#include <linux/shdma-base.h>
#include <linux/types.h>

/* Used by slave DMA clients to request DMA to/from a specific peripheral */
struct sudmac_slave {
	struct shdma_slave	shdma_slave;	/* Set by the platform */
};

/*
 * Supplied by platforms to specify, how a DMA channel has to be configured for
 * a certain peripheral
 */
struct sudmac_slave_config {
	int		slave_id;
};

struct sudmac_channel {
	unsigned long	offset;
	unsigned long	config;
	unsigned long	wait;		/* The configuable range is 0 to 3 */
	unsigned long	dint_end_bit;
};

struct sudmac_pdata {
	const struct sudmac_slave_config *slave;
	int slave_num;
	const struct sudmac_channel *channel;
	int channel_num;
};

/* Definitions for the sudmac_channel.config */
#define SUDMAC_TX_BUFFER_MODE	BIT(0)
#define SUDMAC_RX_END_MODE	BIT(1)

/* Definitions for the sudmac_channel.dint_end_bit */
#define SUDMAC_DMA_BIT_CH0	BIT(0)
#define SUDMAC_DMA_BIT_CH1	BIT(1)

#endif
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy