From patchwork Mon Apr 22 19:50:04 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Li X-Patchwork-Id: 13638888 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2048.outbound.protection.outlook.com [40.107.21.48]) (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 375A7155398 for ; Mon, 22 Apr 2024 19:50:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.21.48 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713815427; cv=fail; b=Qt+IUnWM1N7HeIzb8ZwR/EBwXPigyQNuoPdo8gS9fywLPOsPsHJnxFOY1uMgypYiLfFN89SFPG5WhWTSaZErN7QWRWutIChsjtQpePfOg7So9nk3LZ9eWtKsYVJkqGH8LPdclS9Cy6NA+Qktffy/41mF+dfGd3PiTUKVcKONk24= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713815427; c=relaxed/simple; bh=74WRf2hZ01bpNrBc57wX17mWK358KdyRuKdmddDwo0c=; h=From:Date:Subject:Content-Type:Message-Id:References:In-Reply-To: To:Cc:MIME-Version; b=YGUbsXi3l3N0X079ouYM4+DCuzPVLKOocQTopYo8Ye9zC8bLFCC3SOvZC97IQ2x9rRRAVOytx6WGNqOe1q2wBSqXla/j26JXkNAcylXqjAzOjhKzobSnUrpTJZHa2miIGLNNnLBUaUnHfv4/89iMv1vFH4R2mUvLLQ4mVyRniW8= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b=VjCMvnbD; arc=fail smtp.client-ip=40.107.21.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=nxp.com header.i=@nxp.com header.b="VjCMvnbD" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RRXkxuznRnF5LdK4D/mTuaqc6tMMl1YPA84gZ95GEhutcSP09aTFYLeIdsAzReW+dpU6Xur6UfeUu1IdcqvEqAmbrxqM8V/mjT1Xwr0f+v03uQzXTsJIerud4kq4DwI7RLHxOyomM3hOsyRIE2eXI4ljdKBF/avDo4h1SQQUjplpayKteAVOSL+/mRouYu1jSc1FgVXwyOK9sTX6seDlyMYpYo+2k74EOlQ1ryAI0dmphzDdG1FJgNwDhMAhbf3XTuDj+Ire2sGNANNyn+sdnj853PAJyqQ5wtpD8eLI4fR/VrrPoaIhzEEjRqMTg/sC28s/+RsLHGH8v4H3PoQFDQ== 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=vOPwZ+dxtfymvQm7advunBIoPjrQe9QwrXrhqCr248k=; b=giHNJX7p1P8fPuuKNVXVX4kEPAjs8ksUH2C6U7rD0vvXSlwnqPlO11xHhzSI1XcgrBS5BdsGAWtr2vXnp6NFWlJ+QlpZ1Nj/PJfuo/glLMchmRMVZ0PBDPD6MuI152iU6eQMziDOw6tBZC++eW59/h4ZwuPErZ6igzeNEYZUCi6d5sBytlgDfRZOiJqHf1byZ1V2rqEFO7HsE5ZllkTqRYsVS1AsBNfytqnpVvZVj5RO4Z1iq8NJmtM1/L80arGDRss/lSWr8BrY30QgZs9O6Nhfvi6OGF+LhT9qS7J4n72chMdoNTJCz2d89shDW5TySwLfUTKH0gDmhSsdHRKrlQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vOPwZ+dxtfymvQm7advunBIoPjrQe9QwrXrhqCr248k=; b=VjCMvnbDJivHhglr0k2O5FoilCZTzU7oR6xz7pvAf8EMLx82GQhaQJR9/TeqKB47c0ZAXOqg7S6Fz5TxLB/Thkud/S5rQ7NpC4lSrRiKubOoW4zcTFO1G3n2rrb0j4PShz3mZU2ifuAr6wjXks/XbVgNnVbKLw1Y8mF24Dtwy7A= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) by GVXPR04MB9734.eurprd04.prod.outlook.com (2603:10a6:150:112::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Mon, 22 Apr 2024 19:50:20 +0000 Received: from PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::1e67:dfc9:d0c1:fe58]) by PAXPR04MB9642.eurprd04.prod.outlook.com ([fe80::1e67:dfc9:d0c1:fe58%7]) with mapi id 15.20.7472.044; Mon, 22 Apr 2024 19:50:19 +0000 From: Frank Li Date: Mon, 22 Apr 2024 15:50:04 -0400 Subject: [PATCH v3 02/10] arm64: dts: imx8qm-ss-audio: add audio nodes Message-Id: <20240422-dts_8qm_audio-v3-2-680cee731ced@nxp.com> References: <20240422-dts_8qm_audio-v3-0-680cee731ced@nxp.com> In-Reply-To: <20240422-dts_8qm_audio-v3-0-680cee731ced@nxp.com> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam Cc: devicetree@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Frank Li X-Mailer: b4 0.13-dev-e586c X-Developer-Signature: v=1; a=ed25519-sha256; t=1713815413; l=17204; i=Frank.Li@nxp.com; s=20240130; h=from:subject:message-id; bh=74WRf2hZ01bpNrBc57wX17mWK358KdyRuKdmddDwo0c=; b=rdKTgs2zd8oW5Moq2U8dSKPkGukahxdFLhwGWhwL5m9PF8OcR1gJqEvv/IOtHXhef/nx/xJU/ v1qj4AKFzFqB53guPhinnSKvCBY8+3yk2FaXtQS3f1gsUAFQCz7J/2n X-Developer-Key: i=Frank.Li@nxp.com; a=ed25519; pk=I0L1sDUfPxpAkRvPKy7MdauTuSENRq+DnA+G4qcS94Q= X-ClientProxiedBy: SA1P222CA0189.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:3c4::15) To PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14) Precedence: bulk X-Mailing-List: imx@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB9642:EE_|GVXPR04MB9734:EE_ X-MS-Office365-Filtering-Correlation-Id: bcfd08d3-d820-4b94-c60b-08dc6305709e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: =?utf-8?q?bpXahceet1TpyUGjoQ4q0PWtxFPgO4q?= =?utf-8?q?oNTlWhy7ZN83dkRgaQ032CBWCblNn6S019uzLlBGrAdUFnxf+uztNzikwiY3iWiSD?= =?utf-8?q?SRHhcYxY1R5gJffRGirrW7HDi4pUvCvTDyo50PiCWpVdtSSEyrATy1+LCavBgst7Z?= =?utf-8?q?vbtjzhkogUoViv7YRYL6JXKfvgZVGp66cgr3XzZ43RIAo2aCQDMeFaEkacsc6K/u2?= =?utf-8?q?PFbJO35T1aR+8Sv5FvpplcmkIYkiQtpsqRBFi4POtwaivypal3TgU3EPnfsHtQhTk?= =?utf-8?q?JEYE3qM5dNIM5FfOt5sqTNoPFPARab99MomvIZvvio+bK3wUGq8KnMQVKvGJVn7RT?= =?utf-8?q?LYkDZxPXR/ajBmdOZaopHwzxOCNJhrwZ1Zz3f2VEgyvxOHXsREpOu6A7pVYuG8MqY?= =?utf-8?q?1ZmjKpFIf7iG50yAY9jAjHG05HMTA3HWJgfssUvvT+gSt1CVkRUg2Pn83WN3XfTdf?= =?utf-8?q?8tLfl30xvLctzN4m8OzGgX/z1Rf/1l641IjhzzM6Rt3kBQ9OZdJuVx5I2wkNMapGC?= =?utf-8?q?UTAav0m/GTxj3Yd0EipcE1AAfIqaLOVifEZgkarKpeeIaX1MB+TGQDCR47yIQxUK5?= =?utf-8?q?inFqV+7GxhdZQQHJPIVhPNopAPJ1p3BLRRZIdhTpYBdXf1k1i/UyODRHoFmo+blNL?= =?utf-8?q?xxdRP0F3Kok3gjCJUGW7OOgVoZA/RrjuhDyxpXIRutdBHFR/DEILPTwoBKF/OstCS?= =?utf-8?q?ClOh6JPwC+8CGSzHa35nDbURqhBCfOdyQp/jS0uJF6PUdUWj4ulFbr8aelZphbVQo?= =?utf-8?q?qtdLOQ7CCYDCVbLl+Qk7Kh+xYmZm+jiM3vw2dVI0F5w2ee7HTl1Jyfcz+dTkBvWOt?= =?utf-8?q?u6eYnloV02f+RxDsQ1fv+FhtdYvGB1y6C4aAa+AFYhnsFp9cnhXq5+iJGWQov1i6g?= =?utf-8?q?6q8JSTYXNbkMdE23ClyuspuWbTT3gqprCH47UzebwCLOtVL/Jh2Dkx5CIxdYKRyFl?= =?utf-8?q?KOGUkBLiJGDHK82IT39MJsrTGo6CLtPzPLGcsuWZ5pjrS/ouRA80Rwo26Mp3rF2FJ?= =?utf-8?q?aJ3uI+5YWr2kwmojK2fehiymIH9jLlchNh91larcn8PySIQpaMNxKchC7FdyQYYpK?= =?utf-8?q?MVkAxeRDSnQTGowjHVpSt6Rcwwo770jtY+/FCOwIIKI6KwIuUgjugUCuCqxHsaeDy?= =?utf-8?q?5CwRrtS8GvVXPRE5k+d2wcKtLYmruVtIwWXoui7rHB/zkeNxeNyRJF5qU57xUMVLs?= =?utf-8?q?ClqEAe/rr7HOWUKySx2pMHjqg8PCUCm8hCyjkXmjyqZAjVgN8kqPttAvuodFTt5zf?= =?utf-8?q?T8NWygWxU4ocJPXEcsJeEKieY2PQeBBwUxg=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB9642.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(52116005)(1800799015)(7416005)(366007)(38350700005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?Js63akNWUKanPBVQ/lZJKBggfzTB?= =?utf-8?q?tGNx2yMWfhiaqrxXIkCmCtEnvz4QdTU577mV9ocuI1bVMzRjkVYqr9VCW7r3eTsqi?= =?utf-8?q?2xRjEWJdAQFsz6jns9kkYnlnBx4lrGMDKTWaDYG064O0N7sRjaWHx7atpMODV9IiO?= =?utf-8?q?e2P8gS8LVxBAyiShWBWUa+xbPks75X6tJdePUKKEm5ZWGzGJ4BrgEIb1E4H0eop8F?= =?utf-8?q?U7twCUOfU8EK9ozPwVW1jWol5pidrKMb/agZv8GfkIl8V6OlNedeJe+DAqQXjYp6/?= =?utf-8?q?bZV1pUCWHljp2jl5RyYhCzqEA6/v3V4q02RjhmcoScwy2ZBRI9TST3J4YA6XgolEV?= =?utf-8?q?x0v5g6m4LJ+h2KbtIBtave56ze9ueDZGMYSRPQj2BTBTATgIVH/1Mhxi59QjZMHa/?= =?utf-8?q?/IxSLNMLDraIxRXJEFYiMw/o0V5uDgG+Txe8/YtXIisAs6Mym+yr4KgUMYhi4fM0s?= =?utf-8?q?0ef+5c4TEkjAf8rUAxXcDKyQU0/WgeP0ngtiqJbzltGU/pNcOaBAHbSBhqPt4skQW?= =?utf-8?q?D7FamDolNJAiSamfmimkS/M0v7TshKiFn8XmBxWCygz+0kO+Ghnh/raTmgjhOLUXH?= =?utf-8?q?0sOeNWmAGKi0rEb9HZY62F+z3MvzUPelSAM2+tsaKyiI0HNlK+J8TXgHD9V9MOcse?= =?utf-8?q?xCehED3sytDngtDFG0GpyqlDsRbWLYdTBOH73u4I5rCYCey1EqE8GVQ6XTMgLvkn3?= =?utf-8?q?nTJQDi5j0NyRQk/Yjmg6JUZF4IolMC+yYMUwkveDmDPiqnd+P1wYezQIxCoTrqVQc?= =?utf-8?q?4cbYspTRt8tUVZZTS5iDWc04U/j7Hzue7d97NBXsZ3Ef8TwITVgmPRg35dAy7ipTq?= =?utf-8?q?Rk2mSC2M4qVEjzNRWqCuPHPwJyqv5eHvj9bAqRaNip14mflNmyAQHV1vy/M32/6cI?= =?utf-8?q?qMwprLng6MmZdZRy7d0iphG0N4ITVB20mMtN+YAoDy8rWyAd0VLUnfGm1BlUdlgla?= =?utf-8?q?TacgBJNhmGLs+TW1olphGVwPv3YuGMoxwxoXkWMcWhRU/KeP5CB9B9o6Wm5bRf95B?= =?utf-8?q?VaOyVmUA1Dv3XrXch0GwFoLk0ACuZl4IrmBwO3F9kXq6eJbL+fh4AXHFB8KQ2qC03?= =?utf-8?q?qYYkfCfXPmCn0dDr4DCyNnobeTICYVmYY7VYl6xHCSEWQDpcg5gMOhQE0BL4PzMBO?= =?utf-8?q?oU4dvOKP6DYNWsGLJnxeppX5iIeAbjDWIDxRpMTkZA6QJ+nfTirhs1tegkvfb4WnV?= =?utf-8?q?46av1iK1cA/Qu4+09ljJAdjTTopTC1yiZQ1DuVUuiDkRn7+fA+ruJmriLbgiSsaZr?= =?utf-8?q?xWGqnZYG7houj+x7t5yics51wGxGpbWdD3FqmE/EpyMDbdBoJBTukl8JNEtY1m8qp?= =?utf-8?q?CShFXqCH0bPtxFpGA/hajBWAvHwxN5+R+HLyBh3RPv0SPciXSnJEeYiciWJQjDdOl?= =?utf-8?q?FAaX51e9gPoNz8oxZGlkVgNunlbf63h45BZdkhgh9huUIeqXnJLSSgpx4/DXyt6jZ?= =?utf-8?q?Guylq/cH0D8ti64VlNR1vAKpMuKGdrntCLl2TVAWAnGopbuCvz8x870Y8bTorNByJ?= =?utf-8?q?hFRxDOpCcAQc?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: bcfd08d3-d820-4b94-c60b-08dc6305709e X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB9642.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2024 19:50:19.5991 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: uimzC8gBI6TQI8jZggpMMENfKX1tBiGALruzwbwY07wDhPhn1t5hBNbjCXcdEr4tuwEhEtFclyO/Nc1ldx1fbQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9734 Add i.MX8QM audio related nodes and update eDMA[0,1]'s information. Signed-off-by: Frank Li --- arch/arm64/boot/dts/freescale/imx8qm-ss-audio.dtsi | 473 +++++++++++++++++++++ arch/arm64/boot/dts/freescale/imx8qm.dtsi | 86 ++++ 2 files changed, 559 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8qm-ss-audio.dtsi b/arch/arm64/boot/dts/freescale/imx8qm-ss-audio.dtsi new file mode 100644 index 0000000000000..ed5a1b4af1d76 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/imx8qm-ss-audio.dtsi @@ -0,0 +1,473 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright 2024 NXP + * Dong Aisheng + */ + +/delete-node/ &acm; +/delete-node/ &sai4; +/delete-node/ &sai5; +/delete-node/ &sai4_lpcg; +/delete-node/ &sai5_lpcg; + +/* edma2 called in imx8qm RM with the same address in edma0 of imx8qxp */ +&edma0{ + reg = <0x591f0000 0x150000>; + dma-channels = <20>; + dma-channel-mask = <0>; + interrupts = , /* asrc0 */ + , + , + , + , + , + , /* esai0 */ + , + , /* spdif0 */ + , + , /* spdif1 */ + , + , /* sai0 */ + , + , /* sai1 */ + , + , /* sai2 */ + , /* sai3 */ + , /* sai4 */ + ; /* sai5 */ + power-domains = <&pd IMX_SC_R_DMA_2_CH0>, + <&pd IMX_SC_R_DMA_2_CH1>, + <&pd IMX_SC_R_DMA_2_CH2>, + <&pd IMX_SC_R_DMA_2_CH3>, + <&pd IMX_SC_R_DMA_2_CH4>, + <&pd IMX_SC_R_DMA_2_CH5>, + <&pd IMX_SC_R_DMA_2_CH6>, + <&pd IMX_SC_R_DMA_2_CH7>, + <&pd IMX_SC_R_DMA_2_CH8>, + <&pd IMX_SC_R_DMA_2_CH9>, + <&pd IMX_SC_R_DMA_2_CH10>, + <&pd IMX_SC_R_DMA_2_CH11>, + <&pd IMX_SC_R_DMA_2_CH12>, + <&pd IMX_SC_R_DMA_2_CH13>, + <&pd IMX_SC_R_DMA_2_CH14>, + <&pd IMX_SC_R_DMA_2_CH15>, + <&pd IMX_SC_R_DMA_2_CH16>, + <&pd IMX_SC_R_DMA_2_CH17>, + <&pd IMX_SC_R_DMA_2_CH18>, + <&pd IMX_SC_R_DMA_2_CH19>; +}; + +/* edma3 called in imx8qm RM with the same address in edma1 of imx8qxp */ +&edma1{ + reg = <0x599F0000 0xc0000>; + dma-channels = <11>; + dma-channel-mask = <0xc0>; + interrupts = , /* asrc1 */ + , + , + , + , + , + , /* no used */ + , /* no used */ + , /* sai6 */ + , + ; /* sai7 */ + power-domains = <&pd IMX_SC_R_DMA_3_CH0>, + <&pd IMX_SC_R_DMA_3_CH1>, + <&pd IMX_SC_R_DMA_3_CH2>, + <&pd IMX_SC_R_DMA_3_CH3>, + <&pd IMX_SC_R_DMA_3_CH4>, + <&pd IMX_SC_R_DMA_3_CH5>, + <&pd IMX_SC_R_DMA_3_CH6>, + <&pd IMX_SC_R_DMA_3_CH7>, + <&pd IMX_SC_R_DMA_3_CH8>, + <&pd IMX_SC_R_DMA_3_CH9>, + <&pd IMX_SC_R_DMA_3_CH10>; +}; + +&asrc0 { + clocks = <&asrc0_lpcg IMX_LPCG_CLK_0>, + <&asrc0_lpcg IMX_LPCG_CLK_2>, + <&aud_pll_div0_lpcg IMX_LPCG_CLK_0>, + <&aud_pll_div1_lpcg IMX_LPCG_CLK_0>, + <&acm IMX_ADMA_ACM_AUD_CLK0_SEL>, + <&acm IMX_ADMA_ACM_AUD_CLK1_SEL>, + <&clk_dummy>, + <&clk_dummy>, + <&clk_dummy>, + <&clk_dummy>, + <&clk_dummy>, + <&clk_dummy>, + <&clk_dummy>, + <&clk_dummy>, + <&clk_dummy>, + <&clk_dummy>, + <&clk_dummy>, + <&clk_dummy>, + <&clk_dummy>; + power-domains = <&pd IMX_SC_R_ASRC_0>; +}; + +&esai0 { + clocks = <&esai0_lpcg IMX_LPCG_CLK_0>, + <&esai0_lpcg IMX_LPCG_CLK_4>, + <&esai0_lpcg IMX_LPCG_CLK_0>, + <&clk_dummy>; + power-domains = <&pd IMX_SC_R_ESAI_0>; +}; + +&spdif0 { + clocks = <&spdif0_lpcg IMX_LPCG_CLK_4>, /* core */ + <&clk_dummy>, /* rxtx0 */ + <&spdif0_lpcg IMX_LPCG_CLK_5>, /* rxtx1 */ + <&clk_dummy>, /* rxtx2 */ + <&clk_dummy>, /* rxtx3 */ + <&clk_dummy>, /* rxtx4 */ + <&audio_ipg_clk>, /* rxtx5 */ + <&clk_dummy>, /* rxtx6 */ + <&clk_dummy>, /* rxtx7 */ + <&clk_dummy>; /* spba */ + power-domains = <&pd IMX_SC_R_SPDIF_0>; +}; + +&sai0 { + clocks = <&sai0_lpcg IMX_LPCG_CLK_0>, + <&clk_dummy>, + <&sai0_lpcg IMX_LPCG_CLK_4>, + <&clk_dummy>, + <&clk_dummy>; + power-domains = <&pd IMX_SC_R_SAI_0>; +}; + +&sai1 { + clocks = <&sai1_lpcg IMX_LPCG_CLK_0>, + <&clk_dummy>, + <&sai1_lpcg IMX_LPCG_CLK_4>, + <&clk_dummy>, + <&clk_dummy>; + power-domains = <&pd IMX_SC_R_SAI_1>; +}; + +&sai2 { + clocks = <&sai2_lpcg IMX_LPCG_CLK_0>, + <&clk_dummy>, + <&sai2_lpcg IMX_LPCG_CLK_4>, + <&clk_dummy>, + <&clk_dummy>; + power-domains = <&pd IMX_SC_R_SAI_2>; +}; + +&sai3 { + clocks = <&sai3_lpcg IMX_LPCG_CLK_0>, + <&clk_dummy>, + <&sai3_lpcg IMX_LPCG_CLK_4>, + <&clk_dummy>, + <&clk_dummy>; + power-domains = <&pd IMX_SC_R_SAI_3>; +}; + +&asrc1 { + clocks = <&asrc1_lpcg IMX_LPCG_CLK_0>, + <&asrc1_lpcg IMX_LPCG_CLK_2>, + <&aud_pll_div0_lpcg IMX_LPCG_CLK_0>, + <&aud_pll_div1_lpcg IMX_LPCG_CLK_0>, + <&acm IMX_ADMA_ACM_AUD_CLK0_SEL>, + <&acm IMX_ADMA_ACM_AUD_CLK1_SEL>, + <&clk_dummy>, + <&clk_dummy>, + <&clk_dummy>, + <&clk_dummy>, + <&clk_dummy>, + <&clk_dummy>, + <&clk_dummy>, + <&clk_dummy>, + <&clk_dummy>, + <&clk_dummy>, + <&clk_dummy>, + <&clk_dummy>, + <&clk_dummy>; + power-domains = <&pd IMX_SC_R_ASRC_1>; +}; + +&amix { + dais = <&sai6>, <&sai7>; +}; + +&asrc0_lpcg { + clocks = <&audio_ipg_clk>, + <&audio_ipg_clk>; + clock-indices = , ; + clock-output-names = "asrc0_lpcg_ipg_clk", "asrc0_lpcg_mem_clk"; +}; + +&esai0_lpcg { + clock-indices = , ; + clock-output-names = "esai0_lpcg_extal_clk", "esai0_lpcg_ipg_clk"; +}; + +&spdif0_lpcg { + clock-indices = , ; + clock-output-names = "spdif0_lpcg_tx_clk", "spdif0_lpcg_gclkw"; +}; + +&sai0_lpcg { + clock-indices = , ; + clock-output-names = "sai0_lpcg_mclk", "sai0_lpcg_ipg_clk"; +}; + +&sai1_lpcg { + clock-indices = , ; + clock-output-names = "sai1_lpcg_mclk", "sai1_lpcg_ipg_clk"; +}; + +&sai2_lpcg { + clock-indices = , ; + clock-output-names = "sai2_lpcg_mclk", "sai2_lpcg_ipg_clk"; +}; + +&sai3_lpcg { + clock-indices = , ; + clock-output-names = "sai3_lpcg_mclk", "sai3_lpcg_ipg_clk"; +}; + +&asrc1_lpcg { + clocks = <&audio_ipg_clk>, <&audio_ipg_clk>; + clock-indices = , ; + clock-output-names = "asrc1_lpcg_ipg_clk", "asrc1_lpcg_mem_clk"; +}; + +&mqs0_lpcg { + clock-indices = , ; + clock-output-names = "mqs0_lpcg_mclk", "mqs0_lpcg_ipg_clk"; +}; + +&dsp_lpcg { + status = "disabled"; +}; + +&dsp_ram_lpcg { + status = "disabled"; +}; + +&audio_subsys { + + acm: acm@59e00000 { + compatible = "fsl,imx8qm-acm"; + reg = <0x59e00000 0x1D0000>; + #clock-cells = <1>; + power-domains = <&pd IMX_SC_R_AUDIO_CLK_0>, + <&pd IMX_SC_R_AUDIO_CLK_1>, + <&pd IMX_SC_R_MCLK_OUT_0>, + <&pd IMX_SC_R_MCLK_OUT_1>, + <&pd IMX_SC_R_AUDIO_PLL_0>, + <&pd IMX_SC_R_AUDIO_PLL_1>, + <&pd IMX_SC_R_ASRC_0>, + <&pd IMX_SC_R_ASRC_1>, + <&pd IMX_SC_R_ESAI_0>, + <&pd IMX_SC_R_ESAI_1>, + <&pd IMX_SC_R_SAI_0>, + <&pd IMX_SC_R_SAI_1>, + <&pd IMX_SC_R_SAI_2>, + <&pd IMX_SC_R_SAI_3>, + <&pd IMX_SC_R_SAI_4>, + <&pd IMX_SC_R_SAI_5>, + <&pd IMX_SC_R_SAI_6>, + <&pd IMX_SC_R_SAI_7>, + <&pd IMX_SC_R_SPDIF_0>, + <&pd IMX_SC_R_SPDIF_1>, + <&pd IMX_SC_R_MQS_0>; + clocks = <&aud_rec0_lpcg IMX_LPCG_CLK_0>, + <&aud_rec1_lpcg IMX_LPCG_CLK_0>, + <&aud_pll_div0_lpcg IMX_LPCG_CLK_0>, + <&aud_pll_div1_lpcg IMX_LPCG_CLK_0>, + <&clk_mlb_clk>, + <&clk_hdmi_rx_mclk>, + <&clk_ext_aud_mclk0>, + <&clk_ext_aud_mclk1>, + <&clk_esai0_rx_clk>, + <&clk_esai0_rx_hf_clk>, + <&clk_esai0_tx_clk>, + <&clk_esai0_tx_hf_clk>, + <&clk_esai1_rx_clk>, + <&clk_esai1_rx_hf_clk>, + <&clk_esai1_tx_clk>, + <&clk_esai1_tx_hf_clk>, + <&clk_spdif0_rx>, + <&clk_spdif0_rx>, + <&clk_sai0_rx_bclk>, + <&clk_sai0_tx_bclk>, + <&clk_sai1_rx_bclk>, + <&clk_sai1_tx_bclk>, + <&clk_sai2_rx_bclk>, + <&clk_sai3_rx_bclk>, + <&clk_sai4_rx_bclk>, + <&clk_sai5_rx_bclk>, + <&clk_sai6_rx_bclk>; + clock-names = "aud_rec_clk0_lpcg_clk", + "aud_rec_clk1_lpcg_clk", + "aud_pll_div_clk0_lpcg_clk", + "aud_pll_div_clk1_lpcg_clk", + "mlb_clk", + "hdmi_rx_mclk", + "ext_aud_mclk0", + "ext_aud_mclk1", + "esai0_rx_clk", + "esai0_rx_hf_clk", + "esai0_tx_clk", + "esai0_tx_hf_clk", + "esai1_rx_clk", + "esai1_rx_hf_clk", + "esai1_tx_clk", + "esai1_tx_hf_clk", + "spdif0_rx", + "spdif1_rx", + "sai0_rx_bclk", + "sai0_tx_bclk", + "sai1_rx_bclk", + "sai1_tx_bclk", + "sai2_rx_bclk", + "sai3_rx_bclk", + "sai4_rx_bclk", + "sai5_tx_bclk", + "sai6_rx_bclk"; + }; + + sai4: sai@59080000 { + compatible = "fsl,imx8qm-sai"; + reg = <0x59080000 0x10000>; + interrupts = ; + clocks = <&sai4_lpcg IMX_LPCG_CLK_0>, + <&clk_dummy>, + <&sai4_lpcg IMX_LPCG_CLK_4>, + <&clk_dummy>, + <&clk_dummy>; + clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3"; + dma-names = "rx"; + dmas = <&edma0 18 0 1>; + fsl,dataline = <0 0xf 0x0>; + power-domains = <&pd IMX_SC_R_SAI_4>; + status = "disabled"; + }; + + sai5: sai@59090000 { + compatible = "fsl,imx8qm-sai"; + reg = <0x59090000 0x10000>; + interrupts = ; + clocks = <&sai5_lpcg IMX_LPCG_CLK_0>, + <&clk_dummy>, + <&sai5_lpcg IMX_LPCG_CLK_4>, + <&clk_dummy>, + <&clk_dummy>; + clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3"; + dma-names = "tx"; + dmas = <&edma0 19 0 0>; + fsl,dataline = <0 0x0 0xf>; + power-domains = <&pd IMX_SC_R_SAI_5>; + status = "disabled"; + }; + + esai1: esai@59810000 { + compatible = "fsl,imx8qm-esai"; + reg = <0x59810000 0x10000>; + interrupts = ; + clocks = <&esai1_lpcg IMX_LPCG_CLK_0>, + <&esai1_lpcg IMX_LPCG_CLK_4>, + <&esai1_lpcg IMX_LPCG_CLK_0>, + <&clk_dummy>; + clock-names = "core", "extal", "fsys", "spba"; + dmas = <&edma1 6 0 1>, <&edma1 7 0 0>; + dma-names = "rx", "tx"; + power-domains = <&pd IMX_SC_R_ESAI_1>; + status = "disabled"; + }; + + sai6: sai@59820000 { + compatible = "fsl,imx8qm-sai"; + reg = <0x59820000 0x10000>; + interrupts = ; + clocks = <&sai6_lpcg IMX_LPCG_CLK_0>, + <&clk_dummy>, + <&sai6_lpcg IMX_LPCG_CLK_4>, + <&clk_dummy>, + <&clk_dummy>; + clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3"; + dma-names = "rx", "tx"; + dmas = <&edma1 8 0 1>, <&edma1 9 0 0>; + power-domains = <&pd IMX_SC_R_SAI_6>; + status = "disabled"; + }; + + sai7: sai@59830000 { + compatible = "fsl,imx8qm-sai"; + reg = <0x59830000 0x10000>; + interrupts = ; + clocks = <&sai7_lpcg IMX_LPCG_CLK_0>, + <&clk_dummy>, + <&sai7_lpcg IMX_LPCG_CLK_4>, + <&clk_dummy>, + <&clk_dummy>; + clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3"; + dma-names = "tx"; + dmas = <&edma1 10 0 0>; + power-domains = <&pd IMX_SC_R_SAI_7>; + status = "disabled"; + }; + + sai4_lpcg: clock-controller@59480000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x59480000 0x10000>; + #clock-cells = <1>; + clocks = <&acm IMX_ADMA_ACM_SAI4_MCLK_SEL>, + <&audio_ipg_clk>; + clock-indices = , ; + clock-output-names = "sai4_lpcg_mclk", "sai4_lpcg_ipg_clk"; + power-domains = <&pd IMX_SC_R_SAI_4>; + status = "disabled"; + }; + + sai5_lpcg: clock-controller@59490000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x59490000 0x10000>; + #clock-cells = <1>; + clocks = <&acm IMX_ADMA_ACM_SAI5_MCLK_SEL>, + <&audio_ipg_clk>; + clock-indices = , ; + clock-output-names = "sai5_lpcg_mclk", "sai5_lpcg_ipg_clk"; + power-domains = <&pd IMX_SC_R_SAI_5>; + status = "disabled"; + }; + + esai1_lpcg: clock-controller@59c10000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x59c10000 0x10000>; + #clock-cells = <1>; + clocks = <&acm IMX_ADMA_ACM_ESAI1_MCLK_SEL>, + <&audio_ipg_clk>; + clock-indices = , ; + clock-output-names = "esai1_lpcg_extal_clk", "esai1_lpcg_ipg_clk"; + power-domains = <&pd IMX_SC_R_ESAI_1>; + }; + + sai6_lpcg: clock-controller@59c20000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x59c20000 0x10000>; + #clock-cells = <1>; + clocks = <&acm IMX_ADMA_ACM_SAI6_MCLK_SEL>, + <&audio_ipg_clk>; + clock-indices = , ; + clock-output-names = "sai6_lpcg_mclk", "sai6_lpcg_ipg_clk"; + power-domains = <&pd IMX_SC_R_SAI_6>; + }; + + sai7_lpcg: clock-controller@59c30000 { + compatible = "fsl,imx8qxp-lpcg"; + reg = <0x59c30000 0x10000>; + #clock-cells = <1>; + clocks = <&acm IMX_ADMA_ACM_SAI7_MCLK_SEL>, + <&audio_ipg_clk>; + clock-indices = , ; + clock-output-names = "sai7_lpcg_mclk", "sai7_lpcg_ipg_clk"; + power-domains = <&pd IMX_SC_R_SAI_7>; + }; +}; diff --git a/arch/arm64/boot/dts/freescale/imx8qm.dtsi b/arch/arm64/boot/dts/freescale/imx8qm.dtsi index b3d01677b70c4..da49d4bad32ee 100644 --- a/arch/arm64/boot/dts/freescale/imx8qm.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8qm.dtsi @@ -461,7 +461,92 @@ drc_crit0: trip1 { }; }; + clk_dummy: clock-dummy { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <0>; + clock-output-names = "clk_dummy"; + }; + + clk_mlb_clk: clock-mlb-clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <0>; + clock-output-names = "mlb_clk"; + }; + + clk_esai1_rx_clk: clock-esai1-rx { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <0>; + clock-output-names = "esai1_rx_clk"; + }; + + clk_esai1_rx_hf_clk: clock-esai1-rx-hf { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <0>; + clock-output-names = "esai1_rx_hf_clk"; + }; + + clk_esai1_tx_clk: clock-esai1-tx { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <0>; + clock-output-names = "esai1_tx_clk"; + }; + + clk_esai1_tx_hf_clk: clock-esai1-tx-hf { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <0>; + clock-output-names = "esai1_tx_hf_clk"; + }; + + clk_spdif1_rx: clock-spdif1-rx { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <0>; + clock-output-names = "spdif1_rx"; + }; + + clk_sai5_rx_bclk: clock-sai5-rx-bclk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <0>; + clock-output-names = "sai5_rx_bclk"; + }; + + clk_sai5_tx_bclk: clock-sai5-tx-bclk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <0>; + clock-output-names = "sai5_tx_bclk"; + }; + + clk_sai6_rx_bclk: clock-sai6-rx-bclk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <0>; + clock-output-names = "sai6_rx_bclk"; + }; + + clk_sai6_tx_bclk: clock-sai6-tx-bclk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <0>; + clock-output-names = "sai6_tx_bclk"; + }; + + clk_hdmi_rx_mclk: clock-hdmi-rx-mclk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <0>; + clock-output-names = "hdmi-rx-mclk"; + }; + /* sorted in register address */ + #include "imx8-ss-audio.dtsi" #include "imx8-ss-vpu.dtsi" #include "imx8-ss-img.dtsi" #include "imx8-ss-dma.dtsi" @@ -473,3 +558,4 @@ drc_crit0: trip1 { #include "imx8qm-ss-dma.dtsi" #include "imx8qm-ss-conn.dtsi" #include "imx8qm-ss-lsio.dtsi" +#include "imx8qm-ss-audio.dtsi"