2023-01-23 09:49:54

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 1/2] clk: qcom: add compile test to MSM8996 CPU clocks

Allow compile testing of MSM8996 CPU clocks for build coverage.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/clk/qcom/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig
index 1b6615fe1dba..1c360eed72d7 100644
--- a/drivers/clk/qcom/Kconfig
+++ b/drivers/clk/qcom/Kconfig
@@ -48,7 +48,7 @@ config QCOM_CLK_APCS_MSM8916
config QCOM_CLK_APCC_MSM8996
tristate "MSM8996 CPU Clock Controller"
select QCOM_KRYO_L2_ACCESSORS
- depends on ARM64
+ depends on ARM64 || COMPILE_TEST
help
Support for the CPU clock controller on msm8996 devices.
Say Y if you want to support CPU clock scaling using CPUfreq
--
2.34.1



2023-01-23 09:50:00

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 2/2] clk: qcom: restrict drivers per ARM/ARM64

There is no point to allow selecting pin-controller drivers for Qualcomm
ARMv7 SoCs when building ARM64 kernel, and vice versa. This makes
kernel configuration more difficult as many do not remember the Qualcomm
SoCs model names/numbers. There won't be a single image for ARMv7 and
ARMv8/9 SoCs, so no features/options are lost.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
drivers/clk/qcom/Kconfig | 88 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 88 insertions(+)

diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig
index 1c360eed72d7..3112ca762f4d 100644
--- a/drivers/clk/qcom/Kconfig
+++ b/drivers/clk/qcom/Kconfig
@@ -57,6 +57,7 @@ config QCOM_CLK_APCC_MSM8996
config QCOM_CLK_APCS_SDX55
tristate "SDX55 and SDX65 APCS Clock Controller"
depends on QCOM_APCS_IPC || COMPILE_TEST
+ depends on ARM || COMPILE_TEST
help
Support for the APCS Clock Controller on SDX55, SDX65 platforms. The
APCS is managing the mux and divider which feeds the CPUs.
@@ -100,6 +101,7 @@ config QCOM_CLK_RPMH

config APQ_GCC_8084
tristate "APQ8084 Global Clock Controller"
+ depends on ARM || COMPILE_TEST
select QCOM_GDSC
help
Support for the global clock controller on apq8084 devices.
@@ -108,6 +110,7 @@ config APQ_GCC_8084

config APQ_MMCC_8084
tristate "APQ8084 Multimedia Clock Controller"
+ depends on ARM || COMPILE_TEST
select APQ_GCC_8084
select QCOM_GDSC
help
@@ -116,6 +119,7 @@ config APQ_MMCC_8084
graphics, video encode/decode, camera, etc.

config IPQ_APSS_PLL
+ depends on ARM64 || COMPILE_TEST
tristate "IPQ APSS PLL"
help
Support for APSS PLL on ipq devices. The APSS PLL is the main
@@ -127,6 +131,7 @@ config IPQ_APSS_6018
tristate "IPQ APSS Clock Controller"
select IPQ_APSS_PLL
depends on QCOM_APCS_IPC || COMPILE_TEST
+ depends on ARM64 || COMPILE_TEST
help
Support for APSS clock controller on IPQ platforms. The
APSS clock controller manages the Mux and enable block that feeds the
@@ -143,6 +148,7 @@ config IPQ_GCC_4019

config IPQ_GCC_6018
tristate "IPQ6018 Global Clock Controller"
+ depends on ARM64 || COMPILE_TEST
help
Support for global clock controller on ipq6018 devices.
Say Y if you want to use peripheral devices such as UART, SPI,
@@ -151,6 +157,7 @@ config IPQ_GCC_6018

config IPQ_GCC_806X
tristate "IPQ806x Global Clock Controller"
+ depends on ARM || COMPILE_TEST
help
Support for the global clock controller on ipq806x devices.
Say Y if you want to use peripheral devices such as UART, SPI,
@@ -158,6 +165,7 @@ config IPQ_GCC_806X

config IPQ_LCC_806X
tristate "IPQ806x LPASS Clock Controller"
+ depends on ARM || COMPILE_TEST
select IPQ_GCC_806X
help
Support for the LPASS clock controller on ipq806x devices.
@@ -166,6 +174,7 @@ config IPQ_LCC_806X

config IPQ_GCC_8074
tristate "IPQ8074 Global Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select QCOM_GDSC
help
Support for global clock controller on ipq8074 devices.
@@ -175,6 +184,7 @@ config IPQ_GCC_8074

config MSM_GCC_8660
tristate "MSM8660 Global Clock Controller"
+ depends on ARM || COMPILE_TEST
help
Support for the global clock controller on msm8660 devices.
Say Y if you want to use peripheral devices such as UART, SPI,
@@ -182,6 +192,7 @@ config MSM_GCC_8660

config MSM_GCC_8909
tristate "MSM8909 Global Clock Controller"
+ depends on ARM || COMPILE_TEST
select QCOM_GDSC
help
Support for the global clock controller on msm8909 devices.
@@ -206,6 +217,7 @@ config MSM_GCC_8939

config MSM_GCC_8960
tristate "APQ8064/MSM8960 Global Clock Controller"
+ depends on ARM || COMPILE_TEST
help
Support for the global clock controller on apq8064/msm8960 devices.
Say Y if you want to use peripheral devices such as UART, SPI,
@@ -213,6 +225,7 @@ config MSM_GCC_8960

config MSM_LCC_8960
tristate "APQ8064/MSM8960 LPASS Clock Controller"
+ depends on ARM || COMPILE_TEST
select MSM_GCC_8960
help
Support for the LPASS clock controller on apq8064/msm8960 devices.
@@ -221,6 +234,7 @@ config MSM_LCC_8960

config MDM_GCC_9607
tristate "MDM9607 Global Clock Controller"
+ depends on ARM || COMPILE_TEST
help
Support for the global clock controller on mdm9607 devices.
Say Y if you want to use peripheral devices such as UART, SPI,
@@ -228,6 +242,7 @@ config MDM_GCC_9607

config MDM_GCC_9615
tristate "MDM9615 Global Clock Controller"
+ depends on ARM || COMPILE_TEST
help
Support for the global clock controller on mdm9615 devices.
Say Y if you want to use peripheral devices such as UART, SPI,
@@ -235,6 +250,7 @@ config MDM_GCC_9615

config MDM_LCC_9615
tristate "MDM9615 LPASS Clock Controller"
+ depends on ARM || COMPILE_TEST
select MDM_GCC_9615
help
Support for the LPASS clock controller on mdm9615 devices.
@@ -243,6 +259,7 @@ config MDM_LCC_9615

config MSM_MMCC_8960
tristate "MSM8960 Multimedia Clock Controller"
+ depends on ARM || COMPILE_TEST
select MSM_GCC_8960
help
Support for the multimedia clock controller on msm8960 devices.
@@ -251,6 +268,7 @@ config MSM_MMCC_8960

config MSM_GCC_8953
tristate "MSM8953 Global Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select QCOM_GDSC
help
Support for the global clock controller on msm8953 devices.
@@ -259,6 +277,7 @@ config MSM_GCC_8953

config MSM_GCC_8974
tristate "MSM8974 Global Clock Controller"
+ depends on ARM || COMPILE_TEST
select QCOM_GDSC
help
Support for the global clock controller on msm8974 devices.
@@ -267,6 +286,7 @@ config MSM_GCC_8974

config MSM_MMCC_8974
tristate "MSM8974 Multimedia Clock Controller"
+ depends on ARM || COMPILE_TEST
select MSM_GCC_8974
select QCOM_GDSC
help
@@ -276,6 +296,7 @@ config MSM_MMCC_8974

config MSM_GCC_8976
tristate "MSM8956/76 Global Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select QCOM_GDSC
help
Support for the global clock controller on msm8956/76 devices.
@@ -284,6 +305,7 @@ config MSM_GCC_8976

config MSM_MMCC_8994
tristate "MSM8994 Multimedia Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select MSM_GCC_8994
select QCOM_GDSC
help
@@ -293,6 +315,7 @@ config MSM_MMCC_8994

config MSM_GCC_8994
tristate "MSM8994 Global Clock Controller"
+ depends on ARM64 || COMPILE_TEST
help
Support for the global clock controller on msm8994 devices.
Say Y if you want to use peripheral devices such as UART, SPI,
@@ -300,6 +323,7 @@ config MSM_GCC_8994

config MSM_GCC_8996
tristate "MSM8996 Global Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select QCOM_GDSC
help
Support for the global clock controller on msm8996 devices.
@@ -308,6 +332,7 @@ config MSM_GCC_8996

config MSM_MMCC_8996
tristate "MSM8996 Multimedia Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select MSM_GCC_8996
select QCOM_GDSC
help
@@ -317,6 +342,7 @@ config MSM_MMCC_8996

config MSM_GCC_8998
tristate "MSM8998 Global Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select QCOM_GDSC
help
Support for the global clock controller on msm8998 devices.
@@ -325,6 +351,7 @@ config MSM_GCC_8998

config MSM_GPUCC_8998
tristate "MSM8998 Graphics Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select MSM_GCC_8998
select QCOM_GDSC
help
@@ -334,6 +361,7 @@ config MSM_GPUCC_8998

config MSM_MMCC_8998
tristate "MSM8998 Multimedia Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select MSM_GCC_8998
select QCOM_GDSC
help
@@ -351,6 +379,7 @@ config QCM_GCC_2290

config QCM_DISPCC_2290
tristate "QCM2290 Display Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select QCM_GCC_2290
help
Support for the display clock controller on Qualcomm Technologies, Inc
@@ -360,6 +389,7 @@ config QCM_DISPCC_2290

config QCS_GCC_404
tristate "QCS404 Global Clock Controller"
+ depends on ARM64 || COMPILE_TEST
help
Support for the global clock controller on QCS404 devices.
Say Y if you want to use multimedia devices or peripheral
@@ -367,6 +397,7 @@ config QCS_GCC_404

config SC_CAMCC_7180
tristate "SC7180 Camera Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SC_GCC_7180
help
Support for the camera clock controller on Qualcomm Technologies, Inc
@@ -376,6 +407,7 @@ config SC_CAMCC_7180

config SC_CAMCC_7280
tristate "SC7280 Camera Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SC_GCC_7280
help
Support for the camera clock controller on Qualcomm Technologies, Inc
@@ -385,6 +417,7 @@ config SC_CAMCC_7280

config SC_DISPCC_7180
tristate "SC7180 Display Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SC_GCC_7180
help
Support for the display clock controller on Qualcomm Technologies, Inc
@@ -394,6 +427,7 @@ config SC_DISPCC_7180

config SC_DISPCC_7280
tristate "SC7280 Display Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SC_GCC_7280
help
Support for the display clock controller on Qualcomm Technologies, Inc.
@@ -403,6 +437,7 @@ config SC_DISPCC_7280

config SC_DISPCC_8280XP
tristate "SC8280XP Display Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SC_GCC_8280XP
help
Support for the two display clock controllers on Qualcomm
@@ -414,6 +449,7 @@ config SC_GCC_7180
tristate "SC7180 Global Clock Controller"
select QCOM_GDSC
depends on COMMON_CLK_QCOM
+ depends on ARM64 || COMPILE_TEST
help
Support for the global clock controller on SC7180 devices.
Say Y if you want to use peripheral devices such as UART, SPI,
@@ -423,6 +459,7 @@ config SC_GCC_7280
tristate "SC7280 Global Clock Controller"
select QCOM_GDSC
depends on COMMON_CLK_QCOM
+ depends on ARM64 || COMPILE_TEST
help
Support for the global clock controller on SC7280 devices.
Say Y if you want to use peripheral devices such as UART, SPI,
@@ -432,6 +469,7 @@ config SC_GCC_8180X
tristate "SC8180X Global Clock Controller"
select QCOM_GDSC
depends on COMMON_CLK_QCOM
+ depends on ARM64 || COMPILE_TEST
help
Support for the global clock controller on SC8180X devices.
Say Y if you want to use peripheral devices such as UART, SPI,
@@ -441,6 +479,7 @@ config SC_GCC_8280XP
tristate "SC8280XP Global Clock Controller"
select QCOM_GDSC
depends on COMMON_CLK_QCOM
+ depends on ARM64 || COMPILE_TEST
help
Support for the global clock controller on SC8280XP devices.
Say Y if you want to use peripheral devices such as UART, SPI,
@@ -448,6 +487,7 @@ config SC_GCC_8280XP

config SC_GPUCC_7180
tristate "SC7180 Graphics Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SC_GCC_7180
help
Support for the graphics clock controller on SC7180 devices.
@@ -456,6 +496,7 @@ config SC_GPUCC_7180

config SC_GPUCC_7280
tristate "SC7280 Graphics Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SC_GCC_7280
help
Support for the graphics clock controller on SC7280 devices.
@@ -464,6 +505,7 @@ config SC_GPUCC_7280

config SC_GPUCC_8280XP
tristate "SC8280XP Graphics Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SC_GCC_8280XP
help
Support for the graphics clock controller on SC8280XP devices.
@@ -472,6 +514,7 @@ config SC_GPUCC_8280XP

config SC_LPASSCC_7280
tristate "SC7280 Low Power Audio Subsystem (LPASS) Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SC_GCC_7280
help
Support for the LPASS clock controller on SC7280 devices.
@@ -480,6 +523,7 @@ config SC_LPASSCC_7280

config SC_LPASS_CORECC_7180
tristate "SC7180 LPASS Core Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SC_GCC_7180
help
Support for the LPASS(Low Power Audio Subsystem) core clock controller
@@ -489,6 +533,7 @@ config SC_LPASS_CORECC_7180

config SC_LPASS_CORECC_7280
tristate "SC7280 LPASS Core & Audio Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SC_GCC_7280
select QCOM_GDSC
help
@@ -499,6 +544,7 @@ config SC_LPASS_CORECC_7280

config SC_MSS_7180
tristate "SC7180 Modem Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SC_GCC_7180
help
Support for the Modem Subsystem clock controller on Qualcomm
@@ -508,6 +554,7 @@ config SC_MSS_7180

config SC_VIDEOCC_7180
tristate "SC7180 Video Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SC_GCC_7180
help
Support for the video clock controller on SC7180 devices.
@@ -516,6 +563,7 @@ config SC_VIDEOCC_7180

config SC_VIDEOCC_7280
tristate "SC7280 Video Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SC_GCC_7280
help
Support for the video clock controller on SC7280 devices.
@@ -524,6 +572,7 @@ config SC_VIDEOCC_7280

config SDM_CAMCC_845
tristate "SDM845 Camera Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SDM_GCC_845
help
Support for the camera clock controller on SDM845 devices.
@@ -531,6 +580,7 @@ config SDM_CAMCC_845

config SDM_GCC_660
tristate "SDM660 Global Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select QCOM_GDSC
help
Support for the global clock controller on SDM660 devices.
@@ -539,6 +589,7 @@ config SDM_GCC_660

config SDM_MMCC_660
tristate "SDM660 Multimedia Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SDM_GCC_660
select QCOM_GDSC
help
@@ -548,6 +599,7 @@ config SDM_MMCC_660

config SDM_GPUCC_660
tristate "SDM660 Graphics Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SDM_GCC_660
select QCOM_GDSC
help
@@ -557,12 +609,14 @@ config SDM_GPUCC_660

config QCS_TURING_404
tristate "QCS404 Turing Clock Controller"
+ depends on ARM64 || COMPILE_TEST
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"
+ depends on ARM64 || COMPILE_TEST
select QCS_GCC_404
help
Support for the Q6SSTOP clock controller on QCS404 devices.
@@ -571,6 +625,7 @@ config QCS_Q6SSTOP_404

config SDM_GCC_845
tristate "SDM845/SDM670 Global Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select QCOM_GDSC
help
Support for the global clock controller on SDM845 and SDM670 devices.
@@ -579,6 +634,7 @@ config SDM_GCC_845

config SDM_GPUCC_845
tristate "SDM845 Graphics Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SDM_GCC_845
help
Support for the graphics clock controller on SDM845 devices.
@@ -587,6 +643,7 @@ config SDM_GPUCC_845

config SDM_VIDEOCC_845
tristate "SDM845 Video Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SDM_GCC_845
select QCOM_GDSC
help
@@ -596,6 +653,7 @@ config SDM_VIDEOCC_845

config SDM_DISPCC_845
tristate "SDM845 Display Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SDM_GCC_845
help
Support for the display clock controller on Qualcomm Technologies, Inc
@@ -605,6 +663,7 @@ config SDM_DISPCC_845

config SDM_LPASSCC_845
tristate "SDM845 Low Power Audio Subsystem (LPAAS) Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SDM_GCC_845
help
Support for the LPASS clock controller on SDM845 devices.
@@ -613,6 +672,7 @@ config SDM_LPASSCC_845

config SDX_GCC_55
tristate "SDX55 Global Clock Controller"
+ depends on ARM || COMPILE_TEST
select QCOM_GDSC
help
Support for the global clock controller on SDX55 devices.
@@ -621,6 +681,7 @@ config SDX_GCC_55

config SDX_GCC_65
tristate "SDX65 Global Clock Controller"
+ depends on ARM || COMPILE_TEST
select QCOM_GDSC
help
Support for the global clock controller on SDX65 devices.
@@ -629,6 +690,7 @@ config SDX_GCC_65

config SM_CAMCC_6350
tristate "SM6350 Camera Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SM_GCC_6350
help
Support for the camera clock controller on SM6350 devices.
@@ -636,6 +698,7 @@ config SM_CAMCC_6350

config SM_CAMCC_8250
tristate "SM8250 Camera Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SM_GCC_8250
help
Support for the camera clock controller on SM8250 devices.
@@ -643,6 +706,7 @@ config SM_CAMCC_8250

config SM_CAMCC_8450
tristate "SM8450 Camera Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SM_GCC_8450
help
Support for the camera clock controller on SM8450 devices.
@@ -650,6 +714,7 @@ config SM_CAMCC_8450

config SM_DISPCC_6115
tristate "SM6115 Display Clock Controller"
+ depends on ARM64 || COMPILE_TEST
depends on SM_GCC_6115
help
Support for the display clock controller on Qualcomm Technologies, Inc
@@ -659,6 +724,7 @@ config SM_DISPCC_6115

config SM_DISPCC_6125
tristate "SM6125 Display Clock Controller"
+ depends on ARM64 || COMPILE_TEST
depends on SM_GCC_6125
help
Support for the display clock controller on Qualcomm Technologies, Inc
@@ -668,6 +734,7 @@ config SM_DISPCC_6125

config SM_DISPCC_8250
tristate "SM8150/SM8250/SM8350 Display Clock Controller"
+ depends on ARM64 || COMPILE_TEST
depends on SM_GCC_8150 || SM_GCC_8250 || SM_GCC_8350
help
Support for the display clock controller on Qualcomm Technologies, Inc
@@ -677,6 +744,7 @@ config SM_DISPCC_8250

config SM_DISPCC_6350
tristate "SM6350 Display Clock Controller"
+ depends on ARM64 || COMPILE_TEST
depends on SM_GCC_6350
help
Support for the display clock controller on Qualcomm Technologies, Inc
@@ -686,6 +754,7 @@ config SM_DISPCC_6350

config SM_DISPCC_6375
tristate "SM6375 Display Clock Controller"
+ depends on ARM64 || COMPILE_TEST
depends on SM_GCC_6375
help
Support for the display clock controller on Qualcomm Technologies, Inc
@@ -695,6 +764,7 @@ config SM_DISPCC_6375

config SM_DISPCC_8450
tristate "SM8450 Display Clock Controller"
+ depends on ARM64 || COMPILE_TEST
depends on SM_GCC_8450
help
Support for the display clock controller on Qualcomm Technologies, Inc
@@ -704,6 +774,7 @@ config SM_DISPCC_8450

config SM_DISPCC_8550
tristate "SM8550 Display Clock Controller"
+ depends on ARM64 || COMPILE_TEST
depends on SM_GCC_8550
help
Support for the display clock controller on Qualcomm Technologies, Inc
@@ -713,6 +784,7 @@ config SM_DISPCC_8550

config SM_GCC_6115
tristate "SM6115 and SM4250 Global Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select QCOM_GDSC
help
Support for the global clock controller on SM6115 and SM4250 devices.
@@ -721,6 +793,7 @@ config SM_GCC_6115

config SM_GCC_6125
tristate "SM6125 Global Clock Controller"
+ depends on ARM64 || COMPILE_TEST
help
Support for the global clock controller on SM6125 devices.
Say Y if you want to use peripheral devices such as UART,
@@ -728,6 +801,7 @@ config SM_GCC_6125

config SM_GCC_6350
tristate "SM6350 Global Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select QCOM_GDSC
help
Support for the global clock controller on SM6350 devices.
@@ -736,6 +810,7 @@ config SM_GCC_6350

config SM_GCC_6375
tristate "SM6375 Global Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select QCOM_GDSC
help
Support for the global clock controller on SM6375 devices.
@@ -744,6 +819,7 @@ config SM_GCC_6375

config SM_GCC_8150
tristate "SM8150 Global Clock Controller"
+ depends on ARM64 || COMPILE_TEST
help
Support for the global clock controller on SM8150 devices.
Say Y if you want to use peripheral devices such as UART,
@@ -751,6 +827,7 @@ config SM_GCC_8150

config SM_GCC_8250
tristate "SM8250 Global Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select QCOM_GDSC
help
Support for the global clock controller on SM8250 devices.
@@ -759,6 +836,7 @@ config SM_GCC_8250

config SM_GCC_8350
tristate "SM8350 Global Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select QCOM_GDSC
help
Support for the global clock controller on SM8350 devices.
@@ -767,6 +845,7 @@ config SM_GCC_8350

config SM_GCC_8450
tristate "SM8450 Global Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select QCOM_GDSC
help
Support for the global clock controller on SM8450 devices.
@@ -775,6 +854,7 @@ config SM_GCC_8450

config SM_GCC_8550
tristate "SM8550 Global Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select QCOM_GDSC
help
Support for the global clock controller on SM8550 devices.
@@ -783,6 +863,7 @@ config SM_GCC_8550

config SM_GPUCC_6350
tristate "SM6350 Graphics Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SM_GCC_6350
help
Support for the graphics clock controller on SM6350 devices.
@@ -791,6 +872,7 @@ config SM_GPUCC_6350

config SM_GPUCC_8150
tristate "SM8150 Graphics Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SM_GCC_8150
help
Support for the graphics clock controller on SM8150 devices.
@@ -799,6 +881,7 @@ config SM_GPUCC_8150

config SM_GPUCC_8250
tristate "SM8250 Graphics Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SM_GCC_8250
help
Support for the graphics clock controller on SM8250 devices.
@@ -807,6 +890,7 @@ config SM_GPUCC_8250

config SM_GPUCC_8350
tristate "SM8350 Graphics Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SM_GCC_8350
help
Support for the graphics clock controller on SM8350 devices.
@@ -815,6 +899,7 @@ config SM_GPUCC_8350

config SM_TCSRCC_8550
tristate "SM8550 TCSR Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select QCOM_GDSC
help
Support for the TCSR clock controller on SM8550 devices.
@@ -822,6 +907,7 @@ config SM_TCSRCC_8550

config SM_VIDEOCC_8150
tristate "SM8150 Video Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SM_GCC_8150
select QCOM_GDSC
help
@@ -831,6 +917,7 @@ config SM_VIDEOCC_8150

config SM_VIDEOCC_8250
tristate "SM8250 Video Clock Controller"
+ depends on ARM64 || COMPILE_TEST
select SM_GCC_8250
select QCOM_GDSC
help
@@ -871,6 +958,7 @@ config KRAITCC

config CLK_GFM_LPASS_SM8250
tristate "SM8250 GFM LPASS Clocks"
+ depends on ARM64 || COMPILE_TEST
help
Support for the Glitch Free Mux (GFM) Low power audio
subsystem (LPASS) clocks found on SM8250 SoCs.
--
2.34.1


2023-01-23 12:32:00

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 2/2] clk: qcom: restrict drivers per ARM/ARM64



On 23.01.2023 10:49, Krzysztof Kozlowski wrote:
> There is no point to allow selecting pin-controller drivers for Qualcomm
> ARMv7 SoCs when building ARM64 kernel, and vice versa. This makes
> kernel configuration more difficult as many do not remember the Qualcomm
> SoCs model names/numbers. There won't be a single image for ARMv7 and
> ARMv8/9 SoCs, so no features/options are lost.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
Not sure about the newest of the newest SoCs with Cortex-X etc,
but older ones, particularly including 8916 (as some vendors
in their infinite wisdom decided that shipping a 32 bit tz is
a good idea) having ARM || ARM64 would make sense.

Konrad
> drivers/clk/qcom/Kconfig | 88 ++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 88 insertions(+)
>
> diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig
> index 1c360eed72d7..3112ca762f4d 100644
> --- a/drivers/clk/qcom/Kconfig
> +++ b/drivers/clk/qcom/Kconfig
> @@ -57,6 +57,7 @@ config QCOM_CLK_APCC_MSM8996
> config QCOM_CLK_APCS_SDX55
> tristate "SDX55 and SDX65 APCS Clock Controller"
> depends on QCOM_APCS_IPC || COMPILE_TEST
> + depends on ARM || COMPILE_TEST
> help
> Support for the APCS Clock Controller on SDX55, SDX65 platforms. The
> APCS is managing the mux and divider which feeds the CPUs.
> @@ -100,6 +101,7 @@ config QCOM_CLK_RPMH
>
> config APQ_GCC_8084
> tristate "APQ8084 Global Clock Controller"
> + depends on ARM || COMPILE_TEST
> select QCOM_GDSC
> help
> Support for the global clock controller on apq8084 devices.
> @@ -108,6 +110,7 @@ config APQ_GCC_8084
>
> config APQ_MMCC_8084
> tristate "APQ8084 Multimedia Clock Controller"
> + depends on ARM || COMPILE_TEST
> select APQ_GCC_8084
> select QCOM_GDSC
> help
> @@ -116,6 +119,7 @@ config APQ_MMCC_8084
> graphics, video encode/decode, camera, etc.
>
> config IPQ_APSS_PLL
> + depends on ARM64 || COMPILE_TEST
> tristate "IPQ APSS PLL"
> help
> Support for APSS PLL on ipq devices. The APSS PLL is the main
> @@ -127,6 +131,7 @@ config IPQ_APSS_6018
> tristate "IPQ APSS Clock Controller"
> select IPQ_APSS_PLL
> depends on QCOM_APCS_IPC || COMPILE_TEST
> + depends on ARM64 || COMPILE_TEST
> help
> Support for APSS clock controller on IPQ platforms. The
> APSS clock controller manages the Mux and enable block that feeds the
> @@ -143,6 +148,7 @@ config IPQ_GCC_4019
>
> config IPQ_GCC_6018
> tristate "IPQ6018 Global Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> help
> Support for global clock controller on ipq6018 devices.
> Say Y if you want to use peripheral devices such as UART, SPI,
> @@ -151,6 +157,7 @@ config IPQ_GCC_6018
>
> config IPQ_GCC_806X
> tristate "IPQ806x Global Clock Controller"
> + depends on ARM || COMPILE_TEST
> help
> Support for the global clock controller on ipq806x devices.
> Say Y if you want to use peripheral devices such as UART, SPI,
> @@ -158,6 +165,7 @@ config IPQ_GCC_806X
>
> config IPQ_LCC_806X
> tristate "IPQ806x LPASS Clock Controller"
> + depends on ARM || COMPILE_TEST
> select IPQ_GCC_806X
> help
> Support for the LPASS clock controller on ipq806x devices.
> @@ -166,6 +174,7 @@ config IPQ_LCC_806X
>
> config IPQ_GCC_8074
> tristate "IPQ8074 Global Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select QCOM_GDSC
> help
> Support for global clock controller on ipq8074 devices.
> @@ -175,6 +184,7 @@ config IPQ_GCC_8074
>
> config MSM_GCC_8660
> tristate "MSM8660 Global Clock Controller"
> + depends on ARM || COMPILE_TEST
> help
> Support for the global clock controller on msm8660 devices.
> Say Y if you want to use peripheral devices such as UART, SPI,
> @@ -182,6 +192,7 @@ config MSM_GCC_8660
>
> config MSM_GCC_8909
> tristate "MSM8909 Global Clock Controller"
> + depends on ARM || COMPILE_TEST
> select QCOM_GDSC
> help
> Support for the global clock controller on msm8909 devices.
> @@ -206,6 +217,7 @@ config MSM_GCC_8939
>
> config MSM_GCC_8960
> tristate "APQ8064/MSM8960 Global Clock Controller"
> + depends on ARM || COMPILE_TEST
> help
> Support for the global clock controller on apq8064/msm8960 devices.
> Say Y if you want to use peripheral devices such as UART, SPI,
> @@ -213,6 +225,7 @@ config MSM_GCC_8960
>
> config MSM_LCC_8960
> tristate "APQ8064/MSM8960 LPASS Clock Controller"
> + depends on ARM || COMPILE_TEST
> select MSM_GCC_8960
> help
> Support for the LPASS clock controller on apq8064/msm8960 devices.
> @@ -221,6 +234,7 @@ config MSM_LCC_8960
>
> config MDM_GCC_9607
> tristate "MDM9607 Global Clock Controller"
> + depends on ARM || COMPILE_TEST
> help
> Support for the global clock controller on mdm9607 devices.
> Say Y if you want to use peripheral devices such as UART, SPI,
> @@ -228,6 +242,7 @@ config MDM_GCC_9607
>
> config MDM_GCC_9615
> tristate "MDM9615 Global Clock Controller"
> + depends on ARM || COMPILE_TEST
> help
> Support for the global clock controller on mdm9615 devices.
> Say Y if you want to use peripheral devices such as UART, SPI,
> @@ -235,6 +250,7 @@ config MDM_GCC_9615
>
> config MDM_LCC_9615
> tristate "MDM9615 LPASS Clock Controller"
> + depends on ARM || COMPILE_TEST
> select MDM_GCC_9615
> help
> Support for the LPASS clock controller on mdm9615 devices.
> @@ -243,6 +259,7 @@ config MDM_LCC_9615
>
> config MSM_MMCC_8960
> tristate "MSM8960 Multimedia Clock Controller"
> + depends on ARM || COMPILE_TEST
> select MSM_GCC_8960
> help
> Support for the multimedia clock controller on msm8960 devices.
> @@ -251,6 +268,7 @@ config MSM_MMCC_8960
>
> config MSM_GCC_8953
> tristate "MSM8953 Global Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select QCOM_GDSC
> help
> Support for the global clock controller on msm8953 devices.
> @@ -259,6 +277,7 @@ config MSM_GCC_8953
>
> config MSM_GCC_8974
> tristate "MSM8974 Global Clock Controller"
> + depends on ARM || COMPILE_TEST
> select QCOM_GDSC
> help
> Support for the global clock controller on msm8974 devices.
> @@ -267,6 +286,7 @@ config MSM_GCC_8974
>
> config MSM_MMCC_8974
> tristate "MSM8974 Multimedia Clock Controller"
> + depends on ARM || COMPILE_TEST
> select MSM_GCC_8974
> select QCOM_GDSC
> help
> @@ -276,6 +296,7 @@ config MSM_MMCC_8974
>
> config MSM_GCC_8976
> tristate "MSM8956/76 Global Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select QCOM_GDSC
> help
> Support for the global clock controller on msm8956/76 devices.
> @@ -284,6 +305,7 @@ config MSM_GCC_8976
>
> config MSM_MMCC_8994
> tristate "MSM8994 Multimedia Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select MSM_GCC_8994
> select QCOM_GDSC
> help
> @@ -293,6 +315,7 @@ config MSM_MMCC_8994
>
> config MSM_GCC_8994
> tristate "MSM8994 Global Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> help
> Support for the global clock controller on msm8994 devices.
> Say Y if you want to use peripheral devices such as UART, SPI,
> @@ -300,6 +323,7 @@ config MSM_GCC_8994
>
> config MSM_GCC_8996
> tristate "MSM8996 Global Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select QCOM_GDSC
> help
> Support for the global clock controller on msm8996 devices.
> @@ -308,6 +332,7 @@ config MSM_GCC_8996
>
> config MSM_MMCC_8996
> tristate "MSM8996 Multimedia Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select MSM_GCC_8996
> select QCOM_GDSC
> help
> @@ -317,6 +342,7 @@ config MSM_MMCC_8996
>
> config MSM_GCC_8998
> tristate "MSM8998 Global Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select QCOM_GDSC
> help
> Support for the global clock controller on msm8998 devices.
> @@ -325,6 +351,7 @@ config MSM_GCC_8998
>
> config MSM_GPUCC_8998
> tristate "MSM8998 Graphics Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select MSM_GCC_8998
> select QCOM_GDSC
> help
> @@ -334,6 +361,7 @@ config MSM_GPUCC_8998
>
> config MSM_MMCC_8998
> tristate "MSM8998 Multimedia Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select MSM_GCC_8998
> select QCOM_GDSC
> help
> @@ -351,6 +379,7 @@ config QCM_GCC_2290
>
> config QCM_DISPCC_2290
> tristate "QCM2290 Display Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select QCM_GCC_2290
> help
> Support for the display clock controller on Qualcomm Technologies, Inc
> @@ -360,6 +389,7 @@ config QCM_DISPCC_2290
>
> config QCS_GCC_404
> tristate "QCS404 Global Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> help
> Support for the global clock controller on QCS404 devices.
> Say Y if you want to use multimedia devices or peripheral
> @@ -367,6 +397,7 @@ config QCS_GCC_404
>
> config SC_CAMCC_7180
> tristate "SC7180 Camera Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SC_GCC_7180
> help
> Support for the camera clock controller on Qualcomm Technologies, Inc
> @@ -376,6 +407,7 @@ config SC_CAMCC_7180
>
> config SC_CAMCC_7280
> tristate "SC7280 Camera Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SC_GCC_7280
> help
> Support for the camera clock controller on Qualcomm Technologies, Inc
> @@ -385,6 +417,7 @@ config SC_CAMCC_7280
>
> config SC_DISPCC_7180
> tristate "SC7180 Display Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SC_GCC_7180
> help
> Support for the display clock controller on Qualcomm Technologies, Inc
> @@ -394,6 +427,7 @@ config SC_DISPCC_7180
>
> config SC_DISPCC_7280
> tristate "SC7280 Display Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SC_GCC_7280
> help
> Support for the display clock controller on Qualcomm Technologies, Inc.
> @@ -403,6 +437,7 @@ config SC_DISPCC_7280
>
> config SC_DISPCC_8280XP
> tristate "SC8280XP Display Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SC_GCC_8280XP
> help
> Support for the two display clock controllers on Qualcomm
> @@ -414,6 +449,7 @@ config SC_GCC_7180
> tristate "SC7180 Global Clock Controller"
> select QCOM_GDSC
> depends on COMMON_CLK_QCOM
> + depends on ARM64 || COMPILE_TEST
> help
> Support for the global clock controller on SC7180 devices.
> Say Y if you want to use peripheral devices such as UART, SPI,
> @@ -423,6 +459,7 @@ config SC_GCC_7280
> tristate "SC7280 Global Clock Controller"
> select QCOM_GDSC
> depends on COMMON_CLK_QCOM
> + depends on ARM64 || COMPILE_TEST
> help
> Support for the global clock controller on SC7280 devices.
> Say Y if you want to use peripheral devices such as UART, SPI,
> @@ -432,6 +469,7 @@ config SC_GCC_8180X
> tristate "SC8180X Global Clock Controller"
> select QCOM_GDSC
> depends on COMMON_CLK_QCOM
> + depends on ARM64 || COMPILE_TEST
> help
> Support for the global clock controller on SC8180X devices.
> Say Y if you want to use peripheral devices such as UART, SPI,
> @@ -441,6 +479,7 @@ config SC_GCC_8280XP
> tristate "SC8280XP Global Clock Controller"
> select QCOM_GDSC
> depends on COMMON_CLK_QCOM
> + depends on ARM64 || COMPILE_TEST
> help
> Support for the global clock controller on SC8280XP devices.
> Say Y if you want to use peripheral devices such as UART, SPI,
> @@ -448,6 +487,7 @@ config SC_GCC_8280XP
>
> config SC_GPUCC_7180
> tristate "SC7180 Graphics Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SC_GCC_7180
> help
> Support for the graphics clock controller on SC7180 devices.
> @@ -456,6 +496,7 @@ config SC_GPUCC_7180
>
> config SC_GPUCC_7280
> tristate "SC7280 Graphics Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SC_GCC_7280
> help
> Support for the graphics clock controller on SC7280 devices.
> @@ -464,6 +505,7 @@ config SC_GPUCC_7280
>
> config SC_GPUCC_8280XP
> tristate "SC8280XP Graphics Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SC_GCC_8280XP
> help
> Support for the graphics clock controller on SC8280XP devices.
> @@ -472,6 +514,7 @@ config SC_GPUCC_8280XP
>
> config SC_LPASSCC_7280
> tristate "SC7280 Low Power Audio Subsystem (LPASS) Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SC_GCC_7280
> help
> Support for the LPASS clock controller on SC7280 devices.
> @@ -480,6 +523,7 @@ config SC_LPASSCC_7280
>
> config SC_LPASS_CORECC_7180
> tristate "SC7180 LPASS Core Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SC_GCC_7180
> help
> Support for the LPASS(Low Power Audio Subsystem) core clock controller
> @@ -489,6 +533,7 @@ config SC_LPASS_CORECC_7180
>
> config SC_LPASS_CORECC_7280
> tristate "SC7280 LPASS Core & Audio Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SC_GCC_7280
> select QCOM_GDSC
> help
> @@ -499,6 +544,7 @@ config SC_LPASS_CORECC_7280
>
> config SC_MSS_7180
> tristate "SC7180 Modem Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SC_GCC_7180
> help
> Support for the Modem Subsystem clock controller on Qualcomm
> @@ -508,6 +554,7 @@ config SC_MSS_7180
>
> config SC_VIDEOCC_7180
> tristate "SC7180 Video Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SC_GCC_7180
> help
> Support for the video clock controller on SC7180 devices.
> @@ -516,6 +563,7 @@ config SC_VIDEOCC_7180
>
> config SC_VIDEOCC_7280
> tristate "SC7280 Video Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SC_GCC_7280
> help
> Support for the video clock controller on SC7280 devices.
> @@ -524,6 +572,7 @@ config SC_VIDEOCC_7280
>
> config SDM_CAMCC_845
> tristate "SDM845 Camera Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SDM_GCC_845
> help
> Support for the camera clock controller on SDM845 devices.
> @@ -531,6 +580,7 @@ config SDM_CAMCC_845
>
> config SDM_GCC_660
> tristate "SDM660 Global Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select QCOM_GDSC
> help
> Support for the global clock controller on SDM660 devices.
> @@ -539,6 +589,7 @@ config SDM_GCC_660
>
> config SDM_MMCC_660
> tristate "SDM660 Multimedia Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SDM_GCC_660
> select QCOM_GDSC
> help
> @@ -548,6 +599,7 @@ config SDM_MMCC_660
>
> config SDM_GPUCC_660
> tristate "SDM660 Graphics Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SDM_GCC_660
> select QCOM_GDSC
> help
> @@ -557,12 +609,14 @@ config SDM_GPUCC_660
>
> config QCS_TURING_404
> tristate "QCS404 Turing Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> 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"
> + depends on ARM64 || COMPILE_TEST
> select QCS_GCC_404
> help
> Support for the Q6SSTOP clock controller on QCS404 devices.
> @@ -571,6 +625,7 @@ config QCS_Q6SSTOP_404
>
> config SDM_GCC_845
> tristate "SDM845/SDM670 Global Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select QCOM_GDSC
> help
> Support for the global clock controller on SDM845 and SDM670 devices.
> @@ -579,6 +634,7 @@ config SDM_GCC_845
>
> config SDM_GPUCC_845
> tristate "SDM845 Graphics Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SDM_GCC_845
> help
> Support for the graphics clock controller on SDM845 devices.
> @@ -587,6 +643,7 @@ config SDM_GPUCC_845
>
> config SDM_VIDEOCC_845
> tristate "SDM845 Video Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SDM_GCC_845
> select QCOM_GDSC
> help
> @@ -596,6 +653,7 @@ config SDM_VIDEOCC_845
>
> config SDM_DISPCC_845
> tristate "SDM845 Display Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SDM_GCC_845
> help
> Support for the display clock controller on Qualcomm Technologies, Inc
> @@ -605,6 +663,7 @@ config SDM_DISPCC_845
>
> config SDM_LPASSCC_845
> tristate "SDM845 Low Power Audio Subsystem (LPAAS) Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SDM_GCC_845
> help
> Support for the LPASS clock controller on SDM845 devices.
> @@ -613,6 +672,7 @@ config SDM_LPASSCC_845
>
> config SDX_GCC_55
> tristate "SDX55 Global Clock Controller"
> + depends on ARM || COMPILE_TEST
> select QCOM_GDSC
> help
> Support for the global clock controller on SDX55 devices.
> @@ -621,6 +681,7 @@ config SDX_GCC_55
>
> config SDX_GCC_65
> tristate "SDX65 Global Clock Controller"
> + depends on ARM || COMPILE_TEST
> select QCOM_GDSC
> help
> Support for the global clock controller on SDX65 devices.
> @@ -629,6 +690,7 @@ config SDX_GCC_65
>
> config SM_CAMCC_6350
> tristate "SM6350 Camera Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SM_GCC_6350
> help
> Support for the camera clock controller on SM6350 devices.
> @@ -636,6 +698,7 @@ config SM_CAMCC_6350
>
> config SM_CAMCC_8250
> tristate "SM8250 Camera Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SM_GCC_8250
> help
> Support for the camera clock controller on SM8250 devices.
> @@ -643,6 +706,7 @@ config SM_CAMCC_8250
>
> config SM_CAMCC_8450
> tristate "SM8450 Camera Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SM_GCC_8450
> help
> Support for the camera clock controller on SM8450 devices.
> @@ -650,6 +714,7 @@ config SM_CAMCC_8450
>
> config SM_DISPCC_6115
> tristate "SM6115 Display Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> depends on SM_GCC_6115
> help
> Support for the display clock controller on Qualcomm Technologies, Inc
> @@ -659,6 +724,7 @@ config SM_DISPCC_6115
>
> config SM_DISPCC_6125
> tristate "SM6125 Display Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> depends on SM_GCC_6125
> help
> Support for the display clock controller on Qualcomm Technologies, Inc
> @@ -668,6 +734,7 @@ config SM_DISPCC_6125
>
> config SM_DISPCC_8250
> tristate "SM8150/SM8250/SM8350 Display Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> depends on SM_GCC_8150 || SM_GCC_8250 || SM_GCC_8350
> help
> Support for the display clock controller on Qualcomm Technologies, Inc
> @@ -677,6 +744,7 @@ config SM_DISPCC_8250
>
> config SM_DISPCC_6350
> tristate "SM6350 Display Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> depends on SM_GCC_6350
> help
> Support for the display clock controller on Qualcomm Technologies, Inc
> @@ -686,6 +754,7 @@ config SM_DISPCC_6350
>
> config SM_DISPCC_6375
> tristate "SM6375 Display Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> depends on SM_GCC_6375
> help
> Support for the display clock controller on Qualcomm Technologies, Inc
> @@ -695,6 +764,7 @@ config SM_DISPCC_6375
>
> config SM_DISPCC_8450
> tristate "SM8450 Display Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> depends on SM_GCC_8450
> help
> Support for the display clock controller on Qualcomm Technologies, Inc
> @@ -704,6 +774,7 @@ config SM_DISPCC_8450
>
> config SM_DISPCC_8550
> tristate "SM8550 Display Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> depends on SM_GCC_8550
> help
> Support for the display clock controller on Qualcomm Technologies, Inc
> @@ -713,6 +784,7 @@ config SM_DISPCC_8550
>
> config SM_GCC_6115
> tristate "SM6115 and SM4250 Global Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select QCOM_GDSC
> help
> Support for the global clock controller on SM6115 and SM4250 devices.
> @@ -721,6 +793,7 @@ config SM_GCC_6115
>
> config SM_GCC_6125
> tristate "SM6125 Global Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> help
> Support for the global clock controller on SM6125 devices.
> Say Y if you want to use peripheral devices such as UART,
> @@ -728,6 +801,7 @@ config SM_GCC_6125
>
> config SM_GCC_6350
> tristate "SM6350 Global Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select QCOM_GDSC
> help
> Support for the global clock controller on SM6350 devices.
> @@ -736,6 +810,7 @@ config SM_GCC_6350
>
> config SM_GCC_6375
> tristate "SM6375 Global Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select QCOM_GDSC
> help
> Support for the global clock controller on SM6375 devices.
> @@ -744,6 +819,7 @@ config SM_GCC_6375
>
> config SM_GCC_8150
> tristate "SM8150 Global Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> help
> Support for the global clock controller on SM8150 devices.
> Say Y if you want to use peripheral devices such as UART,
> @@ -751,6 +827,7 @@ config SM_GCC_8150
>
> config SM_GCC_8250
> tristate "SM8250 Global Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select QCOM_GDSC
> help
> Support for the global clock controller on SM8250 devices.
> @@ -759,6 +836,7 @@ config SM_GCC_8250
>
> config SM_GCC_8350
> tristate "SM8350 Global Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select QCOM_GDSC
> help
> Support for the global clock controller on SM8350 devices.
> @@ -767,6 +845,7 @@ config SM_GCC_8350
>
> config SM_GCC_8450
> tristate "SM8450 Global Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select QCOM_GDSC
> help
> Support for the global clock controller on SM8450 devices.
> @@ -775,6 +854,7 @@ config SM_GCC_8450
>
> config SM_GCC_8550
> tristate "SM8550 Global Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select QCOM_GDSC
> help
> Support for the global clock controller on SM8550 devices.
> @@ -783,6 +863,7 @@ config SM_GCC_8550
>
> config SM_GPUCC_6350
> tristate "SM6350 Graphics Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SM_GCC_6350
> help
> Support for the graphics clock controller on SM6350 devices.
> @@ -791,6 +872,7 @@ config SM_GPUCC_6350
>
> config SM_GPUCC_8150
> tristate "SM8150 Graphics Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SM_GCC_8150
> help
> Support for the graphics clock controller on SM8150 devices.
> @@ -799,6 +881,7 @@ config SM_GPUCC_8150
>
> config SM_GPUCC_8250
> tristate "SM8250 Graphics Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SM_GCC_8250
> help
> Support for the graphics clock controller on SM8250 devices.
> @@ -807,6 +890,7 @@ config SM_GPUCC_8250
>
> config SM_GPUCC_8350
> tristate "SM8350 Graphics Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SM_GCC_8350
> help
> Support for the graphics clock controller on SM8350 devices.
> @@ -815,6 +899,7 @@ config SM_GPUCC_8350
>
> config SM_TCSRCC_8550
> tristate "SM8550 TCSR Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select QCOM_GDSC
> help
> Support for the TCSR clock controller on SM8550 devices.
> @@ -822,6 +907,7 @@ config SM_TCSRCC_8550
>
> config SM_VIDEOCC_8150
> tristate "SM8150 Video Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SM_GCC_8150
> select QCOM_GDSC
> help
> @@ -831,6 +917,7 @@ config SM_VIDEOCC_8150
>
> config SM_VIDEOCC_8250
> tristate "SM8250 Video Clock Controller"
> + depends on ARM64 || COMPILE_TEST
> select SM_GCC_8250
> select QCOM_GDSC
> help
> @@ -871,6 +958,7 @@ config KRAITCC
>
> config CLK_GFM_LPASS_SM8250
> tristate "SM8250 GFM LPASS Clocks"
> + depends on ARM64 || COMPILE_TEST
> help
> Support for the Glitch Free Mux (GFM) Low power audio
> subsystem (LPASS) clocks found on SM8250 SoCs.

2023-01-23 12:32:26

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 1/2] clk: qcom: add compile test to MSM8996 CPU clocks



On 23.01.2023 10:49, Krzysztof Kozlowski wrote:
> Allow compile testing of MSM8996 CPU clocks for build coverage.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
Reviewed-by: Konrad Dybcio <[email protected]>

Konrad
> drivers/clk/qcom/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig
> index 1b6615fe1dba..1c360eed72d7 100644
> --- a/drivers/clk/qcom/Kconfig
> +++ b/drivers/clk/qcom/Kconfig
> @@ -48,7 +48,7 @@ config QCOM_CLK_APCS_MSM8916
> config QCOM_CLK_APCC_MSM8996
> tristate "MSM8996 CPU Clock Controller"
> select QCOM_KRYO_L2_ACCESSORS
> - depends on ARM64
> + depends on ARM64 || COMPILE_TEST
> help
> Support for the CPU clock controller on msm8996 devices.
> Say Y if you want to support CPU clock scaling using CPUfreq

2023-01-23 12:45:27

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 2/2] clk: qcom: restrict drivers per ARM/ARM64

On 23/01/2023 13:31, Konrad Dybcio wrote:
>
>
> On 23.01.2023 10:49, Krzysztof Kozlowski wrote:
>> There is no point to allow selecting pin-controller drivers for Qualcomm
>> ARMv7 SoCs when building ARM64 kernel, and vice versa. This makes
>> kernel configuration more difficult as many do not remember the Qualcomm
>> SoCs model names/numbers. There won't be a single image for ARMv7 and
>> ARMv8/9 SoCs, so no features/options are lost.
>>
>> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>> ---
> Not sure about the newest of the newest SoCs with Cortex-X etc,
> but older ones, particularly including 8916 (as some vendors
> in their infinite wisdom decided that shipping a 32 bit tz is
> a good idea) having ARM || ARM64 would make sense.

Why? ARM || ARM64 is implied by ARCH_QCOM, so what would it give?

Best regards,
Krzysztof


2023-01-23 12:47:38

by Konrad Dybcio

[permalink] [raw]
Subject: Re: [PATCH 2/2] clk: qcom: restrict drivers per ARM/ARM64



On 23.01.2023 13:45, Krzysztof Kozlowski wrote:
> On 23/01/2023 13:31, Konrad Dybcio wrote:
>>
>>
>> On 23.01.2023 10:49, Krzysztof Kozlowski wrote:
>>> There is no point to allow selecting pin-controller drivers for Qualcomm
>>> ARMv7 SoCs when building ARM64 kernel, and vice versa. This makes
>>> kernel configuration more difficult as many do not remember the Qualcomm
>>> SoCs model names/numbers. There won't be a single image for ARMv7 and
>>> ARMv8/9 SoCs, so no features/options are lost.
>>>
>>> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>>> ---
>> Not sure about the newest of the newest SoCs with Cortex-X etc,
>> but older ones, particularly including 8916 (as some vendors
>> in their infinite wisdom decided that shipping a 32 bit tz is
>> a good idea) having ARM || ARM64 would make sense.
>
> Why? ARM || ARM64 is implied by ARCH_QCOM, so what would it give?
Err.. my mistake.. I skipped over your patch too quickly and
didn't notice you did not in fact touch 8916.. Sorry..

Konrad
>
> Best regards,
> Krzysztof
>

2023-01-23 20:22:26

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/2] clk: qcom: add compile test to MSM8996 CPU clocks

On 23/01/2023 10:49, Krzysztof Kozlowski wrote:
> Allow compile testing of MSM8996 CPU clocks for build coverage.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> drivers/clk/qcom/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/clk/qcom/Kconfig b/drivers/clk/qcom/Kconfig
> index 1b6615fe1dba..1c360eed72d7 100644
> --- a/drivers/clk/qcom/Kconfig
> +++ b/drivers/clk/qcom/Kconfig
> @@ -48,7 +48,7 @@ config QCOM_CLK_APCS_MSM8916
> config QCOM_CLK_APCC_MSM8996
> tristate "MSM8996 CPU Clock Controller"
> select QCOM_KRYO_L2_ACCESSORS
> - depends on ARM64
> + depends on ARM64 || COMPILE_TEST

This is not correct. It is only buildable on arm64.

Best regards,
Krzysztof


2023-01-25 20:44:21

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH 2/2] clk: qcom: restrict drivers per ARM/ARM64

Quoting Krzysztof Kozlowski (2023-01-23 01:49:25)
> There is no point to allow selecting pin-controller drivers for Qualcomm

pin controllers?

> ARMv7 SoCs when building ARM64 kernel, and vice versa. This makes
> kernel configuration more difficult as many do not remember the Qualcomm
> SoCs model names/numbers. There won't be a single image for ARMv7 and
> ARMv8/9 SoCs, so no features/options are lost.

Are the drivers used in arm32 emulation mode on these SoCs? I recall
there are some SoCs they run with the arm architecture.

2023-01-26 09:32:06

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 2/2] clk: qcom: restrict drivers per ARM/ARM64

On 25/01/2023 21:44, Stephen Boyd wrote:
> Quoting Krzysztof Kozlowski (2023-01-23 01:49:25)
>> There is no point to allow selecting pin-controller drivers for Qualcomm
>
> pin controllers?

Copy-paste, I'll fix it.

>
>> ARMv7 SoCs when building ARM64 kernel, and vice versa. This makes
>> kernel configuration more difficult as many do not remember the Qualcomm
>> SoCs model names/numbers. There won't be a single image for ARMv7 and
>> ARMv8/9 SoCs, so no features/options are lost.
>
> Are the drivers used in arm32 emulation mode on these SoCs? I recall
> there are some SoCs they run with the arm architecture.

I did not add it to the few SoCs which have upstream DTS in ARM and
ARM64. I added only to the ones which are in one specific folder. Also
my patch does not affect defconfigs (qcom_defconfig and arm64/defconfig).

Whether downstream could be affected, I do not know. Anyway, what's
downstream it's the downstream's problem...


Best regards,
Krzysztof


2023-01-30 23:30:24

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH 2/2] clk: qcom: restrict drivers per ARM/ARM64

Quoting Krzysztof Kozlowski (2023-01-26 01:31:55)
> On 25/01/2023 21:44, Stephen Boyd wrote:
> > Quoting Krzysztof Kozlowski (2023-01-23 01:49:25)
> >> There is no point to allow selecting pin-controller drivers for Qualcomm
> >
> > pin controllers?
>
> Copy-paste, I'll fix it.
>
> >
> >> ARMv7 SoCs when building ARM64 kernel, and vice versa. This makes
> >> kernel configuration more difficult as many do not remember the Qualcomm
> >> SoCs model names/numbers. There won't be a single image for ARMv7 and
> >> ARMv8/9 SoCs, so no features/options are lost.
> >
> > Are the drivers used in arm32 emulation mode on these SoCs? I recall
> > there are some SoCs they run with the arm architecture.
>
> I did not add it to the few SoCs which have upstream DTS in ARM and
> ARM64. I added only to the ones which are in one specific folder. Also
> my patch does not affect defconfigs (qcom_defconfig and arm64/defconfig).

Cool, thanks for checking. Is it possible to take a dtb from arm64 dts
directory and boot it on an armv8 CPU running in 32-bit mode? Just
wondering if even having the dts file exist in the arm64 architecture
really matters here.

>
> Whether downstream could be affected, I do not know. Anyway, what's
> downstream it's the downstream's problem...
>

Agreed. I wasn't asking about downstream.

2023-02-01 07:13:13

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 2/2] clk: qcom: restrict drivers per ARM/ARM64

On 31/01/2023 00:30, Stephen Boyd wrote:
> Quoting Krzysztof Kozlowski (2023-01-26 01:31:55)
>> On 25/01/2023 21:44, Stephen Boyd wrote:
>>> Quoting Krzysztof Kozlowski (2023-01-23 01:49:25)
>>>> There is no point to allow selecting pin-controller drivers for Qualcomm
>>>
>>> pin controllers?
>>
>> Copy-paste, I'll fix it.
>>
>>>
>>>> ARMv7 SoCs when building ARM64 kernel, and vice versa. This makes
>>>> kernel configuration more difficult as many do not remember the Qualcomm
>>>> SoCs model names/numbers. There won't be a single image for ARMv7 and
>>>> ARMv8/9 SoCs, so no features/options are lost.
>>>
>>> Are the drivers used in arm32 emulation mode on these SoCs? I recall
>>> there are some SoCs they run with the arm architecture.
>>
>> I did not add it to the few SoCs which have upstream DTS in ARM and
>> ARM64. I added only to the ones which are in one specific folder. Also
>> my patch does not affect defconfigs (qcom_defconfig and arm64/defconfig).
>
> Cool, thanks for checking. Is it possible to take a dtb from arm64 dts
> directory and boot it on an armv8 CPU running in 32-bit mode? Just
> wondering if even having the dts file exist in the arm64 architecture
> really matters here.

If DTSI (and/or board DTS) is in arm64, you still need DTS or a link in
arm directory. If such one is added, then the restrictions here can be
removed. Have in mind that I did the same already for pinctrl.


Best regards,
Krzysztof


2023-02-10 22:32:33

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH 2/2] clk: qcom: restrict drivers per ARM/ARM64

Quoting Krzysztof Kozlowski (2023-01-31 23:12:53)
> On 31/01/2023 00:30, Stephen Boyd wrote:
> > Quoting Krzysztof Kozlowski (2023-01-26 01:31:55)
> >> On 25/01/2023 21:44, Stephen Boyd wrote:
> >>> Quoting Krzysztof Kozlowski (2023-01-23 01:49:25)
> >>>> There is no point to allow selecting pin-controller drivers for Qualcomm
> >>>
> >>> pin controllers?
> >>
> >> Copy-paste, I'll fix it.
> >>
> >>>
> >>>> ARMv7 SoCs when building ARM64 kernel, and vice versa. This makes
> >>>> kernel configuration more difficult as many do not remember the Qualcomm
> >>>> SoCs model names/numbers. There won't be a single image for ARMv7 and
> >>>> ARMv8/9 SoCs, so no features/options are lost.
> >>>
> >>> Are the drivers used in arm32 emulation mode on these SoCs? I recall
> >>> there are some SoCs they run with the arm architecture.
> >>
> >> I did not add it to the few SoCs which have upstream DTS in ARM and
> >> ARM64. I added only to the ones which are in one specific folder. Also
> >> my patch does not affect defconfigs (qcom_defconfig and arm64/defconfig).
> >
> > Cool, thanks for checking. Is it possible to take a dtb from arm64 dts
> > directory and boot it on an armv8 CPU running in 32-bit mode? Just
> > wondering if even having the dts file exist in the arm64 architecture
> > really matters here.
>
> If DTSI (and/or board DTS) is in arm64, you still need DTS or a link in
> arm directory. If such one is added, then the restrictions here can be
> removed. Have in mind that I did the same already for pinctrl.
>

I'm saying that you put the dts file in arch/arm64/boot/dts/, compile
the dts to a dtb and stick it on a board that boots the kernel in arm32
mode. If it is possible to boot the dtb on a CPU running in arm32 mode
then this restriction should be loosened to

depends on ARM || ARM64 || COMPILE_TEST

2023-02-11 11:19:34

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 2/2] clk: qcom: restrict drivers per ARM/ARM64

On 10/02/2023 23:32, Stephen Boyd wrote:
>>
>> If DTSI (and/or board DTS) is in arm64, you still need DTS or a link in
>> arm directory. If such one is added, then the restrictions here can be
>> removed. Have in mind that I did the same already for pinctrl.
>>
>
> I'm saying that you put the dts file in arch/arm64/boot/dts/, compile
> the dts to a dtb and stick it on a board that boots the kernel in arm32
> mode. If it is possible to boot the dtb on a CPU running in arm32 mode
> then this restriction should be loosened to
>
> depends on ARM || ARM64 || COMPILE_TEST

I get your point. I don't think we consider this as use case at all,
especially that we are changing some of the boards from address-cells=1
to 2. Also whatever is happening out-of-tree it's out-of-tree problem.
If we want to support such case, then the DTS would have to be in
arch/arm directory (like we do for few boards).

Best regards,
Krzysztof