cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

platform.rst (2016B)


      1====================
      2ASoC Platform Driver
      3====================
      4
      5An ASoC platform driver class can be divided into audio DMA drivers, SoC DAI
      6drivers and DSP drivers. The platform drivers only target the SoC CPU and must
      7have no board specific code.
      8
      9Audio DMA
     10=========
     11
     12The platform DMA driver optionally supports the following ALSA operations:-
     13::
     14
     15  /* SoC audio ops */
     16  struct snd_soc_ops {
     17	int (*startup)(struct snd_pcm_substream *);
     18	void (*shutdown)(struct snd_pcm_substream *);
     19	int (*hw_params)(struct snd_pcm_substream *, struct snd_pcm_hw_params *);
     20	int (*hw_free)(struct snd_pcm_substream *);
     21	int (*prepare)(struct snd_pcm_substream *);
     22	int (*trigger)(struct snd_pcm_substream *, int);
     23  };
     24
     25The platform driver exports its DMA functionality via struct
     26snd_soc_component_driver:-
     27::
     28
     29  struct snd_soc_component_driver {
     30	const char *name;
     31
     32	...
     33	int (*probe)(struct snd_soc_component *);
     34	void (*remove)(struct snd_soc_component *);
     35	int (*suspend)(struct snd_soc_component *);
     36	int (*resume)(struct snd_soc_component *);
     37
     38	/* pcm creation and destruction */
     39	int (*pcm_new)(struct snd_soc_pcm_runtime *);
     40	void (*pcm_free)(struct snd_pcm *);
     41
     42	...
     43	const struct snd_pcm_ops *ops;
     44	const struct snd_compr_ops *compr_ops;
     45	...
     46  };
     47
     48Please refer to the ALSA driver documentation for details of audio DMA.
     49http://www.alsa-project.org/~iwai/writing-an-alsa-driver/
     50
     51An example DMA driver is soc/pxa/pxa2xx-pcm.c
     52
     53
     54SoC DAI Drivers
     55===============
     56
     57Each SoC DAI driver must provide the following features:-
     58
     591. Digital audio interface (DAI) description
     602. Digital audio interface configuration
     613. PCM's description
     624. SYSCLK configuration
     635. Suspend and resume (optional)
     64
     65Please see codec.rst for a description of items 1 - 4.
     66
     67
     68SoC DSP Drivers
     69===============
     70
     71Each SoC DSP driver usually supplies the following features :-
     72
     731. DAPM graph
     742. Mixer controls
     753. DMA IO to/from DSP buffers (if applicable)
     764. Definition of DSP front end (FE) PCM devices.
     77
     78Please see DPCM.txt for a description of item 4.