mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-25 09:10:21 +07:00
d14b15b593
Add a driver for the multimedia clock controller found on MSM8998 based devices. This should allow most multimedia device drivers to probe and control their clocks. Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Link: https://lkml.kernel.org/r/1576596033-10189-1-git-send-email-jhugo@codeaurora.org Signed-off-by: Stephen Boyd <sboyd@kernel.org>
368 lines
12 KiB
Plaintext
368 lines
12 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
config KRAIT_CLOCKS
|
|
bool
|
|
select KRAIT_L2_ACCESSORS
|
|
|
|
config QCOM_GDSC
|
|
bool
|
|
select PM_GENERIC_DOMAINS if PM
|
|
|
|
config QCOM_RPMCC
|
|
bool
|
|
|
|
menuconfig COMMON_CLK_QCOM
|
|
tristate "Support for Qualcomm's clock controllers"
|
|
depends on OF
|
|
depends on ARCH_QCOM || COMPILE_TEST
|
|
select RATIONAL
|
|
select REGMAP_MMIO
|
|
select RESET_CONTROLLER
|
|
|
|
if COMMON_CLK_QCOM
|
|
|
|
config QCOM_A53PLL
|
|
tristate "MSM8916 A53 PLL"
|
|
help
|
|
Support for the A53 PLL on MSM8916 devices. It provides
|
|
the CPU with frequencies above 1GHz.
|
|
Say Y if you want to support higher CPU frequencies on MSM8916
|
|
devices.
|
|
|
|
config QCOM_CLK_APCS_MSM8916
|
|
tristate "MSM8916 APCS Clock Controller"
|
|
depends on QCOM_APCS_IPC || COMPILE_TEST
|
|
help
|
|
Support for the APCS Clock Controller on msm8916 devices. The
|
|
APCS is managing the mux and divider which feeds the CPUs.
|
|
Say Y if you want to support CPU frequency scaling on devices
|
|
such as msm8916.
|
|
|
|
config QCOM_CLK_RPM
|
|
tristate "RPM based Clock Controller"
|
|
depends on MFD_QCOM_RPM
|
|
select QCOM_RPMCC
|
|
help
|
|
The RPM (Resource Power Manager) is a dedicated hardware engine for
|
|
managing the shared SoC resources in order to keep the lowest power
|
|
profile. It communicates with other hardware subsystems via shared
|
|
memory and accepts clock requests, aggregates the requests and turns
|
|
the clocks on/off or scales them on demand.
|
|
Say Y if you want to support the clocks exposed by the RPM on
|
|
platforms such as apq8064, msm8660, msm8960 etc.
|
|
|
|
config QCOM_CLK_SMD_RPM
|
|
tristate "RPM over SMD based Clock Controller"
|
|
depends on QCOM_SMD_RPM
|
|
select QCOM_RPMCC
|
|
help
|
|
The RPM (Resource Power Manager) is a dedicated hardware engine for
|
|
managing the shared SoC resources in order to keep the lowest power
|
|
profile. It communicates with other hardware subsystems via shared
|
|
memory and accepts clock requests, aggregates the requests and turns
|
|
the clocks on/off or scales them on demand.
|
|
Say Y if you want to support the clocks exposed by the RPM on
|
|
platforms such as apq8016, apq8084, msm8974 etc.
|
|
|
|
config QCOM_CLK_RPMH
|
|
tristate "RPMh Clock Driver"
|
|
depends on QCOM_RPMH
|
|
help
|
|
RPMh manages shared resources on some Qualcomm Technologies, Inc.
|
|
SoCs. It accepts requests from other hardware subsystems via RSC.
|
|
Say Y if you want to support the clocks exposed by RPMh on
|
|
platforms such as SDM845.
|
|
|
|
config APQ_GCC_8084
|
|
tristate "APQ8084 Global Clock Controller"
|
|
select QCOM_GDSC
|
|
help
|
|
Support for the global clock controller on apq8084 devices.
|
|
Say Y if you want to use peripheral devices such as UART, SPI,
|
|
i2c, USB, SD/eMMC, SATA, PCIe, etc.
|
|
|
|
config APQ_MMCC_8084
|
|
tristate "APQ8084 Multimedia Clock Controller"
|
|
select APQ_GCC_8084
|
|
select QCOM_GDSC
|
|
help
|
|
Support for the multimedia clock controller on apq8084 devices.
|
|
Say Y if you want to support multimedia devices such as display,
|
|
graphics, video encode/decode, camera, etc.
|
|
|
|
config IPQ_GCC_4019
|
|
tristate "IPQ4019 Global Clock Controller"
|
|
help
|
|
Support for the global clock controller on ipq4019 devices.
|
|
Say Y if you want to use peripheral devices such as UART, SPI,
|
|
i2c, USB, SD/eMMC, etc.
|
|
|
|
config IPQ_GCC_806X
|
|
tristate "IPQ806x Global Clock Controller"
|
|
help
|
|
Support for the global clock controller on ipq806x devices.
|
|
Say Y if you want to use peripheral devices such as UART, SPI,
|
|
i2c, USB, SD/eMMC, etc.
|
|
|
|
config IPQ_LCC_806X
|
|
tristate "IPQ806x LPASS Clock Controller"
|
|
select IPQ_GCC_806X
|
|
help
|
|
Support for the LPASS clock controller on ipq806x devices.
|
|
Say Y if you want to use audio devices such as i2s, pcm,
|
|
S/PDIF, etc.
|
|
|
|
config IPQ_GCC_8074
|
|
tristate "IPQ8074 Global Clock Controller"
|
|
help
|
|
Support for global clock controller on ipq8074 devices.
|
|
Say Y if you want to use peripheral devices such as UART, SPI,
|
|
i2c, USB, SD/eMMC, etc. Select this for the root clock
|
|
of ipq8074.
|
|
|
|
config MSM_GCC_8660
|
|
tristate "MSM8660 Global Clock Controller"
|
|
help
|
|
Support for the global clock controller on msm8660 devices.
|
|
Say Y if you want to use peripheral devices such as UART, SPI,
|
|
i2c, USB, SD/eMMC, etc.
|
|
|
|
config MSM_GCC_8916
|
|
tristate "MSM8916 Global Clock Controller"
|
|
select QCOM_GDSC
|
|
help
|
|
Support for the global clock controller on msm8916 devices.
|
|
Say Y if you want to use devices such as UART, SPI i2c, USB,
|
|
SD/eMMC, display, graphics, camera etc.
|
|
|
|
config MSM_GCC_8960
|
|
tristate "APQ8064/MSM8960 Global Clock Controller"
|
|
help
|
|
Support for the global clock controller on apq8064/msm8960 devices.
|
|
Say Y if you want to use peripheral devices such as UART, SPI,
|
|
i2c, USB, SD/eMMC, SATA, PCIe, etc.
|
|
|
|
config MSM_LCC_8960
|
|
tristate "APQ8064/MSM8960 LPASS Clock Controller"
|
|
select MSM_GCC_8960
|
|
help
|
|
Support for the LPASS clock controller on apq8064/msm8960 devices.
|
|
Say Y if you want to use audio devices such as i2s, pcm,
|
|
SLIMBus, etc.
|
|
|
|
config MDM_GCC_9615
|
|
tristate "MDM9615 Global Clock Controller"
|
|
help
|
|
Support for the global clock controller on mdm9615 devices.
|
|
Say Y if you want to use peripheral devices such as UART, SPI,
|
|
i2c, USB, SD/eMMC, etc.
|
|
|
|
config MDM_LCC_9615
|
|
tristate "MDM9615 LPASS Clock Controller"
|
|
select MDM_GCC_9615
|
|
help
|
|
Support for the LPASS clock controller on mdm9615 devices.
|
|
Say Y if you want to use audio devices such as i2s, pcm,
|
|
SLIMBus, etc.
|
|
|
|
config MSM_MMCC_8960
|
|
tristate "MSM8960 Multimedia Clock Controller"
|
|
select MSM_GCC_8960
|
|
help
|
|
Support for the multimedia clock controller on msm8960 devices.
|
|
Say Y if you want to support multimedia devices such as display,
|
|
graphics, video encode/decode, camera, etc.
|
|
|
|
config MSM_GCC_8974
|
|
tristate "MSM8974 Global Clock Controller"
|
|
select QCOM_GDSC
|
|
help
|
|
Support for the global clock controller on msm8974 devices.
|
|
Say Y if you want to use peripheral devices such as UART, SPI,
|
|
i2c, USB, SD/eMMC, SATA, PCIe, etc.
|
|
|
|
config MSM_MMCC_8974
|
|
tristate "MSM8974 Multimedia Clock Controller"
|
|
select MSM_GCC_8974
|
|
select QCOM_GDSC
|
|
help
|
|
Support for the multimedia clock controller on msm8974 devices.
|
|
Say Y if you want to support multimedia devices such as display,
|
|
graphics, video encode/decode, camera, etc.
|
|
|
|
config MSM_GCC_8994
|
|
tristate "MSM8994 Global Clock Controller"
|
|
help
|
|
Support for the global clock controller on msm8994 devices.
|
|
Say Y if you want to use peripheral devices such as UART, SPI,
|
|
i2c, USB, UFS, SD/eMMC, PCIe, etc.
|
|
|
|
config MSM_GCC_8996
|
|
tristate "MSM8996 Global Clock Controller"
|
|
select QCOM_GDSC
|
|
help
|
|
Support for the global clock controller on msm8996 devices.
|
|
Say Y if you want to use peripheral devices such as UART, SPI,
|
|
i2c, USB, UFS, SD/eMMC, PCIe, etc.
|
|
|
|
config MSM_MMCC_8996
|
|
tristate "MSM8996 Multimedia Clock Controller"
|
|
select MSM_GCC_8996
|
|
select QCOM_GDSC
|
|
help
|
|
Support for the multimedia clock controller on msm8996 devices.
|
|
Say Y if you want to support multimedia devices such as display,
|
|
graphics, video encode/decode, camera, etc.
|
|
|
|
config MSM_GCC_8998
|
|
tristate "MSM8998 Global Clock Controller"
|
|
select QCOM_GDSC
|
|
help
|
|
Support for the global clock controller on msm8998 devices.
|
|
Say Y if you want to use peripheral devices such as UART, SPI,
|
|
i2c, USB, UFS, SD/eMMC, PCIe, etc.
|
|
|
|
config MSM_GPUCC_8998
|
|
tristate "MSM8998 Graphics Clock Controller"
|
|
select MSM_GCC_8998
|
|
select QCOM_GDSC
|
|
help
|
|
Support for the graphics clock controller on MSM8998 devices.
|
|
Say Y if you want to support graphics controller devices and
|
|
functionality such as 3D graphics.
|
|
|
|
config MSM_MMCC_8998
|
|
tristate "MSM8998 Multimedia Clock Controller"
|
|
select MSM_GCC_8998
|
|
select QCOM_GDSC
|
|
help
|
|
Support for the multimedia clock controller on msm8998 devices.
|
|
Say Y if you want to support multimedia devices such as display,
|
|
graphics, video encode/decode, camera, etc.
|
|
|
|
config QCS_GCC_404
|
|
tristate "QCS404 Global Clock Controller"
|
|
help
|
|
Support for the global clock controller on QCS404 devices.
|
|
Say Y if you want to use multimedia devices or peripheral
|
|
devices such as UART, SPI, I2C, USB, SD/eMMC, PCIe etc.
|
|
|
|
config SC_GCC_7180
|
|
tristate "SC7180 Global Clock Controller"
|
|
select QCOM_GDSC
|
|
depends on COMMON_CLK_QCOM
|
|
help
|
|
Support for the global clock controller on SC7180 devices.
|
|
Say Y if you want to use peripheral devices such as UART, SPI,
|
|
I2C, USB, UFS, SDCC, etc.
|
|
|
|
config SDM_CAMCC_845
|
|
tristate "SDM845 Camera Clock Controller"
|
|
select SDM_GCC_845
|
|
help
|
|
Support for the camera clock controller on SDM845 devices.
|
|
Say Y if you want to support camera devices and camera functionality.
|
|
|
|
config SDM_GCC_660
|
|
tristate "SDM660 Global Clock Controller"
|
|
select QCOM_GDSC
|
|
help
|
|
Support for the global clock controller on SDM660 devices.
|
|
Say Y if you want to use peripheral devices such as UART, SPI,
|
|
i2C, USB, UFS, SDDC, PCIe, etc.
|
|
|
|
config QCS_TURING_404
|
|
tristate "QCS404 Turing Clock Controller"
|
|
help
|
|
Support for the Turing Clock Controller on QCS404, provides clocks
|
|
and resets for the Turing subsystem.
|
|
|
|
config QCS_Q6SSTOP_404
|
|
tristate "QCS404 Q6SSTOP Clock Controller"
|
|
select QCS_GCC_404
|
|
help
|
|
Support for the Q6SSTOP clock controller on QCS404 devices.
|
|
Say Y if you want to use the Q6SSTOP branch clocks of the WCSS clock
|
|
controller to reset the Q6SSTOP subsystem.
|
|
|
|
config SDM_GCC_845
|
|
tristate "SDM845 Global Clock Controller"
|
|
select QCOM_GDSC
|
|
help
|
|
Support for the global clock controller on SDM845 devices.
|
|
Say Y if you want to use peripheral devices such as UART, SPI,
|
|
i2C, USB, UFS, SDDC, PCIe, etc.
|
|
|
|
config SDM_GPUCC_845
|
|
tristate "SDM845 Graphics Clock Controller"
|
|
select SDM_GCC_845
|
|
help
|
|
Support for the graphics clock controller on SDM845 devices.
|
|
Say Y if you want to support graphics controller devices and
|
|
functionality such as 3D graphics.
|
|
|
|
config SDM_VIDEOCC_845
|
|
tristate "SDM845 Video Clock Controller"
|
|
select SDM_GCC_845
|
|
select QCOM_GDSC
|
|
help
|
|
Support for the video clock controller on SDM845 devices.
|
|
Say Y if you want to support video devices and functionality such as
|
|
video encode and decode.
|
|
|
|
config SDM_DISPCC_845
|
|
tristate "SDM845 Display Clock Controller"
|
|
select SDM_GCC_845
|
|
help
|
|
Support for the display clock controller on Qualcomm Technologies, Inc
|
|
SDM845 devices.
|
|
Say Y if you want to support display devices and functionality such as
|
|
splash screen.
|
|
|
|
config SDM_LPASSCC_845
|
|
tristate "SDM845 Low Power Audio Subsystem (LPAAS) Clock Controller"
|
|
select SDM_GCC_845
|
|
help
|
|
Support for the LPASS clock controller on SDM845 devices.
|
|
Say Y if you want to use the LPASS branch clocks of the LPASS clock
|
|
controller to reset the LPASS subsystem.
|
|
|
|
config SM_GCC_8150
|
|
tristate "SM8150 Global Clock Controller"
|
|
help
|
|
Support for the global clock controller on SM8150 devices.
|
|
Say Y if you want to use peripheral devices such as UART,
|
|
SPI, I2C, USB, SD/UFS, PCIe etc.
|
|
|
|
config SPMI_PMIC_CLKDIV
|
|
tristate "SPMI PMIC clkdiv Support"
|
|
depends on SPMI || COMPILE_TEST
|
|
help
|
|
This driver supports the clkdiv functionality on the Qualcomm
|
|
Technologies, Inc. SPMI PMIC. It configures the frequency of
|
|
clkdiv outputs of the PMIC. These clocks are typically wired
|
|
through alternate functions on GPIO pins.
|
|
|
|
config QCOM_HFPLL
|
|
tristate "High-Frequency PLL (HFPLL) Clock Controller"
|
|
help
|
|
Support for the high-frequency PLLs present on Qualcomm devices.
|
|
Say Y if you want to support CPU frequency scaling on devices
|
|
such as MSM8974, APQ8084, etc.
|
|
|
|
config KPSS_XCC
|
|
tristate "KPSS Clock Controller"
|
|
help
|
|
Support for the Krait ACC and GCC clock controllers. Say Y
|
|
if you want to support CPU frequency scaling on devices such
|
|
as MSM8960, APQ8064, etc.
|
|
|
|
config KRAITCC
|
|
tristate "Krait Clock Controller"
|
|
depends on ARM
|
|
select KRAIT_CLOCKS
|
|
help
|
|
Support for the Krait CPU clocks on Qualcomm devices.
|
|
Say Y if you want to support CPU frequency scaling.
|
|
|
|
endif
|