/* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #include &soc { /*Version = 6 */ ad_hoc_bus: ad-hoc-bus { compatible = "qcom,msm-bus-device"; reg = <0x580000 0x14000>, <0x400000 0x62000>, <0x500000 0x11000>; reg-names = "snoc-base", "bimc-base", "pcnoc-base"; /*Buses*/ fab_bimc: fab-bimc { cell-id = ; label = "fab-bimc"; qcom,fab-dev; qcom,base-name = "bimc-base"; qcom,bus-type = <2>; clock-names = "bus_clk", "bus_a_clk"; clocks = <&clock_gcc clk_bimc_msmbus_clk>, <&clock_gcc clk_bimc_msmbus_a_clk>; }; fab_pcnoc: fab-pcnoc { cell-id = ; label = "fab-pcnoc"; qcom,fab-dev; qcom,base-name = "pcnoc-base"; qcom,bus-type = <1>; qcom,base-offset = <0x7000>; qcom,qos-delta = <0x1000>; clock-names = "bus_clk", "bus_a_clk"; clocks = <&clock_gcc clk_pcnoc_msmbus_clk>, <&clock_gcc clk_pcnoc_msmbus_a_clk>; }; fab_snoc: fab-snoc { cell-id = ; label = "fab-snoc"; qcom,fab-dev; qcom,base-name = "snoc-base"; qcom,bus-type = <1>; qcom,base-offset = <0x7000>; qcom,qos-off = <0x1000>; clock-names = "bus_clk", "bus_a_clk"; clocks = <&clock_gcc clk_snoc_msmbus_clk>, <&clock_gcc clk_snoc_msmbus_a_clk>; }; /*Masters*/ mas_apps_proc: mas-apps-proc { cell-id = ; label = "mas-apps-proc"; qcom,buswidth = <8>; qcom,ap-owned; qcom,qport = <0>; qcom,qos-mode = "fixed"; qcom,connections = <&slv_ebi &slv_bimc_snoc>; qcom,prio-lvl = <0>; qcom,prio-rd = <0>; qcom,prio-wr = <0>; qcom,bus-dev = <&fab_bimc>; qcom,mas-rpm-id = ; }; mas_snoc_bimc: mas-snoc-bimc { cell-id = ; label = "mas-snoc-bimc"; qcom,buswidth = <8>; qcom,qport = <3>; qcom,qos-mode = "bypass"; qcom,connections = <&slv_ebi>; qcom,bus-dev = <&fab_bimc>; qcom,mas-rpm-id = ; }; mas_tcu_0: mas-tcu-0 { cell-id = ; label = "mas-tcu-0"; qcom,buswidth = <8>; qcom,ap-owned; qcom,qport = <4>; qcom,qos-mode = "fixed"; qcom,connections = <&slv_ebi>; qcom,prio-lvl = <2>; qcom,prio-rd = <2>; qcom,prio-wr = <2>; qcom,bus-dev = <&fab_bimc>; qcom,mas-rpm-id = ; }; mas_audio: mas-audio { cell-id = ; label = "mas-audio"; qcom,buswidth = <4>; qcom,connections = <&pcnoc_m_0>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,blacklist = <&slv_prng &slv_pcie_parf &slv_crypto_0_cfg &slv_ipa_cfg &slv_tlmm &slv_tcu &slv_qpic_cfg &slv_snoc_cfg &slv_tcsr &slv_audio &slv_pmic_arb &slv_pdm &slv_blsp_1 &slv_sdcc_1 &slv_message_ram &slv_usb3_phy_cfg>; }; mas_blsp_1: mas-blsp-1 { cell-id = ; label = "mas-blsp-1"; qcom,buswidth = <4>; qcom,connections = <&pcnoc_m_1>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; }; mas_qpic: mas-qpic { cell-id = ; label = "mas-qpic"; qcom,buswidth = <8>; qcom,connections = <&pcnoc_m_1>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; }; mas_crypto: mas-crypto { cell-id = ; label = "mas-crypto"; qcom,buswidth = <8>; qcom,ap-owned; qcom,qport = <0>; qcom,qos-mode = "fixed"; qcom,connections = <&pcnoc_int_1>; qcom,prio1 = <0>; qcom,prio0 = <0>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,blacklist = <&slv_pcie_parf &slv_crypto_0_cfg &slv_ipa_cfg &slv_tlmm &slv_tcu &slv_snoc_cfg &slv_tcsr &slv_audio &slv_pmic_arb &slv_message_ram>; }; mas_sdcc_1: mas-sdcc-1 { cell-id = ; label = "mas-sdcc-1"; qcom,buswidth = <8>; qcom,connections = <&pcnoc_int_1>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; }; mas_snoc_pcnoc: mas-snoc-pcnoc { cell-id = ; label = "mas-snoc-pcnoc"; qcom,buswidth = <8>; qcom,qport = <9>; qcom,qos-mode = "fixed"; qcom,connections = <&pcnoc_int_3>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; }; mas_qdss_bam: mas-qdss-bam { cell-id = ; label = "mas-qdss-bam"; qcom,buswidth = <4>; qcom,ap-owned; qcom,qport = <12>; qcom,qos-mode = "fixed"; qcom,connections = <&slv_usb3 &slv_imem &slv_snoc_bimc &slv_snoc_pcnoc>; qcom,prio1 = <0>; qcom,prio0 = <0>; qcom,bus-dev = <&fab_snoc>; qcom,mas-rpm-id = ; }; mas_bimc_snoc: mas-bimc-snoc { cell-id = ; label = "mas-bimc-snoc"; qcom,buswidth = <8>; qcom,connections = <&slv_usb3 &slv_cats_0 &slv_snoc_pcnoc &slv_imem &slv_pcie_0 &slv_apss_ahb &slv_qdss_stm>; qcom,bus-dev = <&fab_snoc>; qcom,mas-rpm-id = ; }; mas_ipa: mas-ipa { cell-id = ; label = "mas-ipa"; qcom,buswidth = <8>; qcom,connections = <&slv_usb3 &slv_snoc_pcnoc &slv_pcie_0 &slv_snoc_bimc &slv_imem &slv_qdss_stm>; qcom,bus-dev = <&fab_snoc>; qcom,mas-rpm-id = ; }; mas_usb3: mas-usb3 { cell-id = ; label = "mas-usb3"; qcom,buswidth = <8>; qcom,ap-owned; qcom,qport = <8>; qcom,qos-mode = "fixed"; qcom,connections = <&slv_usb3 &slv_imem &slv_qdss_stm &slv_snoc_bimc &slv_snoc_pcnoc>; qcom,prio1 = <0>; qcom,prio0 = <0>; qcom,bus-dev = <&fab_snoc>; clock-names = "bus_qos_clk"; clocks = <&clock_gcc clk_gcc_sys_noc_usb3_axi_clk>; qcom,mas-rpm-id = ; }; mas_pcnoc_snoc: mas-pcnoc-snoc { cell-id = ; label = "mas-pcnoc-snoc"; qcom,buswidth = <8>; qcom,qport = <5>; qcom,qos-mode = "fixed"; qcom,connections = <&slv_usb3 &slv_imem &slv_pcie_0 &slv_snoc_bimc &slv_apss_ahb &slv_qdss_stm>; qcom,bus-dev = <&fab_snoc>; qcom,mas-rpm-id = ; }; mas_qdss_etr: mas-qdss-etr { cell-id = ; label = "mas-qdss-etr"; qcom,buswidth = <8>; qcom,ap-owned; qcom,qport = <11>; qcom,qos-mode = "fixed"; qcom,connections = <&slv_usb3 &slv_imem &slv_snoc_bimc &slv_snoc_pcnoc>; qcom,prio1 = <0>; qcom,prio0 = <0>; qcom,bus-dev = <&fab_snoc>; qcom,mas-rpm-id = ; }; mas_pcie_0: mas-pcie-0 { cell-id = ; label = "mas-pcie-0"; qcom,buswidth = <8>; qcom,qport = <7>; qcom,qos-mode = "fixed"; qcom,connections = <&slv_imem &slv_qdss_stm &slv_apss_ahb &slv_snoc_bimc &slv_snoc_pcnoc>; qcom,bus-dev = <&fab_snoc>; qcom,mas-rpm-id = ; }; /*Internal nodes*/ pcnoc_m_0: pcnoc-m-0 { cell-id = ; label = "pcnoc-m-0"; qcom,buswidth = <8>; qcom,qport = <5>; qcom,qos-mode = "bypass"; qcom,connections = <&pcnoc_int_2>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,slv-rpm-id = ; }; pcnoc_m_1: pcnoc-m-1 { cell-id = ; label = "pcnoc-m-1"; qcom,buswidth = <8>; qcom,qport = <6>; qcom,qos-mode = "fixed"; qcom,connections = <&pcnoc_int_2>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,slv-rpm-id = ; }; pcnoc_int_0: pcnoc-int-0 { cell-id = ; label = "pcnoc-int-0"; qcom,buswidth = <8>; qcom,connections = <&pcnoc_s_1 &pcnoc_s_2 &pcnoc_s_0 &pcnoc_s_4 &pcnoc_s_7 &pcnoc_s_3>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,slv-rpm-id = ; }; pcnoc_int_1: pcnoc-int-1 { cell-id = ; label = "pcnoc-int-1"; qcom,buswidth = <8>; qcom,connections = <&slv_pcnoc_snoc &pcnoc_int_5>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,slv-rpm-id = ; }; pcnoc_int_2: pcnoc-int-2 { cell-id = ; label = "pcnoc-int-2"; qcom,buswidth = <8>; qcom,connections = <&pcnoc_int_5 &pcnoc_int_4>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,slv-rpm-id = ; }; pcnoc_int_3: pcnoc-int-3 { cell-id = ; label = "pcnoc-int-3"; qcom,buswidth = <8>; qcom,connections = <&pcnoc_int_4 &pcnoc_int_5>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,slv-rpm-id = ; }; pcnoc_int_4: pcnoc-int-4 { cell-id = ; label = "pcnoc-int-4"; qcom,buswidth = <8>; qcom,connections = <&slv_pcnoc_snoc>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,slv-rpm-id = ; }; pcnoc_int_5: pcnoc-int-5 { cell-id = ; label = "pcnoc-int-5"; qcom,buswidth = <8>; qcom,connections = <&pcnoc_int_6 &pcnoc_int_0>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,slv-rpm-id = ; }; pcnoc_int_6: pcnoc-int-6 { cell-id = ; label = "pcnoc-int-6"; qcom,buswidth = <8>; qcom,connections = <&pcnoc_s_8 &slv_tcu>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,slv-rpm-id = ; }; pcnoc_s_0: pcnoc-s-0 { cell-id = ; label = "pcnoc-s-0"; qcom,buswidth = <4>; qcom,connections = <&slv_tlmm &slv_tcsr>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,slv-rpm-id = ; }; pcnoc_s_1: pcnoc-s-1 { cell-id = ; label = "pcnoc-s-1"; qcom,buswidth = <4>; qcom,connections = <&slv_crypto_0_cfg &slv_prng &slv_pdm &slv_message_ram>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,slv-rpm-id = ; }; pcnoc_s_2: pcnoc-s-2 { cell-id = ; label = "pcnoc-s-2"; qcom,buswidth = <4>; qcom,connections = <&slv_pmic_arb>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,slv-rpm-id = ; }; pcnoc_s_3: pcnoc-s-3 { cell-id = ; label = "pcnoc-s-3"; qcom,buswidth = <4>; qcom,connections = <&slv_snoc_cfg>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,slv-rpm-id = ; }; pcnoc_s_4: pcnoc-s-4 { cell-id = ; label = "pcnoc-s-4"; qcom,buswidth = <4>; qcom,connections = <&slv_pcie_parf &slv_usb3_phy_cfg &slv_audio>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,slv-rpm-id = ; }; pcnoc_s_7: pcnoc-s-7 { cell-id = ; label = "pcnoc-s-7"; qcom,buswidth = <4>; qcom,connections = <&slv_ipa_cfg>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,slv-rpm-id = ; }; pcnoc_s_8: pcnoc-s-8 { cell-id = ; label = "pcnoc-s-8"; qcom,buswidth = <4>; qcom,connections = <&slv_qpic_cfg &slv_blsp_1 &slv_sdcc_1>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,slv-rpm-id = ; }; /*Slaves*/ slv_ebi:slv-ebi { cell-id = ; label = "slv-ebi"; qcom,buswidth = <8>; qcom,bus-dev = <&fab_bimc>; qcom,slv-rpm-id = ; }; slv_bimc_snoc:slv-bimc-snoc { cell-id = ; label = "slv-bimc-snoc"; qcom,buswidth = <8>; qcom,bus-dev = <&fab_bimc>; qcom,connections = <&mas_bimc_snoc>; qcom,slv-rpm-id = ; }; slv_tcsr:slv-tcsr { cell-id = ; label = "slv-tcsr"; qcom,buswidth = <4>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_tlmm:slv-tlmm { cell-id = ; label = "slv-tlmm"; qcom,buswidth = <4>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_crypto_0_cfg:slv-crypto-0-cfg { cell-id = ; label = "slv-crypto-0-cfg"; qcom,buswidth = <4>; qcom,ap-owned; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_message_ram:slv-message-ram { cell-id = ; label = "slv-message-ram"; qcom,buswidth = <4>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_pdm:slv-pdm { cell-id = ; label = "slv-pdm"; qcom,buswidth = <4>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_prng:slv-prng { cell-id = ; label = "slv-prng"; qcom,buswidth = <4>; qcom,ap-owned; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_pmic_arb:slv-pmic-arb { cell-id = ; label = "slv-pmic-arb"; qcom,buswidth = <4>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_snoc_cfg:slv-snoc-cfg { cell-id = ; label = "slv-snoc-cfg"; qcom,buswidth = <4>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_sdcc_1:slv-sdcc-1 { cell-id = ; label = "slv-sdcc-1"; qcom,buswidth = <4>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_blsp_1:slv-blsp-1 { cell-id = ; label = "slv-blsp-1"; qcom,buswidth = <4>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_audio:slv-audio { cell-id = ; label = "slv-audio"; qcom,buswidth = <4>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_tcu:slv-tcu { cell-id = ; label = "slv-tcu"; qcom,buswidth = <8>; qcom,ap-owned; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_pcnoc_snoc:slv-pcnoc-snoc { cell-id = ; label = "slv-pcnoc-snoc"; qcom,buswidth = <8>; qcom,bus-dev = <&fab_pcnoc>; qcom,connections = <&mas_pcnoc_snoc>; qcom,slv-rpm-id = ; }; slv_pcie_parf:slv-pcie-parf { cell-id = ; label = "slv-pcie-parf"; qcom,buswidth = <8>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_usb3_phy_cfg:slv-usb3-phy-cfg { cell-id = ; label = "slv-usb3-phy-cfg"; qcom,buswidth = <8>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_qpic_cfg:slv-qpic-cfg { cell-id = ; label = "slv-qpic-cfg"; qcom,buswidth = <8>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_ipa_cfg:slv-ipa-cfg { cell-id = ; label = "slv-ipa-cfg"; qcom,buswidth = <8>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_apss_ahb:slv-apss-ahb { cell-id = ; label = "slv-apss-ahb"; qcom,buswidth = <4>; qcom,ap-owned; qcom,bus-dev = <&fab_snoc>; qcom,slv-rpm-id = ; }; slv_snoc_bimc:slv-snoc-bimc { cell-id = ; label = "slv-snoc-bimc"; qcom,buswidth = <8>; qcom,bus-dev = <&fab_snoc>; qcom,connections = <&mas_snoc_bimc>; qcom,slv-rpm-id = ; }; slv_imem:slv-imem { cell-id = ; label = "slv-imem"; qcom,buswidth = <8>; qcom,bus-dev = <&fab_snoc>; qcom,slv-rpm-id = ; }; slv_snoc_pcnoc:slv-snoc-pcnoc { cell-id = ; label = "slv-snoc-pcnoc"; qcom,buswidth = <8>; qcom,bus-dev = <&fab_snoc>; qcom,connections = <&mas_snoc_pcnoc>; qcom,slv-rpm-id = ; qcom,blacklist = <&slv_pcnoc_snoc>; }; slv_qdss_stm:slv-qdss-stm { cell-id = ; label = "slv-qdss-stm"; qcom,buswidth = <4>; qcom,bus-dev = <&fab_snoc>; qcom,slv-rpm-id = ; }; slv_pcie_0:slv-pcie-0 { cell-id = ; label = "slv-pcie-0"; qcom,buswidth = <8>; qcom,bus-dev = <&fab_snoc>; qcom,slv-rpm-id = ; }; slv_usb3:slv-usb3 { cell-id = ; label = "slv-usb3"; qcom,buswidth = <4>; qcom,bus-dev = <&fab_snoc>; qcom,slv-rpm-id = ; }; slv_cats_0:slv-cats-0 { cell-id = ; label = "slv-cats-0"; qcom,buswidth = <8>; qcom,ap-owned; qcom,bus-dev = <&fab_snoc>; qcom,slv-rpm-id = ; }; }; };