/* Copyright (c) 2018-2019, 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 { /* Rome 3.3V supply */ vreg_wlan: vreg_wlan { compatible = "qcom,stub-regulator"; regulator-name = "vreg_wlan"; }; /* PWR_CTR2_VDD_1P8 supply */ vreg_conn_1p8: vreg_conn_1p8 { compatible = "regulator-fixed"; regulator-name = "vreg_conn_1p8"; pinctrl-names = "default"; pinctrl-0 = <&conn_power_1p8_active>; startup-delay-us = <4000>; enable-active-high; gpio = <&tlmm 173 0>; }; /* PWR_CTR1_VDD_PA supply */ vreg_conn_pa: vreg_conn_pa { compatible = "regulator-fixed"; regulator-name = "vreg_conn_pa"; pinctrl-names = "default"; pinctrl-0 = <&conn_power_pa_active>; startup-delay-us = <4000>; enable-active-high; gpio = <&tlmm 174 0>; }; bluetooth: bt_qca6174 { compatible = "qca,qca6174"; pinctrl-names = "default"; pinctrl-0 = <&bt_en_active>; /* BT_EN */ qca,bt-reset-gpio = <&tlmm 172 0>; /* PWR_CTR1_VDD_PA */ qca,bt-vdd-pa-supply = <&vreg_conn_pa>; /* PWR_CTR2_VDD_1P8 */ qca,bt-chip-pwd-supply = <&vreg_conn_1p8>; qca,bt-vdd-vl-supply = <&pm8150_1_s6>; qca,bt-vdd-vm-supply = <&pm8150_2_s4>; qca,bt-vdd-5c-supply = <&pm8150_2_s5>; qca,bt-vdd-vh-supply = <&pm8150_2_l15>; qca,bt-vdd-vl-voltage-level = <1055000 1055000>; qca,bt-vdd-vm-voltage-level = <1370000 1370000>; qca,bt-vdd-5c-voltage-level = <2040000 2040000>; qca,bt-vdd-vh-voltage-level = <1900000 1900000>; qca,bt-vdd-vl-current-level = <0>; qca,bt-vdd-vm-current-level = <0>; qca,bt-vdd-5c-current-level = <0>; qca,bt-vdd-vh-current-level = <450000>; }; qcom,cnss-qca6390@a0000000 { status = "disabled"; }; cnss_pcie: qcom,cnss-qca-converged { compatible = "qcom,cnss-qca-converged"; qcom,converged-dt; qcom,wlan-rc-num = <0>; qcom,bus-type=<0>; qcom,notify-modem-status; qcom,msm-bus,name = "msm-cnss"; qcom,msm-bus,num-cases = <6>; qcom,msm-bus,num-paths = <1>; qcom,msm-bus,vectors-KBps = /* no vote */ , /* idle: 0-18 Mbps, ddr freq: 100 MHz */ , /* low: 18-60 Mbps, ddr freq: 200 MHz*/ , /* medium: 60-240 Mbps, ddr freq: 451.2 MHz */ , /* high: 240 - 800 Mbps, ddr freq: 451.2 MHz */ , /* very high: 800 - 1400 Mbps, ddr freq: 1555.2 MHz */ ; #address-cells=<1>; #size-cells=<1>; ranges = <0x10000000 0x10000000 0x10000000>, <0x20000000 0x20000000 0x10000>, <0xa0000000 0xa0000000 0x10000000>, <0xb0000000 0xb0000000 0x10000>; vdd-wlan-ctrl1-supply = <&vreg_conn_pa>; vdd-wlan-ctrl2-supply = <&vreg_conn_1p8>; vdd-wlan-supply = <&vreg_wlan>; vdd-wlan-aon-supply = <&pm8150_1_s6>; vdd-wlan-rfa1-supply = <&pm8150_2_s4>; vdd-wlan-rfa2-supply = <&pm8150_2_s5>; vdd-wlan-rfa3-supply = <&pm8150_2_l15>; wlan_vregs = "vdd-wlan-ctrl1", "vdd-wlan-ctrl2"; qcom,vdd-wlan-ctrl1-info = <0 0 0 0>; qcom,vdd-wlan-ctrl2-info = <0 0 0 0>; wlan-en-gpio = <&tlmm 169 0>; pinctrl-names = "wlan_en_active", "wlan_en_sleep"; pinctrl-0 = <&cnss_wlan_en_active>; pinctrl-1 = <&cnss_wlan_en_sleep>; chip_cfg@0 { reg = <0x10000000 0x10000000>, <0x20000000 0x10000>; reg-names = "smmu_iova_base", "smmu_iova_ipa"; supported-ids = <0x003e>; wlan_vregs = "vdd-wlan"; qcom,vdd-wlan-info = <0 0 0 10>; qcom,smmu-s1-enable; qcom,wlan-ramdump-dynamic = <0x200000>; }; chip_cfg@1 { reg = <0xa0000000 0x10000000>, <0xb0000000 0x10000>; reg-names = "smmu_iova_base", "smmu_iova_ipa"; supported-ids = <0x1101>; wlan_vregs = "vdd-wlan-aon", "vdd-wlan-rfa1", "vdd-wlan-rfa2", "vdd-wlan-rfa3"; qcom,vdd-wlan-aon-info = <1055000 1055000 0 0>; qcom,vdd-wlan-rfa1-info = <1370000 1370000 0 0>; qcom,vdd-wlan-rfa2-info = <2040000 2040000 0 0>; qcom,vdd-wlan-rfa3-info = <1900000 1900000 450000 0>; qcom,wlan-ramdump-dynamic = <0x400000>; mhi,max-channels = <30>; mhi,timeout = <10000>; mhi_channels { #address-cells = <1>; #size-cells = <0>; mhi_chan@0 { reg = <0>; label = "LOOPBACK"; mhi,num-elements = <32>; mhi,event-ring = <1>; mhi,chan-dir = <1>; mhi,data-type = <0>; mhi,doorbell-mode = <2>; mhi,ee = <0x14>; }; mhi_chan@1 { reg = <1>; label = "LOOPBACK"; mhi,num-elements = <32>; mhi,event-ring = <1>; mhi,chan-dir = <2>; mhi,data-type = <0>; mhi,doorbell-mode = <2>; mhi,ee = <0x14>; }; mhi_chan@4 { reg = <4>; label = "DIAG"; mhi,num-elements = <32>; mhi,event-ring = <1>; mhi,chan-dir = <1>; mhi,data-type = <0>; mhi,doorbell-mode = <2>; mhi,ee = <0x14>; }; mhi_chan@5 { reg = <5>; label = "DIAG"; mhi,num-elements = <32>; mhi,event-ring = <1>; mhi,chan-dir = <2>; mhi,data-type = <0>; mhi,doorbell-mode = <2>; mhi,ee = <0x14>; }; mhi_chan@20 { reg = <20>; label = "IPCR"; mhi,num-elements = <32>; mhi,event-ring = <1>; mhi,chan-dir = <1>; mhi,data-type = <1>; mhi,doorbell-mode = <2>; mhi,ee = <0x14>; mhi,auto-start; }; mhi_chan@21 { reg = <21>; label = "IPCR"; mhi,num-elements = <32>; mhi,event-ring = <1>; mhi,chan-dir = <2>; mhi,data-type = <0>; mhi,doorbell-mode = <2>; mhi,ee = <0x14>; mhi,auto-queue; mhi,auto-start; }; }; mhi_events { mhi_event@0 { mhi,num-elements = <32>; mhi,intmod = <1>; mhi,msi = <1>; mhi,priority = <1>; mhi,brstmode = <2>; mhi,data-type = <1>; }; mhi_event@1 { mhi,num-elements = <256>; mhi,intmod = <1>; mhi,msi = <2>; mhi,priority = <1>; mhi,brstmode = <2>; }; }; }; chip_cfg@2 { reg = <0xa0000000 0x10000000>, <0xb0000000 0x10000>; reg-names = "smmu_iova_base", "smmu_iova_ipa"; supported-ids = <0x1102>; wlan_vregs = "vdd-wlan-aon", "vdd-wlan-rfa1", "vdd-wlan-rfa2", "vdd-wlan-rfa3"; qcom,vdd-wlan-aon-info = <1055000 1055000 0 0>; qcom,vdd-wlan-rfa1-info = <1370000 1370000 0 0>; qcom,vdd-wlan-rfa2-info = <2040000 2040000 0 0>; qcom,vdd-wlan-rfa3-info = <1900000 1900000 0 0>; qcom,wlan-ramdump-dynamic = <0x300000>; mhi,max-channels = <30>; mhi,timeout = <10000>; mhi,ee = <0x3>, <0x4>; mhi,ee-names = "SBL", "RDDM"; mhi,bhie-offset = <0x0324>; mhi_channels { #address-cells = <1>; #size-cells = <0>; mhi_chan@0 { reg = <0>; label = "LOOPBACK"; mhi,num-elements = <32>; mhi,event-ring = <1>; mhi,chan-dir = <1>; mhi,data-type = <0>; mhi,doorbell-mode = <2>; mhi,ee = <0x14>; }; mhi_chan@1 { reg = <1>; label = "LOOPBACK"; mhi,num-elements = <32>; mhi,event-ring = <1>; mhi,chan-dir = <2>; mhi,data-type = <0>; mhi,doorbell-mode = <2>; mhi,ee = <0x14>; }; mhi_chan@4 { reg = <4>; label = "DIAG"; mhi,num-elements = <32>; mhi,event-ring = <1>; mhi,chan-dir = <1>; mhi,data-type = <0>; mhi,doorbell-mode = <2>; mhi,ee = <0x14>; }; mhi_chan@5 { reg = <5>; label = "DIAG"; mhi,num-elements = <32>; mhi,event-ring = <1>; mhi,chan-dir = <2>; mhi,data-type = <0>; mhi,doorbell-mode = <2>; mhi,ee = <0x14>; }; mhi_chan@16 { reg = <16>; label = "IPCR"; mhi,num-elements = <32>; mhi,event-ring = <1>; mhi,chan-dir = <1>; mhi,data-type = <1>; mhi,doorbell-mode = <2>; mhi,ee = <0x14>; mhi,auto-start; }; mhi_chan@17 { reg = <17>; label = "IPCR"; mhi,num-elements = <32>; mhi,event-ring = <1>; mhi,chan-dir = <2>; mhi,data-type = <0>; mhi,doorbell-mode = <2>; mhi,ee = <0x14>; mhi,auto-queue; mhi,auto-start; }; }; mhi_events { mhi_event@0 { mhi,num-elements = <32>; mhi,intmod = <1>; mhi,msi = <1>; mhi,priority = <1>; mhi,brstmode = <2>; mhi,data-type = <1>; }; mhi_event@1 { mhi,num-elements = <256>; mhi,intmod = <1>; mhi,msi = <2>; mhi,priority = <1>; mhi,brstmode = <2>; }; }; }; }; };