From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752991AbcD0OZM (ORCPT ); Wed, 27 Apr 2016 10:25:12 -0400 Received: from bear.ext.ti.com ([192.94.94.41]:44963 "EHLO bear.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752793AbcD0OZJ (ORCPT ); Wed, 27 Apr 2016 10:25:09 -0400 Subject: Re: [PATCH v2 4/5] ARM: dts: omap5: describe control for ckobuffer To: Tero Kristo , "H. Nikolaus Schaller" References: <20160426172710.GI5995@atomide.com> <70572DA1-BEB4-4681-BA6C-2E1C9002D730@goldelico.com> <5720B107.4000907@ti.com> <5720C85B.9010701@ti.com> CC: Tony Lindgren , =?UTF-8?Q?Beno=c3=aet_Cousson?= , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Russell King , Laxman Dewangan , linux-omap , , LKML , Marek Belisko , , Discussions about the Letux Kernel From: Peter Ujfalusi Message-ID: Date: Wed, 27 Apr 2016 17:23:36 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.0 MIME-Version: 1.0 In-Reply-To: <5720C85B.9010701@ti.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 04/27/2016 05:10 PM, Tero Kristo wrote: > On 27/04/16 16:10, H. Nikolaus Schaller wrote: >> >>> Am 27.04.2016 um 14:31 schrieb Tero Kristo : >>> >>> On 27/04/16 09:04, H. Nikolaus Schaller wrote: >>>> >>>>> Am 26.04.2016 um 19:27 schrieb Tony Lindgren : >>>>> >>>>> Tero, >>>>> >>>>> * H. Nikolaus Schaller [160418 11:23]: >>>>>> OMAP5 has a register to control if the ckobuffer is enabled >>>>>> and defines the polarity. ckobuffer is required to drive a twl6040 >>>>>> with the system clock. Hence, add the pinctrl,single to the >>>>>> OMAP5 SoC description so that omap5-board-common can >>>>>> set up the ckobuffer as required. >>>>> >>>>> Is this really a mux or should it be a mux clock? >>>> >>>> It is a pinmux setting for the clock out buffer to choose what signal >>>> (and polarity) is presented on the fref_xtal_clk pad. >>>> >>>> The register is part of the CTRL_MODULE_WKUP. >>>> The clock signal is the xtal master clock of the whole SoC. >>>> >>>> Although there is a bit to choose an alternate clock, there is no >>>> alternate in the OMAP5 silicon. >>>> >>>> Therefore I would say it is about padconf and not clock or clock mux >>>> related. >>>> >>>> It just happens to be a clock signal which can be routed to this >>>> pad. >>> >>> The two could very well be implemented as clock nodes, a mux and a gate. >>> This would describe the hardware functionality better imo, if the >>> assumptions made here are correct. Implementing the control as pinctrl >>> hacks looks rather weird to me. >> >> Why do you consider it a "pinctrl hack"? IMHO it is not a hack, but 100% >> proper use of pinctrl. > > It is just the level of abstraction we are talking about here. If it is a > clock we are controlling, we should rather control it as a clock (higher level > abstraction), not a pin. I second this. I think it is better to have a simple gate clock and handle only CONTROL_CKOBUFFER:CKOBUFFER_CLK_EN (bit 28) only as the other bits does not have real use. Then we can add clk API support for this. On most OMAP4 devices the clock is always on, so the board DTS file need to provide a dummy clock, or we can make the high precision clock also as optional (on panda both OMAP4 and twl6040 uses the same reference clock). -- Péter