mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-07 20:33:58 -04:00
clk: qcom: gcc: Add support for GCC clock driver for Monaco
Add support for global clock controller for peripheral clock clients to be able to request for the clocks in Monaco. Change-Id: I0dcf82faf9073a7ee832c693540dddbca44e2524 Signed-off-by: Saurabh Sahu <sausah@codeaurora.org>
This commit is contained in:
parent
8e71903aa7
commit
a2c13bff12
4 changed files with 2128 additions and 0 deletions
|
|
@ -747,6 +747,16 @@ config SM_DEBUGCC_6150
|
|||
Say Y if you want to support the debug clocks such as
|
||||
clock measurement functionality.
|
||||
|
||||
config SDW_GCC_MONACO
|
||||
tristate "MONACO Global Clock Controller"
|
||||
select QCOM_GDSC
|
||||
depends on COMMON_CLK_QCOM
|
||||
help
|
||||
Support for the global clock controller on Qualcomm Technologies, Inc.
|
||||
MONACO devices.
|
||||
Say Y if you want to use peripheral devices such as UART, SPI, I2C,
|
||||
USB, SD/eMMC, etc.
|
||||
|
||||
endif
|
||||
|
||||
config VIRTIO_CLK
|
||||
|
|
|
|||
|
|
@ -71,6 +71,7 @@ obj-$(CONFIG_SDX_DEBUGCC_LEMUR) += debugcc-sdxlemur.o
|
|||
obj-$(CONFIG_SDX_DEBUGCC_NIGHTJAR) += debugcc-sdxnightjar.o
|
||||
obj-$(CONFIG_SDX_GCC_LEMUR) += gcc-sdxlemur.o
|
||||
obj-$(CONFIG_SDX_GCC_NIGHTJAR) += gcc-sdxnightjar.o
|
||||
obj-$(CONFIG_SDW_GCC_MONACO) += gcc-monaco.o
|
||||
obj-$(CONFIG_SM_CAMCC_6150) += camcc-sm6150.o
|
||||
obj-$(CONFIG_SM_CAMCC_8150) += camcc-sm8150.o
|
||||
obj-$(CONFIG_SM_CAMCC_SHIMA) += camcc-shima.o
|
||||
|
|
|
|||
2082
drivers/clk/qcom/gcc-monaco.c
Normal file
2082
drivers/clk/qcom/gcc-monaco.c
Normal file
File diff suppressed because it is too large
Load diff
35
drivers/clk/qcom/vdd-level-monaco.h
Normal file
35
drivers/clk/qcom/vdd-level-monaco.h
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
|
||||
*/
|
||||
|
||||
#ifndef __DRIVERS_CLK_QCOM_VDD_LEVEL_H
|
||||
#define __DRIVERS_CLK_QCOM_VDD_LEVEL_H
|
||||
|
||||
#include <linux/regulator/consumer.h>
|
||||
#include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h>
|
||||
|
||||
enum vdd_levels {
|
||||
VDD_NONE,
|
||||
VDD_LOWER_D1, /* MIN SVS */
|
||||
VDD_LOWER, /* SVS2 */
|
||||
VDD_LOW, /* SVS */
|
||||
VDD_LOW_L1, /* SVSL1 */
|
||||
VDD_NOMINAL, /* NOM */
|
||||
VDD_NOMINAL_L1, /* NOM L1 */
|
||||
VDD_HIGH, /* TURBO */
|
||||
VDD_NUM,
|
||||
};
|
||||
|
||||
static int vdd_corner[] = {
|
||||
[VDD_NONE] = 0,
|
||||
[VDD_LOWER_D1] = RPMH_REGULATOR_LEVEL_MIN_SVS,
|
||||
[VDD_LOWER] = RPMH_REGULATOR_LEVEL_LOW_SVS,
|
||||
[VDD_LOW] = RPMH_REGULATOR_LEVEL_SVS,
|
||||
[VDD_LOW_L1] = RPMH_REGULATOR_LEVEL_SVS_L1,
|
||||
[VDD_NOMINAL] = RPMH_REGULATOR_LEVEL_NOM,
|
||||
[VDD_NOMINAL_L1] = RPMH_REGULATOR_LEVEL_NOM_L1,
|
||||
[VDD_HIGH] = RPMH_REGULATOR_LEVEL_TURBO,
|
||||
};
|
||||
|
||||
#endif
|
||||
Loading…
Reference in a new issue