ARM: dts: qcom: add and enable both wifi blocks on the IPQ4019
authorChristian Lamparter <chunkeey@googlemail.com>
Sat, 22 Jul 2017 21:27:11 +0000 (23:27 +0200)
committerAndy Gross <andy.gross@linaro.org>
Tue, 8 Aug 2017 19:53:12 +0000 (14:53 -0500)
This patch adds and enables the device-tree definitions for
both qcom,ipq4019-wifi blocks for the IPQ4019.

Support for these have been added into the ath10k driver since:
commit 280e762e9c72 ("ath10k: enable ipq4019 device probe in ahb module")

The binding documentation was added in:
commit a47aaa69de88 ("dt: bindings: add new dt entry for pre calibration in qcom, ath10k.txt")

This has been tested on an ASUS RT-AC58U (IPQ4019),
an AVM Fritz!Box 4040 (IPQ4018), a Compex WPJ428 (IPQ4028)
and a Cisco Meraki MR33 (IPQ4029).

a000000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003b00ff [...]
a000000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 1
a000000.wifi: firmware ver 10.4-3.4-00082 api 5 features no-p2p,mfp,[...]
a000000.wifi: board_file api 2 bmi_id 0:16 crc32 5773b188
a000000.wifi: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-file [...]
...
a800000.wifi: qca4019 hw1.0 target 0x01000000 chip_id 0x003b00ff sub 0000:0000
a800000.wifi: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 1
a800000.wifi: firmware ver 10.4-3.4-00082 api 5 features no-p2p, [...]
a800000.wifi: board_file api 2 bmi_id 0:17 crc32 5773b188
a800000.wifi: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-file [...]

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
arch/arm/boot/dts/qcom-ipq4019-ap.dk01.1.dtsi
arch/arm/boot/dts/qcom-ipq4019.dtsi

index 10a0c28cbab939449b7301907fe775cc958c7ea8..e413b21ee3319be02927dca42aeef0c837698d00 100644 (file)
                watchdog@b017000 {
                        status = "ok";
                };
+
+               wifi@a000000 {
+                       status = "ok";
+               };
+
+               wifi@a800000 {
+                       status = "ok";
+               };
        };
 };
index 069243bc161cc21683c3c9d4c9aefc640942d28c..10d112a4078ecef3c1a70dc3482de7a7511e599b 100644 (file)
                        compatible = "qcom,pshold";
                        reg = <0x4ab000 0x4>;
                };
+
+               wifi0: wifi@a000000 {
+                       compatible = "qcom,ipq4019-wifi";
+                       reg = <0xa000000 0x200000>;
+                       resets = <&gcc WIFI0_CPU_INIT_RESET>,
+                                <&gcc WIFI0_RADIO_SRIF_RESET>,
+                                <&gcc WIFI0_RADIO_WARM_RESET>,
+                                <&gcc WIFI0_RADIO_COLD_RESET>,
+                                <&gcc WIFI0_CORE_WARM_RESET>,
+                                <&gcc WIFI0_CORE_COLD_RESET>;
+                       reset-names = "wifi_cpu_init", "wifi_radio_srif",
+                                     "wifi_radio_warm", "wifi_radio_cold",
+                                     "wifi_core_warm", "wifi_core_cold";
+                       clocks = <&gcc GCC_WCSS2G_CLK>,
+                                <&gcc GCC_WCSS2G_REF_CLK>,
+                                <&gcc GCC_WCSS2G_RTC_CLK>;
+                       clock-names = "wifi_wcss_cmd", "wifi_wcss_ref",
+                                     "wifi_wcss_rtc";
+                       interrupts = <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 33 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 35 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 36 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 37 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 38 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 39 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 40 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 41 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 42 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 43 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 44 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 45 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 46 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 47 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 168 IRQ_TYPE_NONE>;
+                       interrupt-names =  "msi0",  "msi1",  "msi2",  "msi3",
+                                          "msi4",  "msi5",  "msi6",  "msi7",
+                                          "msi8",  "msi9", "msi10", "msi11",
+                                         "msi12", "msi13", "msi14", "msi15",
+                                         "legacy";
+                       status = "disabled";
+               };
+
+               wifi1: wifi@a800000 {
+                       compatible = "qcom,ipq4019-wifi";
+                       reg = <0xa800000 0x200000>;
+                       resets = <&gcc WIFI1_CPU_INIT_RESET>,
+                                <&gcc WIFI1_RADIO_SRIF_RESET>,
+                                <&gcc WIFI1_RADIO_WARM_RESET>,
+                                <&gcc WIFI1_RADIO_COLD_RESET>,
+                                <&gcc WIFI1_CORE_WARM_RESET>,
+                                <&gcc WIFI1_CORE_COLD_RESET>;
+                       reset-names = "wifi_cpu_init", "wifi_radio_srif",
+                                     "wifi_radio_warm", "wifi_radio_cold",
+                                     "wifi_core_warm", "wifi_core_cold";
+                       clocks = <&gcc GCC_WCSS5G_CLK>,
+                                <&gcc GCC_WCSS5G_REF_CLK>,
+                                <&gcc GCC_WCSS5G_RTC_CLK>;
+                       clock-names = "wifi_wcss_cmd", "wifi_wcss_ref",
+                                     "wifi_wcss_rtc";
+                       interrupts = <GIC_SPI 48 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 49 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 51 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 52 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 53 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 54 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 55 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 56 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 57 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 58 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 59 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 60 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 61 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 62 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 63 IRQ_TYPE_EDGE_RISING>,
+                                    <GIC_SPI 169 IRQ_TYPE_NONE>;
+                       interrupt-names =  "msi0",  "msi1",  "msi2",  "msi3",
+                                          "msi4",  "msi5",  "msi6",  "msi7",
+                                          "msi8",  "msi9", "msi10", "msi11",
+                                         "msi12", "msi13", "msi14", "msi15",
+                                         "legacy";
+                       status = "disabled";
+               };
        };
 };