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:
parent
83134d5df1
commit
79871232a8
6 changed files with 602 additions and 545 deletions
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
@ -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)
|
||||
|
||||
|
|
23
include/dt-bindings/clock/qcom,cpu-osm.h
Normal file
23
include/dt-bindings/clock/qcom,cpu-osm.h
Normal 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
|
Loading…
Add table
Reference in a new issue