clk: qcom: Support CPU clock for OSM for common clock framework

Following list of changes have been made
- Update the clock osm to register to common clock framework
- Update clock ops as per common clock framework
- cleanup unused function (clk_osm_setup_osm_was)
- Fix tabs for macro definitions
- Add clocks ids for power and perf clock for clients

Change-Id: I389cc9e93a26a434be752cf74444d6c0985ff36d
Signed-off-by: Taniya Das <tdas@codeaurora.org>
This commit is contained in:
Taniya Das 2016-11-17 11:20:23 +05:30
parent 83134d5df1
commit 79871232a8
6 changed files with 602 additions and 545 deletions

View file

@ -9,8 +9,9 @@ Properties:
- compatible
Usage: required
Value type: <string>
Definition: must be "qcom,cpu-clock-osm-msm8998-v1" or
"qcom,cpu-clock-osm-msm8998-v2".
Definition: must be "qcom,cpu-clock-osm-msm8998-v1",
"qcom,cpu-clock-osm-msm8998-v2" or
"qcom,clk-cpu-osm".
- reg
Usage: required

View file

@ -219,4 +219,16 @@ config QCOM_A53
Say Y if you want to support CPU frequency scaling on devices
such as MSM8916.
config CLOCK_CPU_OSM
tristate "OSM CPU Clock Controller"
depends on COMMON_CLK_QCOM
help
Support for the osm clock controller.
Operating State Manager (OSM) is a hardware engine used by some
Qualcomm Technologies, Inc. (QTI) SoCs to manage frequency and
voltage scaling in hardware. OSM is capable of controlling
frequency and voltage requests for multiple clusters via the
existence of multiple OSM domains.
Say Y if you want to support osm clocks.
source "drivers/clk/qcom/mdss/Kconfig"

View file

@ -37,5 +37,6 @@ obj-$(CONFIG_KRAITCC) += krait-cc.o
obj-$(CONFIG_QCOM_A53) += clk-a53.o
obj-$(CONFIG_QCOM_CLK_RPM) += clk-rpm.o
obj-$(CONFIG_QCOM_CLK_SMD_RPM) += clk-smd-rpm.o
obj-$(CONFIG_CLOCK_CPU_OSM) += clk-cpu-osm.o
obj-y += mdss/

File diff suppressed because it is too large Load diff

View file

@ -137,6 +137,7 @@ struct clk_debug_mux {
};
#define BM(msb, lsb) (((((uint32_t)-1) << (31-msb)) >> (31-msb+lsb)) << lsb)
#define BVAL(msb, lsb, val) (((val) << lsb) & BM(msb, lsb))
#define to_clk_measure(_hw) container_of((_hw), struct clk_debug_mux, hw)

View file

@ -0,0 +1,23 @@
/*
* Copyright (c) 2016, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef _DT_BINDINGS_CLK_MSM_CPU_OSM_H
#define _DT_BINDINGS_CLK_MSM_CPU_OSM_H
/* CPU clock IDs */
#define SYS_APCSAUX_CLK_GCC 0
#define PWRCL_CLK 1
#define PERFCL_CLK 2
#define OSM_CLK_SRC 3
#endif