Commit bdc16b57 authored by Andra Danciu's avatar Andra Danciu Committed by Mark Brown

ASoC: imx-ssi: Switch to SPDX identifier

Adopt the SPDX license identifier headers to ease license compliance
management.
Signed-off-by: default avatarAndra Danciu <andradanciu1997@gmail.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 58dbd101
/* // SPDX-License-Identifier: GPL-2.0+
* imx-ssi.c -- ALSA Soc Audio Layer //
* // imx-ssi.c -- ALSA Soc Audio Layer
* Copyright 2009 Sascha Hauer <s.hauer@pengutronix.de> //
* // Copyright 2009 Sascha Hauer <s.hauer@pengutronix.de>
* This code is based on code copyrighted by Freescale, //
* Liam Girdwood, Javier Martin and probably others. // This code is based on code copyrighted by Freescale,
* // Liam Girdwood, Javier Martin and probably others.
* This program is free software; you can redistribute it and/or modify it //
* under the terms of the GNU General Public License as published by the // The i.MX SSI core has some nasty limitations in AC97 mode. While most
* Free Software Foundation; either version 2 of the License, or (at your // sane processor vendors have a FIFO per AC97 slot, the i.MX has only
* option) any later version. // one FIFO which combines all valid receive slots. We cannot even select
* // which slots we want to receive. The WM9712 with which this driver
* // was developed with always sends GPIO status data in slot 12 which
* The i.MX SSI core has some nasty limitations in AC97 mode. While most // we receive in our (PCM-) data stream. The only chance we have is to
* sane processor vendors have a FIFO per AC97 slot, the i.MX has only // manually skip this data in the FIQ handler. With sampling rates different
* one FIFO which combines all valid receive slots. We cannot even select // from 48000Hz not every frame has valid receive data, so the ratio
* which slots we want to receive. The WM9712 with which this driver // between pcm data and GPIO status data changes. Our FIQ handler is not
* was developed with always sends GPIO status data in slot 12 which // able to handle this, hence this driver only works with 48000Hz sampling
* we receive in our (PCM-) data stream. The only chance we have is to // rate.
* manually skip this data in the FIQ handler. With sampling rates different // Reading and writing AC97 registers is another challenge. The core
* from 48000Hz not every frame has valid receive data, so the ratio // provides us status bits when the read register is updated with *another*
* between pcm data and GPIO status data changes. Our FIQ handler is not // value. When we read the same register two times (and the register still
* able to handle this, hence this driver only works with 48000Hz sampling // contains the same value) these status bits are not set. We work
* rate. // around this by not polling these bits but only wait a fixed delay.
* Reading and writing AC97 registers is another challenge. The core
* provides us status bits when the read register is updated with *another*
* value. When we read the same register two times (and the register still
* contains the same value) these status bits are not set. We work
* around this by not polling these bits but only wait a fixed delay.
*
*/
#include <linux/clk.h> #include <linux/clk.h>
#include <linux/delay.h> #include <linux/delay.h>
......
/* /* SPDX-License-Identifier: GPL-2.0 */
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef _IMX_SSI_H #ifndef _IMX_SSI_H
#define _IMX_SSI_H #define _IMX_SSI_H
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment