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:
Saurabh Sahu 2020-11-24 11:49:58 +05:30
commit a2c13bff12
4 changed files with 2128 additions and 0 deletions

View file

@ -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

View file

@ -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

File diff suppressed because it is too large Load diff

View 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