]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/arm/boot/dts/qcom-apq8064.dtsi
ARM: dts: qcom: rename wcn remoteproc node
[karo-tx-linux.git] / arch / arm / boot / dts / qcom-apq8064.dtsi
index ce2d76acdd07c4935c4bd4937a4bd92fa784dfba..ac4e7f91db2dd8430872047b42ef798f72d130ac 100644 (file)
                        reg = <0x80000000 0x200000>;
                        no-map;
                };
+
+               wcnss_mem: wcnss@8f000000 {
+                       reg = <0x8f000000 0x700000>;
+                       no-map;
+               };
        };
 
        cpus {
                        cache-level = <2>;
                };
 
+               qcom,l2 {
+                       qcom,l2-rates = <384000000 972000000 1188000000>;
+               };
+
                idle-states {
                        CPU_SPC: spc {
                                compatible = "qcom,idle-state-spc",
                        polling-delay-passive = <250>;
                        polling-delay = <1000>;
 
-                       thermal-sensors = <&tsens 7>;
+                       thermal-sensors = <&gcc 7>;
 
                        trips {
                                cpu_alert0: trip@0 {
                                        type = "passive";
                                };
                                cpu_crit0: trip@1 {
-                                       temperature = <95000>;
+                                       temperature = <110000>;
                                        hysteresis = <2000>;
                                        type = "critical";
                                };
                        polling-delay-passive = <250>;
                        polling-delay = <1000>;
 
-                       thermal-sensors = <&tsens 8>;
+                       thermal-sensors = <&gcc 8>;
 
                        trips {
                                cpu_alert1: trip@0 {
                                        type = "passive";
                                };
                                cpu_crit1: trip@1 {
-                                       temperature = <95000>;
+                                       temperature = <110000>;
                                        hysteresis = <2000>;
                                        type = "critical";
                                };
                        polling-delay-passive = <250>;
                        polling-delay = <1000>;
 
-                       thermal-sensors = <&tsens 9>;
+                       thermal-sensors = <&gcc 9>;
 
                        trips {
                                cpu_alert2: trip@0 {
                                        type = "passive";
                                };
                                cpu_crit2: trip@1 {
-                                       temperature = <95000>;
+                                       temperature = <110000>;
                                        hysteresis = <2000>;
                                        type = "critical";
                                };
                        polling-delay-passive = <250>;
                        polling-delay = <1000>;
 
-                       thermal-sensors = <&tsens 10>;
+                       thermal-sensors = <&gcc 10>;
 
                        trips {
                                cpu_alert3: trip@0 {
                                        type = "passive";
                                };
                                cpu_crit3: trip@1 {
-                                       temperature = <95000>;
+                                       temperature = <110000>;
                                        hysteresis = <2000>;
                                        type = "critical";
                                };
                };
        };
 
+       clocks {
+               cxo_board {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <19200000>;
+               };
+
+               pxo_board {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <27000000>;
+               };
+
+               sleep_clk {
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <32768>;
+               };
+       };
+
+       firmware {
+               compatible = "simple-bus";
+
+               scm {
+                       compatible = "qcom,scm";
+               };
+       };
+
+       smd {
+               compatible = "qcom,smd";
+
+               modem@0 {
+                       interrupts = <0 37 IRQ_TYPE_EDGE_RISING>;
+
+                       qcom,ipc = <&l2cc 8 3>;
+                       qcom,smd-edge = <0>;
+
+                       status = "disabled";
+               };
+
+               q6@1 {
+                       interrupts = <0 90 IRQ_TYPE_EDGE_RISING>;
+
+                       qcom,ipc = <&l2cc 8 15>;
+                       qcom,smd-edge = <1>;
+
+                       status = "disabled";
+
+                       apr {
+                               compatible = "qcom,apr";
+                               qcom,smd-channels = "apr_audio_svc";
+                               rproc = <&pil_q6v4>;
+                       };
+               };
+
+               dsps@3 {
+                       interrupts = <0 138 IRQ_TYPE_EDGE_RISING>;
+
+                       qcom,ipc = <&sps_sic_non_secure 0x4080 0>;
+                       qcom,smd-edge = <3>;
+
+                       status = "disabled";
+               };
+
+               riva@6 {
+                       interrupts = <0 198 IRQ_TYPE_EDGE_RISING>;
+
+                       qcom,ipc = <&l2cc 8 25>;
+                       qcom,smd-edge = <6>;
+
+                       status = "disabled";
+
+                       wcnss {
+                               compatible = "qcom,wcnss";
+                               qcom,smd-channels = "WCNSS_CTRL";
+
+                               qcom,mmio = <&riva>;
+
+                               bt {
+                                       compatible = "qcom,wcnss-bt";
+                               };
+
+                               wifi {
+                                       compatible = "qcom,wcnss-wlan";
+
+                                       interrupts = <0 203 0>, <0 202 0>;
+                                       interrupt-names = "tx", "rx";
+
+                                       qcom,state = <&apps_smsm 10>, <&apps_smsm 9>;
+                                       qcom,state-names = "tx-enable", "tx-rings-empty";
+
+                                       local-mac-address = [ 18 00 2d 88 9c a9 ];
+                               };
+                       };
+               };
+       };
+
+       smsm {
+               compatible = "qcom,smsm";
+
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               qcom,ipc-1 = <&l2cc 8 4>;
+               qcom,ipc-2 = <&l2cc 8 14>;
+               qcom,ipc-3 = <&l2cc 8 23>;
+               qcom,ipc-4 = <&sps_sic_non_secure 0x4094 0>;
+
+               apps_smsm: apps@0 {
+                       reg = <0>;
+                       #qcom,state-cells = <1>;
+               };
+
+               modem_smsm: modem@1 {
+                       reg = <1>;
+                       interrupts = <0 38 IRQ_TYPE_EDGE_RISING>;
+
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+               };
+
+               q6_smsm: q6@2 {
+                       reg = <2>;
+                       interrupts = <0 89 IRQ_TYPE_EDGE_RISING>;
+
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+               };
+
+               wcnss_smsm: wcnss@3 {
+                       reg = <3>;
+                       interrupts = <0 204 IRQ_TYPE_EDGE_RISING>;
+
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+               };
+
+               dsps_smsm: dsps@4 {
+                       reg = <4>;
+                       interrupts = <0 137 IRQ_TYPE_EDGE_RISING>;
+
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+               };
+       };
+
        soc: soc {
                #address-cells = <1>;
                #size-cells = <1>;
 
                        pinctrl-names = "default";
                        pinctrl-0 = <&ps_hold>;
-
-                       sdc4_gpios: sdc4-gpios {
-                               pios {
-                                       pins = "gpio63", "gpio64", "gpio65", "gpio66", "gpio67", "gpio68";
-                                       function = "sdc4";
-                               };
-                       };
-
-                       hdmi_pinctrl: hdmi-pinctrl {
-                               mux1 {
-                                       pins = "gpio69", "gpio70", "gpio71";
-                                       function = "hdmi";
-                                       bias-pull-up;
-                                       drive-strength = <2>;
-                               };
-                               mux2 {
-                                       pins = "gpio72";
-                                       function = "hdmi";
-                                       bias-pull-down;
-                                       drive-strength = <16>;
-                               };
-                       };
-                       ps_hold: ps_hold {
-                               mux {
-                                       pins = "gpio78";
-                                       function = "ps_hold";
-                               };
-                       };
-
-                       i2c1_pins: i2c1 {
-                               mux {
-                                       pins = "gpio20", "gpio21";
-                                       function = "gsbi1";
-                               };
-                       };
-
-                       i2c3_pins: i2c3 {
-                               mux {
-                                       pins = "gpio8", "gpio9";
-                                       function = "gsbi3";
-                               };
-                       };
-
-                       gsbi6_uart_2pins: gsbi6_uart_2pins {
-                               mux {
-                                       pins = "gpio14", "gpio15";
-                                       function = "gsbi6";
-                               };
-                       };
-
-                       gsbi6_uart_4pins: gsbi6_uart_4pins {
-                               mux {
-                                       pins = "gpio14", "gpio15", "gpio16", "gpio17";
-                                       function = "gsbi6";
-                               };
-                       };
-
-                       gsbi7_uart_2pins: gsbi7_uart_2pins {
-                               mux {
-                                       pins = "gpio82", "gpio83";
-                                       function = "gsbi7";
-                               };
-                       };
-
-                       gsbi7_uart_4pins: gsbi7_uart_4pins {
-                               mux {
-                                       pins = "gpio82", "gpio83", "gpio84", "gpio85";
-                                       function = "gsbi7";
-                               };
-                       };
                };
 
                sfpb_wrapper_mutex: syscon@1200000 {
                        regulator-max-microvolt = <1250000>;
                };
 
+               sps_sic_non_secure: sps-sic-non-secure@12100000 {
+                       compatible      = "syscon";
+                       reg             = <0x12100000 0x10000>;
+               };
+
                gsbi1: gsbi@12440000 {
                        status = "disabled";
                        compatible = "qcom,gsbi-v1.0.0";
 
                        syscon-tcsr = <&tcsr>;
 
-                       i2c1: i2c@12460000 {
+                       gsbi1_serial: serial@12450000 {
+                               compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
+                               reg = <0x12450000 0x100>,
+                                     <0x12400000 0x03>;
+                               interrupts = <0 193 0x0>;
+                               clocks = <&gcc GSBI1_UART_CLK>, <&gcc GSBI1_H_CLK>;
+                               clock-names = "core", "iface";
+                               status = "disabled";
+                       };
+
+                       gsbi1_i2c: i2c@12460000 {
                                compatible = "qcom,i2c-qup-v1.1.1";
                                pinctrl-0 = <&i2c1_pins>;
-                               pinctrl-names = "default";
+                               pinctrl-1 = <&i2c1_pins_sleep>;
+                               pinctrl-names = "default", "sleep";
                                reg = <0x12460000 0x1000>;
                                interrupts = <0 194 IRQ_TYPE_NONE>;
                                clocks = <&gcc GSBI1_QUP_CLK>, <&gcc GSBI1_H_CLK>;
                                #address-cells = <1>;
                                #size-cells = <0>;
                        };
+
                };
 
                gsbi2: gsbi@12480000 {
 
                        syscon-tcsr = <&tcsr>;
 
-                       i2c2: i2c@124a0000 {
+                       gsbi2_i2c: i2c@124a0000 {
                                compatible = "qcom,i2c-qup-v1.1.1";
                                reg = <0x124a0000 0x1000>;
+                               pinctrl-0 = <&i2c2_pins>;
+                               pinctrl-1 = <&i2c2_pins_sleep>;
+                               pinctrl-names = "default", "sleep";
                                interrupts = <0 196 IRQ_TYPE_NONE>;
                                clocks = <&gcc GSBI2_QUP_CLK>, <&gcc GSBI2_H_CLK>;
                                clock-names = "core", "iface";
                        #address-cells = <1>;
                        #size-cells = <1>;
                        ranges;
-                       i2c3: i2c@16280000 {
+                       gsbi3_i2c: i2c@16280000 {
                                compatible = "qcom,i2c-qup-v1.1.1";
                                pinctrl-0 = <&i2c3_pins>;
-                               pinctrl-names = "default";
+                               pinctrl-1 = <&i2c3_pins_sleep>;
+                               pinctrl-names = "default", "sleep";
                                reg = <0x16280000 0x1000>;
                                interrupts = <GIC_SPI 151 IRQ_TYPE_NONE>;
                                clocks = <&gcc GSBI3_QUP_CLK>,
                                         <&gcc GSBI3_H_CLK>;
                                clock-names = "core", "iface";
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
+               };
+
+               gsbi4: gsbi@16300000 {
+                       status = "disabled";
+                       compatible = "qcom,gsbi-v1.0.0";
+                       cell-index = <4>;
+                       reg = <0x16300000 0x03>;
+                       clocks = <&gcc GSBI4_H_CLK>;
+                       clock-names = "iface";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges;
+
+                       gsbi4_i2c: i2c@16380000 {
+                               compatible = "qcom,i2c-qup-v1.1.1";
+                               pinctrl-0 = <&i2c4_pins>;
+                               pinctrl-1 = <&i2c4_pins_sleep>;
+                               pinctrl-names = "default", "sleep";
+                               reg = <0x16380000 0x1000>;
+                               interrupts = <GIC_SPI 153 IRQ_TYPE_NONE>;
+                               clocks = <&gcc GSBI4_QUP_CLK>,
+                                        <&gcc GSBI4_H_CLK>;
+                               clock-names = "core", "iface";
                        };
                };
 
                                clock-names = "core", "iface";
                                status = "disabled";
                        };
+
+                       gsbi5_spi: spi@1a280000 {
+                               compatible = "qcom,spi-qup-v1.1.1";
+                               reg = <0x1a280000 0x1000>;
+                               interrupts = <0 155 0>;
+                               pinctrl-0 = <&spi5_default>;
+                               pinctrl-1 = <&spi5_sleep>;
+                               pinctrl-names = "default", "sleep";
+                               clocks = <&gcc GSBI5_QUP_CLK>, <&gcc GSBI5_H_CLK>;
+                               clock-names = "core", "iface";
+                               status = "disabled";
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
                };
 
                gsbi6: gsbi@16500000 {
                        #address-cells = <1>;
                        #size-cells = <1>;
                        ranges;
+                       syscon-tcsr = <&tcsr>;
 
                        gsbi6_serial: serial@16540000 {
                                compatible = "qcom,msm-uartdm-v1.3", "qcom,msm-uartdm";
                                interrupts = <0 156 0x0>;
                                clocks = <&gcc GSBI6_UART_CLK>, <&gcc GSBI6_H_CLK>;
                                clock-names = "core", "iface";
+
+                               qcom,rx-crci = <11>;
+                               qcom,tx-crci = <6>;
+
+                               dmas = <&adm 6>, <&adm 7>;
+                               dma-names = "rx", "tx";
+
                                status = "disabled";
                        };
+
+                       gsbi6_i2c: i2c@16580000 {
+                               compatible = "qcom,i2c-qup-v1.1.1";
+                               pinctrl-0 = <&i2c6_pins>;
+                               pinctrl-1 = <&i2c6_pins_sleep>;
+                               pinctrl-names = "default", "sleep";
+                               reg = <0x16580000 0x1000>;
+                               interrupts = <GIC_SPI 157 IRQ_TYPE_NONE>;
+                               clocks = <&gcc GSBI6_QUP_CLK>,
+                                        <&gcc GSBI6_H_CLK>;
+                               clock-names = "core", "iface";
+                       };
                };
 
                gsbi7: gsbi@16600000 {
                                clock-names = "core", "iface";
                                status = "disabled";
                        };
+
+                       gsbi7_i2c: i2c@16680000 {
+                               compatible = "qcom,i2c-qup-v1.1.1";
+                               pinctrl-0 = <&i2c7_pins>;
+                               pinctrl-1 = <&i2c7_pins_sleep>;
+                               pinctrl-names = "default", "sleep";
+                               reg = <0x16680000 0x1000>;
+                               interrupts = <GIC_SPI 159 IRQ_TYPE_NONE>;
+                               clocks = <&gcc GSBI7_QUP_CLK>,
+                                        <&gcc GSBI7_H_CLK>;
+                               clock-names = "core", "iface";
+                               status = "disabled";
+                       };
                };
 
                rng@1a500000 {
                        };
                };
 
+               qfprom: qfprom@00700000 {
+                       compatible      = "qcom,qfprom";
+                       reg             = <0x00700000 0x1000>;
+                       #address-cells  = <1>;
+                       #size-cells     = <1>;
+                       ranges;
+                       tsens_calib: calib {
+                               reg = <0x404 0x10>;
+                       };
+                       tsens_backup: backup_calib {
+                               reg = <0x414 0x10>;
+                       };
+               };
+
                gcc: clock-controller@900000 {
                        compatible = "qcom,gcc-apq8064";
                        reg = <0x00900000 0x4000>;
+                       nvmem-cells = <&tsens_calib>, <&tsens_backup>;
+                       nvmem-cell-names = "calib", "calib_backup";
+                       qcom,tsens-slopes = <1176 1176 1154 1176 1111
+                               1132 1132 1199 1132 1199 1132>;
                        #clock-cells = <1>;
                        #reset-cells = <1>;
+                       #thermal-sensor-cells = <1>;
                };
 
                lcc: clock-controller@28000000 {
                                          <GIC_SPI 22 IRQ_TYPE_EDGE_RISING>;
                        interrupt-names = "ack", "err", "wakeup";
 
+                       rpmcc: clock-controller {
+                               compatible      = "qcom,rpmcc-apq8064", "qcom,rpmcc";
+                               #clock-cells = <1>;
+                       };
+
                        regulators {
                                compatible = "qcom,rpm-pm8921-regulators";
 
                        };
                };
 
+               riva: wcnss@3204000 {
+                       compatible = "qcom,riva-pil", "qcom,riva";
+                       reg = <0x03200800 0x1000>, <0x03202000 0x2000>, <0x03204000 0x100>;
+                       reg-names = "ccu", "dxe", "pmu";
+
+                       interrupts-extended = <&intc 0 199 IRQ_TYPE_EDGE_RISING>,
+                                             <&wcnss_smsm 6 IRQ_TYPE_EDGE_RISING>;
+                       interrupt-names = "wdog", "fatal";
+
+                       memory-region = <&wcnss_mem>;
+
+                       vddcx-supply = <&pm8921_s3>;
+                       vddmx-supply = <&pm8921_l24>;
+                       vddpx-supply = <&pm8921_s4>;
+
+                       status = "disabled";
+
+                       iris {
+                               compatible = "qcom,wcn3660";
+
+                               clocks = <&rpmcc 9>;
+                               clock-names = "xo";
+
+                               vddxo-supply = <&pm8921_l4>;
+                               vddrfa-supply = <&pm8921_s2>;
+                               vddpa-supply = <&pm8921_l10>;
+                               vdddig-supply = <&pm8921_lvs2>;
+                       };
+               };
+
+
                usb1_phy: phy@12500000 {
                        compatible      = "qcom,usb-otg-ci";
                        reg             = <0x12500000 0x400>;
                };
 
                sata0: sata@29000000 {
-                       compatible              = "generic-ahci";
+                       compatible              = "qcom,apq8064-ahci", "generic-ahci";
                        status                  = "disabled";
                        reg                     = <0x29000000 0x180>;
                        interrupts              = <GIC_SPI 209 IRQ_TYPE_NONE>;
 
                        phys                    = <&sata_phy0>;
                        phy-names               = "sata-phy";
+                       ports-implemented       = <0x1>;
                };
 
                /* Temporary fixed regulator */
                        };
                };
 
+               adm: dma@18320000 {
+                       compatible = "qcom,adm";
+                       reg = <0x18320000 0xE0000>;
+                       interrupts = <GIC_SPI 171 IRQ_TYPE_NONE>;
+                       #dma-cells = <1>;
+
+                       clocks = <&gcc ADM0_CLK>, <&gcc ADM0_PBUS_CLK>;
+                       clock-names = "core", "iface";
+
+                       resets = <&gcc ADM0_RESET>,
+                                <&gcc ADM0_PBUS_RESET>,
+                                <&gcc ADM0_C0_RESET>,
+                                <&gcc ADM0_C1_RESET>,
+                                <&gcc ADM0_C2_RESET>;
+                       reset-names = "clk", "pbus", "c0", "c1", "c2";
+                       qcom,ee = <1>;
+
+                       status = "disabled";
+               };
+
                tcsr: syscon@1a400000 {
                        compatible = "qcom,tcsr-apq8064", "syscon";
                        reg = <0x1a400000 0x100>;
                        status = "disabled";
                };
 
+               pil_q6v4: pil@28800000 {
+                       compatible      = "qcom,tz-pil", "qcom,apq8064-tz-pil";
+                       qcom,firmware-name = "q6";
+                       reg             = <0x28800000 0x100>;
+                       reg-names       = "qdsp6_base";
+                       qcom,pas-id             = <1>; /* PAS_Q6 */
+               };
+
+               dai_fe: dai_fe {
+                       compatible      = "qcom,msm-dai-fe";
+                       #sound-dai-cells = <0>;
+               };
+
+               hdmi_dai: dai_hdmi {
+                       compatible = "qcom,msm-dai-q6-hdmi";
+                       #sound-dai-cells = <0>;
+               };
+
+               hdmi_codec: codec_hdmi {
+                       compatible = "linux,hdmi-audio";
+                       #sound-dai-cells = <0>;
+               };
+
+               q6_pcm: msm_pcm {
+                       compatible = "qcom,msm-pcm-dsp";
+                       #sound-dai-cells = <0>;
+               };
+
+               q6_route: msm_pcm_routing {
+                       compatible = "qcom,msm-pcm-routing";
+                       #sound-dai-cells = <0>;
+               };
+
+               snd {
+                       compatible      = "qcom,snd-apq8064";
+               };
+
+
                hdmi: qcom,hdmi-tx@4a00000 {
                        compatible = "qcom,hdmi-tx-8960";
                        reg-names = "core_physical";
                };
        };
 };
+
+#include "qcom-apq8064-coresight.dtsi"
+#include "qcom-apq8064-pins.dtsi"