~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/sound/soc/amd/ps/ps-mach.c

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: GPL-2.0-only
  2 /*
  3  * Machine driver for AMD Pink Sardine platform using DMIC
  4  *
  5  * Copyright 2022 Advanced Micro Devices, Inc.
  6  */
  7 
  8 #include <sound/soc.h>
  9 #include <sound/soc-dapm.h>
 10 #include <linux/module.h>
 11 #include <sound/pcm.h>
 12 #include <sound/pcm_params.h>
 13 #include <linux/io.h>
 14 #include <linux/dmi.h>
 15 
 16 #include "acp63.h"
 17 
 18 #define DRV_NAME "acp_ps_mach"
 19 
 20 SND_SOC_DAILINK_DEF(acp63_pdm,
 21                     DAILINK_COMP_ARRAY(COMP_CPU("acp_ps_pdm_dma.0")));
 22 
 23 SND_SOC_DAILINK_DEF(dmic_codec,
 24                     DAILINK_COMP_ARRAY(COMP_CODEC("dmic-codec.0",
 25                                                   "dmic-hifi")));
 26 
 27 SND_SOC_DAILINK_DEF(pdm_platform,
 28                     DAILINK_COMP_ARRAY(COMP_PLATFORM("acp_ps_pdm_dma.0")));
 29 
 30 static struct snd_soc_dai_link acp63_dai_pdm[] = {
 31         {
 32                 .name = "acp63-dmic-capture",
 33                 .stream_name = "DMIC capture",
 34                 .capture_only = 1,
 35                 SND_SOC_DAILINK_REG(acp63_pdm, dmic_codec, pdm_platform),
 36         },
 37 };
 38 
 39 static struct snd_soc_card acp63_card = {
 40         .name = "acp63",
 41         .owner = THIS_MODULE,
 42         .dai_link = acp63_dai_pdm,
 43         .num_links = 1,
 44 };
 45 
 46 static int acp63_probe(struct platform_device *pdev)
 47 {
 48         struct acp63_pdm *machine = NULL;
 49         struct snd_soc_card *card;
 50         int ret;
 51 
 52         platform_set_drvdata(pdev, &acp63_card);
 53         card = platform_get_drvdata(pdev);
 54         acp63_card.dev = &pdev->dev;
 55 
 56         snd_soc_card_set_drvdata(card, machine);
 57         ret = devm_snd_soc_register_card(&pdev->dev, card);
 58         if (ret) {
 59                 return dev_err_probe(&pdev->dev, ret,
 60                                 "snd_soc_register_card(%s) failed\n",
 61                                 card->name);
 62         }
 63 
 64         return 0;
 65 }
 66 
 67 static struct platform_driver acp63_mach_driver = {
 68         .driver = {
 69                 .name = "acp_ps_mach",
 70                 .pm = &snd_soc_pm_ops,
 71         },
 72         .probe = acp63_probe,
 73 };
 74 
 75 module_platform_driver(acp63_mach_driver);
 76 
 77 MODULE_AUTHOR("Syed.SabaKareem@amd.com");
 78 MODULE_DESCRIPTION("AMD Pink Sardine support for DMIC");
 79 MODULE_LICENSE("GPL v2");
 80 MODULE_ALIAS("platform:" DRV_NAME);
 81 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php