Re: [PATCH 1/2] dt-bindings: interconnect: document the RPM Network-On-Chip interconnect in Shikra SoC

Krzysztof Kozlowski
2026-05-03T16:17:25Z

On Wed, Apr 29, 2026 at 02:03:48PM +0000, Raviteja Laggyshetty wrote:
> +++ b/Documentation/devicetree/bindings/interconnect/qcom,shikra.yaml
> @@ -0,0 +1,135 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/interconnect/qcom,shikra.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm Shikra Network-On-Chip interconnect
> +
> +maintainers:
> + - Raviteja Laggyshetty <raviteja.laggyshetty@oss.qualcomm.com>
> +
> +description: |

Do not need '|' unless you need to preserve formatting.

> + The Qualcomm Shikra interconnect providers support adjusting the
> + bandwidth requirements between the various NoC fabrics.
> +
> +properties:
> + compatible:
> + enum:
> + - qcom,shikra-config-noc
> + - qcom,shikra-mem-noc-core
> + - qcom,shikra-sys-noc
> +
> + reg:
> + maxItems: 1
> +
> + clocks:
> + minItems: 1
> + maxItems: 4
> +
> + clock-names:
> + minItems: 1
> + maxItems: 4
> +
> +# Child node's properties
> +patternProperties:
> + '^interconnect-[a-z0-9]+$':
> + type: object
> + description:
> + The interconnect providers do not have a separate QoS register space,
> + but share parent's space.
> +
> + $ref: qcom,rpm-common.yaml#
> +
> + properties:
> + compatible:
> + enum:
> + - qcom,shikra-clk-virt
> + - qcom,shikra-mc-virt
> + - qcom,shikra-mmrt-virt
> + - qcom,shikra-mmnrt-virt
> +
> + required:
> + - compatible
> +
> + unevaluatedProperties: false
> +
> +required:
> + - compatible
> + - reg
> +
> +allOf:
> + - $ref: qcom,rpm-common.yaml#
> + - if:
> + properties:
> + compatible:
> + const: qcom,shikra-mem-noc-core
> +
> + then:
> + properties:
> + clocks:
> + items:
> + - description: GPU-NoC AXI clock
> +
> + clock-names:
> + items:
> + - const: gpu_axi
> +
> + - if:
> + properties:
> + compatible:
> + const: qcom,shikra-sys-noc
> +
> + then:
> + properties:
> + clocks:
> + items:
> + - description: EMAC0-NoC AXI clock.
> + - description: EMAC1-NoC AXI clock.
> + - description: USB2-NoC AXI clock.
> + - description: USB3-NoC AXI clock.
> +
> + clock-names:
> + items:
> + - const: emac0_axi
> + - const: emac1_axi
> + - const: usb2_axi
> + - const: usb3_axi
> +
> + - if:
> + properties:
> + compatible:
> + enum:
> + - qcom,shikra-clk-virt
> + - qcom,shikra-config-noc
> + - qcom,shikra-mc-virt
> + - qcom,shikra-mmrt-virt
> + - qcom,shikra-mmnrt-virt

This if is pointless here, changes nothing and not really correct. Drop
it, I will fix existing bindings.

OTOH, do all NoCs have children? If not, the patternProperties should be
disallowed for such cases. Also clocks should be restricted, see my
patch:
20260503161653.60785-4-krzysztof.kozlowski@oss.qualcomm.com

Best regards,
Krzysztof