1 /* Copyright (c) 2014, The Linux Foundation. All rights reserved.
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
13 #include <dt-bindings/soc/msm-bus-rule-ops.h>
16 ad_hoc_bus: ad-hoc-bus { };
19 compatible = "qcom,msm-bus-static-bw-rules";
22 qcom,src-nodes = <&mas_apss>;
23 qcom,src-field = <FLD_IB>;
24 qcom,src-op = <OP_LE>;
25 qcom,thresh = <1600000>;
26 qcom,mode = <THROTTLE_ON>;
27 qcom,dest-node = <&mas_apss>;
28 qcom,dest-bw = <600000>;
33 qcom,src-nodes = <&mas_apss>;
34 qcom,src-field = <FLD_IB>;
35 qcom,src-op = <OP_LE>;
36 qcom,thresh = <3200000>;
37 qcom,mode = <THROTTLE_ON>;
38 qcom,dest-node = <&mas_apss>;
39 qcom,dest-bw = <1200000>;
43 qcom,src-nodes = <&mas_apss>;
44 qcom,src-field = <FLD_IB>;
45 qcom,src-op = <OP_GT>;
46 qcom,thresh = <3200000>;
47 qcom,mode = <THROTTLE_OFF>;
48 qcom,dest-node = <&mas_apss>;
52 qcom,src-nodes = <&mas_gfx>;
53 qcom,src-field = <FLD_IB>;
54 qcom,src-op = <OP_LE>;
55 qcom,thresh = <1600000>;
56 qcom,mode = <THROTTLE_ON>;
57 qcom,dest-node = <&mas_gfx>;
58 qcom,dest-bw = <600000>;
62 qcom,src-nodes = <&mas_gfx>;
63 qcom,src-field = <FLD_IB>;
64 qcom,src-op = <OP_LE>;
65 qcom,thresh = <3200000>;
66 qcom,mode = <THROTTLE_ON>;
67 qcom,dest-node = <&mas_gfx>;
68 qcom,dest-bw = <1200000>;
72 qcom,src-nodes = <&mas_gfx>;
73 qcom,src-field = <FLD_IB>;
74 qcom,src-op = <OP_GT>;
75 qcom,thresh = <3200000>;
76 qcom,mode = <THROTTLE_OFF>;
77 qcom,dest-node = <&mas_gfx>;
83 compatible = "qcom,msm-bus-device";
84 reg = <0x580000 0x14000>,
87 reg-names = "snoc-base", "bimc-base", "pnoc-base";
93 qcom,base-name = "snoc-base";
94 qcom,base-offset = <0x7000>;
95 qcom,qos-off = <0x1000>;
97 clock-names = "bus_clk", "bus_a_clk";
98 clocks = <&rpmcc RPM_SNOC_CLK>,
99 <&rpmcc RPM_SNOC_A_CLK>;
106 qcom,base-name = "bimc-base";
108 clock-names = "bus_clk", "bus_a_clk";
109 clocks = <&rpmcc RPM_BIMC_CLK>,
110 <&rpmcc RPM_BIMC_A_CLK>;
117 qcom,base-name = "pnoc-base";
118 qcom,base-offset = <0x7000>;
119 qcom,qos-delta = <0x1000>;
121 clock-names = "bus_clk", "bus_a_clk";
122 clocks = <&rpmcc RPM_PCNOC_CLK>,
123 <&rpmcc RPM_PCNOC_A_CLK>;
127 mas_video: mas-video {
132 qcom,connections = <&mm_int_0 &mm_int_2>;
133 qcom,bus-dev = <&fab_snoc>;
134 qcom,qos-mode = "bypass";
135 qcom,buswidth = <16>;
143 qcom,connections = <&mm_int_0 &mm_int_2>;
144 qcom,bus-dev = <&fab_snoc>;
145 qcom,qos-mode = "bypass";
146 qcom,buswidth = <16>;
154 qcom,connections = <&mm_int_1 &mm_int_2>;
155 qcom,bus-dev = <&fab_snoc>;
156 qcom,qos-mode = "bypass";
157 qcom,buswidth = <16>;
164 qcom,connections = <&mm_int_0 &mm_int_2>;
166 qcom,bus-dev = <&fab_snoc>;
167 qcom,qos-mode = "bypass";
168 qcom,buswidth = <16>;
171 mas_qdss_bam: mas-qdss-bam {
173 label = "mas-qdss-bam";
174 qcom,connections = <&qdss_int>;
176 qcom,bus-dev = <&fab_snoc>;
179 qcom,qos-mode = "fixed";
184 mas_snoc_cfg: mas-snoc-cfg {
186 label = "mas-snoc-cfg";
187 qcom,connections = <&qdss_int>;
188 qcom,bus-dev = <&fab_snoc>;
189 qcom,qos-mode = "bypass";
191 qcom,mas-rpm-id = <20>;
194 mas_qdss_etr: mas-qdss-etr {
196 label = "mas-qdss-etr";
197 qcom,connections = <&qdss_int>;
199 qcom,bus-dev = <&fab_snoc>;
200 qcom,qos-mode = "fixed";
211 qcom,connections = <&mm_int_bimc>;
212 qcom,bus-dev = <&fab_snoc>;
213 qcom,buswidth = <16>;
220 qcom,connections = <&mm_int_bimc>;
221 qcom,bus-dev = <&fab_snoc>;
222 qcom,buswidth = <16>;
229 qcom,connections = <&snoc_int_0>;
230 qcom,bus-dev = <&fab_snoc>;
231 qcom,buswidth = <16>;
234 mm_int_bimc: mm-int-bimc {
236 label = "mm-int-bimc";
238 qcom,connections = <&snoc_bimc_1_mas>;
239 qcom,bus-dev = <&fab_snoc>;
240 qcom,buswidth = <16>;
243 snoc_int_0: snoc-int-0 {
245 label = "snoc-int-0";
246 qcom,connections = <&slv_qdss_stm &slv_imem &snoc_pnoc_mas>;
247 qcom,bus-dev = <&fab_snoc>;
248 qcom,mas-rpm-id = <99>;
249 qcom,slv-rpm-id = <130>;
253 snoc_int_1: snoc-int-1 {
255 label = "snoc-int-1";
256 qcom,connections = <&slv_apss &slv_cats_0 &slv_cats_1>;
257 qcom,bus-dev = <&fab_snoc>;
258 qcom,mas-rpm-id = <100>;
259 qcom,slv-rpm-id = <131>;
263 snoc_int_bimc: snoc-int-bmc {
266 qcom,connections = <&snoc_bimc_0_mas>;
267 qcom,bus-dev = <&fab_snoc>;
268 qcom,mas-rpm-id = <101>;
269 qcom,slv-rpm-id = <132>;
273 snoc_bimc_0_mas: snoc-bimc-0-mas {
275 label = "snoc-bimc-0-mas";
276 qcom,connections = <&snoc_bimc_0_slv>;
277 qcom,bus-dev = <&fab_snoc>;
278 qcom,mas-rpm-id = <3>;
282 snoc_bimc_1_mas: snoc-bimc-1-mas {
284 label = "snoc-bimc-1-mas";
285 qcom,connections = <&snoc_bimc_1_slv>;
286 qcom,bus-dev = <&fab_snoc>;
288 qcom,buswidth = <16>;
295 qcom,connections = <&snoc_int_0 &snoc_int_bimc>;
296 qcom,bus-dev = <&fab_snoc>;
300 bimc_snoc_slv: bimc-snoc-slv {
302 label = "bimc_snoc_slv";
304 qcom,connections = <&snoc_int_0 &snoc_int_1>;
305 qcom,bus-dev = <&fab_snoc>;
309 snoc_pnoc_mas: snoc-pnoc-mas {
311 label = "snoc-pnoc-mas";
312 qcom,connections = <&snoc_pnoc_slv>;
313 qcom,bus-dev = <&fab_snoc>;
317 pnoc_snoc_slv: pnoc-snoc-slv {
320 qcom,connections = <&snoc_int_0 &snoc_int_bimc &snoc_int_1>;
321 qcom,bus-dev = <&fab_snoc>;
322 qcom,slv-rpm-id = <45>;
326 slv_srvc_snoc: slv-srvc-snoc {
328 label = "snoc-srvc-snoc";
329 qcom,bus-dev = <&fab_snoc>;
330 qcom,slv-rpm-id = <29>;
334 slv_qdss_stm: slv-qdss-stm {
336 label = "snoc-qdss-stm";
337 qcom,bus-dev = <&fab_snoc>;
339 qcom,slv-rpm-id = <30>;
345 qcom,bus-dev = <&fab_snoc>;
347 qcom,slv-rpm-id = <26>;
353 qcom,bus-dev = <&fab_snoc>;
354 qcom,slv-rpm-id = <20>;
358 slv_cats_0: slv-cats-0 {
360 label = "slv-cats-0";
361 qcom,bus-dev = <&fab_snoc>;
362 qcom,slv-rpm-id = <106>;
363 qcom,buswidth = <16>;
366 slv_cats_1: slv-cats-1 {
368 label = "slv-cats-1";
369 qcom,bus-dev = <&fab_snoc>;
370 qcom,slv-rpm-id = <107>;
379 qcom,connections = <&slv_ebi_ch0 &bimc_snoc_mas &slv_apps_l2>;
381 qcom,bus-dev = <&fab_bimc>;
382 qcom,qos-mode = "fixed";
396 qcom,connections = <&slv_ebi_ch0 &bimc_snoc_mas &slv_apps_l2>;
398 qcom,bus-dev = <&fab_bimc>;
399 qcom,qos-mode = "fixed";
410 qcom,connections = <&slv_ebi_ch0 &bimc_snoc_mas &slv_apps_l2>;
412 qcom,bus-dev = <&fab_bimc>;
413 qcom,qos-mode = "fixed";
424 qcom,connections = <&slv_ebi_ch0 &bimc_snoc_mas &slv_apps_l2>;
426 qcom,bus-dev = <&fab_bimc>;
427 qcom,qos-mode = "fixed";
437 bimc_snoc_mas: bimc-snoc-mas {
439 label = "bimc_snoc_mas";
441 qcom,bus-dev = <&fab_bimc>;
442 qcom,connections = <&bimc_snoc_slv>;
446 snoc_bimc_0_slv: snoc-bimc-0-slv {
448 label = "snoc_bimc_0_slv";
449 qcom,connections = <&slv_ebi_ch0>;
450 qcom,bus-dev = <&fab_bimc>;
451 qcom,slv-rpm-id = <24>;
455 snoc_bimc_1_slv: snoc_bimc_1_slv {
457 label = "snoc_bimc_1_slv";
458 qcom,connections = <&slv_ebi_ch0>;
460 qcom,bus-dev = <&fab_bimc>;
464 slv_ebi_ch0: slv-ebi-ch0 {
466 label = "slv-ebi-ch0";
467 qcom,bus-dev = <&fab_bimc>;
468 qcom,slv-rpm-id = <0>;
472 slv_apps_l2: slv-apps-l2 {
474 label = "slv-apps-l2";
475 qcom,bus-dev = <&fab_bimc>;
480 snoc_pnoc_slv: snoc-pnoc-slv {
482 label = "snoc-pnoc-slv";
483 qcom,connections = <&pnoc_int_0>;
484 qcom,bus-dev = <&fab_pnoc>;
488 pnoc_int_0: pnoc-int-0 {
490 label = "pnoc-int-0";
491 qcom,connections = <&pnoc_snoc_mas &pnoc_s_0 &pnoc_s_1 &pnoc_s_2
492 &pnoc_s_3 &pnoc_s_4 &pnoc_s_8 &pnoc_s_9>;
493 qcom,bus-dev = <&fab_pnoc>;
497 pnoc_int_1: pnoc-int-1 {
499 label = "pnoc-int-1";
500 qcom,connections = <&pnoc_snoc_mas>;
501 qcom,bus-dev = <&fab_pnoc>;
508 qcom,connections = <&pnoc_int_0>;
509 qcom,bus-dev = <&fab_pnoc>;
516 qcom,connections = <&pnoc_snoc_mas>;
517 qcom,bus-dev = <&fab_pnoc>;
524 qcom,connections = <&slv_clk_ctl &slv_tlmm &slv_tcsr
525 &slv_security &slv_mss>;
526 qcom,bus-dev = <&fab_pnoc>;
533 qcom,connections = <&slv_imem_cfg &slv_crypto_0_cfg
534 &slv_msg_ram &slv_pdm &slv_prng>;
535 qcom,bus-dev = <&fab_pnoc>;
542 qcom,connections = <&slv_spdm &slv_boot_rom &slv_bimc_cfg
543 &slv_pnoc_cfg &slv_pmic_arb>;
544 qcom,bus-dev = <&fab_pnoc>;
551 qcom,connections = <&slv_mpm &slv_snoc_cfg &slv_rbcpr_cfg
552 &slv_qdss_cfg &slv_dehr_cfg>;
553 qcom,bus-dev = <&fab_pnoc>;
560 qcom,connections = <&slv_venus_cfg &slv_camera_cfg
562 qcom,bus-dev = <&fab_pnoc>;
568 qcom,connections = <&slv_usb_hs &slv_sdcc_1 &slv_blsp_1>;
569 qcom,bus-dev = <&fab_pnoc>;
576 qcom,connections = <&slv_sdcc_2 &slv_audio &slv_gfx_cfg>;
577 qcom,bus-dev = <&fab_pnoc>;
581 slv_imem_cfg: slv-imem-cfg {
583 label = "slv-imem-cfg";
584 qcom,bus-dev = <&fab_pnoc>;
588 slv_crypto_0_cfg: slv-crypto-0-cfg {
590 label = "slv-crypto-0-cfg";
591 qcom,bus-dev = <&fab_pnoc>;
595 slv_msg_ram: slv-msg-ram {
597 label = "slv-msg-ram";
598 qcom,bus-dev = <&fab_pnoc>;
605 qcom,bus-dev = <&fab_pnoc>;
612 qcom,bus-dev = <&fab_pnoc>;
616 slv_clk_ctl: slv-clk-ctl {
618 label = "slv-clk-ctl";
619 qcom,bus-dev = <&fab_pnoc>;
626 qcom,bus-dev = <&fab_pnoc>;
633 qcom,bus-dev = <&fab_pnoc>;
640 qcom,bus-dev = <&fab_pnoc>;
644 slv_security: slv-security {
646 label = "slv-security";
647 qcom,bus-dev = <&fab_pnoc>;
654 qcom,bus-dev = <&fab_pnoc>;
658 slv_pnoc_cfg: slv-pnoc-cfg {
660 label = "slv-pnoc-cfg";
661 qcom,bus-dev = <&fab_pnoc>;
665 slv_pmic_arb: slv-pmic-arb {
667 label = "slv-pmic-arb";
668 qcom,bus-dev = <&fab_pnoc>;
672 slv_bimc_cfg: slv-bimc-cfg {
674 label = "slv-bimc-cfg";
675 qcom,bus-dev = <&fab_pnoc>;
679 slv_boot_rom: slv-boot-rom {
681 label = "slv-boot-rom";
682 qcom,bus-dev = <&fab_pnoc>;
689 qcom,bus-dev = <&fab_pnoc>;
693 slv_qdss_cfg: slv-qdss-cfg {
695 label = "slv-qdss-cfg";
696 qcom,bus-dev = <&fab_pnoc>;
700 slv_rbcpr_cfg: slv-rbcpr-cfg {
702 label = "slv-rbcpr-cfg";
703 qcom,bus-dev = <&fab_pnoc>;
707 slv_snoc_cfg: slv-snoc-cfg {
709 label = "slv-snoc-cfg";
710 qcom,bus-dev = <&fab_pnoc>;
714 slv_dehr_cfg: slv-dehr-cfg {
716 label = "slv-dehr-cfg";
717 qcom,bus-dev = <&fab_pnoc>;
721 slv_venus_cfg: slv-venus-cfg {
723 label = "slv-venus-cfg";
724 qcom,bus-dev = <&fab_pnoc>;
728 slv_display_cfg: slv-display-cfg {
730 label = "slv-display-cfg";
731 qcom,bus-dev = <&fab_pnoc>;
735 slv_camera_cfg: slv-camera-cfg {
737 label = "slv-camer-cfg";
738 qcom,bus-dev = <&fab_pnoc>;
742 slv_usb_hs: slv-usb-hs {
744 label = "slv-usb-hs";
745 qcom,bus-dev = <&fab_pnoc>;
749 slv_sdcc_1: slv-sdcc-1 {
751 label = "slv-sdcc-1";
752 qcom,bus-dev = <&fab_pnoc>;
756 slv_blsp_1: slv-blsp-1 {
758 label = "slv-blsp-1";
759 qcom,bus-dev = <&fab_pnoc>;
763 slv_sdcc_2: slv-sdcc-2 {
765 label = "slv-sdcc-2";
766 qcom,bus-dev = <&fab_pnoc>;
770 slv_gfx_cfg: slv-gfx-cfg {
772 label = "slv-gfx-cfg";
773 qcom,bus-dev = <&fab_pnoc>;
777 slv_audio: slv-audio {
780 qcom,bus-dev = <&fab_pnoc>;
784 mas_blsp_1: mas-blsp_1 {
786 label = "mas-blsp-1";
787 qcom,connections = <&pnoc_m_1>;
788 qcom,bus-dev = <&fab_pnoc>;
795 qcom,connections = <&pnoc_m_0>;
796 qcom,bus-dev = <&fab_pnoc>;
803 qcom,connections = <&pnoc_m_0>;
804 qcom,bus-dev = <&fab_pnoc>;
808 mas_audio: mas-audio {
811 qcom,connections = <&pnoc_m_0>;
812 qcom,bus-dev = <&fab_pnoc>;
816 mas_usb_hs: mas-usb-hs {
818 label = "mas-usb-hs";
819 qcom,connections = <&pnoc_m_1>;
820 qcom,bus-dev = <&fab_pnoc>;
824 mas_pnoc_crypto_0: mas-pnoc-crypto-0 {
826 label = "mas-pnoc-crypto-0";
827 qcom,connections = <&pnoc_int_1>;
828 qcom,bus-dev = <&fab_pnoc>;
832 mas_pnoc_sdcc_1: mas-pnoc-sdcc-1 {
834 label = "mas-pnoc-sdcc-1";
836 qcom,connections = <&pnoc_int_1>;
837 qcom,bus-dev = <&fab_pnoc>;
841 mas_pnoc_sdcc_2: mas-pnoc-sdcc-2 {
843 label = "mas-pnoc-sdcc-2";
845 qcom,connections = <&pnoc_int_1>;
846 qcom,bus-dev = <&fab_pnoc>;
850 pnoc_snoc_mas: pnoc-snoc-mas {
852 label = "pnoc-snoc-mas";
853 qcom,connections = <&pnoc_snoc_slv>;
854 qcom,bus-dev = <&fab_pnoc>;
855 qcom,mas-rpm-id = <29>;