Skip to content

Commit ebb37bd

Browse files
author
Georgi Djakov
committed
dt-bindings: interconnect: Add Qualcomm MSM8916 DT bindings
The Qualcomm MSM8916 platform has several bus fabrics that could be controlled and tuned dynamically according to the bandwidth demand. Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Georgi Djakov <[email protected]>
1 parent 7d7899c commit ebb37bd

File tree

2 files changed

+177
-0
lines changed

2 files changed

+177
-0
lines changed
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/interconnect/qcom,msm8916.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm MSM8916 Network-On-Chip interconnect
8+
9+
maintainers:
10+
- Georgi Djakov <[email protected]>
11+
12+
description: |
13+
The Qualcomm MSM8916 interconnect providers support adjusting the
14+
bandwidth requirements between the various NoC fabrics.
15+
16+
properties:
17+
compatible:
18+
enum:
19+
- qcom,msm8916-bimc
20+
- qcom,msm8916-pcnoc
21+
- qcom,msm8916-snoc
22+
23+
reg:
24+
maxItems: 1
25+
26+
'#interconnect-cells':
27+
const: 1
28+
29+
clock-names:
30+
items:
31+
- const: bus
32+
- const: bus_a
33+
34+
clocks:
35+
items:
36+
- description: Bus Clock
37+
- description: Bus A Clock
38+
39+
required:
40+
- compatible
41+
- reg
42+
- '#interconnect-cells'
43+
- clock-names
44+
- clocks
45+
46+
additionalProperties: false
47+
48+
examples:
49+
- |
50+
#include <dt-bindings/clock/qcom,rpmcc.h>
51+
52+
bimc: interconnect@400000 {
53+
compatible = "qcom,msm8916-bimc";
54+
reg = <0x00400000 0x62000>;
55+
#interconnect-cells = <1>;
56+
clock-names = "bus", "bus_a";
57+
clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
58+
<&rpmcc RPM_SMD_BIMC_A_CLK>;
59+
};
60+
61+
pcnoc: interconnect@500000 {
62+
compatible = "qcom,msm8916-pcnoc";
63+
reg = <0x00500000 0x11000>;
64+
#interconnect-cells = <1>;
65+
clock-names = "bus", "bus_a";
66+
clocks = <&rpmcc RPM_SMD_PCNOC_CLK>,
67+
<&rpmcc RPM_SMD_PCNOC_A_CLK>;
68+
};
69+
70+
snoc: interconnect@580000 {
71+
compatible = "qcom,msm8916-snoc";
72+
reg = <0x00580000 0x14000>;
73+
#interconnect-cells = <1>;
74+
clock-names = "bus", "bus_a";
75+
clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
76+
<&rpmcc RPM_SMD_SNOC_A_CLK>;
77+
};
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
/* SPDX-License-Identifier: GPL-2.0 */
2+
/*
3+
* Qualcomm interconnect IDs
4+
*
5+
* Copyright (c) 2019, Linaro Ltd.
6+
* Author: Georgi Djakov <[email protected]>
7+
*/
8+
9+
#ifndef __DT_BINDINGS_INTERCONNECT_QCOM_MSM8916_H
10+
#define __DT_BINDINGS_INTERCONNECT_QCOM_MSM8916_H
11+
12+
#define BIMC_SNOC_SLV 0
13+
#define MASTER_JPEG 1
14+
#define MASTER_MDP_PORT0 2
15+
#define MASTER_QDSS_BAM 3
16+
#define MASTER_QDSS_ETR 4
17+
#define MASTER_SNOC_CFG 5
18+
#define MASTER_VFE 6
19+
#define MASTER_VIDEO_P0 7
20+
#define SNOC_MM_INT_0 8
21+
#define SNOC_MM_INT_1 9
22+
#define SNOC_MM_INT_2 10
23+
#define SNOC_MM_INT_BIMC 11
24+
#define PCNOC_SNOC_SLV 12
25+
#define SLAVE_APSS 13
26+
#define SLAVE_CATS_128 14
27+
#define SLAVE_OCMEM_64 15
28+
#define SLAVE_IMEM 16
29+
#define SLAVE_QDSS_STM 17
30+
#define SLAVE_SRVC_SNOC 18
31+
#define SNOC_BIMC_0_MAS 19
32+
#define SNOC_BIMC_1_MAS 20
33+
#define SNOC_INT_0 21
34+
#define SNOC_INT_1 22
35+
#define SNOC_INT_BIMC 23
36+
#define SNOC_PCNOC_MAS 24
37+
#define SNOC_QDSS_INT 25
38+
39+
#define BIMC_SNOC_MAS 0
40+
#define MASTER_AMPSS_M0 1
41+
#define MASTER_GRAPHICS_3D 2
42+
#define MASTER_TCU0 3
43+
#define MASTER_TCU1 4
44+
#define SLAVE_AMPSS_L2 5
45+
#define SLAVE_EBI_CH0 6
46+
#define SNOC_BIMC_0_SLV 7
47+
#define SNOC_BIMC_1_SLV 8
48+
49+
#define MASTER_BLSP_1 0
50+
#define MASTER_DEHR 1
51+
#define MASTER_LPASS 2
52+
#define MASTER_CRYPTO_CORE0 3
53+
#define MASTER_SDCC_1 4
54+
#define MASTER_SDCC_2 5
55+
#define MASTER_SPDM 6
56+
#define MASTER_USB_HS 7
57+
#define PCNOC_INT_0 8
58+
#define PCNOC_INT_1 9
59+
#define PCNOC_MAS_0 10
60+
#define PCNOC_MAS_1 11
61+
#define PCNOC_SLV_0 12
62+
#define PCNOC_SLV_1 13
63+
#define PCNOC_SLV_2 14
64+
#define PCNOC_SLV_3 15
65+
#define PCNOC_SLV_4 16
66+
#define PCNOC_SLV_8 17
67+
#define PCNOC_SLV_9 18
68+
#define PCNOC_SNOC_MAS 19
69+
#define SLAVE_BIMC_CFG 20
70+
#define SLAVE_BLSP_1 21
71+
#define SLAVE_BOOT_ROM 22
72+
#define SLAVE_CAMERA_CFG 23
73+
#define SLAVE_CLK_CTL 24
74+
#define SLAVE_CRYPTO_0_CFG 25
75+
#define SLAVE_DEHR_CFG 26
76+
#define SLAVE_DISPLAY_CFG 27
77+
#define SLAVE_GRAPHICS_3D_CFG 28
78+
#define SLAVE_IMEM_CFG 29
79+
#define SLAVE_LPASS 30
80+
#define SLAVE_MPM 31
81+
#define SLAVE_MSG_RAM 32
82+
#define SLAVE_MSS 33
83+
#define SLAVE_PDM 34
84+
#define SLAVE_PMIC_ARB 35
85+
#define SLAVE_PCNOC_CFG 36
86+
#define SLAVE_PRNG 37
87+
#define SLAVE_QDSS_CFG 38
88+
#define SLAVE_RBCPR_CFG 39
89+
#define SLAVE_SDCC_1 40
90+
#define SLAVE_SDCC_2 41
91+
#define SLAVE_SECURITY 42
92+
#define SLAVE_SNOC_CFG 43
93+
#define SLAVE_SPDM 44
94+
#define SLAVE_TCSR 45
95+
#define SLAVE_TLMM 46
96+
#define SLAVE_USB_HS 47
97+
#define SLAVE_VENUS_CFG 48
98+
#define SNOC_PCNOC_SLV 49
99+
100+
#endif

0 commit comments

Comments
 (0)