From mboxrd@z Thu Jan 1 00:00:00 1970 From: pure.logic@nexus-software.ie (Bryan O'Donoghue) Date: Thu, 15 Sep 2016 12:02:55 +0100 Subject: [GIT PULL] Greybus driver subsystem for 4.9-rc1 In-Reply-To: <20160915101741.GA21567@kroah.com> References: <20160914100949.GA6179@kroah.com> <20160914173625.GB15356@leverpostej> <20160914180754.GA16053@kroah.com> <20160915101741.GA21567@kroah.com> Message-ID: <1473937375.10230.52.camel@nexus-software.ie> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Thu, 2016-09-15 at 12:17 +0200, Greg KH wrote: > This > > is the first I've heard of timesync having a binding. I can't > imagine > > why it needs one. > > Ah, I'll let Bryan answer that one :) It's possible we could drop the binding. It was needed to describe the register location of the MMIO architectural register on MSM8994. I have this binding ATM the describe fact that get_cycles() on MSM8994 returns a free-running counter, clocked by refclk and that refclk is provided to each processor that want to do FrameTime - i.e. the clock driving get_cycles() comes from PMIC and drives the relevant PLLs on the downstream processors clocking their respective TMR blocks. static const struct of_device_id arch_timer_of_match[] = { ????????{ .compatible???= "google,greybus-frame-time-counter", }, ????????{}, }; I'm not aware of a corresponding kernel API that describes the frequency get_cycles() operates at but if there is one then there's no need for this binding. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759785AbcIOK7h (ORCPT ); Thu, 15 Sep 2016 06:59:37 -0400 Received: from mail-wm0-f45.google.com ([74.125.82.45]:35489 "EHLO mail-wm0-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755261AbcIOK7f (ORCPT ); Thu, 15 Sep 2016 06:59:35 -0400 Message-ID: <1473937375.10230.52.camel@nexus-software.ie> Subject: Re: [GIT PULL] Greybus driver subsystem for 4.9-rc1 From: "Bryan O'Donoghue" To: Greg KH , Rob Herring Cc: Mark Rutland , Arnd Bergmann , "linux-kernel@vger.kernel.org" , Johan Hovold , Rui Miguel Silva , Laurent Pinchart , Sandeep Patil , Matt Porter , John Stultz , Viresh Kumar , Alex Elder , David Lin , Vaibhav Agarwal , Mark Greer , Marc Zyngier , "linux-arm-kernel@lists.infradead.org" Date: Thu, 15 Sep 2016 12:02:55 +0100 In-Reply-To: <20160915101741.GA21567@kroah.com> References: <20160914100949.GA6179@kroah.com> <20160914173625.GB15356@leverpostej> <20160914180754.GA16053@kroah.com> <20160915101741.GA21567@kroah.com> Organization: Nexus Software Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.18.5.2-0ubuntu3 Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 2016-09-15 at 12:17 +0200, Greg KH wrote: > This > > is the first I've heard of timesync having a binding. I can't > imagine > > why it needs one. > > Ah, I'll let Bryan answer that one :) It's possible we could drop the binding. It was needed to describe the register location of the MMIO architectural register on MSM8994. I have this binding ATM the describe fact that get_cycles() on MSM8994 returns a free-running counter, clocked by refclk and that refclk is provided to each processor that want to do FrameTime - i.e. the clock driving get_cycles() comes from PMIC and drives the relevant PLLs on the downstream processors clocking their respective TMR blocks. static const struct of_device_id arch_timer_of_match[] = {         { .compatible   = "google,greybus-frame-time-counter", },         {}, }; I'm not aware of a corresponding kernel API that describes the frequency get_cycles() operates at but if there is one then there's no need for this binding.