From patchwork Mon Jul 24 00:21:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 705917 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7B2E3C001DC for ; Mon, 24 Jul 2023 00:21:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229666AbjGXAV3 (ORCPT ); Sun, 23 Jul 2023 20:21:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38482 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229468AbjGXAV2 (ORCPT ); Sun, 23 Jul 2023 20:21:28 -0400 Received: from JPN01-OS0-obe.outbound.protection.outlook.com (mail-os0jpn01on2132.outbound.protection.outlook.com [40.107.113.132]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 08895129 for ; Sun, 23 Jul 2023 17:21:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fFx7P08P5OKk60hJqHwI8bzQG71lLWThNPa05Ra4ihIcuY4PlLJefX6fu54BVi1JiMxbhCL1GlMnQs2NSYq7RUk08FKTkb4tkJuVI957E9Ym4512heWqYw5PKRVgA/Gv8rKbRrOR1a17QA2VlR7SrIveXtoqrKetNJQY7du1AI39NsSSi9RuMxyn5ith2Sha8J98BSRKlYbqVbQj41ZSgjc9yUl30BCMr38RMmYV71IYIjBae2dYyVay8wocBXENGvp+4OmjWkYJEe+/f9SG5vq7UvyKjdXNi77Lypee3BtA+WKn2LOFH8dQd2LiXILsXP6QZTtwv6uysJyldtXamQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HPQjkV/yUGqOnlH0brfqHlDsVtEbqQhTz6n3QSPRYAE=; b=KwgkzIyEsVS1Svghhc14z68ceBeIZ46juKrsvTNT17epg7AmlzECxv/GL8D7RUgfYUGb+LUQkJ8JxGlR9+Pg3wn0/PSzBgBzQSs3pNIWKauM6FHJegaEReFxzRkuma2b0qBW462e16Dqd/UcgpZo6g695CgGQcT9Zhn0wKvKWAiPFF28cl3WScWdZt2N0tOxYl76vOdKJsmnRjCflJtyxxZoOl5I037XusdhCoQqEF7rRBWTCmlxGiVhLrJWohZv9eVI735MXbfVrBX8zoAJft3/2ZVZjl6j1yD2NCKFCtgHMmEhNCWmZYR1RBLTU6fIu8MamvswOhcSNWzQEhyJKQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=renesas.com; dmarc=pass action=none header.from=renesas.com; dkim=pass header.d=renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HPQjkV/yUGqOnlH0brfqHlDsVtEbqQhTz6n3QSPRYAE=; b=PkleNIxJSbWZxlExP4N0HsikyUbdqxHo/7HfusDdYBi3B2NRaiuv0UTg804UjChvubqbELl559AvkIPR6tpdHI1CtamvUwivFgHzbOqMIHFyiJImTgE/NjmhFuTIjw5QhTqWCQk1rGvCwcAs8Ay1EtODL5mnOEG2A1i0ZJE3yGk= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=renesas.com; Received: from OS3PR01MB8426.jpnprd01.prod.outlook.com (2603:1096:604:194::10) by OSRPR01MB11420.jpnprd01.prod.outlook.com (2603:1096:604:234::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.32; Mon, 24 Jul 2023 00:21:22 +0000 Received: from OS3PR01MB8426.jpnprd01.prod.outlook.com ([fe80::e6db:c2b4:3f89:e3a5]) by OS3PR01MB8426.jpnprd01.prod.outlook.com ([fe80::e6db:c2b4:3f89:e3a5%3]) with mapi id 15.20.6609.032; Mon, 24 Jul 2023 00:21:22 +0000 Message-ID: <87wmyqb1mm.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto Subject: [PATCH 1/5] ASoC: rsnd: use DAI driver ID instead of DAI ID User-Agent: Wanderlust/2.15.9 Emacs/27.1 Mule/6.0 To: Mark Brown , Krzysztof Kozlowski , Rob Herring Cc: Linux-ALSA , devicetree@vger.kernel.org In-Reply-To: <87y1j6b1ne.wl-kuninori.morimoto.gx@renesas.com> References: <87y1j6b1ne.wl-kuninori.morimoto.gx@renesas.com> Date: Mon, 24 Jul 2023 00:21:22 +0000 X-ClientProxiedBy: TYCP286CA0235.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:3c7::13) To OS3PR01MB8426.jpnprd01.prod.outlook.com (2603:1096:604:194::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS3PR01MB8426:EE_|OSRPR01MB11420:EE_ X-MS-Office365-Filtering-Correlation-Id: 741724fd-66e3-4bb0-5b47-08db8bdbe8d3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GB1v10wMFnVSXIM3yvcjOaI5wkfLO46gBrDadxO8rGzm5ZW/14jsFaHY38Z71YajCzUoVnhjUNnG682IaK8Aad4AXO2fUfE6vlc3Usr4U+A6LnuJsED9KwQMiyexaPAXxdDuqcZbUjAWDtkLhYZGM8+bOGq+6Eghh6EK+ryzi8F45MyhceIbcJprLTC2Ma2DVwFOtRNn5eGo4fC4//e/Y7aMmWLELQN+0fIPSBElexH8RVi4SeqplElp5qzrijL+yBMx74W6TrWh6g3bkFujCin3zmSfgaJdD5/roJdhEdkC6MGPDfRPOa2KjYhdZVdEF+BhREA154x7m+6UfvwmCAIbwC1DklwnMSMxK6qmbou/DyIW7tmXqItOcm6jhSa31vqMpmJKGEtI4vTyVyCm55pifEBUzTTXTcaX/w9Uxn5WeB5DDBDp8GAqn5a+I//eqpRYxOchXr2D1UZfUkXMlR9FMYZixdEQqAVlqMc4f25wntUrpGklDacjdnDCDzbP/GZvxpaFj02vZeAddiOVEGF/Q2e4q+ITbJmFU+CWt2eNMA+uTnJ0S3KfwhhjwHVUnDXHcITBmMtB21nuzLOttzvClbi3R1vpJf9Zrt5CGYZHLFSZTCHb8j6U8zAH5v1W X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:OS3PR01MB8426.jpnprd01.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(396003)(366004)(136003)(376002)(346002)(39860400002)(451199021)(2906002)(38350700002)(38100700002)(6512007)(186003)(2616005)(26005)(6506007)(5660300002)(86362001)(8936002)(8676002)(4744005)(36756003)(478600001)(6486002)(52116002)(4326008)(66476007)(66556008)(66946007)(41300700001)(316002)(110136005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: zL6UuIeQfWWNT/Z8haH0l7bLaxOJQMgSbeY9ev5LVtN7Y0ohQmEavxg5Y3SnI5hwVR6XEEXYHK4eHisYBWYKRnt+kMrAwv6y6JPYp+CA85Kbuiv0Oy26OgbhbCKcok1vL0nc9Hl1bTwLeZH1T2DFmv9J0NAsVdrj4dTaiTgzWsYQmGAgg0d9N05TfFAI35pRvrkrBy5+T/TcsEssWvAnnpUCb/OoGLFh9+y9Xe6pujWxngN1cE16NSYxaQBGn1Ti9nBW1ERuxH5zWpfdZm93dMju930PZcQsOaxSjweOIqqxxTuLCo8s2iC6IASQR8VTPnoV9g3m2E+auNVoFuhdwWruzjQQEbwpnmnmExqAdIq6/o/4QxpnSzkYApso3jajMWuhtl83i9+CHDwEea0TEjHTtp24Ji5JYRJWhDiEczs1LrK1aRAdZkyD+xjMO/F6o3JVc3GL5VrbCg+DTgdd+U3CyOamL8jzV8qW+Q5yT6GpjCqHGoLqpMojUIdCazyevIFv58RIeas48uK+2/fp2Afl75sPWR3P6P5KQOEP6iIDsPrtbJ+AgF8aIKwxT3wFO3AuF9IIq2rXWVb9UXzJ6YNsx7inoBtrbd7p/P/JtfFt55VK9MMeYmRkVP3WhTH/EXtFMEVEhJYgC8ixG1TB4RvXUs/C3FabLuwCzkvVymocBG/Y28nex1qezbaHpy1F8oFa5Z6084MVbthWrOjC43SsFVw8Dyp/tERdnxjSIoEhtPZZtXJUer/u7jgWz/kpcKqzqyGrc6IMi5W26eH7Qm1pqdvhdgSI9Ph4DJjEBd4n9uCKVGtGp8omqWvDl2Mt2bEkhvyeNIFzxa3mzx48HS+717TI86acR8Rw+VUFkB7PHnH52wnE+RPUvYl85JYQsL1xoob0k+TsAZtnWp4f7jLfW4Hmx1Mj7Q9jWclFRPdHh1rA91ZbAkigGf+FjdqGJn1QmdQ7m+xnt791GGZjIRIXfkLo6bPowF96M0fVwjCn1lvsGbiGjg2p/9ZJirP7I6V7Ee5tFuPB735PqH7xcNrU3zSyy2lfWsr5ma3vGq4GZ4hulvE/9XpW2pyxBfsL/8X19XaTpSoohok+/7j4rs9rjYWO7IPncZ04WlecpXjPmc3hpK9mdSWVPv+kwo9j/ae1E9ikDzE7OxHUFumHSjpgiOE2id3FiTxWwmvBEDVzssoydXPSfb+7Wn488JQKcxk5+1xnlCV/UAJOJ0cSzzMK+o7/DzAGYxfNPAhHH6gW9o0pWt0ZzlLhftFwYEcT9jwIawPNVRSq/PXFevUQu7BUzricmMs75UJgk9qnosKRCtLnlk5GZTWZ9kiVG1fJ9EkdqQAwYH5Ke7Bix36BPkBLvwtIPnst/sAmGBkHbGKg9XS8Btqb8PxK1sEA3Qs6r64jJ9uJwcgEjqXcg+d0tFWxkhDFPg0huNiQnIkbacXioWvq0mpyaDk93G+eI2ljUyTDjmsR28COLGcjnkjBviK0fLydzIYIDDW7epUGsh26y2cYxhx+bIJNALut51YRIlbOtILI34XFKFFS3ISrXP6//xjPjQ2lV6CrFKt4/Abz1jwKxCCVzfLo3WbHkWkBnlJrI9TYwjb3zrOT3lFjUUGRTtpPujZN1UgZrX6moKQ= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 741724fd-66e3-4bb0-5b47-08db8bdbe8d3 X-MS-Exchange-CrossTenant-AuthSource: OS3PR01MB8426.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2023 00:21:22.5823 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: IflDHJdL+o3HFFFHMDtD1atJE0i4qFvAE8+PY3KkfeU80Wm5mNw7gB51UIbC1YgqqHq+GvmPFh2A75tSY8lfMEk52ug1jrsyFERr1UMw7UtAMUR0At5GeUD/6pGUx6VD X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSRPR01MB11420 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Current rsnd is using DAI ID to get own priv data without setting driver->id. It was no problem for Single Component, but will be problem in case of Multi Component, because it is not a DAI serial number. struct snd_soc_dai *snd_soc_register_dai(...) { ... if (dai_drv->id) dai->id = dai_drv->id; else dai->id = component->num_dai; ... } This patch sets driver->id, and get serial number. Signed-off-by: Kuninori Morimoto --- sound/soc/sh/rcar/core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index 6a522e6dd85a..f3f17b784025 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -1378,6 +1378,7 @@ static void __rsnd_dai_probe(struct rsnd_priv *priv, drv->name = rdai->name; drv->ops = &rsnd_soc_dai_ops; drv->pcm_new = rsnd_pcm_new; + drv->id = dai_i; io_playback->rdai = rdai; io_capture->rdai = rdai; From patchwork Mon Jul 24 00:21:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 705916 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CE377C001DC for ; Mon, 24 Jul 2023 00:21:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229688AbjGXAVp (ORCPT ); Sun, 23 Jul 2023 20:21:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38546 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229468AbjGXAVo (ORCPT ); Sun, 23 Jul 2023 20:21:44 -0400 Received: from JPN01-OS0-obe.outbound.protection.outlook.com (mail-os0jpn01on2135.outbound.protection.outlook.com [40.107.113.135]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2CFD0129 for ; Sun, 23 Jul 2023 17:21:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eLtXj9Xkoxw4upLB1fez+x1E7xXG910MJ7hGs4+gLMPK7akHluNdwTQhilabXFPQZ4/APV3DHAkmLFdQCb8Eed/NdqQlwosWnGFAdRV+U/9gyNKWC0rZZKy7LnMgGhRuTfCUxSBCeZNs06FOsU6N7Kplhu8HBm8xlb54be2qdNAED6R+LHTgx/mvv+FucpU+m2qShIe1QCP3YI0VYL6TWyBN5ONEiftQKBT6qQNjRc2ySCJ370e0QTboeehOFVxSYBFdPtdH1i57ggUMoJy/yQPPSg43Bpvn9mlx+AKLyCbVg6Q7L6T92CWdo5wnyd6fK7DDMsuL9YOzAAUKW5+F6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=5XTRKCPjGgjyDxCAyPvubwyCywfxoXn/giWNhRXQ+/E=; b=D7cnWNxyKkleVbYteCwiJi/XVL9SgAmJLl5tBhm0/FBj5ZbFVz3PQCVL1ZCPYoZNBIASEUFmnXMgi3nzCkEJrcfZ/V0260OiLyj+hEOKWksm88k7zTuNvEO1QG+oO8BtlU9R3tf5cPtDGrevKigWjdu+YBecDqRy8ToRM0sC+/YhqanwS0Q/cd095r4wpwtfD5YiLRMI3rBYZek8kLuak31e/EYx/n3t1nSAxNTIthjanfDVee5kHxE3vic/K/ZE7R02d7Ffw9XtKMnzRk+vmhBoDkW5bYmV2n6Xm797dj43KHDl1+XL4XfSOMKdnaJYrIbCvIItjcfBupbGTyjVLg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=renesas.com; dmarc=pass action=none header.from=renesas.com; dkim=pass header.d=renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5XTRKCPjGgjyDxCAyPvubwyCywfxoXn/giWNhRXQ+/E=; b=NkQAlltew+YGpYHqmQUXwxqxictexMmWx+8yqdlsHKdr5/RXhB49XG8fLdt2YthjJuksgqL5CIHrrPF4K1tZd+pB3BvOw5XXZ8BHzelOI0DB0W06D1cSzvd6fRN83XMKuAnjSerMusSHWZYyT8IPYqQ4zvMmH+Lr2Tnib1TFMps= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=renesas.com; Received: from OS3PR01MB8426.jpnprd01.prod.outlook.com (2603:1096:604:194::10) by OSRPR01MB11420.jpnprd01.prod.outlook.com (2603:1096:604:234::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.32; Mon, 24 Jul 2023 00:21:40 +0000 Received: from OS3PR01MB8426.jpnprd01.prod.outlook.com ([fe80::e6db:c2b4:3f89:e3a5]) by OS3PR01MB8426.jpnprd01.prod.outlook.com ([fe80::e6db:c2b4:3f89:e3a5%3]) with mapi id 15.20.6609.032; Mon, 24 Jul 2023 00:21:40 +0000 Message-ID: <87tttub1m4.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto Subject: [PATCH 3/5] ASoC: rsnd: enable multi Component support for Audio Graph Card/Card2 User-Agent: Wanderlust/2.15.9 Emacs/27.1 Mule/6.0 To: Mark Brown , Krzysztof Kozlowski , Rob Herring Cc: Linux-ALSA , devicetree@vger.kernel.org In-Reply-To: <87y1j6b1ne.wl-kuninori.morimoto.gx@renesas.com> References: <87y1j6b1ne.wl-kuninori.morimoto.gx@renesas.com> Date: Mon, 24 Jul 2023 00:21:39 +0000 X-ClientProxiedBy: TYAPR03CA0024.apcprd03.prod.outlook.com (2603:1096:404:14::36) To OS3PR01MB8426.jpnprd01.prod.outlook.com (2603:1096:604:194::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS3PR01MB8426:EE_|OSRPR01MB11420:EE_ X-MS-Office365-Filtering-Correlation-Id: 4da539f1-2bd3-4a2e-9cdb-08db8bdbf356 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0SjccH+LTBbh3/xfdxM/byxoajawsuQbF/cxUo0tGMJ+q0FwRAb34mjZxW76EWEGPLObeNfdb8oKZKcBdjDz1nkQOHf89W+9qXoay+YyMc8KG1JEusgCRbijhahYnStQ8nnLuPn4Sbm/xes+JpRV6ImzjSkLSq0fZAtd581kQFls8IQ2omIvUXOyB5DX09I1osPsiGIm+1MmUD5rcqovWtb/N6BIg7r8VqR04nB89xxz8XGrQHD+v1bUlutbjpsrFENUk9V2PNrgwJrMTHt2CNwWK3CMjrIjAQ9twdjS/6h/qwqXGnc7u99w7CoJ/Cd9dDgfryP8uwVqdYZ3cWDNTO4O2OgQxfk7QV+cpZ8WK2uI4V74TrdNyl3gejMwEufz38awxh9tn5BbhfYE+G4qjCKmTgjnqssObdUmxOx7mTu5jnebZdMlHpDf/guYteRN6sGaLlxVcP+C/kvJkxSeVdlWYkHQ23meaQSLFRuRlahEoyuWKitf99jiAL40cDCjjNf1ab1PK6yPK1mHUTc9qBsuCI83gPWHgsWirmSO8pkMaEC/x1SarLHoCY6f4Wvhvk9taUosVcpp6vy/jMQUUAFpjHcy6F/8sxNEfU8ldU1FQ+qLVcJafhd6fhP8zuL+ X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:OS3PR01MB8426.jpnprd01.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(396003)(366004)(136003)(376002)(346002)(39860400002)(451199021)(2906002)(38350700002)(38100700002)(6512007)(83380400001)(186003)(2616005)(26005)(6506007)(5660300002)(86362001)(8936002)(8676002)(36756003)(478600001)(6486002)(52116002)(4326008)(66476007)(66556008)(66946007)(41300700001)(316002)(110136005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: tKRu/DeOBQ6jIV0f0UoPJ72cBwh6Uf5Hq2Ya7gk7Bke8ehot4ctp+/3Sfhz3iONMMv/DXe+8pnUEwMa0IWuo+gJw1Ddx5yjYPuYe4k3V5fzhnBrYIRbgERqMcz2HyBWLTF0RLBDK9nPxC3lyISZfecAx6P9WQN9VZF2MBIOyNezsiQ/7N0vwmvlO5UFvMzArH+4bUEH2SkN0wenHt+63M/TFZ66uldehI3JDSiWdpPGpPDYbTEgg9U8ARqtmBkTNNvvTlrYsgBcYzNOlqNvCh11W3i1M9q2Jed/LHS0KgbmDiUB0A0jEyqfCdW6TzZF818f1qNjWESLK5IG/T5VzRlMQzTD8eqEbiA2LBT5SnuFWa8hZdzxac/D0zWXfOKto61+kdoJp8DrKS6ZbYagn4oAE2+7yvghuCcsrEXGOYqfMUYvEkCR4ug5lTB4Z5A4zIwvGPQmFQOwZulbowinFtIJjljkRmgqeBeVb4uHQO/hnrEO/7ad+Y1iLroS5n7LpMgW1OcoiGXTkTs31WoYz+Gnb9MZwnag4zv7bXfZl5H2ye8XKDUQ5ocEXXCvHJm/typAvkYJlkn5/vYVELmwGZwOGhUeaGHJuhgz7JXCzqv8KEdfOAVRohGRrjnMeYINKE1jY9pa16UEljEvWE4XdwMCHxjJcCHOviMf2O9a626HrHgBIA9ZfNQIlwvX5P+VFov2+ffqocNNM94zppzM5YA+xdQk2kRXmBWwnl4HZvlCecCNlhoyIJif2Ngduhhh5ddpLyBpYbUPfe7k0xwkSnUOhU39AeGOsYKvAcDfoq757VNlM1HtbGRKVYW2Oafpu/HKk17dgfVSEvhv8+yO2DGKqx7kuxLxpsiy2RzMznyoWO53rks5jI4r16ArpQuekkH1IVTFPSo5/ruhgC+SUaSM1zBMix94RRDByn78gYr3/rC9ox/JKSalpW2YucEDcH5X096Ca5EZwYBWuVWAT3tAVVdt7LcirD9RZ5WYh1rk8Yc/xlTYVVeK8Mf5WIcn1b5K8fPav7FyKaXQY4UFRhicrFplCAzRklu13Y7bDlR/LidzTlAY6SppkKyKNyQEHcV9nfDulq8lF44jWCuaGjgLxzc19QOdTML7FKmSkGnlW1uLkKJLhoVQHsTMD/tSZ99s0P6bOnvkWW2G1HF6PSTd9FiNhGn8bvnWr0tOAZYaTPKpyleopnbr82hFNC2WKtTfuCkm+wKiZ7eBYjK6VfC6BFjXOyvMTBvLhByoC8pcqiZZzUB33xZ777MdNXZ51MudTt4ekGWbygQmvhslff0CTK5Qf0xkl2ZINS+yl+svrOZrOAJwTw92kGFUTugD3mRgp7XVhFoWoFJFLTE/v2yNJKYNPBzwFY6oRQx0SSvSBINxhYuOkJ5Vqd2LdMfZqvQl8TRzpMcyXOs3BD0DOoTsCWKvQuSMmbpz20iLmOhg95hOahKLtDL2pXSdl1iqKUrEORY+zcZzf0E4C9IScb6k4zPMMqcieTWvCqDXmxIOdkLzlK5kz/S2e0m0yD7aDut3vtbsE3Fa1Oqn30Dnka4j5eHszsgqnaceyWvPX7zQ2mYSTfNZrKzmGWzOSedrfwcDf3+2PQ0oL2qDnrtuqI+ssKhhWaCQ2fsXBeh7FYek= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4da539f1-2bd3-4a2e-9cdb-08db8bdbf356 X-MS-Exchange-CrossTenant-AuthSource: OS3PR01MB8426.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2023 00:21:40.1351 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: HaGehMQfDIzGqrd49vzDQrt8WCCO2puX8zLHugQI3loXs1f0OX3GQeN35MNhkavVBPuthgm2q/eBuIl/fF1zql3/1k+6buDe1SBPPCwbL8TrNPfdaJ+6SR4zQzz8DnLo X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSRPR01MB11420 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org +-- Basic Board ---------+ |+--------+ +------+| || CPU ch0| <--> |CodecA|| || ch1| <-+ +------+| |+--------+ | | +-------------|----------+ +-- expansion board -----+ | | +------+| | +->|CodecB|| | +------+| +------------------------+ In above HW connection case, we intuitively think we want to handle these as "2 Sound Cards". card0,0: CPU-ch0 - CodecA card1,0: CPU-ch1 - CodecB But, we needed to handle it as "1 big Sound Card", because of Component vs Card limitation. card0,0: CPU-ch0 - CodecA card0,1: CPU-ch1 - CodecB This patch enables multi Component to handle multi Cards. To support it, it needs - Fill dai_args for each DAI on snd_soc_dai_driver - Parse DT for each Component (Simple Card/Audio Graph Card) Ex) Simple Card rcar_sound { ... /* Component0 */ rcar_sound,dai@0 { ... }; /* Component1 */ rcar_sound,dai@1 { ... }; }; Ex) Audio Graph Card/Card2 rcar_sound { /* Component0 */ ports@0 { ... }; /* Component1 */ ports@1 { ... }; }; Signed-off-by: Kuninori Morimoto --- sound/soc/sh/rcar/core.c | 134 ++++++++++++++++++++++++++------------- sound/soc/sh/rcar/rsnd.h | 4 ++ 2 files changed, 95 insertions(+), 43 deletions(-) diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index a87d7fa55f7b..9f3d97bc177a 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -1260,13 +1260,13 @@ int rsnd_node_count(struct rsnd_priv *priv, struct device_node *node, char *name return i; } -static struct device_node *rsnd_dai_of_node(struct rsnd_priv *priv, - int *nr, int *is_graph) +static int rsnd_dai_of_node(struct rsnd_priv *priv, int *is_graph) { struct device *dev = rsnd_priv_to_dev(priv); struct device_node *np = dev->of_node; - struct device_node *dai_node; - struct device_node *ret; + struct device_node *ports, *node; + int nr = 0; + int i = 0; *is_graph = 0; @@ -1278,30 +1278,47 @@ static struct device_node *rsnd_dai_of_node(struct rsnd_priv *priv, /* * Simple-Card */ - dai_node = of_get_child_by_name(np, RSND_NODE_DAI); - if (dai_node) { - *nr = of_get_child_count(dai_node); - ret = dai_node; - goto of_node_compatible; + node = of_get_child_by_name(np, RSND_NODE_DAI); + if (!node) + goto audio_graph; + + of_node_put(node); + + for_each_child_of_node(np, node) { + if (!of_node_name_eq(node, RSND_NODE_DAI)) + continue; + + priv->component_dais[i] = of_get_child_count(node); + nr += priv->component_dais[i]; + i++; + if (i >= RSND_MAX_COMPONENT) { + dev_info(dev, "reach to max component\n"); + break; + } } + return nr; + +audio_graph: /* * Audio-Graph-Card */ - dai_node = of_graph_get_next_endpoint(np, NULL); - if (dai_node) { - *nr = of_graph_get_endpoint_count(np); - *is_graph = 1; - ret = np; - goto of_node_compatible; + for_each_child_of_node(np, ports) { + if (!of_node_name_eq(ports, "ports") && + !of_node_name_eq(ports, "port")) + continue; + priv->component_dais[i] = of_graph_get_endpoint_count(ports); + nr += priv->component_dais[i]; + i++; + if (i >= RSND_MAX_COMPONENT) { + dev_info(dev, "reach to max component\n"); + break; + } } - return NULL; - -of_node_compatible: - of_node_put(dai_node); + *is_graph = 1; - return ret; + return nr; } @@ -1365,6 +1382,8 @@ static int rsnd_pcm_new(struct snd_soc_pcm_runtime *rtd, static void __rsnd_dai_probe(struct rsnd_priv *priv, struct device_node *dai_np, + struct device_node *node_np, + uint32_t node_arg, int dai_i) { struct rsnd_dai_stream *io_playback; @@ -1382,11 +1401,17 @@ static void __rsnd_dai_probe(struct rsnd_priv *priv, snprintf(rdai->name, RSND_DAI_NAME_SIZE, "rsnd-dai.%d", dai_i); + /* for multi Component */ + rdai->dai_args.np = node_np; + rdai->dai_args.args_count = 1; + rdai->dai_args.args[0] = node_arg; + rdai->priv = priv; drv->name = rdai->name; drv->ops = &rsnd_soc_dai_ops; drv->pcm_new = rsnd_pcm_new; drv->id = dai_i; + drv->dai_args = &rdai->dai_args; io_playback->rdai = rdai; io_capture->rdai = rdai; @@ -1450,16 +1475,15 @@ static void __rsnd_dai_probe(struct rsnd_priv *priv, static int rsnd_dai_probe(struct rsnd_priv *priv) { - struct device_node *dai_node; - struct device_node *dai_np; struct snd_soc_dai_driver *rdrv; struct device *dev = rsnd_priv_to_dev(priv); + struct device_node *np = dev->of_node; struct rsnd_dai *rdai; int nr = 0; int is_graph; int dai_i; - dai_node = rsnd_dai_of_node(priv, &nr, &is_graph); + nr = rsnd_dai_of_node(priv, &is_graph); if (!nr) return -EINVAL; @@ -1477,26 +1501,42 @@ static int rsnd_dai_probe(struct rsnd_priv *priv) */ dai_i = 0; if (is_graph) { - for_each_endpoint_of_node(dai_node, dai_np) { - __rsnd_dai_probe(priv, dai_np, dai_i); - if (rsnd_is_gen3(priv) || rsnd_is_gen4(priv)) { - rdai = rsnd_rdai_get(priv, dai_i); - - rsnd_parse_connect_graph(priv, &rdai->playback, dai_np); - rsnd_parse_connect_graph(priv, &rdai->capture, dai_np); + struct device_node *ports; + struct device_node *dai_np; + + for_each_child_of_node(np, ports) { + if (!of_node_name_eq(ports, "ports") && + !of_node_name_eq(ports, "port")) + continue; + for_each_endpoint_of_node(ports, dai_np) { + __rsnd_dai_probe(priv, dai_np, dai_np, 0, dai_i); + if (rsnd_is_gen3(priv) || rsnd_is_gen4(priv)) { + rdai = rsnd_rdai_get(priv, dai_i); + + rsnd_parse_connect_graph(priv, &rdai->playback, dai_np); + rsnd_parse_connect_graph(priv, &rdai->capture, dai_np); + } + dai_i++; } - dai_i++; } } else { - for_each_child_of_node(dai_node, dai_np) { - __rsnd_dai_probe(priv, dai_np, dai_i); - if (rsnd_is_gen3(priv) || rsnd_is_gen4(priv)) { - rdai = rsnd_rdai_get(priv, dai_i); + struct device_node *node; + struct device_node *dai_np; + + for_each_child_of_node(np, node) { + if (!of_node_name_eq(node, RSND_NODE_DAI)) + continue; - rsnd_parse_connect_simple(priv, &rdai->playback, dai_np); - rsnd_parse_connect_simple(priv, &rdai->capture, dai_np); + for_each_child_of_node(node, dai_np) { + __rsnd_dai_probe(priv, dai_np, np, dai_i, dai_i); + if (rsnd_is_gen3(priv) || rsnd_is_gen4(priv)) { + rdai = rsnd_rdai_get(priv, dai_i); + + rsnd_parse_connect_simple(priv, &rdai->playback, dai_np); + rsnd_parse_connect_simple(priv, &rdai->capture, dai_np); + } + dai_i++; } - dai_i++; } } @@ -1926,6 +1966,7 @@ static int rsnd_probe(struct platform_device *pdev) rsnd_dai_probe, }; int ret, i; + int ci; /* * init priv data @@ -1962,11 +2003,18 @@ static int rsnd_probe(struct platform_device *pdev) /* * asoc register */ - ret = devm_snd_soc_register_component(dev, &rsnd_soc_component, - priv->daidrv, rsnd_rdai_nr(priv)); - if (ret < 0) { - dev_err(dev, "cannot snd dai register\n"); - goto exit_snd_probe; + ci = 0; + for (i = 0; priv->component_dais[i] > 0; i++) { + int nr = priv->component_dais[i]; + + ret = devm_snd_soc_register_component(dev, &rsnd_soc_component, + priv->daidrv + ci, nr); + if (ret < 0) { + dev_err(dev, "cannot snd component register\n"); + goto exit_snd_probe; + } + + ci += nr; } pm_runtime_enable(dev); diff --git a/sound/soc/sh/rcar/rsnd.h b/sound/soc/sh/rcar/rsnd.h index 239705d52517..43c0d675cc34 100644 --- a/sound/soc/sh/rcar/rsnd.h +++ b/sound/soc/sh/rcar/rsnd.h @@ -545,6 +545,7 @@ struct rsnd_dai { struct rsnd_dai_stream capture; struct rsnd_priv *priv; struct snd_pcm_hw_constraint_list constraint; + struct of_phandle_args dai_args; int max_channels; /* 2ch - 16ch */ int ssi_lane; /* 1lane - 4lane */ @@ -702,6 +703,9 @@ struct rsnd_priv { struct snd_soc_dai_driver *daidrv; struct rsnd_dai *rdai; int rdai_nr; + +#define RSND_MAX_COMPONENT 3 + int component_dais[RSND_MAX_COMPONENT]; }; #define rsnd_priv_to_pdev(priv) ((priv)->pdev) From patchwork Mon Jul 24 00:22:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 705915 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D9096C001DC for ; Mon, 24 Jul 2023 00:22:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229696AbjGXAWG (ORCPT ); Sun, 23 Jul 2023 20:22:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38596 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229468AbjGXAWF (ORCPT ); Sun, 23 Jul 2023 20:22:05 -0400 Received: from JPN01-OS0-obe.outbound.protection.outlook.com (mail-os0jpn01on2133.outbound.protection.outlook.com [40.107.113.133]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 412F8129 for ; Sun, 23 Jul 2023 17:22:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WiXEDlWykjD5FUtQMRUsOwJEcHEuLZ97bEvqwHPU30xj66A6Pui3teamXMkGU24G7rXUflGa13155DTeLAMvg3MK8Ozjhb6X2r1xyy2acxYULJOnOyyLGOJcfmdqsdCGbsaWuUW5ES6BNTaU6Eix1Z6ADuqeDAi0+ayNxcl+LXHGd9ql64uGZX3OvDwcI9LR1+q2x1gRN4PB08iM84R8YaXXegu8WbV5aU9ZhRJjMAUdZ9jGbB9ZN1/7yKAvehF589UfIg0kKHHZrKXYL92cCHaa0yO3HYZLGGUVZtX0jf7fSkk21Faxzn+nnzjjL8iXafF1BEXui3EDmmNNmivavg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=DIX0MxRtmvnMBXmS+gIcOCZAHHIxK90sAl7uauE02b0=; b=K7KbB7WKUeiOFGm45ihgaOLr3gJDYp3KJyKeEhB9Nwb+QMU+XesnZg/TEQomcQKxXhS+TzdhK5lS3lVchzLIHTEiakQa6uiovwVDKPrG2gkAagfoHGLdf2LybM67AF7dNLitcbRbTc3DQ6Ri6rwxfihUD/D7MGflWnAk/PojF/mrf0s1mcTVSmP1bFu0Ny5xp8FND3pYCEb2pys8XKOnNdhbABp5gIx5OWw1wkFcMvdneLSYqzRZww7YdDatY6o0c9+OcsIJvmvyVkD8FvL3na/l9MInf8BFQDRmkU0FV9QpZfsefhFhKXOrlWz4G7b8Qo051rY+MK9Dd/UuN/kPgw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=renesas.com; dmarc=pass action=none header.from=renesas.com; dkim=pass header.d=renesas.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesas.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DIX0MxRtmvnMBXmS+gIcOCZAHHIxK90sAl7uauE02b0=; b=lGhLx5e/89CJnhfyULLqAQWp8qlvVZbxaDsPPMqd0gvv8DtrH2qUZfiwlCC1seYg3l6lxbQieoUgWkk9Jl1aJsGJpirfGu2zbOumkjtMtE9mi3dESQ+DMgI/7H/bV0K+SA5OI3QSr1p0Ka+DC+jZRXQSn/BSMdzw/Tmfsua+YaQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=renesas.com; Received: from OS3PR01MB8426.jpnprd01.prod.outlook.com (2603:1096:604:194::10) by OSRPR01MB11420.jpnprd01.prod.outlook.com (2603:1096:604:234::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6609.32; Mon, 24 Jul 2023 00:22:01 +0000 Received: from OS3PR01MB8426.jpnprd01.prod.outlook.com ([fe80::e6db:c2b4:3f89:e3a5]) by OS3PR01MB8426.jpnprd01.prod.outlook.com ([fe80::e6db:c2b4:3f89:e3a5%3]) with mapi id 15.20.6609.032; Mon, 24 Jul 2023 00:22:01 +0000 Message-ID: <87r0oyb1li.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto Subject: [PATCH 5/5] ASoC: dt-bindings: renesas, rsnd.yaml: enable multi ports for multi Component support User-Agent: Wanderlust/2.15.9 Emacs/27.1 Mule/6.0 To: Mark Brown , Krzysztof Kozlowski , Rob Herring Cc: Linux-ALSA , devicetree@vger.kernel.org In-Reply-To: <87y1j6b1ne.wl-kuninori.morimoto.gx@renesas.com> References: <87y1j6b1ne.wl-kuninori.morimoto.gx@renesas.com> Date: Mon, 24 Jul 2023 00:22:01 +0000 X-ClientProxiedBy: TYCPR01CA0150.jpnprd01.prod.outlook.com (2603:1096:400:2b7::19) To OS3PR01MB8426.jpnprd01.prod.outlook.com (2603:1096:604:194::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS3PR01MB8426:EE_|OSRPR01MB11420:EE_ X-MS-Office365-Filtering-Correlation-Id: ca5ea86e-49dd-4bf6-e0cf-08db8bdc0040 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kwaMYJ3caujx33yK9cVkgI6Fey75bOjx4lFNHqu8UyMAyciiJg6mM8ia55ABsNW4MU+CZd04h5o6tRtSgdJS25/b4mvAbfqo0oT5YiSOFM3FAQ6vm8AGK27nlaUNH7KSZ02JXcBxisVsePuvT4oiqdiMbP3JtbGMU6IVr192YTjdGr3A8IKe9LuEBvrdaecJaCMn+m153n9so6O84dqiMIGRcohM4GTelSOoclUaTJ/eXx9CQepNQw/aUr6IskC5fb5wYoXhahTpyQUHD3ZkY0J2TiYatBFfFA48D1wX32lr5uesB1iUinc44jYQU6PjniTZjkLOGL94Kjq7NBba6tqF5a6JvWFM+TreSMylnf85o5m7abkKjfUtve9dwaHdZNgDEpAPqJL9LxqvOY1kXzOiM7GqAC0RiKPLclHiuDEJudSv9rMzCbDKNhgTk989EeZj2TnQHvEgu4kiLilwm5cg1grHoonu+LG5ovBWEARffnMeviJ6DEcDTVOHLX02ZXUuLI94iCYbCjf3EsV0S7AI77AdEmu02keuG7a4HWpKejj8itiOV17hN53W5w1rPhSwZhWxJvIp50mUxhuQ2A+BjImYhfGusLUxPWukwJFWNKRzSkCMip3qsi0DmsQV X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:OS3PR01MB8426.jpnprd01.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(396003)(366004)(136003)(376002)(346002)(39860400002)(451199021)(2906002)(38350700002)(38100700002)(6512007)(83380400001)(186003)(2616005)(26005)(6506007)(5660300002)(86362001)(8936002)(8676002)(36756003)(478600001)(6486002)(52116002)(4326008)(66476007)(66556008)(66946007)(41300700001)(316002)(110136005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: aEsQN/Z3aIXENLqzbThCB2BSiVp4RZ4T7ipG3XmyhQydZhLCXB7F1Up2C3kdDMmORF2lqXIVO4L6Fj1vU4/hWg5uHg2UEAxapd6HqqSYjBHx8wy3Za+jaajcJ0CuTJ40Fbw0WEhvp//vw+XRitr+JOzL9v3THIRO4aZXGzWBVbAtTGe8tkd2rUitnoXI72DXLPE4LYnQMyBwy9ht0w4VvP6pooLt+xnS9UadYALrmTAMk/2Jo2QTx5Nhfno/dyFsIJgrBlNhVsZXknlblIgYyI+pLm8Q/sxJgIm3qFF/kQgrCoXASEyX7JjcVfPpNGYENWvwzhenR0chA9B1e0T3spJ7TJU8b0KXSH9LT+abR1WGyFXYsl6PFYJKliLzGfSTsOtUOiFY2tXt0D+anmFRVPjaEgJNH1Bl0QcmjTv2g6vvtVculF5WYBIUW5bCm9z5jb2WTFh7O/3RvgnVpz7BEvX8+Rp/pa1zve2A0H2nhk8RKgp0KKO1egRjUsKPmfBDPpNXzuzHFZgN6xqB+BEziptPcxW3w/JapCNJhqRgig6Hfa9FjchBUJSpeuqSD0D5v3JEWxgjBEKHUAqph37JU8EiiS/oIVONL4PnWjjuF1K7kLwzrMyDG7Rv9+PCVTlO3w4fY7NbfaUYmTYpmakH4/zC3v9df7Oo40Cjex3XWq+VKSTJQxBAn7MNFol74B/GXyRjS60cX03Eg3VuwAELpmx3ZaVzLDtfUN61xikhfeeXF8XTil+72R4hj2ErmyBt7OcIoL8EiB08gN8NosNL4+DbBR6joO/XIxxQZE9ujD4eyhKoDZLVHXdJlHbvfbMKqgbtmDIGJQk/Ish44ruCqJDZxwOwne6grkqHR05GtnOw0yueY8UqOTW3DL9MZKYeFsjmM8y+/Dj884DWCpnw0ssX6WDvx3+11I6veaPFgOGB+QEJuD1BR7B5nCNgAXG/V2opjdib7mM49UZTZvLHM+k9N+V39xt1gx9sbf5loyr/DTa3/LqmcEBec/Ctz72JZHZCaeFXXXPrYxnIfmaQjwxXi1UOqALTXBxLMIpLQKGbORB6KBoaMHBZ60MYi2GIM3qAjnaWkcbS/Ch+vJC/f555r2xgZpB2AFMEAAKSmXYWWCDfagRUBd/2Jmkh93aHHo3gOhGVRQbJc8IduHGQvVhVT231Ja4rEyxgzOEqh3QHn53ZeNV/D4933kN+G2QHm9oT4PVWcGelbpjHtGtRIwsvAZ5Y6HgLAFA21XOXrNLAzwYHejnitgwrYtaCvHROpN9Iqyw7cVSAX/G8b3w7BBRAu3sxjCwgr5HCL5Y62inontv/DLp36UZkHHgNkA3c9akjOiAzbWrzRhuYVvZkGjzxsbQ/9jWZy3Iz/Rs1NbQVPEvj1aPg9pMpBJloEMwDqUbY+Xy/nlKrVz9GcLVdvaE0+JOupiRV/t/65Ng7TpgCIf6rnc34a5vuroPNg8x4lfZa7ksX/eYN+xaG6LTW0pfBPzTdcacb5JJL9l5TvUqBxLqSoHtZ+9OrTUpUBqltlpJbmJSN/e+kzBkryE7rG3l4Mp+JY5O43ap2rHL6ioJTa+8L2A7ozxRu+dVtnAhVf9UMI2B0LTHxjVzoMjWBWsumvd5vjfDBIQc0u2jsf0A= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: ca5ea86e-49dd-4bf6-e0cf-08db8bdc0040 X-MS-Exchange-CrossTenant-AuthSource: OS3PR01MB8426.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2023 00:22:01.7459 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: jpRNClB9poSV0lTFWmlIDe2SWpvluiRw0gjYuE2HHSu5hYjFdZl3NL052jQJPiIaXiRK2Gz0GYZRhwiK4qPl7/q//U4t/SvHfDCInw64L5jHnwn8eU4olTdbLb9QTtjB X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSRPR01MB11420 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org To enable multi Component support, "multi ports" is needed for Audio Graph Card/Card2, and "multi rcar_sound,dai" is needed for Simple Audio Card. This patch enable these. Signed-off-by: Kuninori Morimoto --- .../bindings/sound/renesas,rsnd.yaml | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/Documentation/devicetree/bindings/sound/renesas,rsnd.yaml b/Documentation/devicetree/bindings/sound/renesas,rsnd.yaml index d9808b130e8d..13a5a0a10fe6 100644 --- a/Documentation/devicetree/bindings/sound/renesas,rsnd.yaml +++ b/Documentation/devicetree/bindings/sound/renesas,rsnd.yaml @@ -91,6 +91,12 @@ properties: it must be 1 if your system has audio_clkout0/1/2/3 enum: [0, 1] + "#address-cells": + const: 1 + + "#size-cells": + const: 0 + clock-frequency: description: for audio_clkout0/1/2/3 @@ -117,13 +123,7 @@ properties: description: List of necessary clock names. # details are defined below - ports: - $ref: audio-graph-port.yaml#/definitions/port-base - unevaluatedProperties: false - patternProperties: - '^port(@[0-9a-f]+)?$': - $ref: "#/definitions/port-def" - + # ports is below port: $ref: "#/definitions/port-def" @@ -242,8 +242,9 @@ properties: - interrupts additionalProperties: false +patternProperties: # For DAI base - rcar_sound,dai: + 'rcar_sound,dai(@[0-9a-f]+)?$': description: DAI subnode. type: object patternProperties: @@ -263,6 +264,13 @@ properties: - capture additionalProperties: false + 'ports(@[0-9a-f]+)?$': + $ref: audio-graph-port.yaml#/definitions/port-base + unevaluatedProperties: false + patternProperties: + '^port(@[0-9a-f]+)?$': + $ref: "#/definitions/port-def" + required: - compatible - reg