/* Copyright (c) 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 = 1 */ ad_hoc_bus: ad-hoc-bus { compatible = "qcom,msm-bus-device"; reg = <0x401000 0x58000>, <0x500000 0x15080>; reg-names = "bimc-base", "pnoc-base"; /*Buses*/ fab_bimc: fab-bimc { cell-id = ; label = "fab-bimc"; qcom,fab-dev; qcom,base-name = "bimc-base"; qcom,bus-type = <2>; qcom,bypass-qos-prg; qcom,util-fact = <154>; clock-names = "bus_clock", "bus_a_clock"; 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,base-offset = <0x7000>; qcom,qos-off = <0x1000>; qcom,bypass-qos-prg; qcom,bus-type = <1>; clock-names = "bus_clk", "bus_a_clk"; clocks = <&clock_gcc clk_pcnoc_msmbus_clk>, <&clock_gcc clk_pcnoc_msmbus_a_clk>; }; /*Masters*/ mas_apps_proc: mas-apps-proc { cell-id = ; label = "mas-apps-proc"; qcom,buswidth = <8>; qcom,agg-ports = <1>; qcom,ap-owned; qcom,qport = <0>; qcom,qos-mode = "fixed"; qcom,connections = < &slv_bimc_pcnoc &slv_ebi>; qcom,prio-lvl = <0>; qcom,prio-rd = <0>; qcom,prio-wr = <0>; qcom,bus-dev = <&fab_bimc>; qcom,mas-rpm-id = ; }; mas_pcnoc_bimc_1: mas-pcnoc-bimc-1 { cell-id = ; label = "mas-pcnoc-bimc-1"; qcom,buswidth = <8>; qcom,agg-ports = <1>; 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,agg-ports = <1>; qcom,ap-owned; qcom,qport = <5>; 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_qdss_bam: mas-qdss-bam { cell-id = ; label = "mas-qdss-bam"; qcom,buswidth = <4>; qcom,agg-ports = <1>; qcom,connections = <&qdss_int>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,blacklist = <&pcnoc_s_1 &pcnoc_s_2 &pcnoc_s_0 &pcnoc_s_4 &pcnoc_s_5 &pcnoc_s_3 &slv_tcu>; }; mas_bimc_pcnoc: mas-bimc-pcnoc { cell-id = ; label = "mas-bimc-pcnoc"; qcom,buswidth = <8>; qcom,agg-ports = <1>; qcom,connections = <&pcnoc_int_0 &pcnoc_int_2 &slv_cats_0>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; }; mas_qdss_etr: mas-qdss-etr { cell-id = ; label = "mas-qdss-etr"; qcom,buswidth = <8>; qcom,agg-ports = <1>; qcom,connections = <&qdss_int>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,blacklist = <&pcnoc_s_0 &pcnoc_s_2 &pcnoc_s_3 &pcnoc_s_4 &pcnoc_s_5 &slv_crypto_0_cfg &slv_message_ram &slv_pdm &slv_prng &slv_qdss_stm &slv_tcu>; }; mas_audio: mas-audio { cell-id = ; label = "mas-audio"; qcom,buswidth = <4>; qcom,agg-ports = <1>; qcom,connections = <&pcnoc_m_0>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,blacklist = <&pcnoc_s_0 &pcnoc_s_1 &pcnoc_s_2 &pcnoc_s_3 &pcnoc_s_4 &pcnoc_s_5 &slv_tcu>; }; mas_qpic: mas-qpic { cell-id = ; label = "mas-qpic"; qcom,buswidth = <4>; qcom,agg-ports = <1>; qcom,connections = <&pcnoc_m_0>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,blacklist = <&pcnoc_s_0 &pcnoc_s_2 &pcnoc_s_3 &pcnoc_s_4 &pcnoc_s_5 &slv_tcu &slv_crypto_0_cfg &slv_pdm &slv_prng &slv_usb2 >; }; mas_hsic: mas-hsic { cell-id = ; label = "mas-hsic"; qcom,buswidth = <4>; qcom,agg-ports = <1>; qcom,connections = <&pcnoc_m_0>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,blacklist = <&pcnoc_s_0 &pcnoc_s_2 &pcnoc_s_3 &pcnoc_s_4 &pcnoc_s_5 &slv_tcu &slv_crypto_0_cfg &slv_pdm &slv_prng &slv_usb2 >; }; mas_blsp_1: mas-blsp-1 { cell-id = ; label = "mas-blsp-1"; qcom,buswidth = <4>; qcom,agg-ports = <1>; qcom,connections = <&pcnoc_m_1>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,blacklist = <&pcnoc_s_0 &pcnoc_s_1 &pcnoc_s_2 &pcnoc_s_3 &pcnoc_s_4 &pcnoc_s_5 &slv_tcu >; }; mas_usb_hs1: mas-usb-hs1 { cell-id = ; label = "mas-usb-hs1"; qcom,buswidth = <4>; qcom,agg-ports = <1>; qcom,connections = <&pcnoc_m_1>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,blacklist = <&pcnoc_s_0 &pcnoc_s_2 &pcnoc_s_4 &pcnoc_s_5 &slv_tcu &slv_crypto_0_cfg &slv_pdm &slv_prng &slv_usb2 &slv_usb_phy> ; }; mas_crypto: mas-crypto { cell-id = ; label = "mas-crypto"; qcom,buswidth = <8>; qcom,agg-ports = <1>; qcom,ap-owned; qcom,qport = <0>; qcom,qos-mode = "fixed"; qcom,connections = <&pcnoc_int_3 &slv_pcnoc_bimc_1>; qcom,prio1 = <0>; qcom,prio0 = <0>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,blacklist = <&pcnoc_s_0 &pcnoc_s_2 &pcnoc_s_3 &pcnoc_s_4 &pcnoc_s_5 &slv_tcu &slv_crypto_0_cfg &slv_pdm &slv_usb2 &slv_prng>; }; mas_sdcc_1: mas-sdcc-1 { cell-id = ; label = "mas-sdcc-1"; qcom,buswidth = <8>; qcom,agg-ports = <1>; qcom,connections = <&pcnoc_int_3 &slv_pcnoc_bimc_1>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,blacklist = <&pcnoc_s_0 &pcnoc_s_2 &pcnoc_s_3 &pcnoc_s_4 &pcnoc_s_5 &slv_tcu &slv_crypto_0_cfg &slv_pdm &slv_usb2 &slv_prng>; }; mas_sdcc_2: mas-sdcc-2 { cell-id = ; label = "mas-sdcc-2"; qcom,buswidth = <8>; qcom,agg-ports = <1>; qcom,connections = <&pcnoc_int_3 &slv_pcnoc_bimc_1>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,blacklist = <&pcnoc_s_0 &pcnoc_s_2 &pcnoc_s_3 &pcnoc_s_4 &pcnoc_s_5 &slv_tcu &slv_crypto_0_cfg &slv_pdm &slv_usb2 &slv_prng>; }; mas_xi_usb_hs1: mas-xi-usb-hs1 { cell-id = ; label = "mas-xi-usb-hs1"; qcom,buswidth = <8>; qcom,agg-ports = <1>; qcom,connections = <&slv_pcnoc_bimc_1 &pcnoc_int_2>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,blacklist = <&pcnoc_s_0 &pcnoc_s_2 &pcnoc_s_4 &pcnoc_s_5 &slv_tcu &slv_crypto_0_cfg &slv_pdm &slv_usb2 &slv_prng &slv_usb_phy>; }; mas_xi_hsic: mas-xi-hsic { cell-id = ; label = "mas-xi-hsic"; qcom,buswidth = <8>; qcom,agg-ports = <1>; qcom,connections = <&slv_pcnoc_bimc_1 &pcnoc_int_2>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,blacklist = <&pcnoc_s_0 &pcnoc_s_2 &pcnoc_s_3 &pcnoc_s_4 &pcnoc_s_5 &slv_tcu &slv_crypto_0_cfg &slv_pdm &slv_usb2 &slv_prng>; }; mas_sgmii: mas-sgmii { cell-id = ; label = "mas-sgmii"; qcom,buswidth = <8>; qcom,agg-ports = <1>; qcom,ap-owned; qcom,qport = <10>; qcom,qos-mode = "fixed"; qcom,connections = <&slv_pcnoc_bimc_1 &pcnoc_int_2>; qcom,prio1 = <0>; qcom,prio0 = <0>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,blacklist = <&pcnoc_s_0 &pcnoc_s_2 &pcnoc_s_3 &pcnoc_s_4 &pcnoc_s_5 &slv_tcu &slv_crypto_0_cfg &slv_pdm &slv_usb2 &slv_prng>; }; /*Internal nodes*/ pcnoc_m_0: pcnoc-m-0 { cell-id = ; label = "pcnoc-m-0"; qcom,buswidth = <4>; qcom,agg-ports = <1>; qcom,connections = <&slv_pcnoc_bimc_1 &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 = <4>; qcom,agg-ports = <1>; qcom,connections = <&slv_pcnoc_bimc_1 &pcnoc_int_2>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,slv-rpm-id = ; }; qdss_int: qdss-int { cell-id = ; label = "qdss-int"; qcom,buswidth = <8>; qcom,agg-ports = <1>; qcom,connections = <&pcnoc_int_0 &slv_pcnoc_bimc_1>; 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,agg-ports = <1>; qcom,ap-owned; qcom,connections = <&slv_imem &slv_qdss_stm>; 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,agg-ports = <1>; qcom,connections = <&pcnoc_s_1 &pcnoc_s_2 &pcnoc_s_0 &pcnoc_s_4 &pcnoc_s_5 &pcnoc_s_3 &slv_tcu >; 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,agg-ports = <1>; qcom,connections = <&slv_pcnoc_bimc_1 &pcnoc_int_2>; 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,agg-ports = <1>; qcom,connections = <&slv_tcsr &slv_sdcc_1 &slv_blsp_1 &slv_sgmii>; 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,agg-ports = <1>; qcom,connections = <&slv_usb2 &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,agg-ports = <1>; qcom,connections = <&slv_hsic &slv_sdcc_2 &slv_audio>; 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,agg-ports = <1>; qcom,ap-owned; qcom,connections = <&slv_usb_phy>; 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,agg-ports = <1>; qcom,connections = <&slv_imem_cfg &slv_pmic_arb>; qcom,bus-dev = <&fab_pcnoc>; qcom,mas-rpm-id = ; qcom,slv-rpm-id = ; }; pcnoc_s_5: pcnoc-s-5 { cell-id = ; label = "pcnoc-s-5"; qcom,buswidth = <4>; qcom,agg-ports = <1>; qcom,connections = <&slv_tlmm>; 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,agg-ports = <1>; qcom,bus-dev = <&fab_bimc>; qcom,slv-rpm-id = ; }; slv_bimc_pcnoc:slv-bimc-pcnoc { cell-id = ; label = "slv-bimc-pcnoc"; qcom,buswidth = <8>; qcom,agg-ports = <1>; qcom,bus-dev = <&fab_bimc>; qcom,connections = <&mas_bimc_pcnoc>; qcom,slv-rpm-id = ; }; slv_pcnoc_bimc_1:slv-pcnoc-bimc-1 { cell-id = ; label = "slv-pcnoc-bimc-1"; qcom,buswidth = <8>; qcom,agg-ports = <1>; qcom,bus-dev = <&fab_pcnoc>; qcom,connections = <&mas_pcnoc_bimc_1>; qcom,slv-rpm-id = ; }; slv_qdss_stm:slv-qdss-stm { cell-id = ; label = "slv-qdss-stm"; qcom,buswidth = <4>; qcom,agg-ports = <1>; qcom,ap-owned; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_cats_0:slv-cats-0 { cell-id = ; label = "slv-cats-0"; qcom,buswidth = <8>; qcom,agg-ports = <1>; qcom,ap-owned; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_imem:slv-imem { cell-id = ; label = "slv-imem"; qcom,buswidth = <8>; qcom,agg-ports = <1>; qcom,ap-owned; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_tcsr:slv-tcsr { cell-id = ; label = "slv-tcsr"; qcom,buswidth = <4>; qcom,agg-ports = <1>; 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,agg-ports = <1>; 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,agg-ports = <1>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_sgmii:slv-sgmii { cell-id = ; label = "slv-sgmii"; qcom,buswidth = <4>; qcom,agg-ports = <1>; qcom,ap-owned; 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,agg-ports = <1>; 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,agg-ports = <1>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_pdm:slv-pdm { cell-id = ; label = "slv-pdm"; qcom,buswidth = <4>; qcom,agg-ports = <1>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_prng:slv-prng { cell-id = ; label = "slv-prng"; qcom,buswidth = <4>; qcom,agg-ports = <1>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_usb2:slv-usb2 { cell-id = ; label = "slv-usb2"; qcom,buswidth = <4>; qcom,agg-ports = <1>; qcom,ap-owned; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_sdcc_2:slv-sdcc-2 { cell-id = ; label = "slv-sdcc-2"; qcom,buswidth = <4>; qcom,agg-ports = <1>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_audio:slv-audio { cell-id = ; label = "slv-audio"; qcom,buswidth = <4>; qcom,agg-ports = <1>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_hsic:slv-hsic { cell-id = ; label = "slv-hsic"; qcom,buswidth = <8>; qcom,agg-ports = <1>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_usb_phy:slv-usb-phy { cell-id = ; label = "slv-usb-phy"; qcom,buswidth = <8>; qcom,agg-ports = <1>; qcom,ap-owned; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_tlmm:slv-tlmm { cell-id = ; label = "slv-tlmm"; qcom,buswidth = <4>; qcom,agg-ports = <1>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_imem_cfg:slv-imem-cfg { cell-id = ; label = "slv-imem-cfg"; qcom,buswidth = <4>; qcom,agg-ports = <1>; 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,agg-ports = <1>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_tcu:slv-tcu { cell-id = ; label = "slv-tcu"; qcom,buswidth = <8>; qcom,agg-ports = <1>; qcom,ap-owned; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; slv_qipc { cell-id = ; label = "slv-tcu"; qcom,buswidth = <8>; qcom,agg-ports = <1>; qcom,bus-dev = <&fab_pcnoc>; qcom,slv-rpm-id = ; }; }; };