From patchwork Tue Oct 18 15:50:07 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marc Dietrich X-Patchwork-Id: 120458 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 239F1B70CA for ; Wed, 19 Oct 2011 02:53:27 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932678Ab1JRPx0 (ORCPT ); Tue, 18 Oct 2011 11:53:26 -0400 Received: from mailout-de.gmx.net ([213.165.64.23]:57863 "HELO mailout-de.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S932471Ab1JRPxY (ORCPT ); Tue, 18 Oct 2011 11:53:24 -0400 Received: (qmail invoked by alias); 18 Oct 2011 15:53:22 -0000 Received: from pD9E5C769.dip0.t-ipconnect.de (EHLO ax5200p.localnet) [217.229.199.105] by mail.gmx.net (mp065) with SMTP; 18 Oct 2011 17:53:22 +0200 X-Authenticated: #9962044 X-Provags-ID: V01U2FsdGVkX1/S4DlV+arSlFHX/JX2wssV62EPmC1AupI9R07apP XU/Q7iW+E/EcRk From: Marc Dietrich To: Stephen Warren Cc: Leon Romanovsky , "olof@lixom.net" , "ccross@android.com" , "linux-tegra@vger.kernel.org" Subject: Re: [PATCH 1/1] ARM: tegra: paz00: Fix board pinmux table. Date: Tue, 18 Oct 2011 17:50:07 +0200 Message-ID: <9849440.cSOtOCBmUT@ax5200p> User-Agent: KMail/4.7.2 (Linux/3.0.0-12-generic; KDE/4.7.1; x86_64; ; ) In-Reply-To: <74CDBE0F657A3D45AFBB94109FB122FF173BE1A4A4@HQMAIL01.nvidia.com> References: <1318691913-9597-1-git-send-email-leon@leon.nu> <201110151834.22732.marvin24@gmx.de> <74CDBE0F657A3D45AFBB94109FB122FF173BE1A4A4@HQMAIL01.nvidia.com> MIME-Version: 1.0 X-Y-GMX-Trusted: 0 Sender: linux-tegra-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org On Monday 17 October 2011 08:29:01 Stephen Warren wrote: > Marc Dietrich wrote at Saturday, October 15, 2011 10:34 AM: > > Am Samstag 15 Oktober 2011, 17:18:33 schrieb Leon Romanovsky: > > > This fix updates the CDEV1 pinmux for the paz00 board to be as in the > > > Harmony board. Paz00 board is originally based on Harmony design. > > > > the fact that this patch makes sound work on paz00 does not necessary mean > > that this is the "right thing" to do. > > > First, the initial state should be > > TRISTATE, because sound layer should switch between NORMAL/TRISTATE > > automaticly to save some power. > > None of the other boards do that, and the drivers don't support it. I > believe the clock would need to be started as soon as the audio driver > module were loaded, and kept running as long as it was loaded, so there's > not much chance of optimizing power here at the moment. Which driver? I guess this could be done by the board specific code e.g. in in sound/soc/tegra/paz00.c I haven't checked if the clock is disabled, because the whole clock setup is a bit confusing... Here is androids pinmux diff "without and with music": > > Second, Android has TEGRA_PUPD_PULL_DOWN > > with sound working and I didn't found out yet why this also works. > > I don't know why there's a pull-down there in the Android kernel; there's > no need as far as I know, since it's a clock signal. I'd go so far as to > believe that a pull-down would distort the clock signal slightly. Is there some docu somewhere about what PUPD_NORMAL and POPD_PULL_DOWN means? I know the meaning of TRISTATE and PULL_DOWN/UP from electronics, but that does not define what the NORMAL state is. I also don't see why you can't get a nice clock signal out of a pull down pin. If inactive, the pin is high (e.g. +3.3V), while when active it is pulled to zero (ok, it's logical inverted). Marc > But yes, it probably makes sense to include this patch in a series that > enables audio on PAZ00 whenever that appears. --- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html --- pinmux_no_music.txt +++ pinmux_with_music.txt @@ -3,11 +3,11 @@ {TEGRA_PINGROUP_ATC, TEGRA_MUX_GMI, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, {TEGRA_PINGROUP_ATD, TEGRA_MUX_GMI, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, {TEGRA_PINGROUP_ATE, TEGRA_MUX_GMI, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, - {TEGRA_PINGROUP_CDEV1, TEGRA_MUX_PLLA_OUT, TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE}, + {TEGRA_PINGROUP_CDEV1, TEGRA_MUX_PLLA_OUT, TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL}, {TEGRA_PINGROUP_CDEV2, TEGRA_MUX_PLLP_OUT4, TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_NORMAL}, {TEGRA_PINGROUP_CRTP, TEGRA_MUX_CRT, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, {TEGRA_PINGROUP_CSUS, TEGRA_MUX_PLLC_OUT1, TEGRA_PUPD_PULL_DOWN, TEGRA_TRI_TRISTATE}, - {TEGRA_PINGROUP_DAP1, TEGRA_MUX_DAP1, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, + {TEGRA_PINGROUP_DAP1, TEGRA_MUX_DAP1, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, {TEGRA_PINGROUP_DAP2, TEGRA_MUX_GMI, TEGRA_PUPD_NORMAL, TEGRA_TRI_NORMAL}, {TEGRA_PINGROUP_DAP3, TEGRA_MUX_DAP3, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE}, {TEGRA_PINGROUP_DAP4, TEGRA_MUX_GMI, TEGRA_PUPD_NORMAL, TEGRA_TRI_TRISTATE},