From patchwork Thu Dec 22 07:36:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chancel Liu X-Patchwork-Id: 35637 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:e747:0:0:0:0:0 with SMTP id c7csp187574wrn; Wed, 21 Dec 2022 23:40:44 -0800 (PST) X-Google-Smtp-Source: AMrXdXu8V5zFYXO5RWMK+zZD003Q/iqVXoaoeaPmr5EktyzlIQGeCgUd+jNqGJ/XNNqmrNYmL9JW X-Received: by 2002:a05:6402:88d:b0:46f:fb60:8bd0 with SMTP id e13-20020a056402088d00b0046ffb608bd0mr4179588edy.5.1671694843940; Wed, 21 Dec 2022 23:40:43 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1671694843; cv=pass; d=google.com; s=arc-20160816; b=enCBUHlwLa0rzfuiOx/bQo+a4HoHp4TMlHtH/JV0xmdFQCElD1Dhgp8EkyLmf1zlN+ BFELGhYGySNMWqnVMfEYZQrrkgnJqmkEjSWRDb6VA8lwc1DfKpM24lG7Ys2eqATyGN2A Ax4OZO7rhXwfivHUNR1rSkQxE3+L08FiEtNgF2WiVeP5wMN42SwW1oJbUXJcJ3ePo8ay IC/WETmNBT6MAy1hSLZLXWWbFX0JYUGOwWeJ/ZD+jsQSibq8T2EszCHgsW1Wm71QE+7D cjfODrLaGdtEOg8sdiFnwv6O3ygtFtzFrypz+nQGvz05t30ql0bu/UCpuGQNYbYnh606 SZDA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=j/lqA8Q+64wM+MNKa6vk8MLd/5oeOu+M5zYEeDzhxTs=; b=wyWiqQQ3NZDIk/ym0a3DBLOhkH+5K0w4KrRtOmU5/dAy06d74EKARxbI0VB3/1nUXK r/sPZw+KDr6IPiJz922Q878CtRoaztW1JKWwE9QWrvqRjwYvVagGeAIb2+L69lmBCL5H eQpZRx6OskKhzulOMuhXk5rjAVM1Keq0xAQWaWrbJs9/iWU+B5CodRRaGjX8Uc9t9Mo7 2kdZon4DxqIvdtipi/EbulYhEuW4jvT7DCKCyTmBq+f7XZpoPc1zbKqUEjS5ZUR9LWFH fEx6Kxln1EiLc4lc2QAFEvhj6afYqogusU70CDWjm4VDUGgDxmjE2OYnxb6SHlK6Tjo3 sCYA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b="VieX/kbW"; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z10-20020a05640240ca00b0047ed405b4a7si137188edb.224.2022.12.21.23.40.18; Wed, 21 Dec 2022 23:40:43 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b="VieX/kbW"; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234991AbiLVHiH (ORCPT + 99 others); Thu, 22 Dec 2022 02:38:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44322 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232013AbiLVHh5 (ORCPT ); Thu, 22 Dec 2022 02:37:57 -0500 Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2056.outbound.protection.outlook.com [40.107.249.56]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 76D3F19017; Wed, 21 Dec 2022 23:37:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MoubS52VFMdJCh1DyTZg14AphzUMXTywmjWsx/qiqyhx660zBTWJYg4t6rwMgkiJJm/AVss+YpwGnA95i/pzXTNArFXjfPWc5YQw94NeGPCBJTST+GXdxEolVeL2sDBFxmrJi49wpUGsFKQU9uDotDWbHcPZ7kKqMYY0W8kepiZwG5oM4plLzKRLka9ZOAiQ8U/Pql2P51kRaF6yTtEescanhdoe4hT87pe0emtlEHb0Cry0vO2f8Hkk7nfVFTpEOBHxpRw8PFBohz7gQ6u5cEj6lETPbI+KIL0oINfqXR54qfZwS4ecWVcWO6YFCc2UbSUTlzo7y1CBN/f26Ttmjw== 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=j/lqA8Q+64wM+MNKa6vk8MLd/5oeOu+M5zYEeDzhxTs=; b=RwuGa72j1aTSRWnKswdoVhRE++mZh+HmyFhStyvW4PywcoQcZcflkrSS/djO5wKXYFDR1EFK4YM2+VrHpL5GUJu6fR5rV3EouVhQSARtLQZw4wC8o8Wr8VQyChdjSYvte55yNAhfV3d8nFTDuAUU7zD+rJnI5XyOMrUXiZWvtG2gJ0NirD0/L3c6Zm6OOo1b+tI/ltYRziWYxiDiVoDWvAbbjHuCFtKk2vKcGKle2nDhWlb9l+TV+I2haXKSphy89dKyETUNQi/jHRnJUOyp3uUQxOzu5Rbj04w4z3b4Gndsc2O8MNQwlhf4zlc2hDt0bnqXj9LoNlgliSS3tdarhA== 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=j/lqA8Q+64wM+MNKa6vk8MLd/5oeOu+M5zYEeDzhxTs=; b=VieX/kbWXShKnHtQg68AJAE7XVs6sTIHEPKm0xoeaaQ0h72KXbmgdBuUCSL6JvClFysG7JvWyHDQvbeemnngG6j3MT6U98HY/H1nEr1wjWixbwGmbZQiNk/MT8IN4MSxAhM8GU1Bp+Hzl37cHyywHIPJtDRcrrhi9iRo/5Qr84c= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM0PR04MB4211.eurprd04.prod.outlook.com (2603:10a6:208:5b::30) by DBAPR04MB7272.eurprd04.prod.outlook.com (2603:10a6:10:1ad::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Thu, 22 Dec 2022 07:37:55 +0000 Received: from AM0PR04MB4211.eurprd04.prod.outlook.com ([fe80::c1e7:eafb:408c:6ae5]) by AM0PR04MB4211.eurprd04.prod.outlook.com ([fe80::c1e7:eafb:408c:6ae5%4]) with mapi id 15.20.5924.016; Thu, 22 Dec 2022 07:37:55 +0000 From: Chancel Liu To: lgirdwood@gmail.com, broonie@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, shengjiu.wang@gmail.com, Xiubo.Lee@gmail.com, festevam@gmail.com, nicoleotsuka@gmail.com, perex@perex.cz, tiwai@suse.com, devicetree@vger.kernel.org, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Cc: Chancel Liu Subject: [PATCH 1/3] ASoC: dt-bindings: fsl,xcvr: Add compatible string for i.MX93 platform Date: Thu, 22 Dec 2022 15:36:16 +0800 Message-Id: <20221222073618.1064415-2-chancel.liu@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221222073618.1064415-1-chancel.liu@nxp.com> References: <20221222073618.1064415-1-chancel.liu@nxp.com> X-ClientProxiedBy: SI1PR02CA0035.apcprd02.prod.outlook.com (2603:1096:4:1f6::8) To AM0PR04MB4211.eurprd04.prod.outlook.com (2603:10a6:208:5b::30) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB4211:EE_|DBAPR04MB7272:EE_ X-MS-Office365-Filtering-Correlation-Id: a98c97a3-27d3-4b67-9df4-08dae3ef70a1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ewiu4Pa8qjzt5zwei+XpHGp3w6OAiwpSBRqXQHIP/j1i9vOo/IrCamoAgDgdcxthuZqBSNMkCFji0psvwlh2mDWfyc2DxWBmxQ3L/ufx/8fFiK9PAtjYc1KowAMi0q9lpAt1/MPH/wy0gFcFUaEH4W2ZsyYlTRE8q45Wn6lHxwn2MuZ5IO1+TVNQUsx5hxSIuQHTsG/IEIsvxA/QFQEmQOpAW1GZXgAKNkn/tRRc4CnOQI5lxtA7vVSVPW+zCXy0fOeIKIBSi3xKoHQ+7JcREwUF0ooHCAuaft0UxOIAYIXc5AUwxptakPIXEeru6Ye8SHLaUsAgvucXT3ZDLbVaqTnv1dgW9uIGoUcuGucOMCo+vKXSFYv6Rzc9rtSJocheLmZ8wZ+KYFspm+cAo2pUtK8FGfsyAveJZxbG+TcmASd+dgve40zjk4dZNsfSCyl16oL4rFXfjB+ZvdjX4GDxM/GkjH9tXEk3FO1dssL1p6TTBFzKSA2MzPoksQEv47v9adZG6Men4TeJnHsMjR0ON8IXRlch5wSaRZrJ5MLox4VDQv+EauhmLNYLTBobXFqNn1InSYE8kh10uYRjk5lmcWgkJhexx15tYyvZqKqSAUXGY2uU+8Qe5yyJCa8/RoOatIlVZj8xGeV/X78ea4KniifGNfzYYUtOVs8uwu117WBoxarHTISVYCbBtPpNZz1y4INo6bemB/MMjK7EBUuUcA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB4211.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(376002)(346002)(366004)(136003)(396003)(451199015)(41300700001)(2906002)(8936002)(4326008)(66476007)(66946007)(66556008)(44832011)(7416002)(86362001)(8676002)(316002)(5660300002)(4744005)(921005)(6506007)(186003)(6512007)(26005)(38100700002)(38350700002)(52116002)(6666004)(36756003)(2616005)(1076003)(6486002)(478600001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: WnHJW800Yjvjf4IA8TL17UbwzLck0gwD4eXZhx7pFdMP4u+9gqni082Upmdm1gwBMcp1dhDiTiKht73ZnNiKxXSoyARb3ARQwYIbBVrZpe0Tidl9nVBDtJ+Ii9RiIzfZ6EisIvfcRd9P/OQ7d6rOMrBZ8raQh5P0OWYMwhkvbUeQv+5FSzjydFAKqwG6iBkaV6yPwMBGP0y60rTaR6PsfQQYvrxAPd7TjFKW3fZbKk/bbTHE3lViaTTfuEckUWdMzRLdL5+UK6cIApjm1IImC7S1S+8Q5rQDM4i9lXlKHrJQrG25P7SGCnxtktooePYS2tWNd1EGJfjPW4Zta5AUmKXLwpHlZ3FhHCJnED0YeYDYCT+SWCGylEsIgFo2UFyEFuf7jB8+a0uER7hQ5k9+UMpk+y+KCRq/5niiUI37MLU3/nNUV7JYl/5RFGwxivYkq6OBgzEKhgDc73KN3sOs+AYvKpKoTRhNZ8dd26mh3FXM4dKR7remjeAY4+2t/rijB5OkMGS6jBSRPENtDx04aW5LSyADcB/uyLNHrWVrx8/y/6uCzMY+tPYTZnlO3IkqKZk7Xk2mRo9Y9PWiRm18oCqr8v30irCgMJ56WV8JFSETw8ZKEPLz0u40SzUx7L4RJibvHdCHg+eMQn07TwR4KkwB4qfTLuTigDUYUpLoV5iW17zu6azgD0OTQ7v6SU128uQb/VEqQVcCpacUjmmfDaExfhzgroyZLicHMfbLdxLXeUa1Gj325WCwUc+btdAP+/jPdIcbstLfsDgLhYCQHw5EtRu7bJ63j5CMWR175eqMoi5qysBboiGJUOSdbLuG8fMFxz/pMqEsn2WiwGRBMMpIa/bcbQpvFt3iI0YMKwVUzVZ7ItoqwaR1n7mMINDR2e6pWghCUNU0WVyu9e2DOP+HmNKoVPoiVmh5k+PUs5qY4l/S6nXZLPX8qhSHL4afPG1Uvcs/G4P5NkC6mjTyz6/Rav/0ADYDqvhPIEdOjqQuWLb3fgfjoUryf5i9n3TCFykqD+XlbonU4Y33UM5qjivvCG7Isj/Hklmx+miZpaskPS4oSTUnlhsOKtkzLd9ZANluFSNKeBhiOnbsELxM7AJXPa/8DCeZHc29+52Y7mLh8db3CCUKyvE71q9UCWvI0clsHRSSFgR3iAMNwxU+Xc3TAKJG8lC9zbBADMOv4Scbg8gpR937v9ri9U4X8bVd5F89s8/wKvl3Z0F9sB7jy0dHDfNcPDndYMTYXHoDwvXEgCjM6apDocQTTqpENXojKJ2YN/LT+mMHfa+qg1pVxRGccEYoVIim1xuLIo+ygDQJWiqyMgA2HO5Lp6vM/LObbuZN8D94z1xQ42bNv/dmXDXv/do31SrX4WXLZRoBxDbpxYM81upu8zyA0UCe4i88uAn4GNAndhL8m6zPr0xVImAixMnY5Ay8TbebIHGgwijNd5JApFa2IyoR1UqTLFKzTBK7+0aP9foTQd3yGc3Q2FVn9xFezyJZpsY2DymLdxJgENwmkYuurjcCvhS4VWZV5lg6oxwAxaTxl8RHCK+Xts3Rz8MVGIr7AAApm838NEdxwUq9JGx2KKQ9Z3X8E4Eq X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a98c97a3-27d3-4b67-9df4-08dae3ef70a1 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB4211.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2022 07:37:55.5643 (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: LbSZPJcisNvmjkyy1iL47lceLGviPb1x2QXsRY3HRwZv5X3P6Ni7grDQP/HONL4XXhA8w2gPLJjdu35jX3skmw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7272 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1752899092784013046?= X-GMAIL-MSGID: =?utf-8?q?1752899092784013046?= Add compatible string "fsl,imx93-xcvr" for i.MX93 platform. Signed-off-by: Chancel Liu Acked-by: Krzysztof Kozlowski --- Documentation/devicetree/bindings/sound/fsl,xcvr.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml b/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml index 223b8ea693dc..799b362ba498 100644 --- a/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml +++ b/Documentation/devicetree/bindings/sound/fsl,xcvr.yaml @@ -21,6 +21,7 @@ properties: compatible: enum: - fsl,imx8mp-xcvr + - fsl,imx93-xcvr reg: items: From patchwork Thu Dec 22 07:36:17 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chancel Liu X-Patchwork-Id: 35638 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:e747:0:0:0:0:0 with SMTP id c7csp187754wrn; Wed, 21 Dec 2022 23:41:19 -0800 (PST) X-Google-Smtp-Source: AMrXdXvetcF0WWmj+1MseG7Gq3TrXUgfg9lQTmihTS+p95hnUGzbCjhdfapDsgo6fFpx8MKn1caz X-Received: by 2002:a17:907:2587:b0:7c0:ac4b:8b9 with SMTP id ad7-20020a170907258700b007c0ac4b08b9mr3407991ejc.14.1671694879415; Wed, 21 Dec 2022 23:41:19 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1671694879; cv=pass; d=google.com; s=arc-20160816; b=V10fcvGAm89P27WYL+cEbdDqInh9sz5oda34dC4HI9jJEIYkvWOBFOlh2cKyOkyc5s jEUsM69f9d4IQ6mS4z9ZGlKeeiss+cpnGjYTu/nI4b+JGDERowzIi2D657s3E25vTMEE wCsRrzwAO9laRmOTirJOpeFh6U51OQ/4A++yeKAVpYT6KJ9LJQ/CQNhzoqNDVPBNyvDp MkNafSYTBL22OlXkiKMH1MfnIfyZosqVfuiKvkN72XnvhrLvQtCI4dpwIcuzbtD7lwci Pum74a72hR0AbOuVtE5JieyN1koiX2hwPZedI0o0iDvLVoyOvO36B6mqH9jr/jkjF45j k4hA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=KTIJoQWtRyLBQTe1IJoxbVbAHkrH+mVi3NXehFbfKj4=; b=JihfGNlkmZt+MbNVSCTOnZhq8k4MDVxWWDjnsMDkPFPD4rffWTwcZUnSzh670LJPB6 XYSItsGRBPBVKtdWPRCsEdpp/GQSzyQcjwIl3bHa0GRMw5CYvVfz5KFHsjAoFqu7jCn5 CI3nUx7yqrbxTJ8zKgcZeS/FDVDjjnLWH9xtlzcDEOQWLRseK602zxMyHfL5xqrILlej 3fmx6FVDq41lvUXoJzOwwOrzaL/Pv6jAu8ChMKAnjhbVjwO/WpZbJiajhpV8D00a4nUB B5jYjSRKcvqeZi7EiUkmcVLkscl3BCKwXdSKvoqcy2yz/BpTb3dTR1Kj6HBVCZkP3xFn Qqmg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=Y9gHmyAC; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id xa8-20020a170906fd8800b00741c0bd7061si17014821ejb.644.2022.12.21.23.40.56; Wed, 21 Dec 2022 23:41:19 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=Y9gHmyAC; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235042AbiLVHiU (ORCPT + 99 others); Thu, 22 Dec 2022 02:38:20 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44382 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234981AbiLVHiD (ORCPT ); Thu, 22 Dec 2022 02:38:03 -0500 Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2049.outbound.protection.outlook.com [40.107.249.49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DC8362409A; Wed, 21 Dec 2022 23:38:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iiLcFOZow0D5s2aHm+VI9oHPyKcLXtfo7LvHqFNkhcZFEvVFm+uX7d0Pj25A1ktWAcE9xiq0kndpA+aiVGd+6Wz3DF7JrmlCNtvGtDAmXZhOFnTsYE+d/juPOUFcrdP4gbqqjAjYUP9yZdmbbg2GpyRlRcojfRlsoWUV2hiD3g/0NWM/9NwCW0sluKKyXrV89SbhxJV8890phsJL0LKF6HWiBhSVViBnU+1uS2wNATuxLwmwAgEUD1DgcU1lNAn1y3OBNzOzl/octqErjr1r8VLIn5ygIPGksbzN8acEvSDI3RGmnzbuASAYRUI1/oW598BRdMqdT8bSks1ndPb3VA== 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=KTIJoQWtRyLBQTe1IJoxbVbAHkrH+mVi3NXehFbfKj4=; b=KIrKDvx/lVfOCjfXPkmA2Op+w90QVKHgmenQq+VsV3bV+ZGtpYlGQAX9q274V9gOGziEQXqJVgT6j9IDgo1uz2URcupU7WZnaQustpeElwPKq6AfyYa+9FdqJPNAVIH8nb4RHshJvrNOLCkQc2rCivgTr96Q/Ln6Xckbyr8IzG6kHzjHn26F2/3Y1JCKSZkpeMeaV7kwbEGychYxmTUmcTjEXFuuOflTFc8Jo5yp3LwguojbbkZ0h14pISVnm7KRUUG8zBEWETfpsSm2LVfZh9ckJvDNyXgY1V1w3rd+390w/1KiuaGF2xfw+tbR6USArsIGaXknLRQVvMk8vREZIQ== 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=KTIJoQWtRyLBQTe1IJoxbVbAHkrH+mVi3NXehFbfKj4=; b=Y9gHmyACGhyqdlGksOLUEVPXG0DBT0RNSrVayerU1UXuk7x3yLmdjTNZrGQsdMHRzZ6g8rv45BDLdnFSWbOf70ik6bY9rhT2KfxntWQMpI0JaExqrhF/GhqZIHfd45q6PWhmg8vJ+ywmyncGnxSd7xfl3A9eYnjBPk5x3VDk0yQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM0PR04MB4211.eurprd04.prod.outlook.com (2603:10a6:208:5b::30) by DBAPR04MB7272.eurprd04.prod.outlook.com (2603:10a6:10:1ad::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Thu, 22 Dec 2022 07:37:59 +0000 Received: from AM0PR04MB4211.eurprd04.prod.outlook.com ([fe80::c1e7:eafb:408c:6ae5]) by AM0PR04MB4211.eurprd04.prod.outlook.com ([fe80::c1e7:eafb:408c:6ae5%4]) with mapi id 15.20.5924.016; Thu, 22 Dec 2022 07:37:59 +0000 From: Chancel Liu To: lgirdwood@gmail.com, broonie@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, shengjiu.wang@gmail.com, Xiubo.Lee@gmail.com, festevam@gmail.com, nicoleotsuka@gmail.com, perex@perex.cz, tiwai@suse.com, devicetree@vger.kernel.org, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Cc: Chancel Liu Subject: [PATCH 2/3] ASoC: fsl_xcvr: Add support for i.MX93 platform Date: Thu, 22 Dec 2022 15:36:17 +0800 Message-Id: <20221222073618.1064415-3-chancel.liu@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221222073618.1064415-1-chancel.liu@nxp.com> References: <20221222073618.1064415-1-chancel.liu@nxp.com> X-ClientProxiedBy: SI1PR02CA0035.apcprd02.prod.outlook.com (2603:1096:4:1f6::8) To AM0PR04MB4211.eurprd04.prod.outlook.com (2603:10a6:208:5b::30) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB4211:EE_|DBAPR04MB7272:EE_ X-MS-Office365-Filtering-Correlation-Id: 79333c58-fa25-429a-115c-08dae3ef732a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kcdh9HVBuGFseqv/9kYpa/2aX55CAxs7x1UFdzGBVNWDD4psE6OWk1ql4UwhJonV9o52WKb4dyFoiqQccJPiLUT5Y4S8DOqWt7xHfeHl12bv7+ihWJqkLg9fsUqz18RaYP1erhLqvEVjveREEHRb2EDbUDfi90Ya+Dasz9TNZoMI5reGoZr0JwTxBQOiApusgnsBgJ/lFY3Np4cbMh7rqG+s4eFAo25qhMIaN9qfWCu9rSUsWtw1gAY5M5JK9Zzggr5UF3D8JR1CLUqBw/lEFbSRNvOmkJIy7FpGdQkRlDwB5/pA5AKghsmqjb8zxjiCiUgj7UtozwY+5+9HGQ4iD2Pmp+ClWDWHg86BJxLknRo+pLa2q/GfjomaBBdF4JqZAqM/e99CsxR//J+2LldvlCc566TPAGhJU0zVq2QGYkWvscykId5EOIJ0ByNHKWkjlwG8ev8R/upZHYqLz/fg59DA3JiKIqFoOFs8KpfsqEhLRFm3ymcZHNNLOW1oyZmFcH/7bQlYRb6tTfgor0BhB+ryxYhIA81Pxe1ws5Z3uwScfVmKpcg0McCS5IST69n1HmPyKh7VtmxnB8onnS20QRfmHPYnaFsLYLcZkvOpqrQjS4Wi5cPxjpKl7uqc1I+Xrb/V3ng5tkEDkmQAmPikzy8eDyF61gBLwAQWuzDPnJ5nzNXOGnJLOOAOI3YoR7IUjz6OTgn3nu9hiv4FOIUyRQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB4211.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(376002)(346002)(366004)(136003)(396003)(451199015)(30864003)(41300700001)(2906002)(8936002)(4326008)(66476007)(66946007)(66556008)(44832011)(7416002)(86362001)(8676002)(316002)(5660300002)(921005)(6506007)(186003)(6512007)(26005)(38100700002)(38350700002)(52116002)(6666004)(36756003)(83380400001)(2616005)(1076003)(6486002)(478600001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ratTS7yIDP+leMdQImZw6C8HdY5JF+Mbhm8J0OYICjsTEEsTEhDp6gsLk9Qhh59smHOyk5XtPoACAACNj1jDsdHbcFGCcN1JDbXEfXhvHlMqgPdETkc5Pm5Q48QK0pnQiFV074p4L3sAJ0A7Ip1Jy945WCt1fygijnWiXk0BBDymiJmRTJUPjmsuZ1PlegrhSLCfu4MIva00Ly7imeDqKnztf+PsrEgUDnjMkU+w0WwaLvgBS04PBPi2VPhE/CQQRe5v8cjiXdNQZ8LtA8yfZBkU4KdAI7xniG8W0dkIU8fmDtCccXc+I+uO2OKmUDI46Iwj1C98IxMP0gHG0vsQN6YDZp0+2dYhmmcA/Hwmm1QVAEnV3BkHdTbWW91s28aIn5QmRcQD0qFrSmKkK6vnS0hYvv3qonPsgXXG5vPMQ39/iKpv/p1HNCAkyl8uqJfi1eYtcYLfUeftVF+VP7+LlYb3JQHuGWze5bv3z3jNDPH+OI3u+cbd7eniVqSnHvFq/dFFbjg6XWany7DYkbPNKANU+A4rmjVZ+CsqTqensoTw/IDP2guFWxTGtilM6F1HX3LeZiyRNqIe//K0+I1AKzkF9Hf7mxQqkwJN1Unyhx4skTDy3lYrZ+VrD7wseW4A3fGq7TkCBhA6+CTEtbGk96YEverSuRbOUBP64mt1I7dhW/yuY7umMIAUAcNGJl4sK5vq8mfJwxteO2ljvv5mCEw2ErERQhKAd1JI5bw7F/Pw4H+o9TIDy5OArGB0YSH8McZRhaiKZ8a0RLMkhIwKIAHlr20s6AHjHBKA4jEIICy7hEj5JnpvZKduSrIBR8LDSPcn7Ht6e1PlhkaHN+xLtuH9b30be5DcI0T7RVNTzGqMajVwNmjARnzS2Q54pmTxgXtLBreXp4mH0Sg8b/IA2iu4Q59mW56tRphDh0LCvSXf+oQx6StKFqrd26bBjle3wmLdJGfghtKaXPbnskY9xvbWvcKfjqjThGCMD2xpMIs7zEP5EwBwq3sbazE4dqk4iMUCcDWgb8GsGFDYsihTNORdgPGBaAh4osE9NfoWaL2FqG2r9RfqBhQGExSjSEN1jTNtuFDQnI2e+5LUOTHQ7LMer95I/kfTZ8159k3RtZbbm1dvROhNC/ROmHzTKXbjKeKjAKNLJDwkf6eXLjzrs3Vv9SnLK/s5ii5wV3LggvZbgd44twWPCzhDFP0hvrYPsCt/Kamef4wTtfbAsOI6c/IPlm6ANpSLG64iKerGKhIvfbKd0HfrqY43THg0cO/moBLQVxCStgikjxHrn97+pYN24tjdBpy5qxrYzRSRsEc07wRJLFByLTyVImZSS+Oy2/EJE0ggRmWyKPB60sUFxGZvn/VB9xKLDfQQiUySLzsXC0olaxaM8QGBAmSrZx9Fm4Xex+L96Y058oRRsSw45UnntUTj/rTSgPkWVvm8Y4CwllHk+LnW0zjB+gBY49wUYiLFllSIJVMgd/jwr+0Em2Zc4zMfH2Rk0dAvjSJGEWhHSXuqNmutPq4i36gCkK1CEGIZfFSXNNXMKRy5+9U0DQN6izy24eTy/4oIPUrEYVVtot+bve4HZw4uVDs48j4H X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 79333c58-fa25-429a-115c-08dae3ef732a X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB4211.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2022 07:37:59.7671 (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: 3HO/HGo7bCjEqATCq10mpPPXlUcV2vy/GZRR+nmufB3BqiTn5RBrzusSb47N9knuYcKV/UYnRVCnPOxR2LWk4w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7272 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1752899130188180299?= X-GMAIL-MSGID: =?utf-8?q?1752899130188180299?= Add compatible string and specific soc data to support XCVR on i.MX93 platform. XCVR IP on i.MX93 is cut to SPDIF only by removing external PHY. Signed-off-by: Chancel Liu --- sound/soc/fsl/fsl_xcvr.c | 155 +++++++++++++++++++++++++++------------ sound/soc/fsl/fsl_xcvr.h | 7 ++ 2 files changed, 114 insertions(+), 48 deletions(-) diff --git a/sound/soc/fsl/fsl_xcvr.c b/sound/soc/fsl/fsl_xcvr.c index 2a6802fb2a8b..c87ae864df77 100644 --- a/sound/soc/fsl/fsl_xcvr.c +++ b/sound/soc/fsl/fsl_xcvr.c @@ -21,6 +21,7 @@ struct fsl_xcvr_soc_data { const char *fw_name; + bool spdif_only; }; struct fsl_xcvr { @@ -261,6 +262,9 @@ static int fsl_xcvr_en_phy_pll(struct fsl_xcvr *xcvr, u32 freq, bool tx) u32 i, div = 0, log2; int ret; + if (xcvr->soc_data->spdif_only) + return 0; + for (i = 0; i < ARRAY_SIZE(fsl_xcvr_pll_cfg); i++) { if (fsl_xcvr_pll_cfg[i].fout % freq == 0) { div = fsl_xcvr_pll_cfg[i].fout / freq; @@ -353,6 +357,7 @@ static int fsl_xcvr_en_aud_pll(struct fsl_xcvr *xcvr, u32 freq) struct device *dev = &xcvr->pdev->dev; int ret; + freq = xcvr->soc_data->spdif_only ? freq / 10 : freq; clk_disable_unprepare(xcvr->phy_clk); ret = clk_set_rate(xcvr->phy_clk, freq); if (ret < 0) { @@ -365,6 +370,8 @@ static int fsl_xcvr_en_aud_pll(struct fsl_xcvr *xcvr, u32 freq) return ret; } + if (xcvr->soc_data->spdif_only) + return 0; /* Release AI interface from reset */ ret = regmap_write(xcvr->regmap, FSL_XCVR_PHY_AI_CTRL_SET, FSL_XCVR_PHY_AI_CTRL_AI_RESETN); @@ -547,10 +554,12 @@ static int fsl_xcvr_startup(struct snd_pcm_substream *substream, xcvr->streams |= BIT(substream->stream); - /* Disable XCVR controls if there is stream started */ - fsl_xcvr_activate_ctl(dai, fsl_xcvr_mode_kctl.name, false); - fsl_xcvr_activate_ctl(dai, fsl_xcvr_arc_mode_kctl.name, false); - fsl_xcvr_activate_ctl(dai, fsl_xcvr_earc_capds_kctl.name, false); + if (!xcvr->soc_data->spdif_only) { + /* Disable XCVR controls if there is stream started */ + fsl_xcvr_activate_ctl(dai, fsl_xcvr_mode_kctl.name, false); + fsl_xcvr_activate_ctl(dai, fsl_xcvr_arc_mode_kctl.name, false); + fsl_xcvr_activate_ctl(dai, fsl_xcvr_earc_capds_kctl.name, false); + } return 0; } @@ -567,12 +576,13 @@ static void fsl_xcvr_shutdown(struct snd_pcm_substream *substream, /* Enable XCVR controls if there is no stream started */ if (!xcvr->streams) { - fsl_xcvr_activate_ctl(dai, fsl_xcvr_mode_kctl.name, true); - fsl_xcvr_activate_ctl(dai, fsl_xcvr_arc_mode_kctl.name, - (xcvr->mode == FSL_XCVR_MODE_ARC)); - fsl_xcvr_activate_ctl(dai, fsl_xcvr_earc_capds_kctl.name, - (xcvr->mode == FSL_XCVR_MODE_EARC)); - + if (!xcvr->soc_data->spdif_only) { + fsl_xcvr_activate_ctl(dai, fsl_xcvr_mode_kctl.name, true); + fsl_xcvr_activate_ctl(dai, fsl_xcvr_arc_mode_kctl.name, + (xcvr->mode == FSL_XCVR_MODE_ARC)); + fsl_xcvr_activate_ctl(dai, fsl_xcvr_earc_capds_kctl.name, + (xcvr->mode == FSL_XCVR_MODE_EARC)); + } ret = regmap_update_bits(xcvr->regmap, FSL_XCVR_EXT_IER0, FSL_XCVR_IRQ_EARC_ALL, 0); if (ret < 0) { @@ -673,7 +683,10 @@ static int fsl_xcvr_trigger(struct snd_pcm_substream *substream, int cmd, dev_err(dai->dev, "Failed to stop DATA_TX: %d\n", ret); return ret; } - fallthrough; + if (xcvr->soc_data->spdif_only) + break; + else + fallthrough; case FSL_XCVR_MODE_EARC: /* clear ISR_CMDC_TX_EN, W1C */ ret = regmap_write(xcvr->regmap, @@ -877,9 +890,13 @@ static int fsl_xcvr_dai_probe(struct snd_soc_dai *dai) snd_soc_dai_init_dma_data(dai, &xcvr->dma_prms_tx, &xcvr->dma_prms_rx); - snd_soc_add_dai_controls(dai, &fsl_xcvr_mode_kctl, 1); - snd_soc_add_dai_controls(dai, &fsl_xcvr_arc_mode_kctl, 1); - snd_soc_add_dai_controls(dai, &fsl_xcvr_earc_capds_kctl, 1); + if (xcvr->soc_data->spdif_only) + xcvr->mode = FSL_XCVR_MODE_SPDIF; + else { + snd_soc_add_dai_controls(dai, &fsl_xcvr_mode_kctl, 1); + snd_soc_add_dai_controls(dai, &fsl_xcvr_arc_mode_kctl, 1); + snd_soc_add_dai_controls(dai, &fsl_xcvr_earc_capds_kctl, 1); + } snd_soc_add_dai_controls(dai, fsl_xcvr_tx_ctls, ARRAY_SIZE(fsl_xcvr_tx_ctls)); snd_soc_add_dai_controls(dai, fsl_xcvr_rx_ctls, @@ -930,10 +947,11 @@ static const struct reg_default fsl_xcvr_reg_defaults[] = { { FSL_XCVR_ISR_SET, 0x00000000 }, { FSL_XCVR_ISR_CLR, 0x00000000 }, { FSL_XCVR_ISR_TOG, 0x00000000 }, - { FSL_XCVR_RX_DPTH_CTRL, 0x00002C89 }, - { FSL_XCVR_RX_DPTH_CTRL_SET, 0x00002C89 }, - { FSL_XCVR_RX_DPTH_CTRL_CLR, 0x00002C89 }, - { FSL_XCVR_RX_DPTH_CTRL_TOG, 0x00002C89 }, + { FSL_XCVR_CLK_CTRL, 0x0000018F }, + { FSL_XCVR_RX_DPTH_CTRL, 0x00040CC1 }, + { FSL_XCVR_RX_DPTH_CTRL_SET, 0x00040CC1 }, + { FSL_XCVR_RX_DPTH_CTRL_CLR, 0x00040CC1 }, + { FSL_XCVR_RX_DPTH_CTRL_TOG, 0x00040CC1 }, { FSL_XCVR_RX_DPTH_CNTR_CTRL, 0x00000000 }, { FSL_XCVR_RX_DPTH_CNTR_CTRL_SET, 0x00000000 }, { FSL_XCVR_RX_DPTH_CNTR_CTRL_CLR, 0x00000000 }, @@ -966,6 +984,12 @@ static const struct reg_default fsl_xcvr_reg_defaults[] = { static bool fsl_xcvr_readable_reg(struct device *dev, unsigned int reg) { + struct fsl_xcvr *xcvr = dev_get_drvdata(dev); + + if (xcvr->soc_data->spdif_only) + if ((reg >= FSL_XCVR_IER && reg <= FSL_XCVR_PHY_AI_RDATA) || + reg > FSL_XCVR_TX_DPTH_BCRR) + return false; switch (reg) { case FSL_XCVR_VERSION: case FSL_XCVR_EXT_CTRL: @@ -991,6 +1015,12 @@ static bool fsl_xcvr_readable_reg(struct device *dev, unsigned int reg) case FSL_XCVR_RX_DPTH_CTRL_SET: case FSL_XCVR_RX_DPTH_CTRL_CLR: case FSL_XCVR_RX_DPTH_CTRL_TOG: + case FSL_XCVR_RX_CS_DATA_0: + case FSL_XCVR_RX_CS_DATA_1: + case FSL_XCVR_RX_CS_DATA_2: + case FSL_XCVR_RX_CS_DATA_3: + case FSL_XCVR_RX_CS_DATA_4: + case FSL_XCVR_RX_CS_DATA_5: case FSL_XCVR_RX_DPTH_CNTR_CTRL: case FSL_XCVR_RX_DPTH_CNTR_CTRL_SET: case FSL_XCVR_RX_DPTH_CNTR_CTRL_CLR: @@ -1027,6 +1057,11 @@ static bool fsl_xcvr_readable_reg(struct device *dev, unsigned int reg) static bool fsl_xcvr_writeable_reg(struct device *dev, unsigned int reg) { + struct fsl_xcvr *xcvr = dev_get_drvdata(dev); + + if (xcvr->soc_data->spdif_only) + if (reg >= FSL_XCVR_IER && reg <= FSL_XCVR_PHY_AI_RDATA) + return false; switch (reg) { case FSL_XCVR_EXT_CTRL: case FSL_XCVR_EXT_IER0: @@ -1103,32 +1138,34 @@ static irqreturn_t irq0_isr(int irq, void *devid) if (isr & FSL_XCVR_IRQ_NEW_CS) { dev_dbg(dev, "Received new CS block\n"); isr_clr |= FSL_XCVR_IRQ_NEW_CS; - /* Data RAM is 4KiB, last two pages: 8 and 9. Select page 8. */ - regmap_update_bits(xcvr->regmap, FSL_XCVR_EXT_CTRL, - FSL_XCVR_EXT_CTRL_PAGE_MASK, - FSL_XCVR_EXT_CTRL_PAGE(8)); - - /* Find updated CS buffer */ - reg_ctrl = xcvr->ram_addr + FSL_XCVR_RX_CS_CTRL_0; - reg_buff = xcvr->ram_addr + FSL_XCVR_RX_CS_BUFF_0; - memcpy_fromio(&val, reg_ctrl, sizeof(val)); - if (!val) { - reg_ctrl = xcvr->ram_addr + FSL_XCVR_RX_CS_CTRL_1; - reg_buff = xcvr->ram_addr + FSL_XCVR_RX_CS_BUFF_1; + if (!xcvr->soc_data->spdif_only) { + /* Data RAM is 4KiB, last two pages: 8 and 9. Select page 8. */ + regmap_update_bits(xcvr->regmap, FSL_XCVR_EXT_CTRL, + FSL_XCVR_EXT_CTRL_PAGE_MASK, + FSL_XCVR_EXT_CTRL_PAGE(8)); + + /* Find updated CS buffer */ + reg_ctrl = xcvr->ram_addr + FSL_XCVR_RX_CS_CTRL_0; + reg_buff = xcvr->ram_addr + FSL_XCVR_RX_CS_BUFF_0; memcpy_fromio(&val, reg_ctrl, sizeof(val)); - } + if (!val) { + reg_ctrl = xcvr->ram_addr + FSL_XCVR_RX_CS_CTRL_1; + reg_buff = xcvr->ram_addr + FSL_XCVR_RX_CS_BUFF_1; + memcpy_fromio(&val, reg_ctrl, sizeof(val)); + } - if (val) { - /* copy CS buffer */ - memcpy_fromio(&xcvr->rx_iec958.status, reg_buff, - sizeof(xcvr->rx_iec958.status)); - for (i = 0; i < 6; i++) { - val = *(u32 *)(xcvr->rx_iec958.status + i*4); - *(u32 *)(xcvr->rx_iec958.status + i*4) = - bitrev32(val); + if (val) { + /* copy CS buffer */ + memcpy_fromio(&xcvr->rx_iec958.status, reg_buff, + sizeof(xcvr->rx_iec958.status)); + for (i = 0; i < 6; i++) { + val = *(u32 *)(xcvr->rx_iec958.status + i*4); + *(u32 *)(xcvr->rx_iec958.status + i*4) = + bitrev32(val); + } + /* clear CS control register */ + memset_io(reg_ctrl, 0, sizeof(val)); } - /* clear CS control register */ - memset_io(reg_ctrl, 0, sizeof(val)); } } if (isr & FSL_XCVR_IRQ_NEW_UD) { @@ -1168,8 +1205,13 @@ static const struct fsl_xcvr_soc_data fsl_xcvr_imx8mp_data = { .fw_name = "imx/xcvr/xcvr-imx8mp.bin", }; +static const struct fsl_xcvr_soc_data fsl_xcvr_imx93_data = { + .spdif_only = true, +}; + static const struct of_device_id fsl_xcvr_dt_ids[] = { { .compatible = "fsl,imx8mp-xcvr", .data = &fsl_xcvr_imx8mp_data }, + { .compatible = "fsl,imx93-xcvr", .data = &fsl_xcvr_imx93_data}, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, fsl_xcvr_dt_ids); @@ -1229,7 +1271,7 @@ static int fsl_xcvr_probe(struct platform_device *pdev) return PTR_ERR(xcvr->regmap); } - xcvr->reset = devm_reset_control_get_exclusive(dev, NULL); + xcvr->reset = devm_reset_control_get_optional_exclusive(dev, NULL); if (IS_ERR(xcvr->reset)) { dev_err(dev, "failed to get XCVR reset control\n"); return PTR_ERR(xcvr->reset); @@ -1306,12 +1348,14 @@ static __maybe_unused int fsl_xcvr_runtime_suspend(struct device *dev) if (ret < 0) dev_err(dev, "Failed to clear IER0: %d\n", ret); - /* Assert M0+ reset */ - ret = regmap_update_bits(xcvr->regmap, FSL_XCVR_EXT_CTRL, - FSL_XCVR_EXT_CTRL_CORE_RESET, - FSL_XCVR_EXT_CTRL_CORE_RESET); - if (ret < 0) - dev_err(dev, "Failed to assert M0+ core: %d\n", ret); + if (!xcvr->soc_data->spdif_only) { + /* Assert M0+ reset */ + ret = regmap_update_bits(xcvr->regmap, FSL_XCVR_EXT_CTRL, + FSL_XCVR_EXT_CTRL_CORE_RESET, + FSL_XCVR_EXT_CTRL_CORE_RESET); + if (ret < 0) + dev_err(dev, "Failed to assert M0+ core: %d\n", ret); + } regcache_cache_only(xcvr->regmap, true); @@ -1327,6 +1371,7 @@ static __maybe_unused int fsl_xcvr_runtime_resume(struct device *dev) { struct fsl_xcvr *xcvr = dev_get_drvdata(dev); int ret; + u64 rate, div; ret = reset_control_assert(xcvr->reset); if (ret < 0) { @@ -1340,6 +1385,17 @@ static __maybe_unused int fsl_xcvr_runtime_resume(struct device *dev) return ret; } + /* set clk div for xcvr ip internal use */ + if (xcvr->soc_data->spdif_only) { + rate = clk_get_rate(xcvr->ipg_clk); + div = rate / 1000000 - 1; + ret = regmap_write(xcvr->regmap, FSL_XCVR_CLK_CTRL, div); + if (ret < 0) { + dev_err(dev, "Error while setting CLK_CTRL: %d\n", ret); + return ret; + } + } + ret = clk_prepare_enable(xcvr->pll_ipg_clk); if (ret) { dev_err(dev, "failed to start PLL IPG clock.\n"); @@ -1367,6 +1423,9 @@ static __maybe_unused int fsl_xcvr_runtime_resume(struct device *dev) goto stop_spba_clk; } + if (xcvr->soc_data->spdif_only) + return 0; + ret = reset_control_deassert(xcvr->reset); if (ret) { dev_err(dev, "failed to deassert M0+ reset.\n"); diff --git a/sound/soc/fsl/fsl_xcvr.h b/sound/soc/fsl/fsl_xcvr.h index 4769b0fca21d..044058fc6aa2 100644 --- a/sound/soc/fsl/fsl_xcvr.h +++ b/sound/soc/fsl/fsl_xcvr.h @@ -49,6 +49,13 @@ #define FSL_XCVR_RX_DPTH_CTRL_CLR 0x188 #define FSL_XCVR_RX_DPTH_CTRL_TOG 0x18c +#define FSL_XCVR_RX_CS_DATA_0 0x190 +#define FSL_XCVR_RX_CS_DATA_1 0x194 +#define FSL_XCVR_RX_CS_DATA_2 0x198 +#define FSL_XCVR_RX_CS_DATA_3 0x19C +#define FSL_XCVR_RX_CS_DATA_4 0x1A0 +#define FSL_XCVR_RX_CS_DATA_5 0x1A4 + #define FSL_XCVR_RX_DPTH_CNTR_CTRL 0x1C0 #define FSL_XCVR_RX_DPTH_CNTR_CTRL_SET 0x1C4 #define FSL_XCVR_RX_DPTH_CNTR_CTRL_CLR 0x1C8 From patchwork Thu Dec 22 07:36:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chancel Liu X-Patchwork-Id: 35639 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:e747:0:0:0:0:0 with SMTP id c7csp188721wrn; Wed, 21 Dec 2022 23:44:31 -0800 (PST) X-Google-Smtp-Source: AMrXdXsYPuL7FXZ6gPxcvqi3HOvhjeMisRcoit8a338D1gmwX6FhYH9yTKS2ThZ1dtPHNTAw1/pK X-Received: by 2002:a17:906:ecf7:b0:7c4:f6e4:3e92 with SMTP id qt23-20020a170906ecf700b007c4f6e43e92mr7952980ejb.31.1671695071182; Wed, 21 Dec 2022 23:44:31 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1671695071; cv=pass; d=google.com; s=arc-20160816; b=WQSysKNI3x7S9UD6f3sySUkrEm/GmzDD8L6wrSTAqgxURAWQsI1+kPOfwq3Tmeqq/m P/reIlB8S5XpmYrAhIEwOMHORCgmsbksczx/7IFwZgIybuCzZT2OGAWq2u3tSu9j1FKs nUNl4WX2X4Kl2jBxZn1Gn+Pe/fbeqUFRbcfb/CQ8q/ixpqR1XDes+1IjRGRr+rzFhYtY cZ7XK6MxO0AaN+ssT/FjLZVBpisHgS+00j1c7cv0EJbOU/Kec2qyMK7a6Q5eZ1QUwZVu DPH92bzNGyq8mTXc4ZUDA1S+Pe8phHwuQt3VxuMkDEDVb/rdcCAG+EuDZ8dciE0bG24o jetA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=hegXW4IkTRNCp/QL2Fb493fkmLJRkeLVs83hlQZq6Ts=; b=pbY5IUFn2LusJ7CAV0LsVXAHLgWwZ0ZsLe2u4PqLjJzVh+N3/ABwQUuvI/BZ4mnyzZ l5bxNS3ZXRv5HTLYR/LEIHN+QZyt7XgBR/M7nmhKzYUfXtLRg+QKgeJtKfMr6IKwW++x XG+g1JarKag1Ti2DtWnRdGhc8EwUmXq5nqTLlFx0FxccoQKqgoMqGrrzj5rvKM//SRMd xB/HqzZ/dBiIsgbLkWDR1idDJULHRKjj1yzIeGZdAAD7NzSY8USnCpjA0rMnDMETTW+h Coyit+LksKhr+Js4rFp/AmaMukKBpompLcnc8MZeI2HWD5xIMJ/8dxQ6h8UQx6BYSv5B j5lg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=RAQDSDDx; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i23-20020a1709061cd700b007c0e15c30b0si13464628ejh.777.2022.12.21.23.44.06; Wed, 21 Dec 2022 23:44:31 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=RAQDSDDx; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235084AbiLVHiZ (ORCPT + 99 others); Thu, 22 Dec 2022 02:38:25 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44390 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234973AbiLVHiG (ORCPT ); Thu, 22 Dec 2022 02:38:06 -0500 Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2085.outbound.protection.outlook.com [40.107.249.85]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4210323EB9; Wed, 21 Dec 2022 23:38:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EFhYMSk22jKqRO0uqn5xQO9SuciKMZzV2DSW2dI7Xb+WiM9TmY5ALZw68JQrDzB8UFnxQ8fsmYTzPT5NgGmpUa/F1IKfdwLzUrkgoEEb46JkkUj5ZMtLMkL9pslOK3IofXvxLRcnKbFa6w/rcGak5zYpytSHhImQsM2Wgllj1ld8oCaXbhmSLY/JVQ1q4ZHJjiD5xXTDJkUtWRJuMeVY/17a28cxkiEDtcYtNGxraJrrhb2DnJd4GGT6ZrrszseNzioC+NT4CZODlYsIzKsQ2+aCHwSzgnvie6JppBugNN51rCWxg4EWElx6NUh6crzFsT4bP9/UvwddOJs5ijOeUA== 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=hegXW4IkTRNCp/QL2Fb493fkmLJRkeLVs83hlQZq6Ts=; b=bl30NHTxP06i66mMGjxBNzRP8bhGlHR7RwErOMoy/T6MEZrI7m1QFYlshUxsB8yR+3Wb46L6ReOUL15a22yWsqyb1wSOCBuhw1XLOfwRZRVhHDTXb4XRjNOQkpmJvfNKq3cM1rO7P85ODUiB5APKCC1O1qJ0PdgrG4Wis9SswCq+VsnoYweSpVqbz+ycYXVNyNw6Mdwa4OwaFGVnJk755oNTfqAhi0J2HN6v58aK8Qslq3iE3h2I8SIDNKLIYZQe21OhgHaGK4fnUemOwE229o7Lq2o0ynPmleyjJrrQaGcdzehLRMCuMPK7zH6ZI/t2USzYoxumVGqSRS3g/cJ+Vw== 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=hegXW4IkTRNCp/QL2Fb493fkmLJRkeLVs83hlQZq6Ts=; b=RAQDSDDxOcfDRKGXoixEMpoH09r/0sXfHQDbHiM+1DOkZGElhzXFt1yZRNw+llsDgw8QJNo4vWdjxrPNaZRIP4erGwLfvCbTAkg5YfHNrTzGcjFhILbpi15+s85u0k7APNwnr3P6tPevtBzHPTZSF32ujY4QpF5+pfv5iRsnIv4= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM0PR04MB4211.eurprd04.prod.outlook.com (2603:10a6:208:5b::30) by DBAPR04MB7272.eurprd04.prod.outlook.com (2603:10a6:10:1ad::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Thu, 22 Dec 2022 07:38:04 +0000 Received: from AM0PR04MB4211.eurprd04.prod.outlook.com ([fe80::c1e7:eafb:408c:6ae5]) by AM0PR04MB4211.eurprd04.prod.outlook.com ([fe80::c1e7:eafb:408c:6ae5%4]) with mapi id 15.20.5924.016; Thu, 22 Dec 2022 07:38:04 +0000 From: Chancel Liu To: lgirdwood@gmail.com, broonie@kernel.org, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, shengjiu.wang@gmail.com, Xiubo.Lee@gmail.com, festevam@gmail.com, nicoleotsuka@gmail.com, perex@perex.cz, tiwai@suse.com, devicetree@vger.kernel.org, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Cc: Chancel Liu Subject: [PATCH 3/3] ASoC: fsl_xcvr: Add constraints of period size while using eDMA Date: Thu, 22 Dec 2022 15:36:18 +0800 Message-Id: <20221222073618.1064415-4-chancel.liu@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221222073618.1064415-1-chancel.liu@nxp.com> References: <20221222073618.1064415-1-chancel.liu@nxp.com> X-ClientProxiedBy: SI1PR02CA0035.apcprd02.prod.outlook.com (2603:1096:4:1f6::8) To AM0PR04MB4211.eurprd04.prod.outlook.com (2603:10a6:208:5b::30) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB4211:EE_|DBAPR04MB7272:EE_ X-MS-Office365-Filtering-Correlation-Id: 3dddba45-6f4d-4a02-a9a7-08dae3ef75d8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TtIcRh9jAShnfrGotjDG1GvYwIkjkxg4gGvUa+hz2rdB8NQ6B9rREtHj8PJRd8DzPRzjaa2IqU2skf4t1AO3E2gGsnOP3l5uNJSB+FpuFAjr3WHbo+KB52jqr07UzH4hrlXSkS6KZnNSi58MwGdO6g8wpAOBAdVlB0C+LP6/Ym2SHPR6zvqSccmwrQ19G8qwXPevC6r0ycqbzSLc1MeZe/7EU/Ng9F6F7RbW3LF/PV/VdYFxD+HlnpFsQ6QZCZtTSD+zwe+zCha4wcpHiawErMq9Me5+WNOH8uh4+ap+cMfaLgPHXXQZ5GyaKe7Ie/s3xag9rBIW0svl+sc1oJfptrT8VlJQ8fydamyp5GAeBgxDlaAJgDTOqOOgFLipCkthAIox34BH7n4iiyMsvupnQIaxsKY0JIsinugRZ/7pHYgt2UD/nqZtmJQz5aWkYBgmiLiAlRVKm0bs/2S6lghwDDqNck9HITBjxJgDZ0Ta4gKbzyJk4wtIMCA8GMRrTcxWcR1JDs6/tZ49ik2j5zmDQGan6EaOFhVluath8c0JWB2kuRG1/tfM/EO8oX50xL/so32+p2hQe6LFeVp1asqXXxmGpQ6WC+fLTlWG7vFzlJvqGiL8YiKj9B/S4K12KPlj1TpfIqBwxX3xXdjd8d6SkE0fTiOJOzPjJjwCeXXJxDBNFhcYbcGde4brigUSpZSnUcYrZxtcjIVlvzGqb4CmzA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB4211.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(376002)(346002)(366004)(136003)(396003)(451199015)(41300700001)(2906002)(8936002)(4326008)(66476007)(66946007)(66556008)(44832011)(7416002)(86362001)(8676002)(316002)(5660300002)(921005)(6506007)(186003)(6512007)(26005)(38100700002)(38350700002)(52116002)(6666004)(36756003)(2616005)(1076003)(6486002)(478600001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: GUhl0JqA6d2FRIiGdgaS3631MzzIoSAYV8bR2fwKkszq+byEFoPY/+Ie+bbCI98Wj/AZX6js8DCqHU+Bf1+gUONqN94jrCtMcnZQTgrSYwdKx5n2hBnUipvRlTBPsEV4o5MzHjmyZLqOcTv/pAr5mqeBopaZaUprXuBZa4ZEKcXS/IkTO5vZuKvIKLAEsM/70C43+RcHFmqrQI3SQ4md/GITGORcQ2v7+7jIblQKD/4Qc1MHRcyQ1qrUiN0CG35Qaw5FPMP80Xt4pIH+wUvXX9KaDuXHQz5gMK0oYBUcQJCTCSt6PwDLUSt+fsb61shNgLqQ5sns9gVeec8ka4iAAbLqUVxOg4g5OD/EYV66zrJr9YGe9W49kjwGHuOb6pm2jiszR62OqLJD9fG3GpyyVi2sQh4q4Bamln5T7u9G7gQOhGFT2QOfBOUw+igTY+QtPpbRkyrXEenUK7Jl5yHbl8G7Q9Dr8hjyO1DGsLrMIoNyYLWeskyZJZrwyD3ZmuSltPswHeV+nZMd4ITwwuT87rGV47N1yf1ow/nSfHvcoGEbXUEol9kmUPFbhyXARxZNkl0SBr1EdqTnbvikGrzn33BQlbKcLtmiq0xDbMe8FJJswFCNhsata6pbEvujb24yNPG7+aTMnYXHLtxouoLhlNdbq5uj3NVhANktdf5jYsMqGCzQNOCrF5zzC+QH8c+QDQOCbi9ff+KZqNSmzQsintRj12gD5F1gHER92m9z1Zt1ww2EhJyY9L5nEi4xF08RCOK7+aufeFuWPadZ/UETVeJa/WdSF7SWe/F2gvT3ETwfYW1j3sNg3HKXNg9XJGozGa5oCh3X2KKA6bHVEnnuCbYN/a/n4Mp0b1rHGcrJHAULGWRb1p2WSpZ5c5CVqAU5Z3r3Za0VgBVND5zLEPPDb0Um7ukEJVXl008fV0d3Pm9sf0g4r6X7uB5T/sjjmVI4ek6q0a0p3MR00Sc3IzdbOy4VnDiPmhnuL9sW8qTBfo3CjRVpvIs8Q6dT7wN+X/fH7sxqFXgrlUH5/8dxrW4bz/7X9memSO8Ug2Gu2Epu2VM+Yx/kApBkcEJP8XMv/DoPv/CwCokawbfmcTeP8ELa9obCRmIGbxwX9p0EYLTfIEdX7jtS9koYt2FKPUkLZbJ95+lDmODBB4foMzD8liplsEB+MATRU/exlUfz50GkNZZ0N6vvTxiiZ0fvqX97RcBG2m78BaVxyTWzUg9zu/lu4s5IeL84PYtoK+cjfYQJvCiLOK4/NoSC/eg48IUwrzYV7qLXjsirqUDv0SYn5D4Qq/lS8J4CIbAWAeLzMc5kmhIQ9i8QB4AxI0Nb7qTHHtdS8z0LcUT7/dSoXizs11LUpM3QaXAFFeLMJ+Jn9alaBYOOzXfPRE8epSL1h9WGId9WzO8FZYfBayO+KkOIaWj35kI0nm94XElhWqEo7eBGL+9LFP8f3q3xfbwOrMlzj4CrTaIvTx68RzO2C1++BaH9opQPVI/WNEboddiCdshzGntmJQgAmjvZUtkVu1JiMhAu+Q1+X6xTQ9vbESkkreyCaqgedDWOwv+1q6c6y3Ad4SPC+ZK85EFQCfPaWZo219eh X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3dddba45-6f4d-4a02-a9a7-08dae3ef75d8 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB4211.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2022 07:38:04.3449 (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: wPCPrFZw4HP76xFMDrE2NAHU/MMtmvN3lejUQtKErgLS6u8jbhnYZLc5HRru1Y9FcUfP2kUnvfpJoOC9WV2luw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7272 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1752899330525955185?= X-GMAIL-MSGID: =?utf-8?q?1752899330525955185?= eDMA on i.MX93 platform requires the period size to be multiple of maxburst. Signed-off-by: Chancel Liu --- sound/soc/fsl/fsl_xcvr.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sound/soc/fsl/fsl_xcvr.c b/sound/soc/fsl/fsl_xcvr.c index c87ae864df77..bb03c04bae9c 100644 --- a/sound/soc/fsl/fsl_xcvr.c +++ b/sound/soc/fsl/fsl_xcvr.c @@ -22,6 +22,7 @@ struct fsl_xcvr_soc_data { const char *fw_name; bool spdif_only; + bool use_edma; }; struct fsl_xcvr { @@ -538,6 +539,16 @@ static int fsl_xcvr_startup(struct snd_pcm_substream *substream, return -EBUSY; } + /* + * EDMA controller needs period size to be a multiple of + * tx/rx maxburst + */ + if (xcvr->soc_data->use_edma) + snd_pcm_hw_constraint_step(substream->runtime, 0, + SNDRV_PCM_HW_PARAM_PERIOD_SIZE, + tx ? xcvr->dma_prms_tx.maxburst : + xcvr->dma_prms_rx.maxburst); + switch (xcvr->mode) { case FSL_XCVR_MODE_SPDIF: case FSL_XCVR_MODE_ARC: @@ -1207,6 +1218,7 @@ static const struct fsl_xcvr_soc_data fsl_xcvr_imx8mp_data = { static const struct fsl_xcvr_soc_data fsl_xcvr_imx93_data = { .spdif_only = true, + .use_edma = true, }; static const struct of_device_id fsl_xcvr_dt_ids[] = {