Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'icc-sc7280' into icc-next

Add Epoch Subsystem (EPSS) L3 provider support on SM7280 SoCs.

* icc-sc7280
dt-bindings: interconnect: Add EPSS L3 DT binding on SC7280
interconnect: qcom: Add EPSS L3 support on SC7280

Link: https://lore.kernel.org/r/1634812857-10676-1-git-send-email-okukatla@codeaurora.org
Signed-off-by: Georgi Djakov <djakov@kernel.org>

+22 -1
+1
Documentation/devicetree/bindings/interconnect/qcom,osm-l3.yaml
··· 18 18 compatible: 19 19 enum: 20 20 - qcom,sc7180-osm-l3 21 + - qcom,sc7280-epss-l3 21 22 - qcom,sc8180x-osm-l3 22 23 - qcom,sdm845-osm-l3 23 24 - qcom,sm8150-osm-l3
+19 -1
drivers/interconnect/qcom/osm-l3.c
··· 1 1 // SPDX-License-Identifier: GPL-2.0 2 2 /* 3 - * Copyright (c) 2020, The Linux Foundation. All rights reserved. 3 + * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved. 4 4 */ 5 5 6 6 #include <linux/bitfield.h> ··· 15 15 #include <dt-bindings/interconnect/qcom,osm-l3.h> 16 16 17 17 #include "sc7180.h" 18 + #include "sc7280.h" 18 19 #include "sc8180x.h" 19 20 #include "sdm845.h" 20 21 #include "sm8150.h" ··· 113 112 .lut_row_size = OSM_LUT_ROW_SIZE, 114 113 .reg_freq_lut = OSM_REG_FREQ_LUT, 115 114 .reg_perf_state = OSM_REG_PERF_STATE, 115 + }; 116 + 117 + DEFINE_QNODE(sc7280_epss_apps_l3, SC7280_MASTER_EPSS_L3_APPS, 32, SC7280_SLAVE_EPSS_L3); 118 + DEFINE_QNODE(sc7280_epss_l3, SC7280_SLAVE_EPSS_L3, 32); 119 + 120 + static const struct qcom_osm_l3_node *sc7280_epss_l3_nodes[] = { 121 + [MASTER_EPSS_L3_APPS] = &sc7280_epss_apps_l3, 122 + [SLAVE_EPSS_L3_SHARED] = &sc7280_epss_l3, 123 + }; 124 + 125 + static const struct qcom_osm_l3_desc sc7280_icc_epss_l3 = { 126 + .nodes = sc7280_epss_l3_nodes, 127 + .num_nodes = ARRAY_SIZE(sc7280_epss_l3_nodes), 128 + .lut_row_size = EPSS_LUT_ROW_SIZE, 129 + .reg_freq_lut = EPSS_REG_FREQ_LUT, 130 + .reg_perf_state = EPSS_REG_PERF_STATE, 116 131 }; 117 132 118 133 DEFINE_QNODE(sc8180x_osm_apps_l3, SC8180X_MASTER_OSM_L3_APPS, 32, SC8180X_SLAVE_OSM_L3); ··· 343 326 344 327 static const struct of_device_id osm_l3_of_match[] = { 345 328 { .compatible = "qcom,sc7180-osm-l3", .data = &sc7180_icc_osm_l3 }, 329 + { .compatible = "qcom,sc7280-epss-l3", .data = &sc7280_icc_epss_l3 }, 346 330 { .compatible = "qcom,sdm845-osm-l3", .data = &sdm845_icc_osm_l3 }, 347 331 { .compatible = "qcom,sm8150-osm-l3", .data = &sm8150_icc_osm_l3 }, 348 332 { .compatible = "qcom,sc8180x-osm-l3", .data = &sc8180x_icc_osm_l3 },
+2
drivers/interconnect/qcom/sc7280.h
··· 150 150 #define SC7280_SLAVE_PCIE_1 139 151 151 #define SC7280_SLAVE_QDSS_STM 140 152 152 #define SC7280_SLAVE_TCU 141 153 + #define SC7280_MASTER_EPSS_L3_APPS 142 154 + #define SC7280_SLAVE_EPSS_L3 143 153 155 154 156 #endif