]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/arm64/boot/dts/qcom/msm8916.dtsi
arm64: dts: sync up with new wcd codec bindings.
[karo-tx-linux.git] / arch / arm64 / boot / dts / qcom / msm8916.dtsi
index a7024deaf3a1b14dfec10c1ad7da6d8d363dfb26..e28c852a61640bb3b0a03a99212b77431ddc48bb 100644 (file)
                        reg = <0x0 0x86800000 0x0 0x04800000>;
                };
 
+               rmtfs@86700000 {
+                       reg = <0x0 0x86700000 0x0 0xe0000>;
+                       no-map;
+               };
+
                 peripheral_mem: peripheral_region@8b600000 {
                         no-map;
                         reg = <0x0 0x8b600000 0x0 0x0600000>;
                 };
 
+               wcnss_mem: wcnss@89300000 {
+                       reg = <0x0 0x89300000 0x0 0x600000>;
+                       no-map;
+               };
+
                vidc_mem: vidc_region@8f800000 {
                        no-map;
                        reg = <0 0x8f800000 0 0x800000>;
                };
+
+               mba_mem: mba@8ea00000 {
+                       no-map;
+                       reg = <0 0x8ea00000 0 0x100000>;
+               };
        };
 
        cpus {
                };
        };
 
+       firmware {
+               compatible = "simple-bus";
+
+               scm: scm {
+                       compatible = "qcom,scm";
+                       clocks = <&gcc GCC_CRYPTO_CLK> , <&gcc GCC_CRYPTO_AXI_CLK>, <&gcc GCC_CRYPTO_AHB_CLK>;
+                       clock-names = "core", "bus", "iface";
+                       #reset-cells = <1>;
+               };
+       };
+
        soc: soc {
                #address-cells = <1>;
                #size-cells = <1>;
 
                /* Audio */
 
-               wcd_digital: codec-digital{
-                       compatible = "syscon", "qcom,apq8016-wcd-digital-codec";
+               lpass_codec_core: lpass-codec{
+                       compatible = "syscon", "qcom,msm8916-lpass-codec";
                        reg = <0x0771c000 0x400>;
                };
 
                                 <&gcc GCC_ULTAUDIO_PCNOC_SWAY_CLK>,
                                 <&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>,
                                 <&gcc GCC_ULTAUDIO_LPAIF_SEC_I2S_CLK>,
-                                <&gcc GCC_ULTAUDIO_LPAIF_AUX_I2S_CLK>,
+                                <&gcc GCC_ULTAUDIO_LPAIF_SEC_I2S_CLK>,
                                 <&gcc GCC_ULTAUDIO_LPAIF_AUX_I2S_CLK>;
 
                        clock-names = "ahbix-clk",
                        #thermal-sensor-cells = <1>;
                };
 
-               q6-smp2p {
-                       compatible = "qcom,smp2p";
-                       qcom,smem = <435>, <428>;
-                       interrupts = <0 27 1>;
-                       qcom,ipc = <&apcs 8 14>;
-
-                       qcom,local-pid = <0>;
-                       qcom,remote-pid = <1>;
-
-                       q6_smp2p_out: master-kernel {
-                               qcom,entry-name = "master-kernel";
-                               qcom,outbound;
-
-                               gpio-controller;
-                               #gpio-cells = <2>;
-                       };
+               hexagon@4080000 {
+                       compatible = "qcom,pil-q6v56-mss", "qcom,q6v5-pil";
+                       reg = <0x04080000 0x100>,
+                             <0x04020000 0x040>;
 
-                       q6_smp2p_in: slave-kernel {
-                               qcom,entry-name = "slave-kernel";
-                               qcom,inbound;
+                       reg-names = "qdsp6", "rmb";
 
-                               interrupt-controller;
-                               #interrupt-cells = <2>;
-                       };
-               };
+                       interrupts-extended = <&intc 0 24 1>,
+                                             <&hexagon_smp2p_in 0 0>,
+                                             <&hexagon_smp2p_in 1 0>,
+                                             <&hexagon_smp2p_in 2 0>,
+                                             <&hexagon_smp2p_in 3 0>;
+                       interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
 
-               wcnss-smp2p {
-                       compatible = "qcom,smp2p";
-                       qcom,smem = <451>, <431>;
+                       clocks = <&gcc GCC_MSS_CFG_AHB_CLK>, <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>, <&gcc GCC_BOOT_ROM_AHB_CLK>;
+                       clock-names = "iface", "bus", "mem";
 
-                       interrupts = <0 143 1>;
+                       qcom,state = <&hexagon_smp2p_out 0>;
+                       qcom,state-names = "stop";
 
-                       qcom,ipc = <&apcs 8 18>;
+                       resets = <&scm 0>;
+                       reset-names = "mss_restart";
 
-                       qcom,local-pid = <0>;
-                       qcom,remote-pid = <4>;
+                       mx-supply = <&pm8916_l3>;
+                       pll-supply = <&pm8916_l7>;
 
-                       wcnss_smp2p_out: master-kernel {
-                               qcom,entry-name = "master-kernel";
-                               qcom,outbound;
+                       qcom,halt-regs = <&tcsr 0x18000 0x19000 0x1a000>;
 
-                               gpio-controller;
-                               #gpio-cells = <2>;
+                       mba {
+                               memory-region = <&mba_mem>;
                        };
 
-                       wcnss_smp2p_in: slave-kernel {
-                               qcom,entry-name = "slave-kernel";
-                               qcom,inbound;
-
-                               interrupt-controller;
-                               #interrupt-cells = <2>;
+                       mpss {
+                               memory-region = <&modem_adsp_mem>;
                        };
                };
 
-               qcom,mss@4080000 {
-                       compatible = "qcom,pil-q6v56-mss", "qcom,q6v5-pil";
-                       reg = <0x04080000 0x100>,
-                             <0x04020000 0x040>,
-                             <0x01810000 0x004>,
-                             <0x01810000 0x004>,
-                             <0x0194f000 0x010>,
-                             <0x01950000 0x008>,
-                             <0x01951000 0x008>;
-       
-                       reg-names = "qdsp6_base", "rmb_base", "restart_reg_sec",
-                                       "halt_q6", "halt_modem", "halt_nc";
-       
-                       interrupts-extended = <&intc 0 24 1>,
-                                             <&q6_smp2p_in 0 0>,
-                                             <&q6_smp2p_in 1 0>,
-                                             <&q6_smp2p_in 2 0>,
-                                             <&q6_smp2p_in 3 0>;
-                       interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
-       
-                       clocks = <&gcc GCC_MSS_CFG_AHB_CLK>, <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>, <&gcc GCC_BOOT_ROM_AHB_CLK>;
-                       
-                       clock-names = "iface", "bus", "mem";
+               pronto: wcnss@a21b000 {
+                       compatible = "qcom,pronto-v2-pil", "qcom,pronto";
+                       reg = <0x0a204000 0x2000>, <0x0a202000 0x1000>, <0x0a21b000 0x3000>;
+                       reg-names = "ccu", "dxe", "pmu";
 
-                       qcom,mx-supply = <&pm8916_l3>;
-                       qcom,mx-uV = <1050000>;
-                       qcom,pll-supply = <&pm8916_l7>;
-                       qcom,pll-uV = <1800000>;
-                       qcom,proxy-clock-names = "xo";
-                       qcom,active-clock-names = "iface_clk", "bus_clk", "mem_clk";
-                       qcom,is-loadable;
-                       qcom,firmware-name = "modem";
-                       qcom,pil-self-auth;
-                       
-       
-                       /* GPIO inputs from mss */
-                       qcom,gpio-err-fatal = <&q6_smp2p_in 0 0>;
-                       qcom,gpio-err-ready = <&q6_smp2p_in 1 0>;
-                       qcom,gpio-proxy-unvote = <&q6_smp2p_in 2 0>;
-                       qcom,gpio-stop-ack = <&q6_smp2p_in 3 0>;
-                       qcom,gpio-ramdump-disable = <&q6_smp2p_in 15 0>;
-                       /* GPIO output to mss */
-                       qcom,gpio-force-stop = <&q6_smp2p_out 0 0>;
-                       qcom,stop-gpio = <&q6_smp2p_out 0 0>;
-                       memory-region = <&modem_adsp_mem>;
-               };
-
-               pronto_rproc:pronto_rproc {
-                       compatible = "qcom,tz-pil";
+                       memory-region = <&wcnss_mem>;
 
-                       interrupts-extended = <&intc 0 149 1>,
-                                             <&wcnss_smp2p_in 0 0>,
-                                             <&wcnss_smp2p_in 1 0>,
-                                             <&wcnss_smp2p_in 2 0>,
-                                             <&wcnss_smp2p_in 3 0>;
+                       interrupts-extended = <&intc 0 149 IRQ_TYPE_EDGE_RISING>,
+                               <&wcnss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
+                               <&wcnss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
+                               <&wcnss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
+                               <&wcnss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
                        interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
 
-                       clocks = <&gcc GCC_CRYPTO_CLK>,
-                                <&gcc GCC_CRYPTO_AHB_CLK>,
-                                <&gcc GCC_CRYPTO_AXI_CLK>,
-                                <&gcc CRYPTO_CLK_SRC>;
-                       clock-names = "scm_core_clk", "scm_iface_clk", "scm_bus_clk", "scm_src_clk";
-
-                       qcom,firmware-name = "wcnss";
-                       qcom,pas-id = <6>;
+                       vddmx-supply = <&pm8916_l3>;
+                       vddpx-supply = <&pm8916_l7>;
 
-                       qcom,crash-reason = <422>;
-                       qcom,smd-edges = <&pronto_smd_edge>;
-
-                       qcom,pll-supply = <&pm8916_l7>;
-                       qcom,pll-uV = <1800000>;
-                       qcom,pll-uA = <18000>;
-
-                       qcom,stop-gpio = <&wcnss_smp2p_out 0 0>;
+                       qcom,state = <&wcnss_smp2p_out 0>;
+                       qcom,state-names = "stop";
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&wcnss_default>;
 
-                       memory-region = <&peripheral_mem>;
-               };
-
-                qcom,wcn36xx@0a000000 {
-                        compatible = "qcom,wcn3620";
-                        reg = <0x0a000000 0x280000>,
-                                <0xb011008 0x04>,
-                                <0x0a21b000 0x3000>,
-                                <0x03204000 0x00000100>,
-                                <0x03200800 0x00000200>,
-                                <0x0A100400 0x00000200>,
-                                <0x0A205050 0x00000200>,
-                                <0x0A219000 0x00000020>,
-                                <0x0A080488 0x00000008>,
-                                <0x0A080fb0 0x00000008>,
-                                <0x0A08040c 0x00000008>,
-                                <0x0A0120a8 0x00000008>,
-                                <0x0A012448 0x00000008>,
-                                <0x0A080c00 0x00000001>;
-
-                        reg-names = "wcnss_mmio", "wcnss_fiq",
-                                    "pronto_phy_base", "riva_phy_base",
-                                    "riva_ccu_base", "pronto_a2xb_base",
-                                    "pronto_ccpu_base", "pronto_saw2_base",
-                                    "wlan_tx_phy_aborts","wlan_brdg_err_source",
-                                    "wlan_tx_status", "alarms_txctl",
-                                    "alarms_tactl", "pronto_mcu_base";
-
-                        interrupts = <0 145 0 0 146 0>;
-                        interrupt-names = "wcnss_wlantx_irq", "wcnss_wlanrx_irq";
-
-                        // qcom,pronto-vddmx-supply = <&pm8916_l3>;
-                        // qcom,pronto-vddcx-supply = <&pm8916_s1_corner>;
-                        // qcom,pronto-vddpx-supply = <&pm8916_l7>;
-                        // qcom,iris-vddxo-supply   = <&pm8916_l7>;
-                        // qcom,iris-vddrfa-supply  = <&pm8916_s3>;
-                        // qcom,iris-vddpa-supply   = <&pm8916_l9>;
-                        // qcom,iris-vdddig-supply  = <&pm8916_l5>;
-
-                        pinctrl-names = "wcnss_default";
-                        // pinctrl-names = "wcnss_default", "wcnss_sleep",
-                        //                                "wcnss_gpio_default";
-                        pinctrl-0 = <&wcnss_default>;
-                        // pinctrl-1 = <&wcnss_sleep>;
-                        // pinctrl-2 = <&wcnss_gpio_default>;
-
-                        // clocks = <&rpmcc RPM_XO_CLK_SRC>,
-                        //         <&rpmcc RPM_RF_CLK2>;
-                        //clock-names = "xo", "rf_clk";
-
-                       rproc = <&pronto_rproc>;
-                        qcom,has-autodetect-xo;
-                        qcom,wlan-rx-buff-count = <512>;
-                        qcom,is-pronto-vt;
-                        qcom,has-pronto-hw;
-                        // qcom,wcnss-adc_tm = <&pm8916_adc_tm>;
-                };
+                       iris {
+                               compatible = "qcom,wcn3620";
 
+                               clocks = <&rpmcc RPM_SMD_RF_CLK2>;
+                               clock-names = "xo";
 
+                               vddxo-supply = <&pm8916_l7>;
+                               vddrfa-supply = <&pm8916_s3>;
+                               vddpa-supply = <&pm8916_l9>;
+                               vdddig-supply = <&pm8916_l5>;
+                       };
+               };
 
                qcom,rpm-log@29dc00 {
                        compatible = "qcom,rpm-log";
                                compatible = "qcom,rpm-msm8916";
                                qcom,smd-channels = "rpm_requests";
                                rpmcc: qcom,rpmcc {
-                                       compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc";
+                                       compatible = "qcom,rpmcc-msm8916";
                                        #clock-cells = <1>;
                                };
 
                        };
                };
 
-               pronto_smd_edge: pronto {
+               pronto {
                        interrupts = <0 142 1>;
 
                        qcom,ipc = <&apcs 8 17>;
                        qcom,smd-edge = <6>;
                        qcom,remote-pid = <4>;
 
-                               bt {
-                               compatible = "qcom,hci-smd";
-                               qcom,smd-channels = "APPS_RIVA_BT_CMD", "APPS_RIVA_BT_ACL";
-                               qcom,smd-channel-names = "event", "data";
-                       };
+                       wcnss {
+                               compatible = "qcom,wcnss";
+                               qcom,smd-channels = "WCNSS_CTRL";
 
-                       ipcrtr {
-                               compatible = "qcom,ipcrtr";
-                               qcom,smd-channels = "IPCRTR";
-                       };
+                               qcom,mmio = <&pronto>;
 
-                       wifi {
-                               compatible = "qcom,wlan-ctrl";
-                               qcom,smd-channels = "WLAN_CTRL";
+                               bt {
+                                       compatible = "qcom,wcnss-bt";
+                               };
 
-                               interrupts = <0 145 0>, <0 146 0>;
-                               interrupt-names = "wcnss_wlantx_irq", "wcnss_wlanrx_irq";
+                               wifi {
+                                       compatible = "qcom,wcnss-wlan";
 
-                               qcom,wcnss_mmio = <0xfb000000 0x21b000>;
+                                       interrupts = <0 145 0>, <0 146 0>;
+                                       interrupt-names = "tx", "rx";
 
-                               // qcom,tx-enable-gpios = <&apps_smsm 10 0>;
-                               // qcom,tx-rings-empty-gpios = <&apps_smsm 9 0>;
+                                       qcom,state = <&apps_smsm 10>, <&apps_smsm 9>;
+                                       qcom,state-names = "tx-enable", "tx-rings-empty";
+                               };
                        };
+               };
+       };
 
-                       wcnss_ctrl {
-                               compatible = "qcom,wcnss-ctrl";
-                               qcom,smd-channels = "WCNSS_CTRL";
+       hexagon-smp2p {
+               compatible = "qcom,smp2p";
+               qcom,smem = <435>, <428>;
 
-                               qcom,wcnss_mmio = <0xfb21b000 0x3000>;
-                       };
+               interrupts = <0 27 IRQ_TYPE_EDGE_RISING>;
+
+               qcom,ipc = <&apcs 8 14>;
+
+               qcom,local-pid = <0>;
+               qcom,remote-pid = <1>;
+
+               hexagon_smp2p_out: master-kernel {
+                       qcom,entry-name = "master-kernel";
+
+                       #qcom,state-cells = <1>;
+               };
+
+               hexagon_smp2p_in: slave-kernel {
+                       qcom,entry-name = "slave-kernel";
+
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
                };
        };
 
+       wcnss-smp2p {
+               compatible = "qcom,smp2p";
+               qcom,smem = <451>, <431>;
+
+               interrupts = <0 143 IRQ_TYPE_EDGE_RISING>;
+
+               qcom,ipc = <&apcs 8 18>;
+
+               qcom,local-pid = <0>;
+               qcom,remote-pid = <4>;
+
+               wcnss_smp2p_out: master-kernel {
+                       qcom,entry-name = "master-kernel";
+
+                       #qcom,state-cells = <1>;
+               };
 
+               wcnss_smp2p_in: slave-kernel {
+                       qcom,entry-name = "slave-kernel";
+
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+               };
+       };
+
+       smsm {
+               compatible = "qcom,smsm";
+
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               qcom,ipc-1 = <&apcs 0 13>;
+               qcom,ipc-6 = <&apcs 0 19>;
+
+               apps_smsm: apps@0 {
+                       reg = <0>;
+
+                       #qcom,state-cells = <1>;
+               };
+
+               hexagon_smsm: hexagon@1 {
+                       reg = <1>;
+                       interrupts = <0 26 IRQ_TYPE_EDGE_RISING>;
+
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+               };
+
+               wcnss_smsm: wcnss@6 {
+                       reg = <6>;
+                       interrupts = <0 144 IRQ_TYPE_EDGE_RISING>;
+
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+               };
+       };
 };
 
 #include "msm8916-pins.dtsi"