Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1209463yba; Sun, 21 Apr 2019 01:22:40 -0700 (PDT) X-Google-Smtp-Source: APXvYqygKhE+yNcrRUXVv4js75lBhAeMU4Qyc3NhjtFXZ1317ZfURyzzJP5Mrp/WImevM0rXtLIB X-Received: by 2002:a63:5854:: with SMTP id i20mr12910052pgm.171.1555834960699; Sun, 21 Apr 2019 01:22:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1555834960; cv=none; d=google.com; s=arc-20160816; b=LFDUes4lJM9qAEWDWLZ+JtoGOO0qWNoTI36s+VlWpIt3jhuZQDg01X1y+mrCfUYDCx /f6z2Waht1i51QhP8+hQaFQhYDNmt/GQzgduYdcw1GKiB0jHr2UQcX0jzhbH9DbfzJdP wjfkK1X2J7+hYTsFBC23mVW5rHsI9M0uHVzl9lBJB8LMOdZFb33VSZ6f/vhyP5joXKbB WQmxIBV7ZIGBBFcQTCT5mDFU2qpbiMEfJYI4FH7OT83oB5t7TPcZ448+G2QQHG+kjPdv AmFaqv3y/m7AaplB0CQZB7fkrxED/7KoMz2jVTkd78h2skazNwkEH/zOTgyofVZkuYDV fVgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=o6lc0ay5gHFR5swtwXOmViM7nIFzJo8K7yF0YlsWYOg=; b=tp9VBHU3eGX1Z0ykECvmGsSNmQVeUZWd02OUIMa3Aqt2IqQEyLTi+l7xp7lC7NZXP8 JaKZBoHolDOrYl3GXIWcXISrVshVCgqaLBSYZ3rBIeFoHUNdjmDb+hE6Luqxd7pqfgCP wSSyK+uakdvWNUEWOfcm8/PCRXYHrF5mJxrIB8d/3ETvC6GHGySVcfK6sRFaJ3gh36Ui o7Y0L2at2Yd9chxXZ9aQQN/eFxh/15r146QgrCMLds6tvvefwZS1NpdWVWKhrMAhiGSN U3tPLFjF11CWGdEyFIXvzNjuv8IoZfKzbn6zAUNMjm4ogG528ssRZkcXRzwdnQmy7aKj +haQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="Lb/UFZ0u"; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id cl15si10341307plb.117.2019.04.21.01.22.23; Sun, 21 Apr 2019 01:22:40 -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; dkim=pass header.i=@gmail.com header.s=20161025 header.b="Lb/UFZ0u"; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726852AbfDUIVF (ORCPT + 99 others); Sun, 21 Apr 2019 04:21:05 -0400 Received: from mail-pf1-f193.google.com ([209.85.210.193]:40460 "EHLO mail-pf1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725963AbfDUIVF (ORCPT ); Sun, 21 Apr 2019 04:21:05 -0400 Received: by mail-pf1-f193.google.com with SMTP id c207so4335623pfc.7; Sun, 21 Apr 2019 01:21:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=o6lc0ay5gHFR5swtwXOmViM7nIFzJo8K7yF0YlsWYOg=; b=Lb/UFZ0uxv3HebvlYtqdvSkTS29Xz8hxWdIwsbbMpu8C9N/iRhCNYm1K+TmfanEsMm cvArHVOtvPB2mp2UGDhFn0XVqB2+e3uzzdzCrndM7HCbkubjT5pBImuRm7BO29prjlrn mj2ykDW3QY8KXZZ2LfO3tiyyAt+NEOgHd/O6inrkJ0jBV0mN1alUE66BPIvj5Qdfak9a APHMyCZIDo9XWZKbSqQOIFOSf4V/rIhAeXy2TqqmSn4/ic4T75A9qJP3T0V+izWBHLh7 qE3Y3H+81XpBJf5U1HYbm/W0/xxcEAbnCMA3WXZFmayWksRoxFXViwUcSQRcXbYKEhZl XXHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=o6lc0ay5gHFR5swtwXOmViM7nIFzJo8K7yF0YlsWYOg=; b=K7UmKt+DZnJDipe63YU1IFVYOYIVZ5fn8SNW/qnyXGrtO9iuP8y9CIj7b3XKX/x1OY R1F/fJDDcGJuQAz/bibDQHX/7u/diaZ1n/nmEhf9wavK6ryGch9tXR/CP+QDgJ80471I XjSgeedQojE9b4ldr+lpQjQXIt1Rmxkwk2xBzgC+gZXXEIvRiyVj+QIQvylOIiCS4WpN yoz0CMrk7MPExw6Gsatcu5tOfJ5rhedU1eSMFNW1u9SJwW5aJWG9ExSrqKgmxsOGe0aP PvsAqQiI1hQcZlN6umKQecsSjmyCKUSheXSj6EEnQUUWNT6EvUWWkxnx0yj3zHmW6TC1 e3XA== X-Gm-Message-State: APjAAAXSoICtXBGbhfJqaWmNywTwMUT4wtCIu+viMSsFsy3NbEr4k8lA 3yoA/SuhcmNGzn1n3F7yhJdJIKAN X-Received: by 2002:a62:7648:: with SMTP id r69mr14095914pfc.114.1555834864277; Sun, 21 Apr 2019 01:21:04 -0700 (PDT) Received: from Asurada (c-98-248-47-108.hsd1.ca.comcast.net. [98.248.47.108]) by smtp.gmail.com with ESMTPSA id j20sm12366770pfn.84.2019.04.21.01.21.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 21 Apr 2019 01:21:03 -0700 (PDT) Date: Sun, 21 Apr 2019 01:20:57 -0700 From: Nicolin Chen To: Daniel Baluta Cc: "shawnguo@kernel.org" , "robh+dt@kernel.org" , "mark.rutland@arm.com" , "s.hauer@pengutronix.de" , "kernel@pengutronix.de" , "festevam@gmail.com" , dl-linux-imx , Aisheng Dong , Anson Huang , Peng Fan , "devicetree@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "S.j. Wang" Subject: Re: [PATCH] ARM: dts: imx: Add mclk0 clock for SAI Message-ID: <20190421082038.GA8304@Asurada> References: <20190420091239.3793-1-daniel.baluta@nxp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190420091239.3793-1-daniel.baluta@nxp.com> User-Agent: Mutt/1.5.22 (2013-10-16) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Apr 20, 2019 at 09:12:52AM +0000, Daniel Baluta wrote: > From: Shengjiu Wang > > SAI has 4 clock sources, which can be selected using MSEL > bit of SAI TCR2 register. I have a doubt at this statement. As far as I can understand, this MSEL is probably used by its internal clock MUX, so it's not really proving that SAI has 4 MCLK inputs. What I know is that SAI block itself only has 3 MCLK inputs as we defined in DT. It's just internally connects bus clock or MCLK1 to input0 of clock MUX's and connects MCLK[1-3] to input[1-3]. So adding an MCLK0 here doesn't sound a right way to me. Unless someone can justify for it, I think we should just fix it from driver side. Thanks Nicolin > > On imx6/7 mclk0 and mclk1 always point to the same clock > source. Anyhow, this is no longer true for imx8. > > For this reason, we need to add mclk0 and handle it > in a generic way in SAI driver. > > Signed-off-by: Shengjiu Wang > Signed-off-by: Daniel Baluta > --- > arch/arm/boot/dts/imx6sx.dtsi | 6 ++++-- > arch/arm/boot/dts/imx6ul.dtsi | 9 ++++++--- > arch/arm/boot/dts/imx7s.dtsi | 9 ++++++--- > 3 files changed, 16 insertions(+), 8 deletions(-) > > diff --git a/arch/arm/boot/dts/imx6sx.dtsi b/arch/arm/boot/dts/imx6sx.dtsi > index b16a123990a2..682207b5d868 100644 > --- a/arch/arm/boot/dts/imx6sx.dtsi > +++ b/arch/arm/boot/dts/imx6sx.dtsi > @@ -1071,9 +1071,10 @@ > reg = <0x021d4000 0x4000>; > interrupts = ; > clocks = <&clks IMX6SX_CLK_SAI1_IPG>, > + <&clks IMX6SX_CLK_SAI1>, > <&clks IMX6SX_CLK_SAI1>, > <&clks 0>, <&clks 0>; > - clock-names = "bus", "mclk1", "mclk2", "mclk3"; > + clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3"; > dma-names = "rx", "tx"; > dmas = <&sdma 31 24 0>, <&sdma 32 24 0>; > status = "disabled"; > @@ -1090,9 +1091,10 @@ > reg = <0x021dc000 0x4000>; > interrupts = ; > clocks = <&clks IMX6SX_CLK_SAI2_IPG>, > + <&clks IMX6SX_CLK_SAI2>, > <&clks IMX6SX_CLK_SAI2>, > <&clks 0>, <&clks 0>; > - clock-names = "bus", "mclk1", "mclk2", "mclk3"; > + clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3"; > dma-names = "rx", "tx"; > dmas = <&sdma 33 24 0>, <&sdma 34 24 0>; > status = "disabled"; > diff --git a/arch/arm/boot/dts/imx6ul.dtsi b/arch/arm/boot/dts/imx6ul.dtsi > index bbf010c73336..e9691306f557 100644 > --- a/arch/arm/boot/dts/imx6ul.dtsi > +++ b/arch/arm/boot/dts/imx6ul.dtsi > @@ -304,9 +304,10 @@ > reg = <0x02028000 0x4000>; > interrupts = ; > clocks = <&clks IMX6UL_CLK_SAI1_IPG>, > + <&clks IMX6UL_CLK_SAI1>, > <&clks IMX6UL_CLK_SAI1>, > <&clks IMX6UL_CLK_DUMMY>, <&clks IMX6UL_CLK_DUMMY>; > - clock-names = "bus", "mclk1", "mclk2", "mclk3"; > + clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3"; > dmas = <&sdma 35 24 0>, > <&sdma 36 24 0>; > dma-names = "rx", "tx"; > @@ -319,9 +320,10 @@ > reg = <0x0202c000 0x4000>; > interrupts = ; > clocks = <&clks IMX6UL_CLK_SAI2_IPG>, > + <&clks IMX6UL_CLK_SAI2>, > <&clks IMX6UL_CLK_SAI2>, > <&clks IMX6UL_CLK_DUMMY>, <&clks IMX6UL_CLK_DUMMY>; > - clock-names = "bus", "mclk1", "mclk2", "mclk3"; > + clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3"; > dmas = <&sdma 37 24 0>, > <&sdma 38 24 0>; > dma-names = "rx", "tx"; > @@ -334,9 +336,10 @@ > reg = <0x02030000 0x4000>; > interrupts = ; > clocks = <&clks IMX6UL_CLK_SAI3_IPG>, > + <&clks IMX6UL_CLK_SAI3>, > <&clks IMX6UL_CLK_SAI3>, > <&clks IMX6UL_CLK_DUMMY>, <&clks IMX6UL_CLK_DUMMY>; > - clock-names = "bus", "mclk1", "mclk2", "mclk3"; > + clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3"; > dmas = <&sdma 39 24 0>, > <&sdma 40 24 0>; > dma-names = "rx", "tx"; > diff --git a/arch/arm/boot/dts/imx7s.dtsi b/arch/arm/boot/dts/imx7s.dtsi > index 0b01109ac0a9..693b88e37799 100644 > --- a/arch/arm/boot/dts/imx7s.dtsi > +++ b/arch/arm/boot/dts/imx7s.dtsi > @@ -884,10 +884,11 @@ > reg = <0x308a0000 0x10000>; > interrupts = ; > clocks = <&clks IMX7D_SAI1_IPG_CLK>, > + <&clks IMX7D_SAI1_ROOT_CLK>, > <&clks IMX7D_SAI1_ROOT_CLK>, > <&clks IMX7D_CLK_DUMMY>, > <&clks IMX7D_CLK_DUMMY>; > - clock-names = "bus", "mclk1", "mclk2", "mclk3"; > + clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3"; > dma-names = "rx", "tx"; > dmas = <&sdma 8 24 0>, <&sdma 9 24 0>; > status = "disabled"; > @@ -899,10 +900,11 @@ > reg = <0x308b0000 0x10000>; > interrupts = ; > clocks = <&clks IMX7D_SAI2_IPG_CLK>, > + <&clks IMX7D_SAI2_ROOT_CLK>, > <&clks IMX7D_SAI2_ROOT_CLK>, > <&clks IMX7D_CLK_DUMMY>, > <&clks IMX7D_CLK_DUMMY>; > - clock-names = "bus", "mclk1", "mclk2", "mclk3"; > + clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3"; > dma-names = "rx", "tx"; > dmas = <&sdma 10 24 0>, <&sdma 11 24 0>; > status = "disabled"; > @@ -914,10 +916,11 @@ > reg = <0x308c0000 0x10000>; > interrupts = ; > clocks = <&clks IMX7D_SAI3_IPG_CLK>, > + <&clks IMX7D_SAI3_ROOT_CLK>, > <&clks IMX7D_SAI3_ROOT_CLK>, > <&clks IMX7D_CLK_DUMMY>, > <&clks IMX7D_CLK_DUMMY>; > - clock-names = "bus", "mclk1", "mclk2", "mclk3"; > + clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3"; > dma-names = "rx", "tx"; > dmas = <&sdma 12 24 0>, <&sdma 13 24 0>; > status = "disabled"; > -- > 2.17.1 >