Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp2627200ybl; Sat, 14 Dec 2019 15:59:03 -0800 (PST) X-Google-Smtp-Source: APXvYqz1ItiNw1rLB5FIWoWlku0sCIT5or6jFRKomhh35UEaVDx0xnj/OQevAZB96hWj3Sg6LD9g X-Received: by 2002:a9d:6f0d:: with SMTP id n13mr23409297otq.165.1576367943413; Sat, 14 Dec 2019 15:59:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576367943; cv=none; d=google.com; s=arc-20160816; b=pCJSTcv538H75QWGmuZO/arfQzkUq2PtDdfkpZQKOBvWnwNXVG29apJewAzLuTmFPS +A8B3IVDrOJAmq4hZ5dm8h0qR/L1Mqqy6PSxh02nUw2Y+y5RjCTJp7USkYkZe5RuGF04 +ybt/epoIRDcwKOc/2prP4WLTjSowS3vZLv97biefI8AyGsn05TEtncAUD0hUZ24kjyv dacdZ+nwi1iSrpMZWtWxWNH9ziO4Q2g5uq9xGIvYHoFB26Q5tWgqBqBMGbaW8QqPoKuL nH+1gtMwOvEhw7RHMoBQeEyfks5HM1POcvg0tbeuBrHdjDxQP2D39KGIUC1YDJpROgV1 aFEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:dkim-signature; bh=BO3TEYl21sA/wMKA0yRtarf1F3XV3vT6Pf1Un5gTO5Q=; b=XRtuomklokKPRrT955FqUOmtzkC3sHe8cMsxcxh4s6SVGgVmtiqAqHnhUyo1awX4q9 fiP29bO0IA9D5v9O2JHuZzTRo+vV9dktsDVO7DgTsHyeJqhxTB1RX1DigxkDQJ7lo1PN pc9G2HTMQMkBj5/XbnTs07q48akSxMG20jm8etw5UnTHDFfsg9ARi3Ivvnj95JLYvUzF zEeC2hN+ZiayPY8+nQyd/nYkP79yh16/NU67ygy0nAreJr0WmHa49ScgDxNh5218w8OY gst+rbjrp74Ee44oi/RBbWrrACNILrMnggD6xy5UiUBri3D0NZh4TeiOkIlAs4rKK7GG FOtg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@akkea.ca header.s=mail header.b=bGI6A9XL; dkim=pass header.i=@akkea.ca header.s=mail header.b=bGI6A9XL; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 73si8093080otj.82.2019.12.14.15.58.50; Sat, 14 Dec 2019 15:59:03 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@akkea.ca header.s=mail header.b=bGI6A9XL; dkim=pass header.i=@akkea.ca header.s=mail header.b=bGI6A9XL; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727120AbfLNX4L (ORCPT + 99 others); Sat, 14 Dec 2019 18:56:11 -0500 Received: from node.akkea.ca ([192.155.83.177]:38590 "EHLO node.akkea.ca" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726823AbfLNX4K (ORCPT ); Sat, 14 Dec 2019 18:56:10 -0500 Received: from localhost (localhost [127.0.0.1]) by node.akkea.ca (Postfix) with ESMTP id 7475F4E201A; Sat, 14 Dec 2019 23:56:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akkea.ca; s=mail; t=1576367770; bh=BO3TEYl21sA/wMKA0yRtarf1F3XV3vT6Pf1Un5gTO5Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=bGI6A9XLGa6MrFrHhC6w/It3fZHvDUlVHSpv4YH6UM5fB8ANQqkwUddkNT6j6jelp uQuj/bSMwKUWYQp0eC7K9dq6NWoCoVvxlFDe8OQWbc0bWgRDd8pVfwDmVaOyTYyY37 1i4dDF9W1EHREi8eiYhxD96w1Tctfebkff6ep59A= X-Virus-Scanned: Debian amavisd-new at mail.akkea.ca Received: from node.akkea.ca ([127.0.0.1]) by localhost (mail.akkea.ca [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JAx7lS-p9mz6; Sat, 14 Dec 2019 23:56:10 +0000 (UTC) Received: from thinkpad-tablet.localdomain (S0106788a2041785e.gv.shawcable.net [70.66.86.75]) by node.akkea.ca (Postfix) with ESMTPSA id EFB2D4E2006; Sat, 14 Dec 2019 23:56:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=akkea.ca; s=mail; t=1576367770; bh=BO3TEYl21sA/wMKA0yRtarf1F3XV3vT6Pf1Un5gTO5Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=bGI6A9XLGa6MrFrHhC6w/It3fZHvDUlVHSpv4YH6UM5fB8ANQqkwUddkNT6j6jelp uQuj/bSMwKUWYQp0eC7K9dq6NWoCoVvxlFDe8OQWbc0bWgRDd8pVfwDmVaOyTYyY37 1i4dDF9W1EHREi8eiYhxD96w1Tctfebkff6ep59A= From: "Angus Ainslie (Purism)" To: Mark Brown Cc: kernel@puri.sm, Liam Girdwood , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, "Angus Ainslie (Purism)" Subject: [PATCH v2 1/2] sound: codecs: gtm601: add Broadmobi bm818 sound profile Date: Sat, 14 Dec 2019 15:55:49 -0800 Message-Id: <20191214235550.31257-2-angus@akkea.ca> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191214235550.31257-1-angus@akkea.ca> References: <20191214235550.31257-1-angus@akkea.ca> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The Broadmobi bm818 uses stereo sound at 48Khz sample rate Signed-off-by: Angus Ainslie (Purism) --- sound/soc/codecs/gtm601.c | 46 ++++++++++++++++++++++++++++++++------- 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/sound/soc/codecs/gtm601.c b/sound/soc/codecs/gtm601.c index d454294c8d06..44cdbd016761 100644 --- a/sound/soc/codecs/gtm601.c +++ b/sound/soc/codecs/gtm601.c @@ -37,7 +37,7 @@ static struct snd_soc_dai_driver gtm601_dai = { .channels_max = 1, .rates = SNDRV_PCM_RATE_8000, .formats = SNDRV_PCM_FMTBIT_S16_LE, - }, + }, .capture = { .stream_name = "Capture", .channels_min = 1, @@ -47,6 +47,24 @@ static struct snd_soc_dai_driver gtm601_dai = { }, }; +static struct snd_soc_dai_driver bm818_dai = { + .name = "bm818", + .playback = { + .stream_name = "Playback", + .channels_min = 2, + .channels_max = 2, + .rates = SNDRV_PCM_RATE_48000, + .formats = SNDRV_PCM_FMTBIT_S16_LE, + }, + .capture = { + .stream_name = "Capture", + .channels_min = 2, + .channels_max = 2, + .rates = SNDRV_PCM_RATE_48000, + .formats = SNDRV_PCM_FMTBIT_S16_LE, + }, +}; + static const struct snd_soc_component_driver soc_component_dev_gtm601 = { .dapm_widgets = gtm601_dapm_widgets, .num_dapm_widgets = ARRAY_SIZE(gtm601_dapm_widgets), @@ -58,20 +76,32 @@ static const struct snd_soc_component_driver soc_component_dev_gtm601 = { .non_legacy_dai_naming = 1, }; -static int gtm601_platform_probe(struct platform_device *pdev) -{ - return devm_snd_soc_register_component(&pdev->dev, - &soc_component_dev_gtm601, >m601_dai, 1); -} - #if defined(CONFIG_OF) static const struct of_device_id gtm601_codec_of_match[] = { - { .compatible = "option,gtm601", }, + { .compatible = "option,gtm601", .data = (void *)>m601_dai }, + { .compatible = "broadmobi,bm818", .data = (void *)&bm818_dai }, {}, }; MODULE_DEVICE_TABLE(of, gtm601_codec_of_match); #endif +static int gtm601_platform_probe(struct platform_device *pdev) +{ + struct device_node *np = pdev->dev.of_node; + struct snd_soc_dai_driver *dai_driver = >m601_dai; + const struct of_device_id *id; + +#if defined(CONFIG_OF) + if (np) { + id = of_match_node(gtm601_codec_of_match, pdev->dev.of_node); + dai_driver = id->data; + } +#endif + + return devm_snd_soc_register_component(&pdev->dev, + &soc_component_dev_gtm601, dai_driver, 1); +} + static struct platform_driver gtm601_codec_driver = { .driver = { .name = "gtm601", -- 2.17.1