From patchwork Tue Feb 18 01:14:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 13978802 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010066.outbound.protection.outlook.com [52.101.228.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AE71B1DFF0 for ; Tue, 18 Feb 2025 01:14:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.66 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739841292; cv=fail; b=bJIGIugMqEEZRiFLAskaOQRUlGiLMUZyIFoP677d1C0h+UqrQsShH1aSWgrqvck4AY8ubxS2DNzw2E651jFcMjrA8k3UjHXS1Yh8Qkh1Brq1ZL8DZzwmgbdHXHQZKG7NJLyHS5+S9zn2un0gD4wcO06XbWMfq6+oB9YKw0BmNIc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739841292; c=relaxed/simple; bh=nJvc5eiGXHI2zrwqMtjyWXDW3EjSIc9rvtTw9ULgb4g=; h=Message-ID:From:Subject:To:Cc:In-Reply-To:References:Content-Type: Date:MIME-Version; b=OA4aIgO5LCz+0BDvzZZqB5x6PO2I4nE/Qz6WyG2muXG5FN1vLArFWX8hXymjQumDVcnmPjByPpMgfFeQ6axPrriap7QM2BGPVZrgfwtpf4N88F09AbazqLJkDbL5pC7tDu2K7JW9ufRoHqTYqbtPNfu2unPZNkw+QddPg2nzc98= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com; spf=pass smtp.mailfrom=renesas.com; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b=f5mgORF+; arc=fail smtp.client-ip=52.101.228.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b="f5mgORF+" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cXm0lKPmffPiengDusS5SfcO6UhCITefTatiOkWd+AkPP+Pze+C6XU5BjGHnJGXU0BZFOLfekNVh9BGK89sF45ydwDk1gAVoI67nAUur2bv5gob0gKYm1EliCvoGLDAGDS8gBmb4aAOdLXYFBXKpLV0iU0781nvb+IOa3fLLzrHnwVXwMwTtKnkPmclAQFDBRTFfSo5rDoYSi0izrIF7QCTt7Dm4Z/8bOWBqC1zBim/hCZNxlSWHHvdoJWspI6KvXreicRJLbtWRcZjSBhu5E4tervEwGttMNTZUbX50maaI79m76sqZBgcc+IayE0G5fKKkMgf9tBR+Q2kIJZpipg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=DGabqTSdJz6W3n8oyW+VgIDzqvqciR5BfI0CYcwGfq8=; b=cXUAFXya8ODbgUMmCosqjgBe2N5nJH28fqAYV3gvUveT/XJJ01mrtccfbhRVpvQKbmDWJWVbiMyqZDZD9WGOKxBwNL076Iz+6BLSe2/Piet1eyK+FJFH8VWEsnhTMnqGaYQGexhP8pShWzHncf/HEcPbdkMABsiNcI/p+Crbop6im4+3/kg8h5LbSxg7b3tdFpilKFog8RgFAa8qqw7EgZ0iIBkc4BDyBDNbmjj1TfdN42DJgTwfiNTYiDxg4LnPgdCGQyxN0Y2TJX8OS/tfHUMXK64FYUlJT/1Ku9iX5t0fO76QMCvYyEuTX36kGkWnJ7nVJtvKN0Iv6twSVVyzsQ== 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=DGabqTSdJz6W3n8oyW+VgIDzqvqciR5BfI0CYcwGfq8=; b=f5mgORF+po0D4LFlA4UNC81Iiiro6HsmYUPXHIOEoSu3XhJNd+UecX3q3amNIRLHxvyXhnBnO9AnvT7EIFeFjrF/dA3KvIldjq7ZqmN2zVL5bispJ7UnMb7WOXCeUAmcaE1joiUCaimm78SFfe9ng7xYWF77nTL6cgakCXVeYMk= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=renesas.com; Received: from TY3PR01MB10906.jpnprd01.prod.outlook.com (2603:1096:400:3af::14) by TYCPR01MB5934.jpnprd01.prod.outlook.com (2603:1096:400:40::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.20; Tue, 18 Feb 2025 01:14:47 +0000 Received: from TY3PR01MB10906.jpnprd01.prod.outlook.com ([fe80::592:9b7b:ef57:2dd8]) by TY3PR01MB10906.jpnprd01.prod.outlook.com ([fe80::592:9b7b:ef57:2dd8%4]) with mapi id 15.20.8445.017; Tue, 18 Feb 2025 01:14:47 +0000 Message-ID: <87wmdo9hq0.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto Subject: [PATCH 1/3] ASoC: audio-graph-card2-custom-sample1.dtsi: Separate Sample DT User-Agent: Wanderlust/2.15.9 Emacs/29.3 Mule/6.0 To: Mark Brown Cc: linux-sound@vger.kernel.org In-Reply-To: <87y0y49hqe.wl-kuninori.morimoto.gx@renesas.com> References: <87y0y49hqe.wl-kuninori.morimoto.gx@renesas.com> Date: Tue, 18 Feb 2025 01:14:47 +0000 X-ClientProxiedBy: TYCP286CA0238.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:3c7::11) To TY3PR01MB10906.jpnprd01.prod.outlook.com (2603:1096:400:3af::14) Precedence: bulk X-Mailing-List: linux-sound@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TY3PR01MB10906:EE_|TYCPR01MB5934:EE_ X-MS-Office365-Filtering-Correlation-Id: 934da0d1-5c65-486b-0709-08dd4fb9a2f0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: TZndYKBdieRU2vy/yJG7zNrrxdyJb27tqbh0/7O7mf2NvTQSVYh8zuNNc1qtUdXI3k9sD6pzGJ0cLOrnnZyseG9gFdm+tUYmjkr4UJRk19VJc/LXlnlnwsVK05pbdwjtt+dwlL4dlgydaE8rmqvDi8cT+M71T4BrR2hZTGFKU8bzgJpXEhT4LDSWhuOBdxwYgtu3dU1VLEHzuFKf/HDsVae95WO5M/PH4TceQlxOuLbNLlsAN4THT5KSP55KWaVazqL4wGanwC+e/DHldzuNx495XQngxoSVSvhhMcsDjCTSPD7VIWOV0u4a8krRcLzrZbVRESKJnDPcoOV8+jy0wXGaSQXBi+rO3XLhz6u0LgjS3KEUWwpXD87uD1pm0BsF0BoOASuLxvS/jOitfV3+oo8mvECkn6VGwuSLt8KDP33s2qnC8OGC73m4JneUWKuIlaKm9spjpX/BBstrnXEJRfcku5qjOACHtgVX13Mf8Ar7w+qfikf9PdS+JpYo7B4zNvJio33mGVjjQJCwyE+tvTl1x5GRqb2I01dHNqOp7TrIs2W2eB9lLllJdLVeIJFlHOydrEOLF2mRLBlFXzasZRgrM6F0f5XDSKQiJpqbxMhfqpaK7Ilj3b6Otc1Q2D2jbT9OmGdE9CPOYnFBfc3Sg48zdS7xo/jjiqsxmrOsLiqRS6R90nGhCyKMz1ow9qi3R3DaQ2sxvQZt+bVDtTHFGobBG52895Z3KsLlAuyBfuDT/DK6CXITXk+VWctggAtadoGPDhXa7Kkj5QVr4c+Puta6oJ/V0/ZML/rRVIHj3g3GLCFSh5xm6e/WOrYnjhtS6mBsguODSLNF0V4jYJVHnupUILFBsnpihSNzZax5Ta++2uzMBPMdnPvMpN9HIaIHVaiiIXydAKKVUoCYafGK0mN329dxvxy9n0l8qdO/5E8FO5TyF0ii4+YF3kN+SMtQySrkX3xiWz2XkEuMVd5aC5XvE4tOEijUoO5Ol9enPYpHPqb+8X7MCdHvxFOHNH9NRw3JBH75HIKdMWd301SQYsHUp+xdUcLK533dVM0XdspUL9OpRu2MCXmF8wqbjB+GLIv+qW5/+lNsDfMzHFNHVmBIjAAEDdXWSBq1PdVU5euMfmwE8pRcNXqGrRoeq6sqEPQSZBFZAec6FB0xy9v3E9uWzgipi0KNurnAa8NrAR9E4aME2qGXJLCp9uwSRaAcDSoDJN6t0btNNuvofs/YZCU1zemHI75zFaJ7nRLuqdzKA9QHoLttWWHZUN314ysDy9+SAJjZkcghi+7uSHOajIUdJdzeB0lbqNNfp5KPJmNR+kFIgEk109cpNnEF0UXx1nXC3eH0hYMT1YjNcFtRh0391An0/zsH80Jn/a4QGRz0RalhhTckPKaFIyCcNwV7ByHXRD4i625TZSlEwiwdUX+N77IxDSXNWHECMNWvk5E= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TY3PR01MB10906.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: EWC2brH2Y5Q14Pm4SgMUT8hsZtdwyRtdFHssuyOmbMRhwLsyUqAER9rWA9dpA43bB9OqzFb1OItS4rNqjX5wQ4nKgTUW77UtKlszTF5+ydnQXTlfHy3uoOocQ7fTbs15l1nZKeINH7ulGbel68WPK3azBET9EIOEInC0Eq9G7yrxQT8ezE4rkqxgdBmgs8NzZrRJKF7CMP2Zq2ZGoQ08NDuAIngA8bb4s06mWHN5o59ORDTQW788S4wcYVXPtYSP9mPiG0CITjJKcwFXBDd4Gg80IJMflysYiLc7IclltpFfU97SO1KDToFFGaeRaDvsysqI5hCnwLasJkjd18VEKow1ZH61rXRMdQ3HOnAVU0P7z2FQUtI56LcpkDAtfI+xwl+oeTxCzWpvX1O1Kze14xQzEI2+jncXSgiCwUPam1R2jC3NoC+/LEZd9Yn/aHi0x0cjyzS+HVxaiYqKZdWblX0x0qMu+2yhZhbxc1mMS6zk4hUAvczPk9ERCa9mGXgFJH210EwjRY+7EErEmARQNqY5cc3GVHYZE7pbMVep0T7bb6xhqYWBvifesLhXSuDd7YIZhfA5sW2UIznhrS3LEv5QrtEtiM38t4EorCcwdNeAI71RnJYxXoyQKDUat2c3Gwh2sJGlZ6bgu8Z6a1d5FKlEi3QGRq7GW3VFeKWbx5ZTjxebxzBK7onPmiVUjsZpUhEq8xUkp9Vo1i+7EGBGqd4k1N1nfV+9QR67YlaYoWjcxTxtVPnh4999f3EVtt1eOuhicywslQcXfChpY7L8bhRz4T7dZM3H8ZHqUwyoa78Wr2yy2xleTlolUhA4jmvsoQF12cZ8Tc1mGBcE7xJa8H3of38qpYp7cVE7EgyVwYTi8rpzR7YnwHbGSJYML2jTVc3H9tq+Si5mOHwLyHiK9p2xv366QJ7ltRM3b0n0bIwsC590m+gjrKzZ2tJz0rcC6pHzbS0dPnUk7XZX3b7NRz9XMaEh3Q7HMIeIlHkV34DYum8nK7IUokZ8ook+1wbl3I/Lyy7/vBIjZTYsFL/jcrVDJHsDoKlZ6/Ryk8XuNfm8Q4X1YbX3lUhudVlxfpSEcN/SnVTIyMljruv0kmr5kMGedtbls5x1PNWrDBwhSmB5Vk6mjC0pm+OBeNQDgCvQZu5KSGIGGmiZ1dj53yd0LLuN85I1hIgM4EJZGYUGgzI0y8kgQ5Igi/6KV+XLfu/8AWKQ8VopiPPVIUsfrPt3kF7eEqk3cGkJxGC6byfe379wiECukLM5i4ZAwEky6p8Yl3kpwkHw8bBj6kWghCY1LTsEqUpEbyez0gmO0xD/lG1cm2FcgMAbShIF4aWbpsYIbkuRwuSKKSOmUb5Oq1dm6dl76iPyHiMdOOiD7XnFO/JK8MzwHNAbQ06CMiKFsGQr4KcwNH72vC4plzrp0TAnDTm2FUdlBahZRCUNfncC+3SV+UZEgKex5GdhjAer4zNuUYwvedvdC0ut3fWMtZtTrBiHeZU8P0TtjljiaBXy5XXZBMpO9rjzVSJHGF9wkdsdU0ejlj+jIDBkiA5XogruQrNNeeJf8ESG8HpfR1CH3YISj2bpV/gSSeHih7JFLVEszJXOCXNUmAo3hjGxSg5Lz5FXkuTIgK/tQWR4XZiOoI0= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 934da0d1-5c65-486b-0709-08dd4fb9a2f0 X-MS-Exchange-CrossTenant-AuthSource: TY3PR01MB10906.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Feb 2025 01:14:47.8680 (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: BA1ZrOJZ9ea3V8AJv8gNy4qKCgp/1qLZ9woU8jFwD5q2Q1Bo9v/qv08NHb1OvDR+sieMl9VsTk1P9F8CadVoSwSaV835WItvD2BuE9zyhDb80G8kG8UqPOGamHb6vEQh X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB5934 audio-graph-card2-custom-sample has many sample connections, but because ALSA card has number limition for links, it is impossible to have all samples into 1 ASoC card. Separate it and took the normal connection part. Signed-off-by: Kuninori Morimoto --- .../audio-graph-card2-custom-sample1.dtsi | 396 ++++++++++++++++++ 1 file changed, 396 insertions(+) create mode 100644 sound/soc/generic/audio-graph-card2-custom-sample1.dtsi diff --git a/sound/soc/generic/audio-graph-card2-custom-sample1.dtsi b/sound/soc/generic/audio-graph-card2-custom-sample1.dtsi new file mode 100644 index 0000000000000..12d40e05de466 --- /dev/null +++ b/sound/soc/generic/audio-graph-card2-custom-sample1.dtsi @@ -0,0 +1,396 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * audio-graph-card2-custom-sample1.dtsi + * + * Copyright (C) 2020 Renesas Electronics Corp. + * Copyright (C) 2020 Kuninori Morimoto + * + * This sample indicates how to use audio-graph-card2 and its + * custom driver. "audio-graph-card2-custom-sample" is the custome driver + * which is using audio-graph-card2. + * + * You can easily use this sample by adding below line on your DT file, + * and add new CONFIG to your .config. + * + * #include "../../../../../sound/soc/generic/audio-graph-card2-custom-sample1.dtsi" + * + * CONFIG_SND_AUDIO_GRAPH_CARD2 + * CONFIG_SND_AUDIO_GRAPH_CARD2_CUSTOM_SAMPLE + * CONFIG_SND_TEST_COMPONENT + * + * + * You can indicate more detail each device behavior as debug if you modify + * "compatible" on each test-component. see below + * + * test_cpu { + * - compatible = "test-cpu"; + * + compatible = "test-cpu-verbose"; + * ... + * }; + * + * test_codec { + * - compatible = "test-codec"; + * + compatible = "test-codec-verbose"; + * ... + * }; + * + * + * Below sample doesn't use "format" property, + * because test-component driver (test-cpu/test-codec) is supporting + * snd_soc_dai_ops :: .auto_selectable_formats. + * see + * snd_soc_runtime_get_dai_fmt() + * linux/sound/soc/generic/test-component.c :: test_dai_formats + */ +/ { + audio-graph-card2-custom-sample-1 { + /* + * You can use audio-graph-card2 directly by using + * + * compatible = "audio-graph-card2"; + */ + compatible = "audio-graph-card2-custom-sample"; + label = "card2-custom-sample-1"; + + /* + * @ : used at links + */ + links = < + /* + * + * [Normal] + * + * + * cpu1_0 <-@-----> codec1_0 + */ + &cpu1_0 /* CPU side only */ + + /* + * [Semi-Multi] + * + * CPU:Codec = 1:N + * + * +-+ + * cpu1_1 <--@---->| |-> codec1_1 + * | |-> codec1_2 + * +-+ + */ + &sm /* CPU side only */ + + /* + * [Multi-CPU/Codec-A] + * + * +-+ +-+ + * cpu1_2 <-| |<---@------>| |-> codec1_3 + * cpu1_3 <-| | | |-> codec1_4 + * +-+ +-+ + */ + &mcpuA /* CPU side only */ + + /* + * [Multi-CPU/Codec-B] + * + * +-+ +-+ + * | |<---@------>| | + * | | | | + * cpu1_4 <-| |<---------->| |-> codec1_5 + * cpu1_5 <-| |<---+------>| |-> codec1_6 + * +-+ \----->| |-> codec1_7 + * +-+ + */ + &mcpuB /* CPU side only */ + + /* + * [Multi-CPU/Codec-C] + * + * +-+ +-+ + * | |<---@------>| | + * | | | | + * cpu1_6 <-| |<---------->| |-> codec1_8 + * cpu1_7 <-| |<-----+---->| |-> codec1_9 + * cpu1_8 <-| |<----/ +-+ + * +-+ + */ + &mcpuC /* CPU side only */ + >; + + multi { + #address-cells = <1>; + #size-cells = <0>; + + /* + * [Semi-Multi] + * + * +---+ + * cpu1_1 <---@--->|X A|-> codec1_1 + * | B|-> codec1_2 + * +---+ + */ + ports@0 { + reg = <0>; + #address-cells = <1>; + #size-cells = <0>; + port@0 { reg = <0>; smcodec_ep: endpoint { remote-endpoint = <&cpu1_1_ep>; };};/* (X) to pair */ + port@1 { reg = <1>; smcodec_A_ep: endpoint { remote-endpoint = <&codec1_1_ep>; };};/* (A) Multi Element */ + port@2 { reg = <2>; smcodec_B_ep: endpoint { remote-endpoint = <&codec1_2_ep>; };};/* (B) Multi Element */ + }; + + /* + * [Multi-CPU-A] + * + * +---+ +---+ + * cpu1_2 <-|A X|<---@---->|x a|-> codec1_3 + * cpu1_3 <-|B | | b|-> codec1_4 + * +---+ +---+ + */ + ports@1 { + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + mcpuA: port@0 { reg = <0>; mcpu_A_ep: endpoint { remote-endpoint = <&mcodec_A_ep>; };}; /* (X) to pair */ + port@1 { reg = <1>; mcpu_AA_ep: endpoint { remote-endpoint = <&cpu1_2_ep>; };}; /* (A) Multi Element */ + port@2 { reg = <2>; mcpu_AB_ep: endpoint { remote-endpoint = <&cpu1_3_ep>; };}; /* (B) Multi Element */ + }; + + /* + * [Multi-Codec-A] + * + * +---+ +---+ + * cpu1_2 <-|A X|<-@------>|x a|-> codec1_3 + * cpu1_3 <-|B | | b|-> codec1_4 + * +---+ +---+ + */ + ports@2 { + reg = <2>; + #address-cells = <1>; + #size-cells = <0>; + port@0 { reg = <0>; mcodec_A_ep: endpoint { remote-endpoint = <&mcpu_A_ep>; };}; /* (x) to pair */ + port@1 { reg = <1>; mcodec_Aa_ep: endpoint { remote-endpoint = <&codec1_3_ep>; };}; /* (a) Multi Element */ + port@2 { reg = <2>; mcodec_Ab_ep: endpoint { remote-endpoint = <&codec1_4_ep>; };}; /* (b) Multi Element */ + }; + + /* + * [Multi-CPU-B] + * + * +---+ +---+ + * | X|<---@---->|x | + * | | | | + * cpu1_4 <-|A 1|<-------->|3 a|-> codec1_5 + * cpu1_5 <-|B 2|<---+---->|4 b|-> codec1_6 + * +---+ \--->|5 c|-> codec1_7 + * +---+ + */ + ports@3 { + reg = <3>; + #address-cells = <1>; + #size-cells = <0>; + mcpuB: port@0 { + reg = <0>; + mcpu_BX_ep: endpoint { remote-endpoint = <&mcodec_Bx_ep>; }; /* (X) to pair */ + }; + port@1 { + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + mcpu_BA_ep: endpoint@0 { reg = <0>; remote-endpoint = <&cpu1_4_ep>; }; /* (A) Multi Element */ + mcpu_B1_ep: endpoint@1 { reg = <1>; remote-endpoint = <&mcodec_B3_ep>; }; /* (1) connected Codec */ + }; + port@2 { + #address-cells = <1>; + #size-cells = <0>; + reg = <2>; + mcpu_BB_ep: endpoint@0 { reg = <0>; remote-endpoint = <&cpu1_5_ep>; }; /* (B) Multi Element */ + mcpu_B2_0_ep: endpoint@1 { reg = <1>; remote-endpoint = <&mcodec_B4_ep>; }; /* (2) connected Codec */ + mcpu_B2_1_ep: endpoint@2 { reg = <2>; remote-endpoint = <&mcodec_B5_ep>; }; /* (2) connected Codec */ + }; + }; + + /* + * [Multi-Codec-B] + * + * +---+ +---+ + * | X|<-@------>|x | + * | | | | + * cpu1_4 <-|A 1|<-------->|3 a|-> codec1_5 + * cpu1_5 <-|B 2|<---+---->|4 b|-> codec1_6 + * +---+ \--->|5 c|-> codec1_7 + * +---+ + */ + ports@4 { + reg = <4>; + #address-cells = <1>; + #size-cells = <0>; + port@0 { + reg = <0>; + mcodec_Bx_ep: endpoint { remote-endpoint = <&mcpu_BX_ep>; }; /* (x) to pair */ + }; + port@1 { + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + mcodec_Ba_ep: endpoint@0 { reg = <0>; remote-endpoint = <&codec1_5_ep>;}; /* (a) Multi Element */ + mcodec_B3_ep: endpoint@1 { reg = <1>; remote-endpoint = <&mcpu_B1_ep>; }; /* (3) connected CPU */ + }; + port@2 { + #address-cells = <1>; + #size-cells = <0>; + reg = <2>; + mcodec_Bb_ep: endpoint@0 { reg = <0>; remote-endpoint = <&codec1_6_ep>; }; /* (b) Multi Element */ + mcodec_B4_ep: endpoint@1 { reg = <1>; remote-endpoint = <&mcpu_B2_0_ep>;}; /* (4) connected CPU */ + }; + port@3 { + #address-cells = <1>; + #size-cells = <0>; + reg = <3>; + mcodec_Bc_ep: endpoint@0 { reg = <0>; remote-endpoint = <&codec1_7_ep>; }; /* (c) Multi Element */ + mcodec_B5_ep: endpoint@1 { reg = <1>; remote-endpoint = <&mcpu_B2_1_ep>;}; /* (5) connected CPU */ + }; + }; + + /* + * [Multi-CPU-C] + * + * +---+ +---+ + * | X|<-@------>|x | + * | | | | + * cpu1_6 <-|A 1|<-------->|4 a|-> codec1_8 + * cpu1_7 <-|B 2|<-----+-->|5 b|-> codec1_9 + * cpu1_8 <-|C 3|<----/ +---+ + * +---+ + */ + ports@5 { + reg = <5>; + #address-cells = <1>; + #size-cells = <0>; + mcpuC: port@0 { + reg = <0>; + mcpu_CX_ep: endpoint { remote-endpoint = <&mcodec_Cx_ep>; }; /* (X) to pair */ + }; + port@1 { + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + mcpu_CA_ep: endpoint@0 { reg = <0>; remote-endpoint = <&cpu1_6_ep>; }; /* (A) Multi Element */ + mcpu_C1_ep: endpoint@1 { reg = <1>; remote-endpoint = <&mcodec_C4_ep>; }; /* (1) connected Codec */ + }; + port@2 { + #address-cells = <1>; + #size-cells = <0>; + reg = <2>; + mcpu_CB_ep: endpoint@0 { reg = <0>; remote-endpoint = <&cpu1_7_ep>; }; /* (B) Multi Element */ + mcpu_C2_ep: endpoint@1 { reg = <1>; remote-endpoint = <&mcodec_C5_0_ep>; }; /* (2) connected Codec */ + }; + port@3 { + #address-cells = <1>; + #size-cells = <0>; + reg = <3>; + mcpu_CC_ep: endpoint@0 { reg = <0>; remote-endpoint = <&cpu1_8_ep>; }; /* (C) Multi Element */ + mcpu_C3_ep: endpoint@1 { reg = <1>; remote-endpoint = <&mcodec_C5_1_ep>; }; /* (3) connected Codec */ + }; + }; + + /* + * [Multi-Codec-C] + * + * +---+ +---+ + * | X|<-@------>|x | + * | | | | + * cpu1_6 <-|A 1|<-------->|4 a|-> codec1_8 + * cpu1_7 <-|B 2|<-----+-->|5 b|-> codec1_9 + * cpu1_8 <-|C 3|<----/ +---+ + * +---+ + */ + ports@6 { + reg = <6>; + #address-cells = <1>; + #size-cells = <0>; + port@0 { + reg = <0>; + mcodec_Cx_ep: endpoint { remote-endpoint = <&mcpu_CX_ep>; }; /* (x) to pair */ + }; + port@1 { + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + mcodec_Ca_ep: endpoint@0 { reg = <0>; remote-endpoint = <&codec1_8_ep>;}; /* (a) Multi Element */ + mcodec_C4_ep: endpoint@1 { reg = <1>; remote-endpoint = <&mcpu_C1_ep>; }; /* (4) connected CPU */ + }; + port@2 { + #address-cells = <1>; + #size-cells = <0>; + reg = <2>; + mcodec_Cb_ep: endpoint@0 { reg = <0>; remote-endpoint = <&codec1_9_ep>;}; /* (b) Multi Element */ + mcodec_C5_0_ep: endpoint@1 { reg = <1>; remote-endpoint = <&mcpu_C2_ep>; }; /* (5) connected CPU */ + mcodec_C5_1_ep: endpoint@2 { reg = <2>; remote-endpoint = <&mcpu_C3_ep>; }; /* (5) connected CPU */ + }; + }; + }; + }; + + test_cpu_1 { + /* + * update compatible to indicate more detail behaviour + * if you want. see test-compatible for more detail. + * + * ex) + * - compatible = "test-cpu"; + * + compatible = "test-cpu-verbose"; + */ + compatible = "test-cpu"; + ports { + #address-cells = <1>; + #size-cells = <0>; + + bitclock-master; + frame-master; + + /* [Normal] */ + cpu1_0: port@0 { reg = <0>; cpu1_0_ep: endpoint { remote-endpoint = <&codec1_0_ep>;}; }; + /* [Semi-Multi] */ + sm: port@1 { reg = <1>; cpu1_1_ep: endpoint { remote-endpoint = <&smcodec_ep>; }; }; + /* [Multi-CPU-A] */ + port@2 { reg = <2>; cpu1_2_ep: endpoint { remote-endpoint = <&mcpu_AA_ep>; }; }; + port@3 { reg = <3>; cpu1_3_ep: endpoint { remote-endpoint = <&mcpu_AB_ep>; }; }; + /* [Multi-CPU-B] */ + port@4 { reg = <4>; cpu1_4_ep: endpoint { remote-endpoint = <&mcpu_BA_ep>; }; }; + port@5 { reg = <5>; cpu1_5_ep: endpoint { remote-endpoint = <&mcpu_BB_ep>; }; }; + /* [Multi-CPU-C] */ + port@6 { reg = <6>; cpu1_6_ep: endpoint { remote-endpoint = <&mcpu_CA_ep>; }; }; + port@7 { reg = <7>; cpu1_7_ep: endpoint { remote-endpoint = <&mcpu_CB_ep>; }; }; + port@8 { reg = <8>; cpu1_8_ep: endpoint { remote-endpoint = <&mcpu_CC_ep>; }; }; + }; + }; + + test_codec_1 { + /* + * update compatible to indicate more detail behaviour + * if you want. see test-compatible for more detail. + * + * ex) + * - compatible = "test-codec"; + * + compatible = "test-codec-verbose"; + */ + compatible = "test-codec"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + /* [Normal] */ + port@0 { reg = <0>; codec1_0_ep: endpoint { remote-endpoint = <&cpu1_0_ep>; }; }; + /* [Semi-Multi] */ + port@1 { reg = <1>; codec1_1_ep: endpoint { remote-endpoint = <&smcodec_A_ep>; }; }; + port@2 { reg = <2>; codec1_2_ep: endpoint { remote-endpoint = <&smcodec_B_ep>; }; }; + /* [Multi-Codec-0] */ + port@3 { reg = <3>; codec1_3_ep: endpoint { remote-endpoint = <&mcodec_Aa_ep>; }; }; + port@4 { reg = <4>; codec1_4_ep: endpoint { remote-endpoint = <&mcodec_Ab_ep>; }; }; + /* [Multi-Codec-1] */ + port@5 { reg = <5>; codec1_5_ep: endpoint { remote-endpoint = <&mcodec_Ba_ep>; }; }; + port@6 { reg = <6>; codec1_6_ep: endpoint { remote-endpoint = <&mcodec_Bb_ep>; }; }; + port@7 { reg = <7>; codec1_7_ep: endpoint { remote-endpoint = <&mcodec_Bc_ep>; }; }; + /* [Multi-Codec-2] */ + port@8 { reg = <8>; codec1_8_ep: endpoint { remote-endpoint = <&mcodec_Ca_ep>; }; }; + port@9 { reg = <9>; codec1_9_ep: endpoint { remote-endpoint = <&mcodec_Cb_ep>; }; }; + }; + }; +}; From patchwork Tue Feb 18 01:14:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 13978803 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010023.outbound.protection.outlook.com [52.101.228.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5B8371DFF0 for ; Tue, 18 Feb 2025 01:14:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.23 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739841298; cv=fail; b=XXxG5M5hUDzz9Cn7MtuH5K50/Q/msciBR0j3M3z5h4J65t6A9kp5bXlOakc32FPT0CDn9n37R6my24lbMgw+8SkDAEzvhRZmfeYJVVi5WEy25GBd4symxbLFDurjIjj8qK9CUbIV7/sUEybR9PaBdmNXFl5MGeQrCa/Z2twQZBc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739841298; c=relaxed/simple; bh=F1FhQKiw4PCpqKkETIPk+OyxY9uDXk2ka9yKjk746+c=; h=Message-ID:From:Subject:To:Cc:In-Reply-To:References:Content-Type: Date:MIME-Version; b=lc0ZWUbtEBwRFCWN1GdCe0NKw7wBtcLHHEBre4vPOk8kocF11m5C931+uovYfQLY3owcRKjfK2EvtHR3zzM7yw0LDU9TuqmzHIdy2HCbeciklWatxQim2ELhOVG/nh8PZ5odSXo+8jdTqzSAt7GhmKyXbjVp3BJYszOFyH3AHAY= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com; spf=pass smtp.mailfrom=renesas.com; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b=YFrO1c6H; arc=fail smtp.client-ip=52.101.228.23 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b="YFrO1c6H" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mpsv8k0d66Vru3s1P63KOLuta1uIzYQizKK70HUqHYV0EXs5XSj7W5aM/kiMXq2z41PBzOXG2lN6uVwzzYMD4X6icm2rrNmBwsxYehThfx8ClFLVHfBR6bDo8/8k7fizC/6w/ONsgWc2a3/AELn6i8cw9Jxj6VjpW2cp66yP2oZmuRVRAGY6LTbkByx99DntEMOGvWPpuy8ROsYdnKcV1bMJB1jir+ZFkSEt9Hv9vUTlklVXmPt8IXjJNIOliEYV/mDoidHz+lw1i6K26T1u+kNKYqq8c70m5n4znkvUDXPPM220WWO/BEGoXXuTPS/fV7VceIww6vlJhmclRxopqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=myNTDciVCzCRKmbFiknqb5Oq/t6u9BaFgVd+7dpi+o8=; b=MqjEEgunOYTaI2LMVvQ1l+fICZPccmJ8whdolQERBPh42GaCy08lOTWYUoAbIpEcl/PYDuDjhPcdEjR6w3FApdyc2s4bJfZJU2gLGMIFJO5xC+EqxBmT9UJd41d65tOZ9nTDk+AbicoU9NUoPyBzT2t3qOUzDyWmkf6x7NYROM56KoZGbF3HRVFJteYyHJaAy0pl1efN24T9s6VPeeNJ5Hw4r3BjfMPWD7mdw7H7Csqa54YoRXFQYDr/va1nqbkiQLZ/nFCajaY0YOusYstFJzZdJnVnSZE1nFJv0ruWA9mWwpXiYRBazF4qbGcTAa9cixuL4SZCioROZUSh9QR2IA== 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=myNTDciVCzCRKmbFiknqb5Oq/t6u9BaFgVd+7dpi+o8=; b=YFrO1c6HIP1PqwvDj0iSsF/O8XLf4QyoJSWIRj7Q81ZixNnrKI/xB7tzS1SorxQZ8+fjdhf+jfaFW/pXpNy7u0+yAE7aSd0vxw3xnpo5iJlrRTb0Fgeguq56tjNoo3YS5PfK872oD9zhWmxuQFThQLYmIlQLdj+06E3hc7NLkA0= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=renesas.com; Received: from TY3PR01MB10906.jpnprd01.prod.outlook.com (2603:1096:400:3af::14) by TYCPR01MB5934.jpnprd01.prod.outlook.com (2603:1096:400:40::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.20; Tue, 18 Feb 2025 01:14:54 +0000 Received: from TY3PR01MB10906.jpnprd01.prod.outlook.com ([fe80::592:9b7b:ef57:2dd8]) by TY3PR01MB10906.jpnprd01.prod.outlook.com ([fe80::592:9b7b:ef57:2dd8%4]) with mapi id 15.20.8445.017; Tue, 18 Feb 2025 01:14:54 +0000 Message-ID: <87v7t89hpt.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto Subject: [PATCH 2/3] ASoC: audio-graph-card2-custom-sample2.dtsi: Separate Sample DT User-Agent: Wanderlust/2.15.9 Emacs/29.3 Mule/6.0 To: Mark Brown Cc: linux-sound@vger.kernel.org In-Reply-To: <87y0y49hqe.wl-kuninori.morimoto.gx@renesas.com> References: <87y0y49hqe.wl-kuninori.morimoto.gx@renesas.com> Date: Tue, 18 Feb 2025 01:14:54 +0000 X-ClientProxiedBy: TYCP286CA0288.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:3c8::16) To TY3PR01MB10906.jpnprd01.prod.outlook.com (2603:1096:400:3af::14) Precedence: bulk X-Mailing-List: linux-sound@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TY3PR01MB10906:EE_|TYCPR01MB5934:EE_ X-MS-Office365-Filtering-Correlation-Id: 1d3c59b2-48a8-41d3-d321-08dd4fb9a6d2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: wvIQz4whh35b2eGNty3PwWIyNcKdG6VYC2U2vIAYZQVkDz8I7H+m177fSIDxwO9Ad8dfPKbyj2MI0jtzD5Csd1+bnod8XzurVMx1DC7G0oGv9hIWVx8N0R6kA6bLvBnPkthi2bmyFDUEM0Z9KXR8Na70gPLLIYXmaZgw/adzb8lxGQgoDjdzQUBYYdF6Qbn/tcft7Z94rxC1YoV1f7fHY7aaUHZND8lU42rcKl32FzFTHl+W971VyqbTqzFFWwekw3/4EJJ+EXsVEQeZ4Slswn/v6h+dzhBwoASxkCI/VF6PNgnkZ644BhphsFhijZJbwtdJ3qcSbzRD77EDJbj9wdf0UG8+mukmtoJBkmo3yKfwejYQ36l8etVQsWQDBV8z0rLdMc18hS/eMa7NV+gVA0IM5OAgEPmQPRrRRbbotQDHTT8sf8Fz/hn4tRcEfLFH2aJJX4xluscQKDX1wA+yOHPCYjX6cPkAG0Y2vHyqkphaioDkfV+OvXYCiG7fftqTxzKgPoH5NQ5Pbi3Ph4qRp6OcptDY0FkCB+ovze9ibaut+pQ83VDQmydcWPt7ikZeC+19bbUrVgG1N+NDJ9Kcm8WB36+FR22DebjKqs7C8RtjGbKXki2QgnaU4I3V8MQaGzsKi2RWpVKTrEZ3RC60kMpz4RWB5Z14/o+AZ8KaKmoR+s2X+REym4jn5rIFgc0AEzLLx3l2lItij41Cm/fBGkMvybIe3cnmd6w5mdC5qzzBgZPI4p8ZX/e8UJBjXqcRE37Aix4OVFwJpvsFzp7bJ2F75eaPeF5lxC6iNZzUVRYtaDESpYxc3x1k3n+T53uF/Dh83WoNXcrTfwuYaH0cg0hladFSyPBqKvKTsedJ8MqP/pSk+XJcmbCXsmm5pdoO7ImYfHuCkXKQP5i1FJa8gcdCnxbf2Gisr8HwC5wb5IL/QIKd3O+YnERl3p3Al8ko7ZqSZsXF4KtejY9FnOl5nHohHHJ0+d1/yIbK2EX4FuOWqxVF0gqmjRSy9gduO9cy31IipqUeFEjsClHem1eRzIKlDKIrR6c2VYKK//WKqoWGwYbsPCv5qrgMQ2Z7oZnvyHlcnBJ4FiHyOs2OGG+6AFnRWfI9EGMiv9fnhEpMVoDuJ1vZEZemGpx4GdyPyiWhsI7OBBdt8L5/TKTvY8Hqe1SQ03tlk7Vw9ZvvsI65bBIyTfihPsC03I0F9YGVziv2Paf4lPoLBkalUhU/QAA7zKd/A4ym8lM8i6O/uBBCTBkoYC/MG0+FPpo1uJ/6FcpXqLwU0hlkplaB/Gk41YPw4rrCol1TTUFvgcnwg9I81fpQisUgA7pVUE2ZgpOa3psd8L0e04k+RzfafJ0hit/+hFmbMWXKx1H2q8H+I9nthvxk954CWXeFEMYAoLumhibjWt9n3Ib1zYjihumi6YGoynuMxER2K0UfMk3411J9gk92E+7XYIWsVM/ndZg5jUeY X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TY3PR01MB10906.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: YskP8b1M7u/YzmaHgHeXpmcMqFQbOFmR88PQ/sPVfSLWwE12UvwjcbwZx9OEfCHWOseKg51j4tJFJsE1Ch2llrdT9n0VTH/vFJOLmqHSVZUHkOMnePvzZ5Us6qo2zUgGpQ1bwq6MmqCUDLhLQJFT3IVZWIKJxbFhRRzoaJNSmFyoNSt74KgQTD1RMhXHnCr8vCFIwz1ZnE6Ai+Z28B8DVpqsbI58seshQC35TrE4koUPdNXT38ZgceEN/CYg/oTjL0mlQek4Tbdm6ZNr/HbBRIf5c5UzrrdBLLK4nRZlkz3S9NtItTrAtVTUgLcgFw+u6W3OMAh/f+iv1vi/k10K9T0zc9nCVctb9XbSTyZssaXpCYsbydLKCxjtjPukndF9/ByclWqP/FniKSlyn8EaEncuRdS8mZv/5Cmfu0V2Mle6f0XnXjx52dRcHCf60K219KcpBcdtMb8MxLAFf6J8JOzhkFtxjmfCXsPUMZTS1lN0q/wwPUAjeyPIr7ccWX5oq0GkxS5VTPkOxTVNILf+nApHVs5vR7gAGhfi2d+LH9Zwjp8NFrRGc1zTTIec4vt0npCXqtOL67dp6nWPwcDsFeKAUovG3E7M7DpkT+MfWsjykcLJozDuzDyTwc/vEUosUT0Dw3crlH0DXLrMLi/T1ALzodVj8AA3V8FYuhqGlCHcRU2zUxXPoS8ys80GY1ViveFDtpoP9lK8TtHV5eAWNakX2Mtlu4QLV2bsQWKFiW7cmMj3qlu6ZN4vNjDsi6viVCLU3T1tNIoi3upQQgc1xSS4dyhTj0eNAaScMG7sRr+vEGMWeCHvCapXzd4oogF2Ji//YbQYNevoND47A2Zt440qlNb4AauQmdNtuvmUh2dLwsDigmTDahgJ5I8OQkjZt+kHaEH95iduWnqXjpjoJ0Rm3TLr1KKLIyqAaZhgSekgAs92cPPnzbRW9s+YGEq1TT4k/orRX6VJKhZ1wrzlfGQRfXjr6nIq98VERMJYWg5eScdJWytxdvnkWmxGmWYVoOI2B0kwHhzbmeYzDbz8Oj3dtuhkfnnp3xSIM8Acs0MhiGPoS9qIqEn91aaCzQtH+PqzMU++QTSJvFEXg3phZrbrje2+AV1yXAhDFDSHfJ3h6ASq5lwshkawguG9rKglO4ooKyAkvE6Cldng0RF6oErrrXrdDo+VmSCHt0TPSNG37Av0lALmYX9Qv9lEXwniJ8oyyI7X5ouvs4tVO+8QSo/IMDygAimwU1mNT+/WMonVcsyuML79KRZQaE1350QD+UmzFgW31M+sKrs2VOB7Gp+OZBfvjXdOQ6doXXiIgmLMxSq7FV40YbResxhjuqjNLiHMDUnLlB1b+v4DigD3slNVxXni3hOneUVHGIJyck1IyDz5mlWkaPbqekvihB/WxXZyxbpjXgsJ0KlL1iBT/OxwABb1X5syLYchEuHi7P+2RmUkUCh2SeUPz2MEDCE/3kz2TJNhY0iVmRfDJ9veFUbznRsInbiIcFj4ouJ+eQkr4Ijmz/yZtOgZuTlM67/sK4XrEBLBjPH1c6138j08/xPo8cQMJRXveSrKSuvIkOZ9sytt4cbJ5+ftzqV61ua7hnda958RjH95ut92gOg/D6kShtMupyGAQemwvFnjKAQ= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1d3c59b2-48a8-41d3-d321-08dd4fb9a6d2 X-MS-Exchange-CrossTenant-AuthSource: TY3PR01MB10906.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Feb 2025 01:14:54.4369 (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: 83ljorFSVerd8JOrQbPZ+FKSsCf2UiI+a+8H1HAA7xiFEvmckfF26K3F0CTUZzAt+I3JEqYNZws6WzY/59Zd+iwdoaJoXPcFDO9B42XZyAwDhtlWTndwqE05LjN56xEs X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB5934 audio-graph-card2-custom-sample has many sample connections, but because ALSA card has number limition for links, it is impossible to have all samples into 1 ASoC card. Separate it and took DPCM / Codec2Codec connection part. Signed-off-by: Kuninori Morimoto --- .../audio-graph-card2-custom-sample2.dtsi | 382 ++++++++++++++++++ 1 file changed, 382 insertions(+) create mode 100644 sound/soc/generic/audio-graph-card2-custom-sample2.dtsi diff --git a/sound/soc/generic/audio-graph-card2-custom-sample2.dtsi b/sound/soc/generic/audio-graph-card2-custom-sample2.dtsi new file mode 100644 index 0000000000000..1fb061a10ab14 --- /dev/null +++ b/sound/soc/generic/audio-graph-card2-custom-sample2.dtsi @@ -0,0 +1,382 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * audio-graph-card2-custom-sample2.dtsi + * + * Copyright (C) 2020 Renesas Electronics Corp. + * Copyright (C) 2020 Kuninori Morimoto + * + * This sample indicates how to use audio-graph-card2 and its + * custom driver. "audio-graph-card2-custom-sample" is the custome driver + * which is using audio-graph-card2. + * + * You can easily use this sample by adding below line on your DT file, + * and add new CONFIG to your .config. + * + * #include "../../../../../sound/soc/generic/audio-graph-card2-custom-sample2.dtsi" + * + * CONFIG_SND_AUDIO_GRAPH_CARD2 + * CONFIG_SND_AUDIO_GRAPH_CARD2_CUSTOM_SAMPLE + * CONFIG_SND_TEST_COMPONENT + * + * + * You can indicate more detail each device behavior as debug if you modify + * "compatible" on each test-component. see below + * + * test_cpu { + * - compatible = "test-cpu"; + * + compatible = "test-cpu-verbose"; + * ... + * }; + * + * test_codec { + * - compatible = "test-codec"; + * + compatible = "test-codec-verbose"; + * ... + * }; + * + * + * Below sample doesn't use "format" property, + * because test-component driver (test-cpu/test-codec) is supporting + * snd_soc_dai_ops :: .auto_selectable_formats. + * see + * snd_soc_runtime_get_dai_fmt() + * linux/sound/soc/generic/test-component.c :: test_dai_formats + */ +/ { + audio-graph-card2-custom-sample-2 { + /* + * You can use audio-graph-card2 directly by using + * + * compatible = "audio-graph-card2"; + */ + compatible = "audio-graph-card2-custom-sample"; + label = "card2-custom-sample-2"; + + /* for [DPCM] */ + /* BE FE */ + routing = "TC DAI0 Playback", "DAI0 Playback", + "TC DAI0 Playback", "DAI1 Playback", + "DAI0 Capture", "TC DAI0 Capture", + "DAI1 Capture", "TC DAI0 Capture", + /* for [DPCM-Multi] */ + /* BE FE */ + "TC DAI1 Playback", "DAI2 Playback", + "TC DAI2 Playback", "DAI2 Playback", + "TC DAI1 Playback", "DAI3 Playback", + "TC DAI2 Playback", "DAI3 Playback", + "DAI2 Capture", "TC DAI1 Capture", + "DAI2 Capture", "TC DAI2 Capture", + "DAI3 Capture", "TC DAI1 Capture", + "DAI3 Capture", "TC DAI2 Capture", + /* for [Codec2Codec] */ + "TC OUT", "TC DAI4 Playback", + "TC DAI3 Capture", "TC IN", + /* for [Codec2Codec-Multi] */ + "TC OUT", "TC DAI7 Playback", + "TC DAI5 Capture", "TC IN", + "TC OUT", "TC DAI8 Playback", + "TC DAI6 Capture", "TC IN"; + + /* + * @ : used at links + */ + links = < + /* + * [DPCM] + * + * cpu20/cpu21 are converting rate to 44.1kHz + * + * FE BE + * **** + * cpu2_0 <----@---* *------@---> codec2_0 (44.1kHz) + * cpu2_1 <----@---* * + * **** + */ + &feA &feB &beA /* both FE / BE */ + + /* + * [DPCM-Multi] + * + * FE BE + * **** +-+ + * cpu2_2 <----@---* *------@---> | | -> codec2_1 + * cpu2_3 <----@---* * | | -> codec2_2 + * **** +-+ + */ + &feC &feD &beB /* both FE / BE*/ + + /* + * [Codec2Codec] + * + * + * +-@-> codec2_3 + * | + * +---> codec2_4 + */ + &c2c /* CPU side only */ + + /* + * [Codec2Codec-Multi] + * + * --NOTE-- + * Multi connect N:M is not supported by ASoC. + * + * +-+ + * +---@-->| |-> codec2_5 + * | | |-> codec2_6 + * | +-+ + * | +-+ + * +------>| |-> codec2_7 + * | |-> codec2_8 + * +-+ + */ + &c2c_m /* CPU side only */ + >; + + multi { + #address-cells = <1>; + #size-cells = <0>; + + /* + * [DPCM-Multi]::BE + * + * FE BE + * **** +---+ + * cpu2_2 <----@---* *------@---> |x a| -> codec2_1 + * cpu2_3 <----@---* * | b| -> codec2_2 + * **** +---+ + */ + ports@2 { + reg = <2>; + #address-cells = <1>; + #size-cells = <0>; + port@0 { reg = <0>; mbe_x_ep: endpoint { remote-endpoint = <&beB_ep>; };};/* (x) to pair */ + port@1 { reg = <1>; mbe_a_ep: endpoint { remote-endpoint = <&codec2_1_ep>; };};/* (a) Multi Element */ + port@2 { reg = <2>; mbe_b_ep: endpoint { remote-endpoint = <&codec2_2_ep>; };};/* (b) Multi Element */ + }; + + /* + * [Codec2Codec-Multi]::CPU + * + * c2cmf +---+ + * +---@---------->|X A|-> codec2_5 + * | | B|-> codec2_6 + * | +---+ + * | c2cmb +---+ + * +-------------->|x a|-> codec2_7 + * | b|-> codec2_8 + * +---+ + */ + ports@3 { + reg = <3>; + #address-cells = <1>; + #size-cells = <0>; + port@0 { reg = <0>; mc2c0X_ep: endpoint { remote-endpoint = <&c2cmf_ep>; };};/* (X) to pair */ + port@1 { reg = <1>; mc2c0A_ep: endpoint { remote-endpoint = <&codec2_5_ep>; };};/* (A) Multi Element */ + port@2 { reg = <2>; mc2c0B_ep: endpoint { remote-endpoint = <&codec2_6_ep>; };};/* (B) Multi Element */ + }; + + /* + * [Codec2Codec-Multi]::Codec + * + * c2cmf +---+ + * +---@---------->|X A|-> codec2_5 + * | | B|-> codec2_6 + * | +---+ + * | c2cmb +---+ + * +-------------->|x a|-> codec2_7 + * | b|-> codec2_8 + * +---+ + */ + ports@4 { + reg = <4>; + #address-cells = <1>; + #size-cells = <0>; + port@0 { reg = <0>; mc2c1x_ep: endpoint { remote-endpoint = <&c2cmb_ep>; };};/* (x) to pair */ + port@1 { reg = <1>; mc2c1a_ep: endpoint { remote-endpoint = <&codec2_7_ep>; };};/* (a) Multi Element */ + port@2 { reg = <2>; mc2c1b_ep: endpoint { remote-endpoint = <&codec2_8_ep>; };};/* (b) Multi Element */ + }; + }; + + dpcm { + #address-cells = <1>; + #size-cells = <0>; + + /* FE part */ + ports@0 { + reg = <0>; + + #address-cells = <1>; + #size-cells = <0>; + /* + * [DPCM]::FE + * + * FE BE + * **** + * cpu2_0 <----@---* *------@---> codec2_0 (44.1kHz) + * cpu2_1 <----@---* * + * **** + */ + feA: port@0 { reg = <0>; feA_ep: endpoint { remote-endpoint = <&cpu2_0_ep>; }; }; + feB: port@1 { reg = <1>; feB_ep: endpoint { remote-endpoint = <&cpu2_1_ep>; }; }; + + /* + * [DPCM-Multi]::FE + * + * FE BE + * **** +-+ + * cpu2_2 <----@---* *------@---> | | -> codec2_1 + * cpu2_3 <----@---* * | | -> codec2_2 + * **** +-+ + */ + feC: port@2 { reg = <2>; feC_ep: endpoint { remote-endpoint = <&cpu2_2_ep>; }; }; + feD: port@3 { reg = <3>; feD_ep: endpoint { remote-endpoint = <&cpu2_3_ep>; }; }; + }; + + /* BE part */ + ports@1 { + reg = <1>; + + #address-cells = <1>; + #size-cells = <0>; + /* + * [DPCM]::BE + * + * FE BE + * **** + * cpu2_0 <----@---* *------@---> codec2_0 (44.1kHz) + * cpu2_1 <----@---* * + * **** + */ + beA: port@0 { reg = <0>; beA_ep: endpoint { remote-endpoint = <&codec2_0_ep>; }; }; + + /* + * [DPCM-Multi]::BE + * + * FE BE + * **** +-------+ + * cpu2_2 <----@---* *------@---> |mbe_x | -> codec2_1 + * cpu2_3 <----@---* * | | -> codec2_2 + * **** +-------+ + */ + beB: port@1 { reg = <1>; beB_ep: endpoint { remote-endpoint = <&mbe_x_ep>; }; }; + }; + }; + + codec2codec { + #address-cells = <1>; + #size-cells = <0>; + /* + * [Codec2Codec] + * + * + * +-@--> codec2_3 + * | + * +----> codec2_4 + */ + ports@0 { + reg = <0>; + + #address-cells = <1>; + #size-cells = <0>; + + /* use default settings */ + c2c: port@0 { reg = <0>; c2cf_ep: endpoint { remote-endpoint = <&codec2_3_ep>; }; }; + port@1 { reg = <1>; c2cb_ep: endpoint { remote-endpoint = <&codec2_4_ep>; }; }; + }; + + /* + * [Codec2Codec-Multi] + * + * c2cmf +--------+ + * +---@---------->|mc2c0X |-> codec2_5 + * | | |-> codec2_6 + * | +--------+ + * | c2cmb +--------+ + * +-------------->|mc2c1x |-> codec2_7 + * | |-> codec2_8 + * +--------+ + */ + ports@1 { + reg = <1>; + + #address-cells = <1>; + #size-cells = <0>; + + /* use original settings */ + rate = <48000>; + c2c_m: port@0 { reg = <0>; c2cmf_ep: endpoint { remote-endpoint = <&mc2c0X_ep>; }; }; + port@1 { reg = <1>; c2cmb_ep: endpoint { remote-endpoint = <&mc2c1x_ep>; }; }; + }; + }; + }; + + test_cpu_2 { + /* + * update compatible to indicate more detail behaviour + * if you want. see test-compatible for more detail. + * + * ex) + * - compatible = "test-cpu"; + * + compatible = "test-cpu-verbose"; + */ + compatible = "test-cpu"; + ports { + #address-cells = <1>; + #size-cells = <0>; + + bitclock-master; + frame-master; + + /* [DPCM]::FE */ + port@0 { reg = <0>; cpu2_0_ep: endpoint { remote-endpoint = <&feA_ep>; };}; + port@1 { reg = <1>; cpu2_1_ep: endpoint { remote-endpoint = <&feB_ep>; };}; + /* [DPCM-Multi]::FE */ + port@2 { reg = <2>; cpu2_2_ep: endpoint { remote-endpoint = <&feC_ep>; };}; + port@3 { reg = <3>; cpu2_3_ep: endpoint { remote-endpoint = <&feD_ep>; };}; + }; + }; + + test_codec_2 { + /* + * update compatible to indicate more detail behaviour + * if you want. see test-compatible for more detail. + * + * ex) + * - compatible = "test-codec"; + * + compatible = "test-codec-verbose"; + */ + compatible = "test-codec"; + ports { + #address-cells = <1>; + #size-cells = <0>; + + /* + * prefix can be added to *component*, + * see audio-graph-card2::routing + */ + prefix = "TC"; + + /* [DPCM]::BE */ + port@0 { + convert-rate = <44100>; + reg = <0>; codec2_0_ep: endpoint { remote-endpoint = <&beA_ep>; }; + }; + /* [DPCM-Multi]::BE */ + port@1 { reg = <1>; codec2_1_ep: endpoint { remote-endpoint = <&mbe_a_ep>; };}; + port@2 { reg = <2>; codec2_2_ep: endpoint { remote-endpoint = <&mbe_b_ep>; };}; + /* [Codec2Codec] */ + port@3 { bitclock-master; + frame-master; + reg = <3>; codec2_3_ep: endpoint { remote-endpoint = <&c2cf_ep>; };}; + port@4 { reg = <4>; codec2_4_ep: endpoint { remote-endpoint = <&c2cb_ep>; };}; + /* [Codec2Codec-Multi] */ + port@5 { bitclock-master; + frame-master; + reg = <5>; codec2_5_ep: endpoint { remote-endpoint = <&mc2c0A_ep>; };}; + port@6 { reg = <6>; codec2_6_ep: endpoint { remote-endpoint = <&mc2c0B_ep>; };}; + port@7 { reg = <7>; codec2_7_ep: endpoint { remote-endpoint = <&mc2c1a_ep>; };}; + port@8 { reg = <8>; codec2_8_ep: endpoint { remote-endpoint = <&mc2c1b_ep>; };}; + }; + }; +}; From patchwork Tue Feb 18 01:14:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 13978804 Received: from OS0P286CU011.outbound.protection.outlook.com (mail-japanwestazon11010001.outbound.protection.outlook.com [52.101.228.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BF4D61DFF0 for ; Tue, 18 Feb 2025 01:15:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.228.1 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739841303; cv=fail; b=gEKcoSZmGfhuFBTK5772vn5a8Vljh5gLtcLSh3Czg/1utQzAcURBw1Bp4DtocserSOzxDnyf13KGBla/CgdJmSaD9Y9p+Mo6rcjWkvFt6hv8wlI5ETZ38dSLggpvL15o1XhkjrPcVpBq8upGUwJtWfizsCZbz+tZo6ya38YIPL0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1739841303; c=relaxed/simple; bh=Wy4z/sx/r850WTrCzKA8/pNLDSVQB1A13N1D6HBYn0k=; h=Message-ID:From:Subject:To:Cc:In-Reply-To:References:Content-Type: Date:MIME-Version; b=M6ZzOZobQi8U0DD7r6NrwMD3kqB2seYAkyxE5XveuuVp45u3eR759NzlOaBpLDS/9ku1jyC2kKCSXfN1v/wsrAFFZFf/HrA9yXaT1ONWl2PgI6NuLes474041kieXNdte3sWVks4zPF2GJEwQ3EMgp0EvSOVX3mildW0nGeuy5k= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com; spf=pass smtp.mailfrom=renesas.com; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b=pHIq7uNU; arc=fail smtp.client-ip=52.101.228.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=renesas.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=renesas.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=renesas.com header.i=@renesas.com header.b="pHIq7uNU" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cx5vbMZIgIojPJYCPJMlQWTNE8DuI6B/NZMOG+tA/kiMuXW5FZl2TxsKRTHwuAUWNwwW+/aSXs2R9gZce7w7vykqOftnG8enmHauLDHt7jZAPhPYAC+f+IRSgX3v/7TEwC9qN4B/jRYf+mZOxMew7c+6e+pZCIL730nKBTmM2qsg+5Up49faflpajFD7uvOlqJnAot4XlA02uAP4Q9XN5BpBlujKO4N1AgmpC6U02bRA6sfdhvLPizOkNvMedPeWn4pORkqqK/Y7e88Ix9ES95RmevyWannr5LR0tnHTTluWjE3i/y+TodlNiXiJLRqBasp4Bh5Lb6nTc1pnGpJYfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=wWn1QJUs3D8pMO2MQIyAANEOGuPgEE5N62hItD5kpwQ=; b=wtsIL1w2DE3/FixcU27aYIBWTpAfIDsHZmoGLl6+TjWOTh5OKhtv9WZhodKZTzXM8bukPRX9ZIzqtz7K26RNGgKRMr/5VBr6l/2at9PofNRR4Asq6AQsEqyml0AuLYMHaGmKYxQnJzuJfoKnlhrmtLNHl7yzXerxBNe6dj4arVWxiqB55OnppI0QyzTa52/2urpFsRGwkDYnWaxgxMWoiWX8bwraJmfwaJeRufk1kzkFYf0YNv0rVkoc8gFQl1IBqQ0955mXpG7yAcXQIpBeRdhoC2ep8U5FqZZECPb7OLLabCZfZdph+oBRcfnwCZra/FSSaDZ8O2i5YqS64tLosg== 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=wWn1QJUs3D8pMO2MQIyAANEOGuPgEE5N62hItD5kpwQ=; b=pHIq7uNUpnE3gZNYyJCN9dTLWRf69RTK2IdOOlw+ob0NzPvNa+matb3X/NZPtRUoC1ufWpZSae/tm8Z5ijAP+uTsk5J2qnj6X1dD/44SPtEJwT0j/eU1VGlLdRVVRZmWONOGRaOUNQQzQ4EyTWp3P3qZibjtDG7NRhsx5Wc3Hp0= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=renesas.com; Received: from TY3PR01MB10906.jpnprd01.prod.outlook.com (2603:1096:400:3af::14) by TYCPR01MB5934.jpnprd01.prod.outlook.com (2603:1096:400:40::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.20; Tue, 18 Feb 2025 01:14:58 +0000 Received: from TY3PR01MB10906.jpnprd01.prod.outlook.com ([fe80::592:9b7b:ef57:2dd8]) by TY3PR01MB10906.jpnprd01.prod.outlook.com ([fe80::592:9b7b:ef57:2dd8%4]) with mapi id 15.20.8445.017; Tue, 18 Feb 2025 01:14:58 +0000 Message-ID: <87tt8s9hpp.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto Subject: [PATCH 3/3] ASoC: audio-graph-card2-custom-sample.dtsi: remove original sample User-Agent: Wanderlust/2.15.9 Emacs/29.3 Mule/6.0 To: Mark Brown Cc: linux-sound@vger.kernel.org In-Reply-To: <87y0y49hqe.wl-kuninori.morimoto.gx@renesas.com> References: <87y0y49hqe.wl-kuninori.morimoto.gx@renesas.com> Date: Tue, 18 Feb 2025 01:14:58 +0000 X-ClientProxiedBy: TYAPR01CA0079.jpnprd01.prod.outlook.com (2603:1096:404:2c::19) To TY3PR01MB10906.jpnprd01.prod.outlook.com (2603:1096:400:3af::14) Precedence: bulk X-Mailing-List: linux-sound@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TY3PR01MB10906:EE_|TYCPR01MB5934:EE_ X-MS-Office365-Filtering-Correlation-Id: 9f8fd926-e6f4-4c98-8b92-08dd4fb9a978 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: OzvWmntz0tvUoy4y0ZBXh6g75WRyBNvRO9qzZhuqjoJhOm6/328jQj8221dtnXy8jjhaByRp4AHuWIZbrErcF2oGjJy6ukbwfzndttGn1PGOLaXTFutAFeVMybYMUkdU+MT+d/7tQPWzaTPLuXWQH2kAyhx1iiM9DkJpAI6KaAwADC4OFqciE2QKaisgosFDnDeVvAIVd1Vigkn+YXWC/k1zylh4u7xOGGZMttOZ3ctAh00NwRImK9kgn1YozWixn166yTGSEqJCCb8K2l+2hiovmR6/MrXX3JoSYGQw/AYnunV/no7Nf9a13GnVygarESvklH7Gn3oz1FEOaYg8Sq5U/SjW3NK7djcFrUKYgkcf/8llgjNiFPl4JSG1Tinju8I/LFLRO3x5I5hVjhlHEdl2Cu4tugj8TsWLzQd7emXY0aIsPW9NSTMrPD67R+ezxbMaVIOz1W1Cikb6dTJl3TFmK6x04BG0+qaGUPF/Zvp0g9PI7JjZzJip9ULiEPRtubW2NoYjng+hWY3O/I5p6oW9S8hl9Blnu9x3/j60kIQk/JUAAtgUJA5jwDD02vlm2IgEfOUa/aJN4vu97EXJApljcAFER0C1SbjBcJOLGfoZaJkx3N4PxJBVQHlBba5wqt9oHLiLAV4yRJtu8Us+bs6yU2fqEBn3cAahbH5iXbBxaf0WVGUt2/xYIYe+d4dOlg2CHRNHqvDrbpL+x5PuRCN7CbWXKJO+GzUEZTzEvf8e3cspTE8Uen6t5psltKcf+vN7MkCsxyFS+CFbNoQ6aeKy2KHsR2hf75p5pwu+jHHsSTK4z/BSpeM5HP+r/7pGkmSUO7o67jnhAJtCMSRXPxHTAvhYmIdiDHHYDZ14FBYty4rEysUDLNI9MDaSCfWM6w4RsjlHSs8eSEbhnCH5bYd+8kWGdCDWgiGMLjxJF028unWki/6pUWZG0wUZfN8YyTlLSZiWhHdQ+yRcsN1kkGpYtzoWkg8a8C9KlyrxpTxmkAnGHCaNBKh7dm5MU9C+wYrQuwVcGbgdtCr/ZTW31cHbNty5ZDVvU4XyixqITuKFuADPRM/90i/a7XdFMZAPlMVu5f6/r09y6hx8ucWux7PT+xGQSm6bwV+WYwsxx31bB0/SVzO9+HI/SoZsjzAZAzUSauOpTl6qk7SSiGt5BO7n5U1sqYJY+EFXmfAskOjwa41UmXfrIbVxSd+ojptArZE9efLY/23w/zdYWu2LrL+BumKLceHE3SKMbrqZ7hBHi4nsm26Z5B/kVlKAW3FSRq3abXVfW7dnhydO1xNcPOMK8/n9sqwrn1zT98IORp0qDH7Mbs73M/kAWC+BE+wiRlGNeSzfhYSKtb2+EPC5E87NuUhBc7vk+oD/i6pX3ojQlSaF7Ag1pqaaqFOkxB9VVdvT4NGIuKtfC5ltcF8FWq5QSh28tG7Uy+h9vrA67JC71ObLxWbgk5+W5AoWJVo1 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TY3PR01MB10906.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: p3IHWT8kossbQsHQazj2Ac1X3Vpe/TO6CA77shjW0YDLQMseTC4tASF6DgOJdO+wkjlGJBDYbMXrnfNpKqjL9NzBqUCH9dpYNFIeuiqRXYH67ckb0xuEFYJ7xOhVKTHWqkZOl93SSVr4iYDa/M0nexRLpTx3f1boUrGC+di4kPpdlRHPTxFSBxeraWvMK/VLqrisFwi0hInMoV/diya8b9FcStXipuX8iQVAb2om/8FRc+2dFgLreoL/IWY+8EXIR1mgrbNIyUW2ICIHVYXKLuxripJLH7I/zKAYHHUfrZKe3J2vTyE5eD+Rl+0vgDhipty96p+aAP6m5B9EbQaUiU6jZsJzJRdh61/dcLgAroVhg7sno+N3KwaShhe29ZooTCyAhxE5z9HsAvQYkZN2/UzWtAiwmqclAfygADuoWWsZT9mGTkJ4RdICPtH15VqHPmLBWc/qkk4G/zdsaEeEfO6YdwJO6Qcr0KYzuYt9HJsy9MAJF0dPtyGADe/vct33VxL12jMuTuSnvVGJJAoe7G6vpomrRYSpCHvYjoM1CCLqZMU5c5egTMz5v6l3ullnWjzpcNFUbyHdZewGwO4FiWZQFTI/0vLXpZo6dfsjRPLxUkNJTaB10pxq/ytYfiA2d8ENauClcDJm9Cjvu7HhjssETsplqmi4uS9kvG/tiqQ4MSJXlBYEV8AHbNCgLEFeLDfeZjfYaz14zmVRbh8N07IWLQMPZgtyoESv2z+W4mXa1d41MqOJl0vyIkPfrmaMAaI8+NsoOlMrTVE8pAxM0kNMPJH80/xCQ3LYV4BJlTRqtYiKqF02nhCvH0WrxUQ/8ZshkQKHwvHlYFJm1AHP0BVsxk5bO73hP3xyAqn69YU8aTnBRPV0GT5iebax7gays1iW33GRi+B0vHvJO4QMB0Qsesd4jQHx/l7ACuS+9ZiTa3MGtXmWPEmtJKv+eJHvR9oH8MWweC7TR0pPtqHfVizgqZWXVQJmlzklgXhahS7ONfanvJYa4kJ5IWhpcHc2uW0uh0Mj3ahv1twvyHGdLiuHaGL+AfmvVPWvgtMXojTA9M8O/eWYcgbC9HEk8GkMJD2w018KqXUj/M2939vPB3xtJ9H8r/+w7b6chrXHDWAEiRrFHzHwQkrlNKgFED9pI9WqilUNPirhFXpoHG6HyhDH8LMLyZzlUQDsQa0P4zFpIWBJE8dldZgp6KcWgS0zprYyCIf3GW+ZQI9mEofy6PofFhkBl1wXlKjPttIr/j11MyI4GCQg9rt/yQmATfGIwufQTsGE0pTtY3KwOe9PEI005gKOcPs+L4aXy4miACMNMd/JVOz5pU5Pvl37QH1aOK+Fu5eJ92oSBTb7WtM2bKtotdjj6RDgOy+bdNSfhHO+17r/5XDnKg6DPQp9a4iI5QI0SZjYKbefvNAU7X4/Z2dsSq2L//3f9j3oN1Pw81Jez4cGxJNUyHKeY/qBMyXY2LBexhm/PJcFOi6JI+9mPGHrskNzes3nmLhtV1CC2y1X94hNXCnt4raEUQxY1NKUnIu1ltKBCmP+aD9t0Kz400/oKhYWVisXuVUBHaRflk4un/K4mKmyvK+wGoyVyBVFInbNf+jNa11sYu3p9F0QRjqQ/C+pRf7qV2KMd1XpLTE= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9f8fd926-e6f4-4c98-8b92-08dd4fb9a978 X-MS-Exchange-CrossTenant-AuthSource: TY3PR01MB10906.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Feb 2025 01:14:58.8378 (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: Hprw+6BMoq/rfwwfx2yBlmJiekIlZdr00CiIFnfQvSgebG5POV550elb952+9Kj113qqsL0/F+NNwdGE+47/dYmKsJpOb4n1gddGa6uSkjmH6RTkbFzfFn1oZXSFEP6F X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB5934 audio-graph-card2-custom-sample has many sample connections, but because ALSA card has number limition for links, it is impossible to have all samples into 1 ASoC card. The sample is separated into 2 samples. Remove original sample. Signed-off-by: Kuninori Morimoto --- .../audio-graph-card2-custom-sample.dtsi | 702 ------------------ 1 file changed, 702 deletions(-) delete mode 100644 sound/soc/generic/audio-graph-card2-custom-sample.dtsi diff --git a/sound/soc/generic/audio-graph-card2-custom-sample.dtsi b/sound/soc/generic/audio-graph-card2-custom-sample.dtsi deleted file mode 100644 index 9efd31206c9b3..0000000000000 --- a/sound/soc/generic/audio-graph-card2-custom-sample.dtsi +++ /dev/null @@ -1,702 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * audio-graph-card2-custom-sample.dtsi - * - * Copyright (C) 2020 Renesas Electronics Corp. - * Copyright (C) 2020 Kuninori Morimoto - * - * This sample indicates how to use audio-graph-card2 and its - * custom driver. "audio-graph-card2-custom-sample" is the custome driver - * which is using audio-graph-card2. - * - * You can easily use this sample by adding below line on your DT file, - * and add new CONFIG to your .config. - * - * #include "../../../../../sound/soc/generic/audio-graph-card2-custom-sample.dtsi" - * - * CONFIG_SND_AUDIO_GRAPH_CARD2 - * CONFIG_SND_AUDIO_GRAPH_CARD2_CUSTOM_SAMPLE - * CONFIG_SND_TEST_COMPONENT - * - * - * You can indicate more detail each device behavior as debug if you modify - * "compatible" on each test-component. see below - * - * test_cpu { - * - compatible = "test-cpu"; - * + compatible = "test-cpu-verbose"; - * ... - * }; - * - * test_codec { - * - compatible = "test-codec"; - * + compatible = "test-codec-verbose"; - * ... - * }; - * - * - * Below sample doesn't use "format" property, - * because test-component driver (test-cpu/test-codec) is supporting - * snd_soc_dai_ops :: .auto_selectable_formats. - * see - * snd_soc_runtime_get_dai_fmt() - * linux/sound/soc/generic/test-component.c :: test_dai_formats - */ -/ { - /* - * @ : used at links - * - * [Normal] - * cpu0 <-@-----------------> codec0 - * - * [Semi-Multi] - * - * CPU:Codec = 1:N - * - * +-+ - * cpu7 <-@------->| |-> codec12 - * | |-> codec13 - * +-+ - * - * [Multi-CPU/Codec-0] - * +-+ +-+ - * cpu1 <--| |<-@--------->| |-> codec1 - * cpu2 <--| | | |-> codec2 - * +-+ +-+ - * - * [Multi-CPU/Codec-1] - * - * +-+ +-+ - * | |<-@--------->| | - * | | | | - * cpu8 <--| |<----------->| |-> codec14 - * cpu9 <--| |<---+------->| |-> codec15 - * +-+ \------>| |-> codec16 - * +-+ - * - * [Multi-CPU/Codec-2] - * - * +-+ +-+ - * | |<-@--------->| | - * | | | | - * cpu10 <-| |<----------->| |-> codec17 - * cpu11 <-| |<-----+----->| |-> codec18 - * cpu12 <-| |<----/ +-+ - * +-+ - * - * [DPCM] - * - * CPU3/CPU4 are converting rate to 44100 - * - * FE BE - * **** - * cpu3 <-@--* *--@-> codec3 - * cpu4 <-@--* * (44.1kHz) - * **** - * - * [DPCM-Multi] - * - * --NOTE-- - * Multi-FE is not supported by ASoC. - * - * FE BE - * **** +-+ - * cpu5 <-@--* *--@-> | | -> codec4 - * cpu6 <-@--* * | | -> codec5 - * **** +-+ - * - * [Codec2Codec] - * +-@-> codec6 - * | - * +---> codec7 - * - * [Codec2Codec-Multi] - * - * --NOTE-- - * Multi connect N:M is not supported by ASoC. - * - * +-+ - * +-@->| |-> codec8 - * | | |-> codec9 - * | +-+ - * | +-+ - * +--->| |-> codec10 - * | |-> codec11 - * +-+ - */ - audio-graph-card2-custom-sample { - /* - * You can use audio-graph-card2 directly by using - * - * compatible = "audio-graph-card2"; - */ - compatible = "audio-graph-card2-custom-sample"; - - /* for [DPCM] */ - /* BE FE */ - routing = "TC DAI3 Playback", "DAI3 Playback", - "TC DAI3 Playback", "DAI4 Playback", - "DAI3 Capture", "TC DAI3 Capture", - "DAI4 Capture", "TC DAI3 Capture", - /* for [DPCM-Multi] */ - /* BE FE */ - "TC DAI4 Playback", "DAI5 Playback", - "TC DAI5 Playback", "DAI5 Playback", - "TC DAI4 Playback", "DAI6 Playback", - "TC DAI5 Playback", "DAI6 Playback", - "DAI5 Capture", "TC DAI4 Capture", - "DAI5 Capture", "TC DAI5 Capture", - "DAI6 Capture", "TC DAI4 Capture", - "DAI6 Capture", "TC DAI5 Capture", - /* for [Codec2Codec] */ - "TC OUT", "TC DAI7 Playback", - "TC DAI6 Capture", "TC IN", - /* for [Codec2Codec-Multi] */ - "TC OUT", "TC DAI10 Playback", - "TC DAI8 Capture", "TC IN", - "TC OUT", "TC DAI11 Playback", - "TC DAI9 Capture", "TC IN"; - - links = < - /* - * [Normal]: cpu side only - * cpu0/codec0 - */ - &cpu0 - - /* - * [Semi-Multi] - * cpu7/codec12/codec13 - */ - &sm0 - - /* - * [Multi-CPU/Codec-0]: cpu side only - * cpu1/cpu2/codec1/codec2 - */ - &mcpu0 - - /* - * [Multi-CPU/Codec-1]: cpu side only - * cpu8/cpu9/codec14/codec15/codec16 - * - * Because it will reach to the maximum of sound minor number, - * disable it so far. - * If you want to try it, please disable some other one instead. - */ - //&mcpu1 - - /* - * [Multi-CPU/Codec-2]: cpu side only - * cpu10/cpu11/cpu12/codec17/codec18 - * - * Because it will reach to the maximum of sound minor number, - * disable it so far. - * If you want to try it, please disable some other one instead. - */ - //&mcpu2 - - /* - * [DPCM]: both FE / BE - * cpu3/cpu4/codec3 - */ - &fe00 &fe01 &be0 - - /* - * [DPCM-Multi]: both FE / BE - * cpu5/cpu6/codec4/codec5 - */ - &fe10 &fe11 &be1 - - /* - * [Codec2Codec]: cpu side only - * codec6/codec7 - */ - &c2c - - /* - * [Codec2Codec-Multi]: cpu side only - * codec8/codec9/codec10/codec11 - */ - &c2c_m - >; - - multi { - #address-cells = <1>; - #size-cells = <0>; - - /* - * [Multi-CPU-0] - * - * +---+ +---+ - * cpu1 <--|A X|<-@------->|x a|-> codec1 - * cpu2 <--|B | | b|-> codec2 - * +---+ +---+ - */ - ports@0 { - reg = <0>; - #address-cells = <1>; - #size-cells = <0>; - mcpu0: port@0 { reg = <0>; mcpu00_ep: endpoint { remote-endpoint = <&mcodec00_ep>; };};/* (X) to pair */ - port@1 { reg = <1>; mcpu01_ep: endpoint { remote-endpoint = <&cpu1_ep>; };};/* (A) Multi Element */ - port@2 { reg = <2>; mcpu02_ep: endpoint { remote-endpoint = <&cpu2_ep>; };};/* (B) Multi Element */ - }; - - /* - * [Multi-Codec-0] - * - * +---+ +---+ - * cpu1 <--|A X|<-@------->|x a|-> codec1 - * cpu2 <--|B | | b|-> codec2 - * +---+ +---+ - */ - ports@1 { - reg = <1>; - #address-cells = <1>; - #size-cells = <0>; - port@0 { reg = <0>; mcodec00_ep: endpoint { remote-endpoint = <&mcpu00_ep>; };};/* (x) to pair */ - port@1 { reg = <1>; mcodec01_ep: endpoint { remote-endpoint = <&codec1_ep>; };};/* (a) Multi Element */ - port@2 { reg = <2>; mcodec02_ep: endpoint { remote-endpoint = <&codec2_ep>; };};/* (b) Multi Element */ - }; - - /* - * [DPCM-Multi]::BE - * - * FE BE - * **** +---+ - * cpu5 <-@--* *-----@--->|x a|-> codec4 - * cpu6 <-@--* * | b|-> codec5 - * **** +---+ - */ - ports@2 { - reg = <2>; - #address-cells = <1>; - #size-cells = <0>; - port@0 { reg = <0>; mbe_ep: endpoint { remote-endpoint = <&be10_ep>; };};/* (x) to pair */ - port@1 { reg = <1>; mbe1_ep: endpoint { remote-endpoint = <&codec4_ep>; };};/* (a) Multi Element */ - port@2 { reg = <2>; mbe2_ep: endpoint { remote-endpoint = <&codec5_ep>; };};/* (b) Multi Element */ - }; - - /* - * [Codec2Codec-Multi]::CPU - * - * +---+ - * +-@->|X A|-> codec8 - * | | B|-> codec9 - * | +---+ - * | +---+ - * +--->|x a|-> codec10 - * | b|-> codec11 - * +---+ - */ - ports@3 { - reg = <3>; - #address-cells = <1>; - #size-cells = <0>; - port@0 { reg = <0>; mc2c0_ep: endpoint { remote-endpoint = <&c2cmf_ep>; };};/* (X) to pair */ - port@1 { reg = <1>; mc2c00_ep: endpoint { remote-endpoint = <&codec8_ep>; };};/* (A) Multi Element */ - port@2 { reg = <2>; mc2c01_ep: endpoint { remote-endpoint = <&codec9_ep>; };};/* (B) Multi Element */ - }; - - /* - * [Codec2Codec-Multi]::Codec - * - * +---+ - * +-@->|X A|-> codec8 - * | | B|-> codec9 - * | +---+ - * | +---+ - * +--->|x a|-> codec10 - * | b|-> codec11 - * +---+ - */ - ports@4 { - reg = <4>; - #address-cells = <1>; - #size-cells = <0>; - port@0 { reg = <0>; mc2c1_ep: endpoint { remote-endpoint = <&c2cmb_ep>; };};/* (x) to pair */ - port@1 { reg = <1>; mc2c10_ep: endpoint { remote-endpoint = <&codec10_ep>; };};/* (a) Multi Element */ - port@2 { reg = <2>; mc2c11_ep: endpoint { remote-endpoint = <&codec11_ep>; };};/* (b) Multi Element */ - }; - - /* - * [Semi-Multi] - * - * +---+ - * cpu7 <-@------->|X A|-> codec12 - * | B|-> codec13 - * +---+ - */ - ports@5 { - reg = <5>; - #address-cells = <1>; - #size-cells = <0>; - port@0 { reg = <0>; smcodec0_ep: endpoint { remote-endpoint = <&cpu7_ep>; };};/* (X) to pair */ - port@1 { reg = <1>; smcodec1_ep: endpoint { remote-endpoint = <&codec12_ep>; };};/* (A) Multi Element */ - port@2 { reg = <2>; smcodec2_ep: endpoint { remote-endpoint = <&codec13_ep>; };};/* (B) Multi Element */ - }; - - /* - * [Multi-CPU-1] - * - * +---+ +---+ - * | X|<-@------->|x | - * | | | | - * cpu8 <--|A 1|<--------->|3 a|-> codec14 - * cpu9 <--|B 2|<---+----->|4 b|-> codec15 - * +---+ \---->|5 c|-> codec16 - * +---+ - */ - ports@6 { - reg = <6>; - #address-cells = <1>; - #size-cells = <0>; - mcpu1: port@0 { reg = <0>; mcpu10_ep: endpoint { remote-endpoint = <&mcodec10_ep>; };}; /* (X) to pair */ - port@1 { - #address-cells = <1>; - #size-cells = <0>; - reg = <1>; - mcpu11_ep: endpoint@0 { reg = <0>; remote-endpoint = <&cpu8_ep>; }; /* (A) Multi Element */ - mcpu11_ep_0: endpoint@1 { reg = <1>; remote-endpoint = <&mcodec11_ep_0>; }; /* (1) connected Codec */ - }; - port@2 { - #address-cells = <1>; - #size-cells = <0>; - reg = <2>; - mcpu12_ep: endpoint@0 { reg = <0>; remote-endpoint = <&cpu9_ep>; }; /* (B) Multi Element */ - mcpu12_ep_0: endpoint@1 { reg = <1>; remote-endpoint = <&mcodec12_ep_0>; }; /* (2) connected Codec */ - mcpu12_ep_1: endpoint@2 { reg = <2>; remote-endpoint = <&mcodec13_ep_0>; }; /* (2) connected Codec */ - }; - }; - - /* - * [Multi-Codec-1] - * - * +---+ +---+ - * | X|<-@------->|x | - * | | | | - * cpu8 <--|A 1|<--------->|3 a|-> codec14 - * cpu9 <--|B 2|<---+----->|4 b|-> codec15 - * +---+ \---->|5 c|-> codec16 - * +---+ - */ - ports@7 { - reg = <7>; - #address-cells = <1>; - #size-cells = <0>; - port@0 { reg = <0>; mcodec10_ep: endpoint { remote-endpoint = <&mcpu10_ep>; };}; /* (x) to pair */ - port@1 { - #address-cells = <1>; - #size-cells = <0>; - reg = <1>; - mcodec11_ep: endpoint@0 { reg = <0>; remote-endpoint = <&codec14_ep>; }; /* (a) Multi Element */ - mcodec11_ep_0: endpoint@1 { reg = <1>; remote-endpoint = <&mcpu11_ep_0>; }; /* (3) connected CPU */ - }; - port@2 { - #address-cells = <1>; - #size-cells = <0>; - reg = <2>; - mcodec12_ep: endpoint@0 { reg = <0>; remote-endpoint = <&codec15_ep>; }; /* (b) Multi Element */ - mcodec12_ep_0: endpoint@1 { reg = <1>; remote-endpoint = <&mcpu12_ep_0>; }; /* (4) connected CPU */ - }; - port@3 { - #address-cells = <1>; - #size-cells = <0>; - reg = <3>; - mcodec13_ep: endpoint@0 { reg = <0>; remote-endpoint = <&codec16_ep>; }; /* (c) Multi Element */ - mcodec13_ep_0: endpoint@1 { reg = <1>; remote-endpoint = <&mcpu12_ep_1>; }; /* (5) connected CPU */ - }; - }; - - /* - * [Multi-CPU-2] - * - * +---+ +---+ - * | X|<-@------->|x | - * | | | | - * cpu10 <-|A 1|<--------->|4 a|-> codec17 - * cpu11 <-|B 2|<-----+--->|5 b|-> codec18 - * cpu12 <-|C 3|<----/ +---+ - * +---+ - */ - ports@8 { - reg = <8>; - #address-cells = <1>; - #size-cells = <0>; - mcpu2: port@0 { reg = <0>; mcpu20_ep: endpoint { remote-endpoint = <&mcodec20_ep>; };}; /* (X) to pair */ - port@1 { - #address-cells = <1>; - #size-cells = <0>; - reg = <1>; - mcpu21_ep: endpoint@0 { reg = <0>; remote-endpoint = <&cpu10_ep>; }; /* (A) Multi Element */ - mcpu21_ep_0: endpoint@1 { reg = <1>; remote-endpoint = <&mcodec21_ep_0>; }; /* (1) connected Codec */ - }; - port@2 { - #address-cells = <1>; - #size-cells = <0>; - reg = <2>; - mcpu22_ep: endpoint@0 { reg = <0>; remote-endpoint = <&cpu11_ep>; }; /* (B) Multi Element */ - mcpu22_ep_0: endpoint@1 { reg = <1>; remote-endpoint = <&mcodec22_ep_0>; }; /* (2) connected Codec */ - }; - port@3 { - #address-cells = <1>; - #size-cells = <0>; - reg = <3>; - mcpu23_ep: endpoint@0 { reg = <0>; remote-endpoint = <&cpu12_ep>; }; /* (C) Multi Element */ - mcpu23_ep_0: endpoint@1 { reg = <1>; remote-endpoint = <&mcodec22_ep_1>; }; /* (3) connected Codec */ - }; - }; - - /* - * [Multi-Codec-2] - * - * +---+ +---+ - * | X|<-@------->|x | - * | | | | - * cpu10 <-|A 1|<--------->|4 a|-> codec17 - * cpu11 <-|B 2|<-----+--->|5 b|-> codec18 - * cpu12 <-|C 3|<----/ +---+ - * +---+ - */ - ports@9 { - reg = <9>; - #address-cells = <1>; - #size-cells = <0>; - port@0 { reg = <0>; mcodec20_ep: endpoint { remote-endpoint = <&mcpu20_ep>; };}; /* (x) to pair */ - port@1 { - #address-cells = <1>; - #size-cells = <0>; - reg = <1>; - mcodec21_ep: endpoint@0 { reg = <0>; remote-endpoint = <&codec17_ep>; }; /* (a) Multi Element */ - mcodec21_ep_0: endpoint@1 { reg = <1>; remote-endpoint = <&mcpu21_ep_0>; }; /* (4) connected CPU */ - }; - port@2 { - #address-cells = <1>; - #size-cells = <0>; - reg = <2>; - mcodec22_ep: endpoint@0 { reg = <0>; remote-endpoint = <&codec18_ep>; }; /* (b) Multi Element */ - mcodec22_ep_0: endpoint@1 { reg = <1>; remote-endpoint = <&mcpu22_ep_0>; }; /* (5) connected CPU */ - mcodec22_ep_1: endpoint@2 { reg = <2>; remote-endpoint = <&mcpu23_ep_0>; }; /* (5) connected CPU */ - }; - }; - }; - - dpcm { - #address-cells = <1>; - #size-cells = <0>; - - ports@0 { - reg = <0>; - - #address-cells = <1>; - #size-cells = <0>; - /* - * [DPCM]::FE - * - * FE BE - * **** - * cpu3 <-@(fe00)--* *--(be0)@--> codec3 - * cpu4 <-@(fe01)--* * (44.1kHz) - * **** - */ - fe00: port@0 { reg = <0>; fe00_ep: endpoint { remote-endpoint = <&cpu3_ep>; }; }; - fe01: port@1 { reg = <1>; fe01_ep: endpoint { remote-endpoint = <&cpu4_ep>; }; }; - - /* - * [DPCM-Multi]::FE - * - * FE BE - * **** +-+ - * cpu5 <-@(fe10)--* *---(be1)@-->| |-> codec4 - * cpu6 <-@(fe11)--* * | |-> codec5 - * **** +-+ - */ - fe10: port@2 { reg = <2>; fe10_ep: endpoint { remote-endpoint = <&cpu5_ep>; }; }; - fe11: port@3 { reg = <3>; fe11_ep: endpoint { remote-endpoint = <&cpu6_ep>; }; }; - }; - - ports@1 { - reg = <1>; - - #address-cells = <1>; - #size-cells = <0>; - /* - * [DPCM]::BE - * - * FE BE - * **** - * cpu3 <-@(fe00)--* *--(be0)@--> codec3 - * cpu4 <-@(fe01)--* * (44.1kHz) - * **** - */ - be0: port@0 { reg = <0>; be00_ep: endpoint { remote-endpoint = <&codec3_ep>; }; }; - - /* - * [DPCM-Multi]::BE - * - * FE BE - * **** +-+ - * cpu5 <-@(fe10)--* *---(be1)@-->| |-> codec4 - * cpu6 <-@(fe11)--* * | |-> codec5 - * **** +-+ - */ - be1: port@1 { reg = <1>; be10_ep: endpoint { remote-endpoint = <&mbe_ep>; }; }; - }; - }; - - codec2codec { - #address-cells = <1>; - #size-cells = <0>; - /* - * [Codec2Codec] - * - * +-@(c2c)-> codec6 - * | - * +--------> codec7 - */ - ports@0 { - reg = <0>; - - #address-cells = <1>; - #size-cells = <0>; - - /* use default settings */ - c2c: port@0 { reg = <0>; c2cf_ep: endpoint { remote-endpoint = <&codec6_ep>; }; }; - port@1 { reg = <1>; c2cb_ep: endpoint { remote-endpoint = <&codec7_ep>; }; }; - }; - - /* - * [Codec2Codec-Multi] - * - * +-+ - * +-@(c2c_m)-->| |-> codec8 - * | | |-> codec9 - * | +-+ - * | +-+ - * +----------->| |-> codec10 - * | |-> codec11 - * +-+ - */ - ports@1 { - reg = <1>; - - #address-cells = <1>; - #size-cells = <0>; - - /* use original settings */ - rate = <48000>; - c2c_m: port@0 { reg = <0>; c2cmf_ep: endpoint { remote-endpoint = <&mc2c0_ep>; }; }; - port@1 { reg = <1>; c2cmb_ep: endpoint { remote-endpoint = <&mc2c1_ep>; }; }; - }; - }; - }; - - test_cpu { - /* - * update compatible to indicate more detail behaviour - * if you want. see test-compatible for more detail. - * - * ex) - * - compatible = "test-cpu"; - * + compatible = "test-cpu-verbose"; - */ - compatible = "test-cpu"; - ports { - #address-cells = <1>; - #size-cells = <0>; - - bitclock-master; - frame-master; - /* [Normal] */ - cpu0: port@0 { reg = <0>; cpu0_ep: endpoint { remote-endpoint = <&codec0_ep>; }; }; - - /* [Multi-CPU-0] */ - port@1 { reg = <1>; cpu1_ep: endpoint { remote-endpoint = <&mcpu01_ep>; }; }; - port@2 { reg = <2>; cpu2_ep: endpoint { remote-endpoint = <&mcpu02_ep>; }; }; - - /* [DPCM]::FE */ - port@3 { reg = <3>; cpu3_ep: endpoint { remote-endpoint = <&fe00_ep>; }; }; - port@4 { reg = <4>; cpu4_ep: endpoint { remote-endpoint = <&fe01_ep>; }; }; - - /* [DPCM-Multi]::FE */ - port@5 { reg = <5>; cpu5_ep: endpoint { remote-endpoint = <&fe10_ep>; }; }; - port@6 { reg = <6>; cpu6_ep: endpoint { remote-endpoint = <&fe11_ep>; }; }; - - /* [Semi-Multi] */ - sm0: port@7 { reg = <7>; cpu7_ep: endpoint { remote-endpoint = <&smcodec0_ep>; }; }; - - /* [Multi-CPU-1] */ - port@8 { reg = <8>; cpu8_ep: endpoint { remote-endpoint = <&mcpu11_ep>; }; }; - port@9 { reg = <9>; cpu9_ep: endpoint { remote-endpoint = <&mcpu12_ep>; }; }; - /* [Multi-CPU-2] */ - port@a { reg = <10>; cpu10_ep: endpoint { remote-endpoint = <&mcpu21_ep>; }; }; - port@b { reg = <11>; cpu11_ep: endpoint { remote-endpoint = <&mcpu22_ep>; }; }; - port@c { reg = <12>; cpu12_ep: endpoint { remote-endpoint = <&mcpu23_ep>; }; }; - }; - }; - - test_codec { - /* - * update compatible to indicate more detail behaviour - * if you want. see test-compatible for more detail. - * - * ex) - * - compatible = "test-codec"; - * + compatible = "test-codec-verbose"; - */ - compatible = "test-codec"; - ports { - #address-cells = <1>; - #size-cells = <0>; - - /* - * prefix can be added to *component*, - * see audio-graph-card2::routing - */ - prefix = "TC"; - - /* [Normal] */ - port@0 { reg = <0>; codec0_ep: endpoint { remote-endpoint = <&cpu0_ep>; }; }; - - /* [Multi-Codec-0] */ - port@1 { reg = <1>; codec1_ep: endpoint { remote-endpoint = <&mcodec01_ep>; }; }; - port@2 { reg = <2>; codec2_ep: endpoint { remote-endpoint = <&mcodec02_ep>; }; }; - - /* [DPCM]::BE */ - port@3 { - convert-rate = <44100>; - reg = <3>; codec3_ep: endpoint { remote-endpoint = <&be00_ep>; }; - }; - - /* [DPCM-Multi]::BE */ - port@4 { reg = <4>; codec4_ep: endpoint { remote-endpoint = <&mbe1_ep>; }; }; - port@5 { reg = <5>; codec5_ep: endpoint { remote-endpoint = <&mbe2_ep>; }; }; - - /* [Codec2Codec] */ - port@6 { bitclock-master; - frame-master; - reg = <6>; codec6_ep: endpoint { remote-endpoint = <&c2cf_ep>; }; }; - port@7 { reg = <7>; codec7_ep: endpoint { remote-endpoint = <&c2cb_ep>; }; }; - - /* [Codec2Codec-Multi] */ - port@8 { bitclock-master; - frame-master; - reg = <8>; codec8_ep: endpoint { remote-endpoint = <&mc2c00_ep>; }; }; - port@9 { reg = <9>; codec9_ep: endpoint { remote-endpoint = <&mc2c01_ep>; }; }; - port@a { reg = <10>; codec10_ep: endpoint { remote-endpoint = <&mc2c10_ep>; }; }; - port@b { reg = <11>; codec11_ep: endpoint { remote-endpoint = <&mc2c11_ep>; }; }; - - /* [Semi-Multi] */ - port@c { reg = <12>; codec12_ep: endpoint { remote-endpoint = <&smcodec1_ep>; }; }; - port@d { reg = <13>; codec13_ep: endpoint { remote-endpoint = <&smcodec2_ep>; }; }; - - /* [Multi-Codec-1] */ - port@e { reg = <14>; codec14_ep: endpoint { remote-endpoint = <&mcodec11_ep>; }; }; - port@f { reg = <15>; codec15_ep: endpoint { remote-endpoint = <&mcodec12_ep>; }; }; - port@10 { reg = <16>; codec16_ep: endpoint { remote-endpoint = <&mcodec13_ep>; }; }; - /* [Multi-Codec-2] */ - port@11 { reg = <17>; codec17_ep: endpoint { remote-endpoint = <&mcodec21_ep>; }; }; - port@12 { reg = <18>; codec18_ep: endpoint { remote-endpoint = <&mcodec22_ep>; }; }; - }; - }; -};