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
|
- compatible
|
||||||
Usage: required
|
Usage: required
|
||||||
Value type: <string>
|
Value type: <string>
|
||||||
Definition: must be "qcom,cpu-clock-osm-msm8998-v1" or
|
Definition: must be "qcom,cpu-clock-osm-msm8998-v1",
|
||||||
"qcom,cpu-clock-osm-msm8998-v2".
|
"qcom,cpu-clock-osm-msm8998-v2" or
|
||||||
|
"qcom,clk-cpu-osm".
|
||||||
|
|
||||||
- reg
|
- reg
|
||||||
Usage: required
|
Usage: required
|
||||||
|
|
|
@ -219,4 +219,16 @@ config QCOM_A53
|
||||||
Say Y if you want to support CPU frequency scaling on devices
|
Say Y if you want to support CPU frequency scaling on devices
|
||||||
such as MSM8916.
|
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"
|
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_A53) += clk-a53.o
|
||||||
obj-$(CONFIG_QCOM_CLK_RPM) += clk-rpm.o
|
obj-$(CONFIG_QCOM_CLK_RPM) += clk-rpm.o
|
||||||
obj-$(CONFIG_QCOM_CLK_SMD_RPM) += clk-smd-rpm.o
|
obj-$(CONFIG_QCOM_CLK_SMD_RPM) += clk-smd-rpm.o
|
||||||
|
obj-$(CONFIG_CLOCK_CPU_OSM) += clk-cpu-osm.o
|
||||||
|
|
||||||
obj-y += mdss/
|
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 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)
|
#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