Add Epoch Subsystem (EPSS) L3 provider support on SA8775P SoCs. Current interconnect framework is based on static IDs for creating node and registering with framework. This becomes a limitation for topologies where there are multiple instances of same interconnect provider. Add icc_node_create_alloc_id() API to create icc node with dynamic id, this will help to overcome the dependency on static IDs. Change since v6: - Added icc_node_create_alloc_id() API to dynamically allocate ID while creating the node. Replaced the IDA (ID allocator) with icc_node_create_alloc_id() API to allocate node IDs dynamically. - Removed qcom,epss-l3-perf generic compatible as per the comment. - Added L3 ICC handles for CPU0 and CPU4 in DT, as per Bjorn comment. Link to comment: https://lore.kernel.org/lkml/ww3t3tu7p36qzlhcetaxif2xzrpgslydmuqo3fqvisbuar4bjh@qc2u43dck3qi/ Change since v5: - Reused qcom,sm8250-epss-l3 compatible for sa8775p SoC. - Rearranged the patches, moved dt changes to end of series. - Updated the commit text. Changes since v4: - Added generic compatible "qcom,epss-l3-perf" and split the driver changes accordingly. Changes since v3: - Removed epss-l3-perf generic compatible changes. These will be posted as separate patch until then SoC specific compatible will be used for probing. Changes since v2: - Updated the commit text to reflect the reason for code change. - Added SoC-specific and generic compatible to driver match table. Changes since v1: - Removed the usage of static IDs and implemented dynamic ID assignment for icc nodes using IDA. - Removed separate compatibles for cl0 and cl1. Both cl0 and cl1 devices use the same compatible. - Added new generic compatible for epss-l3-perf. Jagadeesh Kona (1): arm64: dts: qcom: sa8775p: Add CPU OPP tables to scale DDR/L3 Raviteja Laggyshetty (4): interconnect: core: Add dynamic id allocation support interconnect: qcom: Add multidev EPSS L3 support dt-bindings: interconnect: Add EPSS L3 compatible for SA8775P arm64: dts: qcom: sa8775p: add EPSS l3 interconnect provider .../bindings/interconnect/qcom,osm-l3.yaml | 1 + arch/arm64/boot/dts/qcom/sa8775p.dtsi | 229 ++++++++++++++++++ drivers/interconnect/core.c | 32 +++ drivers/interconnect/qcom/osm-l3.c | 91 +++++-- include/linux/interconnect-provider.h | 6 + 5 files changed, 335 insertions(+), 24 deletions(-) -- 2.39.2