From patchwork Thu Jan 20 19:58:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Robert Hancock X-Patchwork-Id: 1582314 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=calian.com header.i=@calian.com header.a=rsa-sha256 header.s=selector1 header.b=yiWLYFsb; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=devicetree-owner@vger.kernel.org; receiver=) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by bilbo.ozlabs.org (Postfix) with ESMTP id 4Jftd11zLRz9sCD for ; Fri, 21 Jan 2022 06:59:17 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232634AbiATT7P (ORCPT ); Thu, 20 Jan 2022 14:59:15 -0500 Received: from mx0c-0054df01.pphosted.com ([67.231.159.91]:50375 "EHLO mx0c-0054df01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1377447AbiATT7P (ORCPT ); Thu, 20 Jan 2022 14:59:15 -0500 Received: from pps.filterd (m0208999.ppops.net [127.0.0.1]) by mx0c-0054df01.pphosted.com (8.16.1.2/8.16.1.2) with ESMTP id 20KCcmFI002694; Thu, 20 Jan 2022 14:58:54 -0500 Received: from can01-to1-obe.outbound.protection.outlook.com (mail-to1can01lp2058.outbound.protection.outlook.com [104.47.61.58]) by mx0c-0054df01.pphosted.com (PPS) with ESMTPS id 3dprrpgswa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 20 Jan 2022 14:58:54 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ET29ja1EKnoeu2LF38dJU2L0j9Qns1L1z5dXBDBLY8oVjpCSavpKiTpxUGnBb/oZN5m/AuNzImextJ1dS+GyAv8wkCpdSJlaSJTyp1Ra2L9iguL5cd8u1fzL7jZ3rNxtrCl1JgsjGT7w2arz5xkmL+WpCeDGHNt/fdB0kCZ3cCtOPCXrQzIGTMTyB107RoArX/RWTe09urCUqcHv/uCwxfDBr6rdFc0PTLI1xex6ooysibWCpXOZIidLdrnX6pfDZ9b7rMteVKGqWTy+JZy98j40hvQXGUA7kNSy2bNfdVSWkT1l9NA58B5NCeTDEJ6AOwFuTAKDE47td9z4RpRiZg== 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=3OJupPaLSgGkicJA8GJyv5KdSAzwb1Svd5KYkx23h04=; b=CJbqSmLYjcSAmRihlyKJ6OxE9TgzpiaIVrlEdBaV9oTZn3qByh7dBQL+VUDa9gbNsdQuqSW+dfsqv/pCuE7GyQg7EWUVyD0QIdve/UDJGmQkogmUBalDlkJw1Z3T+hBckaq0fq1GjgmLHacyy7J1hqmmmPxtDgdL2PKOZhVkpnq24Axn2zqfDy43VqVaqiRR4F+c/k8tV+/TqPj0Wfi9cVRA5DpgLoXoIFbqkoeMwyC67iYPERp7hifqlvvonq6hifCcv2fkVLWu2UjXbMNvm3h4XiBN1WuhSbFimmKqLS4+A84wtKU/Ysr+cZqnVrq7R6E4HmIX+UP03jF79mn1Og== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=calian.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3OJupPaLSgGkicJA8GJyv5KdSAzwb1Svd5KYkx23h04=; b=yiWLYFsbFZfxsGXgxid+kA8GyAdt5UVRdzkfrj8BCLLeUTQjN8TLVE89eBytJRVEDE2ywnQWienIUU60nIp/ox8kaJcekvhI8Nx7W+NtFFqucvUwgTeffWmnhUP5JUTR4BqlseQTEXczR+yI5XdLOnoScG7f9LVJTRGHnQm0AXs= Received: from YT3PR01MB6274.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:6a::19) by YQXPR01MB4497.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:1c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.7; Thu, 20 Jan 2022 19:58:52 +0000 Received: from YT3PR01MB6274.CANPRD01.PROD.OUTLOOK.COM ([fe80::6929:c39f:d893:b6c8]) by YT3PR01MB6274.CANPRD01.PROD.OUTLOOK.COM ([fe80::6929:c39f:d893:b6c8%2]) with mapi id 15.20.4888.014; Thu, 20 Jan 2022 19:58:52 +0000 From: Robert Hancock To: alsa-devel@alsa-project.org Cc: lgirdwood@gmail.com, broonie@kernel.org, robh+dt@kernel.org, perex@perex.cz, tiwai@suse.com, michal.simek@xilinx.com, kuninori.morimoto.gx@renesas.com, maruthi.srinivas.bayyavarapu@xilinx.com, devicetree@vger.kernel.org, Robert Hancock Subject: [PATCH v3 0/6] ASoC: Xilinx fixes Date: Thu, 20 Jan 2022 13:58:26 -0600 Message-Id: <20220120195832.1742271-1-robert.hancock@calian.com> X-Mailer: git-send-email 2.31.1 X-ClientProxiedBy: CH0PR04CA0024.namprd04.prod.outlook.com (2603:10b6:610:76::29) To YT3PR01MB6274.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b01:6a::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dec14b37-37c8-4509-f0a9-08d9dc4f4845 X-MS-TrafficTypeDiagnostic: YQXPR01MB4497:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: k2wcUqe1Qz+a0vXUCWRkQ3zDz1z5YRA4QreBSUfScYMVFLP8QjZLYCBbIAJOtKIYZQh+ctGiq/BiylxJUVaucsfsauq5tS/wEPIL8U6AQSVXg5dbPUQ3+JCWMDcY/UVNGm0migu5qTHEtpC/5Q6hQidvsvlnhTl9VCDW1JLNoBEzFe/a1XPUpgN7QqOWYR6iGsFDS/3/EnMs32PnFMnGyQP2RPm9qTOUY1UvkzQqz7X6lSaJvhxjPAhOTkBPhp6VWIWtteVKIkir8G6faxaLD5jy6xNRwQU/LUZUip9kB0oAgnI11Q8n5efTmKZ67/r5hbmMUKQJJ8lbYIr2g+8HfQLjedYWK1A/IzEB0ki9q6c/FxMEKQtM7wPxj0oj7kv1Rh0q2bfA49PizHwozeAhd1KMKPDvxPY5VNogXpE4Vw4yomuEZCLV98vtBBOmZFaRDiqzMSLiNL/XOeHUE4S483wHhkwKIjWEqgnYbWSEn0Hk7HIyPIAk0py5jFNskUvJxCTKl70mK3hsxwl0o68+Q+3Ylv5Eq4L8OrBe1yqUYaNDbSG9ZwQRsNlTUXZE2ycUAtzo7p6NyHx2aO1kW0pQsCti5/LBR49PIjkMR5FaSWi+EVbLitZ4aQ4Ho9BCx0wOZnS1/nrnxgI4R/vMyQnqekfue+6Y3QQL10HbnDUFGoOyudQLlhLcLWGrNfen3t4JPDA1+y+vVMY0CRt1Ym46Tw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:YT3PR01MB6274.CANPRD01.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(366004)(186003)(52116002)(316002)(6512007)(5660300002)(83380400001)(6506007)(38350700002)(38100700002)(6916009)(4326008)(36756003)(26005)(66556008)(107886003)(2616005)(6486002)(86362001)(7416002)(1076003)(508600001)(66946007)(6666004)(8676002)(8936002)(66476007)(44832011)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: zzUnsClcMkErKjyZBolzaoIRoCTVAndfqCa+sgehw7giHZ4T72GJfXXaIkC9DnYTEf3b+4M16ybjDv1cBDT0HK/UW036LZ5pTs0dnfxYMOV8rVdOZ0kCpkekMpGu0dq4Y8a1eQDgGznBRtFDQHbI1Ad2SLtfPpifIn+brQbYsHkG2xUmMPZ9UauG+3QV16y5OjEaG3i3DLuSKPIPhIFfHomCqZTw4uW/rijKasjrY12uXy/JfbTWmq6n8J/L5kj6ZvWrQrhnXRDxujEh5gZ7sUD+4jdqesJwXVwPyzFjNmHujGv2XaAwiSJZve0HN0T21hEttkotHokMAtREMJ8RJ5K3WOeQ9SfFOOBd0fo0/lkS4kDdt+ioMRDLgrYMYaaqxoGQ95md58V/UPQwWm60vsnYDrazgKyDkrCa9RlhHLYo17hWvYTrr3A8EpFsZNychG84PyBzYOp0+bap7gH8sP/irv6U0p3dV8GPnSyxOT4y6D1Q7L6ge6XagRnRBEkl5liwcH+5PnBaVgta5gvvUUSj/zaWRGM5g841l2cXGfWnBIo0b3xWuGffM9w2AoGdvRLdjY1xerVGAJallhnsc9WnI9oFLq57bEUI0abEzBWcV2cY24oJQnzJ3rpQa2gREXLwxx9ouLH28sZieIf4WkmF2X5yL1Lkb0VjAS3bTa/pIA2m8fRgP5be/+DPYKzlzGCKGDF9Fa294LEn/qc5Py516sWWk6mSufZ4odPJ3ZuOa5HAmMKEZLkWn9CcqLEA13X4D3sQi/CLhxnpWSnZmxGzYh7EdQOtMn3Sng5qX5zZQMr1pTuOfzpdTvHVbIA+d95jnsdvtce9w3f6NalUHuPU7nCy1um8b+Ll+qO/jcRjyUDWUKZe4VnvLO78AExCqIHc63VPOJOmZvqfZX8Wa/f/WtUYf7pRga76jnd8k1EVLoVQ6UTSCu+xA0m++/F5brC4/atPOIjkiDVkUhqg7rm2ag2RicufAl3IGUGJL0LgeIUNA4EaLE6gtTkA6JFIjXTqwVuwiSRT61QzCuqjH1EjGJe4NO2/QUsxlb7E8CjhU5UyvV14tGYAYiD6PCIDOVxbcsvwuKADzmcjfV0bVhdUsl/YVVQkUXAjxfNR9+WN1Z8niTJFKSrnTro0dJTL9Lw2/1rzCBU/6raEc6ZLUmQtH9/kJB7+dIhSYUBytiRx03ep7pseB6sB6eVhB3yYIo/JCj6AZYU9T28qPUTOQ96I2Vbf8IwROKf9bwn7PAb2f+1lI+ilebXgFh7MXLn1z++7fvuOfAu8P/nHeoEJKT2XtOjqz5GxglKGKhnYCuvquzQaJp02hghZxD/8+eKykvvQwg9yEOpEB/jhfphWrtfdRr+KI4IyN1dpENEB0u+sh7nfN/GKhOriNiDMHExO6YFxTgNShSjdW3Q02Yr4Fphk8Y7pMKPbXEeHPKhFnW1ZpSg9lUPAaZ9AD2uMF+2ROaEAGMI7HaT3IG4AdqKoxoFkaPRulswHma3uQx0wYZHPt+RLWLHda2Yn0b1oE7lKIBJQWEfXoW/HOFaPT3Kb8Fo+qFgj+ZinWj0dF/6Q4J+zA4u/rRqomGrqjolDgV5CX+UtYlWkjG5iXC1yPa/z1CJI/xj2TKf90CEhf9O3RBTm8t4e1aox2V2FA/mfHLhZS3/YfBlfyPnJWP4eobjMiRAlC4ajmN3Xf8HWa4Xhot8= X-OriginatorOrg: calian.com X-MS-Exchange-CrossTenant-Network-Message-Id: dec14b37-37c8-4509-f0a9-08d9dc4f4845 X-MS-Exchange-CrossTenant-AuthSource: YT3PR01MB6274.CANPRD01.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jan 2022 19:58:52.4112 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 23b57807-562f-49ad-92c4-3bb0f07a1fdf X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: aQIvv7BntR2367Qy2GSby3svxU4lQpCDK/9EVZd3PVV1f1YQI06/KIf7vQaRLAZoxx7OLqsWAkQ/2jsZAi6IrK6rt5XQDCD5Fnp5/1xjGvU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: YQXPR01MB4497 X-Proofpoint-ORIG-GUID: KZ0l9N7lTX7ByxX1GBrYsGb0DXem0aEQ X-Proofpoint-GUID: KZ0l9N7lTX7ByxX1GBrYsGb0DXem0aEQ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.816,Hydra:6.0.425,FMLib:17.11.62.513 definitions=2022-01-20_08,2022-01-20_01,2021-12-02_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1011 bulkscore=0 adultscore=0 lowpriorityscore=0 mlxlogscore=689 phishscore=0 mlxscore=0 priorityscore=1501 malwarescore=0 suspectscore=0 spamscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2110150000 definitions=main-2201200100 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org There are drivers in mainline for the Xilinx Audio Formatter and Xilinx I2S IP cores. However, because of a few issues, these were only really usable with Xilinx's xlnx_pl_snd_card top-level driver, which is not in mainline (and not suitable for mainline). The fixes in this patchset, for the simple-card layer as well as the Xilinx drivers, now allow these drivers to be properly used with simple-card without any out-of-tree support code. Changes since v2: -drop patches already merged -added constraint to simple-card to allow enforcing valid sample rates Changes since v1: -formatting fixes -renamed last_sysclk variables to sysclk -require exact match for clock divisor rather than rounding to nearest -broke out driver data structure change in xlnx_i2s to separate patch -added constraints for sample rate based on sysclk to xlnx_i2s -switched to separate function for DAI parsing for platforms in simple_card Robert Hancock (6): ASoC: xilinx: xlnx_formatter_pcm: Handle sysclk setting ASoC: xilinx: xlnx_i2s: create drvdata structure ASoC: xilinx: xlnx_i2s: Handle sysclk setting ASoC: simple-card-utils: Set sysclk on all components ASoC: dt-bindings: simple-card: document new system-clock-fixed flag ASoC: simple-card-utils: Add new system-clock-fixed flag .../bindings/sound/simple-card.yaml | 11 ++ include/sound/simple_card_utils.h | 1 + sound/soc/generic/simple-card-utils.c | 86 ++++++++-- sound/soc/xilinx/xlnx_formatter_pcm.c | 25 +++ sound/soc/xilinx/xlnx_i2s.c | 147 +++++++++++++----- 5 files changed, 223 insertions(+), 47 deletions(-) Reviewed-by: Kuninori Morimoto