forked from Minki/linux
ca514c0f12
This patch adds support for the 8 channel PDM-to-I2S/TDM converter. The ADAU7118 converts four stereo pulse density modulation (PDM) bitstreams into one pulse code modulation (PCM) output stream. The source for the PDM data can be eight microphones or other PDM sources. The PCM audio data is output on a serial audio interface port in either inter-IC serial (I2S) or time domain multiplexed (TDM) format. Signed-off-by: Nuno Sá <nuno.sa@analog.com> Link: https://lore.kernel.org/r/20191010074234.7344-1-nuno.sa@analog.com Signed-off-by: Mark Brown <broonie@kernel.org>
44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
// SPDX-License-Identifier: GPL-2.0
|
|
//
|
|
// Analog Devices ADAU7118 8 channel PDM-to-I2S/TDM Converter Standalone Hw
|
|
// driver
|
|
//
|
|
// Copyright 2019 Analog Devices Inc.
|
|
|
|
#include <linux/module.h>
|
|
#include <linux/mod_devicetable.h>
|
|
#include <linux/platform_device.h>
|
|
|
|
#include "adau7118.h"
|
|
|
|
static int adau7118_probe_hw(struct platform_device *pdev)
|
|
{
|
|
return adau7118_probe(&pdev->dev, NULL, true);
|
|
}
|
|
|
|
static const struct of_device_id adau7118_of_match[] = {
|
|
{ .compatible = "adi,adau7118" },
|
|
{}
|
|
};
|
|
MODULE_DEVICE_TABLE(of, adau7118_of_match);
|
|
|
|
static const struct platform_device_id adau7118_id[] = {
|
|
{ .name = "adau7118" },
|
|
{ }
|
|
};
|
|
MODULE_DEVICE_TABLE(platform, adau7118_id);
|
|
|
|
static struct platform_driver adau7118_driver_hw = {
|
|
.driver = {
|
|
.name = "adau7118",
|
|
.of_match_table = adau7118_of_match,
|
|
},
|
|
.probe = adau7118_probe_hw,
|
|
.id_table = adau7118_id,
|
|
};
|
|
module_platform_driver(adau7118_driver_hw);
|
|
|
|
MODULE_AUTHOR("Nuno Sa <nuno.sa@analog.com>");
|
|
MODULE_DESCRIPTION("ADAU7118 8 channel PDM-to-I2S/TDM Converter driver for standalone hw mode");
|
|
MODULE_LICENSE("GPL");
|