arm64: dts: qcom: msm8916: Move WCN compatible to boards
authorStephan Gerhold <stephan.gerhold@kernkonzept.com>
Thu, 9 Mar 2023 09:14:52 +0000 (10:14 +0100)
committerBjorn Andersson <andersson@kernel.org>
Tue, 4 Apr 2023 19:12:03 +0000 (12:12 -0700)
On MSM8916 the wireless connectivity functionality (WiFi/Bluetooth) is
split into the digital part inside the SoC and the analog RF part inside
a supplementary WCN36xx chip. For MSM8916, three different options
exist:

  - WCN3620  (WLAN 802.11 b/g/n 2.4 GHz + Bluetooth)
  - WCN3660B (WLAN 802.11 a/b/g/n 2.4/5 GHz + Bluetooth)
  - WCN3680B (WLAN 802.11ac 2.4/5 GHz + Bluetooth)

Choosing one of these is up to the board vendor. This means that the
compatible belongs into the board-specific DT part so people porting
new boards pay attention to set the correct compatible.

Right now msm8916.dtsi sets "qcom,wcn3620" as default compatible,
which does not work at all for boards that have WCN3660B or WCN3680B.

Remove the default compatible from msm8196.dtsi and move it to the board
DT as follows:

  - Boards with only &pronto { status = "okay"; } used the default
    "qcom,wcn3620" so far. They now set this explicitly for &wcnss_iris.
  - Boards with &pronto { ... iris { compatible = "qcom,wcn3660b"; }};
    already had an override that just moves to &wcnss_iris now.
  - For msm8916-samsung-a2015-common.dtsi the WCN compatible differs for
    boards making use of it (a3u: wcn3620, a5u: wcn3660b, e2015: wcn3620)
    so the definitions move to the board-specific DT part.

Since this requires touching all the board DTs, use this as a chance to
name the WCNSS-related labels consistently, so everything is grouped
properly when sorted alphabetically.

No functional change, just clean-up for more clarity & easier porting.
Aside from ordering the generated DTBs are identical.

Signed-off-by: Stephan Gerhold <stephan.gerhold@kernkonzept.com>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230309091452.1011776-1-stephan.gerhold@kernkonzept.com
19 files changed:
arch/arm64/boot/dts/qcom/apq8016-sbc.dts
arch/arm64/boot/dts/qcom/msm8916-acer-a1-724.dts
arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dts
arch/arm64/boot/dts/qcom/msm8916-asus-z00l.dts
arch/arm64/boot/dts/qcom/msm8916-gplus-fl8005a.dts
arch/arm64/boot/dts/qcom/msm8916-huawei-g7.dts
arch/arm64/boot/dts/qcom/msm8916-longcheer-l8150.dts
arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dts
arch/arm64/boot/dts/qcom/msm8916-pm8916.dtsi
arch/arm64/boot/dts/qcom/msm8916-samsung-a2015-common.dtsi
arch/arm64/boot/dts/qcom/msm8916-samsung-a3u-eur.dts
arch/arm64/boot/dts/qcom/msm8916-samsung-a5u-eur.dts
arch/arm64/boot/dts/qcom/msm8916-samsung-e2015-common.dtsi
arch/arm64/boot/dts/qcom/msm8916-samsung-gt5-common.dtsi
arch/arm64/boot/dts/qcom/msm8916-samsung-j5-common.dtsi
arch/arm64/boot/dts/qcom/msm8916-samsung-serranove.dts
arch/arm64/boot/dts/qcom/msm8916-ufi.dtsi
arch/arm64/boot/dts/qcom/msm8916-wingtech-wt88047.dts
arch/arm64/boot/dts/qcom/msm8916.dtsi

index c52d79a..27ceaa9 100644 (file)
        linux,code = <KEY_VOLUMEDOWN>;
 };
 
-&pronto {
-       status = "okay";
-
-       firmware-name = "qcom/apq8016/wcnss.mbn";
-};
-
 &sdhc_1 {
        status = "okay";
 
        qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
 };
 
+&wcnss {
+       status = "okay";
+       firmware-name = "qcom/apq8016/wcnss.mbn";
+};
+
 &wcnss_ctrl {
        firmware-name = "qcom/apq8016/WCNSS_qcom_wlan_nv_sbc.bin";
 };
 
+&wcnss_iris {
+       compatible = "qcom,wcn3620";
+};
+
 /* Enable CoreSight */
 &cti0 { status = "okay"; };
 &cti1 { status = "okay"; };
index ed3fa7b..13cd9ad 100644 (file)
        status = "okay";
 };
 
-&pronto {
-       status = "okay";
-};
-
 &sdhc_1 {
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
        extcon = <&usb_id>;
 };
 
+&wcnss {
+       status = "okay";
+};
+
+&wcnss_iris {
+       compatible = "qcom,wcn3620";
+};
+
 &smd_rpm_regulators {
        vdd_l1_l2_l3-supply = <&pm8916_s3>;
        vdd_l4_l5_l6-supply = <&pm8916_s4>;
index 701a558..fecb699 100644 (file)
        status = "okay";
 };
 
-&pronto {
-       status = "okay";
-};
-
 &sdhc_1 {
        status = "okay";
 
        extcon = <&usb_id>;
 };
 
+&wcnss {
+       status = "okay";
+};
+
+&wcnss_iris {
+       compatible = "qcom,wcn3620";
+};
+
 &smd_rpm_regulators {
        vdd_l1_l2_l3-supply = <&pm8916_s3>;
        vdd_l4_l5_l6-supply = <&pm8916_s4>;
index 3618704..91284a1 100644 (file)
        status = "okay";
 };
 
-&pronto {
-       status = "okay";
-};
-
 &sdhc_1 {
        status = "okay";
 
        extcon = <&usb_id>;
 };
 
+&wcnss {
+       status = "okay";
+};
+
+&wcnss_iris {
+       compatible = "qcom,wcn3620";
+};
+
 &smd_rpm_regulators {
        vdd_l1_l2_l3-supply = <&pm8916_s3>;
        vdd_l4_l5_l6-supply = <&pm8916_s4>;
index a0e520e..525ec76 100644 (file)
        status = "okay";
 };
 
-&pronto {
-       status = "okay";
-};
-
 &sdhc_1 {
        pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
        pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
        extcon = <&usb_id>;
 };
 
+&wcnss {
+       status = "okay";
+};
+
+&wcnss_iris {
+       compatible = "qcom,wcn3620";
+};
+
 &smd_rpm_regulators {
        vdd_l1_l2_l3-supply = <&pm8916_s3>;
        vdd_l4_l5_l6-supply = <&pm8916_s4>;
index 8c07eca..5b1bac8 100644 (file)
        status = "okay";
 };
 
-&pronto {
-       status = "okay";
-};
-
 &sdhc_1 {
        status = "okay";
 
        qcom,hphl-jack-type-normally-open;
 };
 
+&wcnss {
+       status = "okay";
+};
+
+&wcnss_iris {
+       compatible = "qcom,wcn3620";
+};
+
 &smd_rpm_regulators {
        vdd_l1_l2_l3-supply = <&pm8916_s3>;
        vdd_l4_l5_l6-supply = <&pm8916_s4>;
index d1e8cf2..f1dd625 100644 (file)
        status = "okay";
 };
 
-&pronto {
-       status = "okay";
-};
-
 &sdhc_1 {
        status = "okay";
 
        extcon = <&pm8916_usbin>;
 };
 
+&wcnss {
+       status = "okay";
+};
+
+&wcnss_iris {
+       compatible = "qcom,wcn3620";
+};
+
 &smd_rpm_regulators {
        vdd_l1_l2_l3-supply = <&pm8916_s3>;
        vdd_l4_l5_l6-supply = <&pm8916_s4>;
index 3899e11..b79e809 100644 (file)
        status = "okay";
 };
 
-&pronto {
-       status = "okay";
-};
-
 &sdhc_1 {
        status = "okay";
 
        extcon = <&usb_id>;
 };
 
+&wcnss {
+       status = "okay";
+};
+
+&wcnss_iris {
+       compatible = "qcom,wcn3620";
+};
+
 &smd_rpm_regulators {
        vdd_l1_l2_l3-supply = <&pm8916_s3>;
        vdd_l4_l5_l6-supply = <&pm8916_s4>;
index 8cac23b..6eb5e0a 100644 (file)
        pll-supply = <&pm8916_l7>;
 };
 
-&pronto {
-       vddpx-supply = <&pm8916_l7>;
-
-       iris {
-               vddxo-supply = <&pm8916_l7>;
-               vddrfa-supply = <&pm8916_s3>;
-               vddpa-supply = <&pm8916_l9>;
-               vdddig-supply = <&pm8916_l5>;
-       };
-};
-
 &sdhc_1 {
        vmmc-supply = <&pm8916_l8>;
        vqmmc-supply = <&pm8916_l5>;
        v3p3-supply = <&pm8916_l13>;
 };
 
+&wcnss {
+       vddpx-supply = <&pm8916_l7>;
+};
+
+&wcnss_iris {
+       vddxo-supply = <&pm8916_l7>;
+       vddrfa-supply = <&pm8916_s3>;
+       vddpa-supply = <&pm8916_l9>;
+       vdddig-supply = <&pm8916_l5>;
+};
+
 &rpm_requests {
        smd_rpm_regulators: regulators {
                compatible = "qcom,rpm-pm8916-regulators";
index a2ed7bd..16d6774 100644 (file)
        linux,code = <KEY_VOLUMEDOWN>;
 };
 
-&pronto {
-       status = "okay";
-};
-
 &sdhc_1 {
        status = "okay";
 
index c691cca..a1ca4d8 100644 (file)
        status = "okay";
 };
 
+&wcnss {
+       status = "okay";
+};
+
+&wcnss_iris {
+       compatible = "qcom,wcn3620";
+};
+
 &msmgpio {
        panel_vdd3_default: panel-vdd3-default-state {
                pins = "gpio9";
index 3dd8194..4e10b8a 100644 (file)
        status = "okay";
 };
 
-&pronto {
-       iris {
-               compatible = "qcom,wcn3660b";
-       };
-};
-
 &touchkey {
        vcc-supply = <&reg_touch_key>;
        vdd-supply = <&reg_touch_key>;
        status = "okay";
 };
 
+&wcnss {
+       status = "okay";
+};
+
+&wcnss_iris {
+       compatible = "qcom,wcn3660b";
+};
+
 &msmgpio {
        tkey_en_default: tkey-en-default-state {
                pins = "gpio97";
index c95f0b4..f6c4a01 100644 (file)
        vdd-supply = <&reg_touch_key>;
 };
 
+&wcnss {
+       status = "okay";
+};
+
+&wcnss_iris {
+       compatible = "qcom,wcn3620";
+};
+
 &msmgpio {
        tkey_en_default: tkey-en-default-state {
                pins = "gpio97";
index d920b72..74ffd04 100644 (file)
        status = "okay";
 };
 
-&pronto {
-       status = "okay";
-
-       iris {
-               compatible = "qcom,wcn3660b";
-       };
-};
-
 &sdhc_1 {
        pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
        pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
        extcon = <&pm8916_usbin>;
 };
 
+&wcnss {
+       status = "okay";
+};
+
+&wcnss_iris {
+       compatible = "qcom,wcn3660b";
+};
+
 &smd_rpm_regulators {
        vdd_l1_l2_l3-supply = <&pm8916_s3>;
        vdd_l4_l5_l6-supply = <&pm8916_s4>;
index f3b81b6..adeee08 100644 (file)
        linux,code = <KEY_VOLUMEDOWN>;
 };
 
-&pronto {
-       status = "okay";
-};
-
 &sdhc_1 {
        status = "okay";
 
        extcon = <&muic>;
 };
 
+&wcnss {
+       status = "okay";
+};
+
+&wcnss_iris {
+       compatible = "qcom,wcn3620";
+};
+
 &smd_rpm_regulators {
        vdd_l1_l2_l3-supply = <&pm8916_s3>;
        vdd_l4_l5_l6-supply = <&pm8916_s4>;
index d4984b3..1a41a4d 100644 (file)
        status = "okay";
 };
 
-&pronto {
-       status = "okay";
-
-       iris {
-               compatible = "qcom,wcn3660b";
-       };
-};
-
 &sdhc_1 {
        status = "okay";
 
        extcon = <&muic>;
 };
 
+&wcnss {
+       status = "okay";
+};
+
+&wcnss_iris {
+       compatible = "qcom,wcn3660b";
+};
+
 &smd_rpm_regulators {
        vdd_l1_l2_l3-supply = <&pm8916_s3>;
        vdd_l4_l5_l6-supply = <&pm8916_s4>;
index cdf34b7..50bae6f 100644 (file)
        status = "okay";
 };
 
-&pronto {
-       status = "okay";
-};
-
 &sdhc_1 {
        pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
        pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
        extcon = <&pm8916_usbin>;
 };
 
+&wcnss {
+       status = "okay";
+};
+
+&wcnss_iris {
+       compatible = "qcom,wcn3620";
+};
+
 &smd_rpm_regulators {
        vdd_l1_l2_l3-supply = <&pm8916_s3>;
        vdd_l4_l5_l6-supply = <&pm8916_s4>;
index a87be1d..ac56c75 100644 (file)
        status = "okay";
 };
 
-&pronto {
-       status = "okay";
-};
-
 &sdhc_1 {
        status = "okay";
 
        extcon = <&usb_id>;
 };
 
+&wcnss {
+       status = "okay";
+};
+
+&wcnss_iris {
+       compatible = "qcom,wcn3620";
+};
+
 &smd_rpm_regulators {
        vdd_l1_l2_l3-supply = <&pm8916_s3>;
        vdd_l4_l5_l6-supply = <&pm8916_s4>;
index 639b158..7e0fa37 100644 (file)
                        };
                };
 
-               pronto: remoteproc@a21b000 {
+               wcnss: remoteproc@a21b000 {
                        compatible = "qcom,pronto-v2-pil", "qcom,pronto";
                        reg = <0x0a204000 0x2000>, <0x0a202000 0x1000>, <0x0a21b000 0x3000>;
                        reg-names = "ccu", "dxe", "pmu";
 
                        status = "disabled";
 
-                       iris {
-                               compatible = "qcom,wcn3620";
-
+                       wcnss_iris: iris {
+                               /* Separate chip, compatible is board-specific */
                                clocks = <&rpmcc RPM_SMD_RF_CLK2>;
                                clock-names = "xo";
                        };
                                        compatible = "qcom,wcnss";
                                        qcom,smd-channels = "WCNSS_CTRL";
 
-                                       qcom,mmio = <&pronto>;
+                                       qcom,mmio = <&wcnss>;
 
-                                       bluetooth {
+                                       wcnss_bt: bluetooth {
                                                compatible = "qcom,wcnss-bt";
                                        };
 
-                                       wifi {
+                                       wcnss_wifi: wifi {
                                                compatible = "qcom,wcnss-wlan";
 
                                                interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,