Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp942105pxb; Wed, 3 Mar 2021 21:56:51 -0800 (PST) X-Google-Smtp-Source: ABdhPJwW1dWl6z3KZaujwuipSsbkq9oS7JPK8zQCkLgqXzE9v+lUY7qLfH7S8dpc9DTfBAf87vcO X-Received: by 2002:a17:906:b2c3:: with SMTP id cf3mr2336577ejb.133.1614837410811; Wed, 03 Mar 2021 21:56:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614837410; cv=none; d=google.com; s=arc-20160816; b=NtFpYcWwUq4+0BTw642o2u+k/MgffiEX05t4qKHHjOJLPhqO+/utEgUOJ02CCwsD2J /wA5ZiWqmoyNAxr+U3UxQ1+FM17/4LJs5hAxZa7X66k0mYG3BPie7oYkM+Yn/0YMiLOI gZ3nzBJ1qYrwW0V//1J1TjLRk7CYIzGt6DQqOwfAubituZ0EowB0mFAZLt370c5Iqr1C 8ICspW8zyYyX9jNlNUKYjuUvyGtSCCVjw2ZiAhezVWe02cUaVNhZabJZVxTzwEEI5lEC KQ7CCDTrjJ7xVCWZ0XZ1y9Ei8WsSrvC/itcnLNqDVrl81bH0go95UMN4xJIIFnf7tNdd TIMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:dkim-signature:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=mtH3d+wKblfOn6NGGlgdJ6FIympBFVhrzgmGLQmLWbs=; b=JP46XJGlmMT8m7CsH9anulXtvENcvBY82FYi+c+kxzILvUoM8tn8g6WpTH/bLjZPAB adFG3lQfZC19YPy3TPYSgyTmV0Rysk3i1VUwlzRrNiXL/Q41E9/qRTGe4ekeNhUneyfZ 0GB2j+RIqV2osK9YgGlTsIEBOoLsm+TjLZIHTQ0aDj+kJ2qflyIF1pCbFTkevHR2vptg E7YIHLwCr4ExST/r28WWAyaY01luRvXGiQDQ0evYUvXlk1ZsHexWFE2bifZx1wddl5Su i9ZOGQTUVN1TVPCJkf7U60GcwZGy2bWej4a8puH9hDX2lh61wEUTR0D3mQeAp2Y/qeV5 jAIQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b=LLRZtTv1; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cm2si9657640edb.549.2021.03.03.21.56.28; Wed, 03 Mar 2021 21:56:50 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@nvidia.com header.s=n1 header.b=LLRZtTv1; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nvidia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1376410AbhCBH2T (ORCPT + 99 others); Tue, 2 Mar 2021 02:28:19 -0500 Received: from hqnvemgate24.nvidia.com ([216.228.121.143]:19579 "EHLO hqnvemgate24.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1836485AbhCBHDw (ORCPT ); Tue, 2 Mar 2021 02:03:52 -0500 Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate24.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Mon, 01 Mar 2021 23:03:10 -0800 Received: from [10.25.103.152] (172.20.145.6) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 2 Mar 2021 07:03:07 +0000 Subject: Re: [RFC PATCH 3/5] ASoC: audio-graph-card: Add bindings for sysclk and pll To: Rob Herring CC: Mark Brown , Jon Hunter , Kuninori Morimoto , Linux-ALSA , , "linux-kernel@vger.kernel.org" References: <1614276364-13655-1-git-send-email-spujar@nvidia.com> <1614276364-13655-4-git-send-email-spujar@nvidia.com> From: Sameer Pujar Message-ID: <0ea5b885-2610-8f12-569d-15a8eff50c10@nvidia.com> Date: Tue, 2 Mar 2021 12:33:04 +0530 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-GB X-Originating-IP: [172.20.145.6] X-ClientProxiedBy: HQMAIL105.nvidia.com (172.20.187.12) To HQMAIL107.nvidia.com (172.20.187.13) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1614668590; bh=mtH3d+wKblfOn6NGGlgdJ6FIympBFVhrzgmGLQmLWbs=; h=Subject:To:CC:References:From:Message-ID:Date:User-Agent: MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding: Content-Language:X-Originating-IP:X-ClientProxiedBy; b=LLRZtTv1H9RTl+yAYiBhRtJwAxwJ/aDjcHCbLRGLD9/OflQs4B/3Znyi1X+Uoxe9d qeBFOdLIBMz6zVF0BCinxrZGh6L5MTdXnzTtILf0n7+xFkU6OyHhGf1rDXevCZ0wDH RRi0r2+KGv09ATJ3lwlWt+wup6LDiaPMqNYbt65jnNkupzaxPV39S7+R3DvUeBtROx iezCuNx2B36jlT+b3xqncuQgZMuEffxb5yUDntI7+RTOuEzC4oZZlM5zrQ8opkrntH I5flCEmPFwZHRpdPbvxpVzjQWMRQPwzCw9j9trFnKMHXb1nVc1nV6otfYBLHdJY+HX EXqMjJxKQ8Adw== Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 3/2/2021 7:40 AM, Rob Herring wrote: > External email: Use caution opening links or attachments > > > On Thu, Feb 25, 2021 at 12:06 PM Sameer Pujar wrote: >> ASoC core provides callbacks snd_soc_dai_set_sysclk() and >> snd_soc_dai_set_pll() for system clock (sysclk) and pll configurations >> respectively. Add bindings for flexible sysclk or pll configurations >> which can be driven from CPU/Codec DAI or endpoint subnode from DT. >> This in turn helps to avoid hard codings in driver and makes it more >> generic. >> >> Also add system-clock related bindings, "system-clock-direction-out" >> and "system-clock-frequency", which are already supported. > This all looks like duplication of what the clock binding can provide. > We don't need 2 ways to describe clocks in DT. This was targetted for external audio codecs. Their internal clock management is not exposed with the clock framework. Instead ASoC provides callbacks to set this up on Codec side. There are many references where this is followed with some hardcoded settings in the drivers. Are you suggesting to instead expose codec internal clocks and manage via generic clock bindings? Would this mean each codec driver has to implement these clock APIs (for ex: set_rate()) and program registers accordingly? For a platform, different audio cards can be plugged in. In that case, each codec has to be updated to follow this. Wouldn't it be simpler to use available ASoC callbacks?