Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754574AbcK2QPb (ORCPT ); Tue, 29 Nov 2016 11:15:31 -0500 Received: from mail-lf0-f66.google.com ([209.85.215.66]:35239 "EHLO mail-lf0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753722AbcK2QPS (ORCPT ); Tue, 29 Nov 2016 11:15:18 -0500 From: Alexander Kochetkov To: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org Cc: Thomas Gleixner , Heiko Stuebner , Mark Rutland , Rob Herring , Russell King , Caesar Wang , Huang Tao , Daniel Lezcano , Alexander Kochetkov Subject: [PATCH v4 0/9] Implement clocksource for rockchip SoC using rockchip timer Date: Tue, 29 Nov 2016 19:14:43 +0300 Message-Id: <1480436092-10728-1-git-send-email-al.kochet@gmail.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1480343486-25539-1-git-send-email-al.kochet@gmail.com> References: <1480343486-25539-1-git-send-email-al.kochet@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2911 Lines: 78 Hello, This patch series contain: - devicetree bindings clarification for rockchip timers - dts files fixes for rk3228-evb, rk3229-evb and rk3188 - implementation of clocksource and sched clock for rockchip SoC The clock supplying the arm-global-timer on the rk3188 is coming from the the cpu clock itself and thus changes its rate everytime cpufreq adjusts the cpu frequency making this timer unsuitable as a stable clocksource. The rk3188, rk3288 and following socs share a separate timer block already handled by the rockchip-timer driver. Therefore adapt this driver to also be able to act as clocksource on rk3188. In order to test clocksource you can run following commands and check how much time it take in real. On rk3188 it take about ~45 seconds. cpufreq-set -f 1.6GHZ date; sleep 60; date rk3288 (and probably anything newer) is irrelevant to this patch, as it has the arch timer interface. This patch may be usefull for Cortex-A9/A5 based parts. Regards, Alexander. This is try 4. Please discard all v1, v2, v3 patches. Changes in v4: merged 7 and 8 from series 3 merged 10, 11, 12, 13 from series 3 fixed commit message Changes in v3: added patches: ARM: dts: rockchip: disable arm-global-timer for rk3188 clocksource/drivers/rockchip_timer: Prevent ftrace recursion devicetree v1 patches: https://patchwork.ozlabs.org/patch/699019/ https://patchwork.ozlabs.org/patch/699020/ kernel v1 patches: https://patchwork.kernel.org/patch/9443975/ https://patchwork.kernel.org/patch/9443971/ https://patchwork.kernel.org/patch/9443959/ https://patchwork.kernel.org/patch/9443963/ https://patchwork.kernel.org/patch/9443979/ https://patchwork.kernel.org/patch/9443989/ https://patchwork.kernel.org/patch/9443987/ https://patchwork.kernel.org/patch/9443977/ https://patchwork.kernel.org/patch/9443991/ Alexander Kochetkov (9): dt-bindings: clarify compatible property for rockchip timers ARM: dts: rockchip: update compatible property for rk3228 timer ARM: dts: rockchip: update compatible property for rk3229 timer ARM: dts: rockchip: add timer entries to rk3188 SoC ARM: dts: rockchip: disable arm-global-timer for rk3188 clocksource/drivers/rockchip_timer: split bc_timer into rk_timer and rk_clock_event_device clocksource/drivers/rockchip_timer: low level routines take rk_timer as parameter clocksource/drivers/rockchip_timer: move TIMER_INT_UNMASK out of rk_timer_enable() clocksource/drivers/rockchip_timer: implement clocksource timer .../bindings/timer/rockchip,rk-timer.txt | 12 +- arch/arm/boot/dts/rk3188.dtsi | 17 ++ arch/arm/boot/dts/rk3228-evb.dts | 4 + arch/arm/boot/dts/rk3229-evb.dts | 4 + drivers/clocksource/rockchip_timer.c | 207 +++++++++++++++----- 5 files changed, 190 insertions(+), 54 deletions(-) -- 1.7.9.5