Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f5e56c04 authored by Deepak Katragadda's avatar Deepak Katragadda
Browse files

clk: qcom: Add the GCC clock driver for SDM855



Add the peripheral clock driver support for SDM855.

Change-Id: Id32f06deff99f2b5f8ca1310eefff264bf602350
Signed-off-by: default avatarDeepak Katragadda <dkatraga@codeaurora.org>
parent a4847750
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ Required properties :
			"qcom,gcc-msm8994"
			"qcom,gcc-msm8996"
			"qcom,gcc-mdm9615"
			"qcom,gcc-sdm855"

- reg : shall contain base register location and length
- #clock-cells : shall contain 1
+13 −4
Original line number Diff line number Diff line
@@ -204,4 +204,13 @@ config MSM_CLK_AOP_QMP
	  Always On Processor manages few shared clocks on some Qualcomm
	  Technologies, Inc. SoCs. It accepts requests from other hardware
	  subsystems via QMP mailboxes.
	Say Y to support the clocks managed by AOP on platforms such as sdm845.
	  Say Y to support the clocks managed by AOP on platforms such as sdm855.

config MSM_GCC_SDM855
	tristate "SDM855 Global Clock Controller"
	depends on COMMON_CLK_QCOM
	help
	  Support for the global clock controller on Qualcomm Technologies, Inc
	  SDM855 devices.
	  Say Y if you want to use peripheral devices such as UART, SPI, i2c,
	  USB, UFS, SD/eMMC, PCIe, etc.
+1 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ obj-$(CONFIG_MSM_GCC_8960) += gcc-msm8960.o
obj-$(CONFIG_MSM_GCC_8974) += gcc-msm8974.o
obj-$(CONFIG_MSM_GCC_8994) += gcc-msm8994.o
obj-$(CONFIG_MSM_GCC_8996) += gcc-msm8996.o
obj-$(CONFIG_MSM_GCC_SDM855) += gcc-sdm855.o
obj-$(CONFIG_MSM_LCC_8960) += lcc-msm8960.o
obj-$(CONFIG_MSM_MMCC_8960) += mmcc-msm8960.o
obj-$(CONFIG_MSM_MMCC_8974) += mmcc-msm8974.o
+4515 −0

File added.

Preview size limit exceeded, changes collapsed.

+41 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2017, 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 __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.h>

enum vdd_levels {
	VDD_NONE,
	VDD_MIN,		/* MIN SVS */
	VDD_LOWER,		/* SVS2 */
	VDD_LOW,		/* SVS */
	VDD_LOW_L1,		/* SVSL1 */
	VDD_NOMINAL,		/* NOM */
	VDD_HIGH,		/* TURBO */
	VDD_NUM,
};

static int vdd_corner[] = {
	RPMH_REGULATOR_LEVEL_OFF,		/* VDD_NONE */
	RPMH_REGULATOR_LEVEL_MIN_SVS,		/* VDD_MIN */
	RPMH_REGULATOR_LEVEL_LOW_SVS,		/* VDD_LOWER */
	RPMH_REGULATOR_LEVEL_SVS,		/* VDD_LOW */
	RPMH_REGULATOR_LEVEL_SVS_L1,		/* VDD_LOW_L1 */
	RPMH_REGULATOR_LEVEL_NOM,		/* VDD_NOMINAL */
	RPMH_REGULATOR_LEVEL_TURBO,		/* VDD_HIGH */
};

#endif
Loading