root/include/linux/platform_data/asoc-s3c.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * Copyright (c) 2009 Samsung Electronics Co. Ltd
   4  * Author: Jaswinder Singh <jassi.brar@samsung.com>
   5  */
   6 
   7 /* The machine init code calls s3c*_ac97_setup_gpio with
   8  * one of these defines in order to select appropriate bank
   9  * of GPIO for AC97 pins
  10  */
  11 #define S3C64XX_AC97_GPD  0
  12 #define S3C64XX_AC97_GPE  1
  13 
  14 #include <linux/dmaengine.h>
  15 
  16 extern void s3c64xx_ac97_setup_gpio(int);
  17 
  18 struct samsung_i2s_type {
  19 /* If the Primary DAI has 5.1 Channels */
  20 #define QUIRK_PRI_6CHAN         (1 << 0)
  21 /* If the I2S block has a Stereo Overlay Channel */
  22 #define QUIRK_SEC_DAI           (1 << 1)
  23 /*
  24  * If the I2S block has no internal prescalar or MUX (I2SMOD[10] bit)
  25  * The Machine driver must provide suitably set clock to the I2S block.
  26  */
  27 #define QUIRK_NO_MUXPSR         (1 << 2)
  28 #define QUIRK_NEED_RSTCLR       (1 << 3)
  29 #define QUIRK_SUPPORTS_TDM      (1 << 4)
  30 #define QUIRK_SUPPORTS_IDMA     (1 << 5)
  31         /* Quirks of the I2S controller */
  32         u32 quirks;
  33         dma_addr_t idma_addr;
  34 };
  35 
  36 /**
  37  * struct s3c_audio_pdata - common platform data for audio device drivers
  38  * @cfg_gpio: Callback function to setup mux'ed pins in I2S/PCM/AC97 mode
  39  */
  40 struct s3c_audio_pdata {
  41         int (*cfg_gpio)(struct platform_device *);
  42         dma_filter_fn dma_filter;
  43         void *dma_playback;
  44         void *dma_capture;
  45         void *dma_play_sec;
  46         void *dma_capture_mic;
  47         struct samsung_i2s_type type;
  48 };

/* [<][>][^][v][top][bottom][index][help] */