Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp3967325imm; Mon, 15 Oct 2018 07:07:19 -0700 (PDT) X-Google-Smtp-Source: ACcGV62JK0Rb8en1ZH8r0GdwHzO6bLEy9SAj6/h8WBpa9Iyv3vrHhihpf4Kuo12Y1ilAzAG7j6oF X-Received: by 2002:a17:902:854c:: with SMTP id d12-v6mr17251517plo.313.1539612439446; Mon, 15 Oct 2018 07:07:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539612439; cv=none; d=google.com; s=arc-20160816; b=iuKonW9nZHNExRMI5HquuJ0ewUH+yMgryNT05r2qfD7QOgCA7tiK5ZauAzIRFX7wVC H0Ctgf9eXx6j1bjXUY2s8wtKg0pI7XrvFBHyZi7p7tJWuvbqd8bCjxPlDt+v1i5i2GnN 3vkF/w0YpJeUbz2bY8WHcntqY/hdq7r9EbWVHgHKX/W2MzXPV44y2Hbbt/eVkrs1COp5 0Tyg89xKy89NFhxV36R5BGUFp5Jh6aaDoMoKA1LrUqWQc08em7QO5LWmPkIXhYOH5XGw ZdHYSoFPZuwuVHD1LLfxJGIzrS5nB/18vXFhRL7SvB1T/Da9ot/OmW5GlxTxJ64lKIBu jC/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:to :from; bh=BqMWjWDJJjwZU4XStb3Tyc4BR4kISOHzp/UtGnrHzVE=; b=eflQ+n/c0kAsv4CofaZ/ks9zMmh0vUILAG+CO6qo40KkTqzFerWgdGoM8OG88d7B/U hweGRY1x3/goTzWbKkvne+jyfD3fhhrem5B6Z1ERnw26MhAsHrLQov7EOOx5iLbhDdE9 aDuUlr7ya0QtfUyyrY3YuCzCyv5UREKPDGOnInh19XpQnWUeouzVR0toOJIZECBfM4Eo aocF2dl+PMl4TWRGdbBna7KeHDZEwiMSG1x/zuH9GaVRogoE7m6UeCQShwuuWplHDNf8 MQbUFzP836tQ6ELDWDyh5vhQpHfmavxnLa7nc2bW6J8wZAVbeLvwT3FOqHSaE8tfCr8K 1MJA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b6-v6si9254307pgq.495.2018.10.15.07.07.04; Mon, 15 Oct 2018 07:07:19 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726727AbeJOVvt (ORCPT + 99 others); Mon, 15 Oct 2018 17:51:49 -0400 Received: from mx07-00178001.pphosted.com ([62.209.51.94]:30826 "EHLO mx07-00178001.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726469AbeJOVvt (ORCPT ); Mon, 15 Oct 2018 17:51:49 -0400 Received: from pps.filterd (m0046668.ppops.net [127.0.0.1]) by mx07-.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id w9FDx0Dt004467; Mon, 15 Oct 2018 16:03:40 +0200 Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com with ESMTP id 2n48sh58y4-1 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT); Mon, 15 Oct 2018 16:03:40 +0200 Received: from zeta.dmz-eu.st.com (zeta.dmz-eu.st.com [164.129.230.9]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id B2BFA31; Mon, 15 Oct 2018 14:03:39 +0000 (GMT) Received: from Webmail-eu.st.com (Safex1hubcas23.st.com [10.75.90.46]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 5545C4E65; Mon, 15 Oct 2018 14:03:39 +0000 (GMT) Received: from SAFEX1HUBCAS21.st.com (10.75.90.44) by SAFEX1HUBCAS23.st.com (10.75.90.46) with Microsoft SMTP Server (TLS) id 14.3.361.1; Mon, 15 Oct 2018 16:03:39 +0200 Received: from localhost (10.201.23.16) by Webmail-ga.st.com (10.75.90.48) with Microsoft SMTP Server (TLS) id 14.3.361.1; Mon, 15 Oct 2018 16:03:38 +0200 From: Olivier Moysan To: , , , , , , , , , , , , , , , Subject: [PATCH 0/4] ASoC: stm32: sai: add mclk clock provider Date: Mon, 15 Oct 2018 16:03:32 +0200 Message-ID: <1539612216-12602-1-git-send-email-olivier.moysan@st.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.201.23.16] X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-10-15_08:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch set allows to use STM32 SAI interface as a master clock provider. The Cirrus cs42l51 codec patch gives the example of the source code required on codec side, to use SAI mclk provider. These patches allow to cover the following use cases: - SAI is master or slave and is master clock provider - SAI is master or slave and is not master clock provider (another sai provides the mclk clock) Implementation overview: - mclk configuration SAI is registered in clock framework: - either as a mclk provider (optional in DT). SAI generates mclk when requested by DAPM - or as a mclk consumer (optional in DT). cs42l51 codec is configured as a mclk consumer (optional in DT) - mclk power A DAPM is registered in codec to handle mclk enable/disable (DAPM route is set in soundcard node) - mclk rate: mclk rate is computed at runtime from stream rate and mclk-fs ratio provided in DT mclk rate is propagated through sysclk callback to the SAI which is mclk consumer. The mclk rate is set exclusively to avoid concurrent rate requests on SAI master. Regards Olivier Olivier Moysan (4): ASoC: dt-bindings: add mclk provider support to stm32 sai ASoC: dt-bindings: add mclk support to cs42l51 ASoC: stm32: sai: set sai as mclk clock provider ASoC: cs42l51: add mclk support .../devicetree/bindings/sound/cs42l51.txt | 17 ++ .../devicetree/bindings/sound/st,stm32-sai.txt | 7 + .../devicetree/bindings/trivial-devices.txt | 1 - sound/soc/codecs/cs42l51.c | 8 + sound/soc/stm/stm32_sai.h | 3 + sound/soc/stm/stm32_sai_sub.c | 275 ++++++++++++++++++--- 6 files changed, 274 insertions(+), 37 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/cs42l51.txt -- 2.7.4