lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <2d9775c4-e8fb-4c95-b1fa-c775e96d5e04@gmail.com>
Date: Tue, 20 Jan 2026 16:33:28 +0530
From: tessolveupstream@...il.com
To: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
Cc: Qian Zhang <qian.zhang@....qualcomm.com>, andersson@...nel.org,
 konradybcio@...nel.org, robh@...nel.org, krzk+dt@...nel.org,
 conor+dt@...nel.org, linux-arm-msm@...r.kernel.org,
 devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v11 4/4] arm64: dts: qcom: talos-evk: Add support for
 QCS615 talos evk board



On 16-01-2026 17:19, Dmitry Baryshkov wrote:
> On Fri, Jan 16, 2026 at 04:57:42PM +0530, tessolveupstream@...il.com wrote:
>>
>>
>> On 16-01-2026 13:26, Dmitry Baryshkov wrote:
>>> On Fri, Jan 16, 2026 at 12:28:22PM +0530, tessolveupstream@...il.com wrote:
>>>>
>>>>
>>>> On 15-01-2026 18:47, Qian Zhang wrote:
>>>>>
>>>>>
>>>>> On 1/9/2026 5:52 PM, Sudarshan Shetty wrote:
>>>>>> Add the device tree for the QCS615-based Talos EVK platform. The
>>>>>> platform is composed of a System-on-Module following the SMARC
>>>>>> standard, and a Carrier Board.
>>>>>>
>>>>>> The Carrier Board supports several display configurations, HDMI and
>>>>>> LVDS. Both configurations use the same base hardware, with the display
>>>>>> selection controlled by a DIP switch.
>>>>>>
>>>>>> Use a DTBO file, talos-evk-lvds-auo,g133han01.dtso, which defines an
>>>>>> overlay that disables HDMI and adds LVDS. The DTs file talos-evk
>>>>>> can describe the HDMI display configurations.
>>>>>>
>>>>>> The initial device tree includes support for:
>>>>>> - CPU and memory
>>>>>> - UART
>>>>>> - GPIOs
>>>>>> - Regulators
>>>>>> - PMIC
>>>>>> - Early console
>>>>>> - AT24MAC602 EEPROM
>>>>>> - MCP2515 SPI to CAN
>>>>>> - ADV7535 DSI-to-HDMI bridge
>>>>>> - DisplayPort interface
>>>>>> - SN65DSI84ZXHR DSI-to-LVDS bridge
>>>>>> - Wi-Fi/BT
>>>>>>
>>>>>> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
>>>>>> Signed-off-by: Sudarshan Shetty <tessolveupstream@...il.com>
>>>>>> ---
>>>>>>   arch/arm64/boot/dts/qcom/Makefile             |   4 +
>>>>>>   .../qcom/talos-evk-lvds-auo,g133han01.dtso    | 126 ++++
>>>>>>   arch/arm64/boot/dts/qcom/talos-evk-som.dtsi   | 616 ++++++++++++++++++
>>>>>>   arch/arm64/boot/dts/qcom/talos-evk.dts        | 139 ++++
>>>>>>   4 files changed, 885 insertions(+)
>>>>>>   create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
>>>>>>   create mode 100644 arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
>>>>>>   create mode 100644 arch/arm64/boot/dts/qcom/talos-evk.dts
>>>>>>
>>>>>> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
>>>>>> index 76cf0115a00a..289b651ef0c5 100644
>>>>>> --- a/arch/arm64/boot/dts/qcom/Makefile
>>>>>> +++ b/arch/arm64/boot/dts/qcom/Makefile
>>>>>> @@ -324,6 +324,10 @@ dtb-$(CONFIG_ARCH_QCOM)    += sm8650-mtp.dtb
>>>>>>   dtb-$(CONFIG_ARCH_QCOM)    += sm8650-qrd.dtb
>>>>>>   dtb-$(CONFIG_ARCH_QCOM)    += sm8750-mtp.dtb
>>>>>>   dtb-$(CONFIG_ARCH_QCOM)    += sm8750-qrd.dtb
>>>>>> +dtb-$(CONFIG_ARCH_QCOM)    += talos-evk.dtb
>>>>>> +talos-evk-lvds-auo,g133han01-dtbs    := \
>>>>>> +    talos-evk.dtb talos-evk-lvds-auo,g133han01.dtbo
>>>>>> +dtb-$(CONFIG_ARCH_QCOM)    += talos-evk-lvds-auo,g133han01.dtb
>>>>>>   x1e001de-devkit-el2-dtbs    := x1e001de-devkit.dtb x1-el2.dtbo
>>>>>>   dtb-$(CONFIG_ARCH_QCOM)    += x1e001de-devkit.dtb x1e001de-devkit-el2.dtb
>>>>>>   x1e78100-lenovo-thinkpad-t14s-el2-dtbs    := x1e78100-lenovo-thinkpad-t14s.dtb x1-el2.dtbo
>>>>>> diff --git a/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso b/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
>>>>>> new file mode 100644
>>>>>> index 000000000000..ad058cf4cd93
>>>>>> --- /dev/null
>>>>>> +++ b/arch/arm64/boot/dts/qcom/talos-evk-lvds-auo,g133han01.dtso
>>>>>> @@ -0,0 +1,126 @@
>>>>>> +// SPDX-License-Identifier: BSD-3-Clause
>>>>>> +/*
>>>>>> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
>>>>>> + */
>>>>>> +/dts-v1/;
>>>>>> +/plugin/;
>>>>>> +
>>>>>> +#include <dt-bindings/gpio/gpio.h>
>>>>>> +
>>>>>> +&{/} {
>>>>>> +    backlight: backlight {
>>>>>> +        compatible = "gpio-backlight";
>>>>>> +        gpios = <&tlmm 59 GPIO_ACTIVE_HIGH>,
>>>>>> +            <&tlmm 115 GPIO_ACTIVE_HIGH>;
>>>>>> +        default-on;
>>>>>> +    };
>>>>>> +
>>>>>> +    panel-lvds {
>>>>>> +        compatible = "auo,g133han01";
>>>>>> +
>>>>>> +        ports {
>>>>>> +            #address-cells = <1>;
>>>>>> +            #size-cells = <0>;
>>>>>> +
>>>>>> +            /* LVDS A (Odd pixels) */
>>>>>> +            port@0 {
>>>>>> +                reg = <0>;
>>>>>> +                dual-lvds-odd-pixels;
>>>>>> +
>>>>>> +                lvds_panel_out_a: endpoint {
>>>>>> +                    remote-endpoint = <&sn65dsi84_out_a>;
>>>>>> +                };
>>>>>> +            };
>>>>>> +
>>>>>> +            /* LVDS B (Even pixels) */
>>>>>> +            port@1 {
>>>>>> +                reg = <1>;
>>>>>> +                dual-lvds-even-pixels;
>>>>>> +
>>>>>> +                lvds_panel_out_b: endpoint {
>>>>>> +                    remote-endpoint = <&sn65dsi84_out_b>;
>>>>>> +                };
>>>>>> +            };
>>>>>> +        };
>>>>>> +    };
>>>>>> +};
>>>>>> +
>>>>>> +&hdmi_connector {
>>>>>> +    status = "disabled";
>>>>>> +};
>>>>>> +
>>>>>> +&i2c1 {
>>>>>> +    clock-frequency = <400000>;
>>>>>> +
>>>>>> +    status = "okay";
>>>>>> +
>>>>>> +    hdmi_bridge: bridge@3d {
>>>>>> +        status = "disabled";
>>>>>> +    };
>>>>>> +
>>>>>> +    lvds_bridge: bridge@2c {
>>>>>> +        compatible = "ti,sn65dsi84";
>>>>>> +        reg = <0x2c>;
>>>>>> +        enable-gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>;
>>>>>> +        ti,dsi-lanes = <4>;
>>>>>> +        ti,lvds-format = "jeida-24";
>>>>>> +        ti,lvds-bpp = <24>;
>>>>>> +
>>>>>> +        ports {
>>>>>> +            #address-cells = <1>;
>>>>>> +            #size-cells = <0>;
>>>>>> +
>>>>>> +            port@0 {
>>>>>> +                reg = <0>;
>>>>>> +
>>>>>> +                sn65dsi84_in: endpoint {
>>>>>> +                    data-lanes = <1 2 3 4>;
>>>>>> +                    remote-endpoint = <&mdss_dsi0_out>;
>>>>>> +                };
>>>>>> +            };
>>>>>> +
>>>>>> +            port@2 {
>>>>>> +                reg = <2>;
>>>>>> +
>>>>>> +                sn65dsi84_out_a: endpoint {
>>>>>> +                    data-lanes = <1 2 3 4>;
>>>>>> +                    remote-endpoint = <&lvds_panel_out_a>;
>>>>>> +                };
>>>>>> +            };
>>>>>> +
>>>>>> +            port@3 {
>>>>>> +                reg = <3>;
>>>>>> +
>>>>>> +                sn65dsi84_out_b: endpoint {
>>>>>> +                    data-lanes = <1 2 3 4>;
>>>>>> +                    remote-endpoint = <&lvds_panel_out_b>;
>>>>>> +                };
>>>>>> +            };
>>>>>> +        };
>>>>>> +    };
>>>>>> +};
>>>>>> +
>>>>>> +&mdss_dsi0 {
>>>>>> +    vdda-supply = <&vreg_l11a>;
>>>>>> +
>>>>>> +    status = "okay";
>>>>>> +};
>>>>>> +
>>>>>> +&mdss_dsi0_out {
>>>>>> +    remote-endpoint = <&sn65dsi84_in>;
>>>>>> +    data-lanes = <0 1 2 3>;
>>>>>> +};
>>>>>> +
>>>>>> +&tlmm {
>>>>>> +    lcd_bklt_en: lcd-bklt-en-state {
>>>>>> +        pins = "gpio115";
>>>>>> +        function = "gpio";
>>>>>> +        bias-disable;
>>>>>> +    };
>>>>>> +
>>>>>> +    lcd_bklt_pwm: lcd-bklt-pwm-state {
>>>>>> +        pins = "gpio59";
>>>>>> +        function = "gpio";
>>>>>> +        bias-disable;
>>>>>> +    };
>>>>>> +};
>>>>>> diff --git a/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi b/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
>>>>>> new file mode 100644
>>>>>> index 000000000000..95ed335bcb08
>>>>>> --- /dev/null
>>>>>> +++ b/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
>>>>>> @@ -0,0 +1,616 @@
>>>>>> +// SPDX-License-Identifier: BSD-3-Clause
>>>>>> +/*
>>>>>> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
>>>>>> + */
>>>>>> +/dts-v1/;
>>>>>> +
>>>>>> +#include <dt-bindings/gpio/gpio.h>
>>>>>> +#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
>>>>>> +#include "talos.dtsi"
>>>>>> +#include "pm8150.dtsi"
>>>>>> +/ {
>>>>>> +    aliases {
>>>>>> +        mmc0 = &sdhc_1;
>>>>>> +        serial0 = &uart0;
>>>>>> +        serial1 = &uart7;
>>>>>> +    };
>>>>>> +
>>>>>> +    chosen {
>>>>>> +        stdout-path = "serial0:115200n8";
>>>>>> +    };
>>>>>> +
>>>>>> +    clocks {
>>>>>> +        can_osc: can-oscillator {
>>>>>> +            compatible = "fixed-clock";
>>>>>> +            clock-frequency = <20000000>;
>>>>>> +            #clock-cells = <0>;
>>>>>> +        };
>>>>>> +
>>>>>> +        sleep_clk: sleep-clk {
>>>>>> +            compatible = "fixed-clock";
>>>>>> +            clock-frequency = <32764>;
>>>>>> +            #clock-cells = <0>;
>>>>>> +        };
>>>>>> +
>>>>>> +        xo_board_clk: xo-board-clk {
>>>>>> +            compatible = "fixed-clock";
>>>>>> +            clock-frequency = <38400000>;
>>>>>> +            #clock-cells = <0>;
>>>>>> +        };
>>>>>> +    };
>>>>>> +
>>>>>> +    regulator-usb2-vbus {
>>>>>> +        compatible = "regulator-fixed";
>>>>>> +        regulator-name = "USB2_VBUS";
>>>>>> +        gpio = <&pm8150_gpios 10 GPIO_ACTIVE_HIGH>;
>>>>>> +        pinctrl-0 = <&usb2_en>;
>>>>>> +        pinctrl-names = "default";
>>>>>> +        enable-active-high;
>>>>>> +        regulator-always-on;
>>>>>> +    };
>>>>>> +
>>>>>> +    vreg_conn_1p8: regulator-conn-1p8 {
>>>>>> +        compatible = "regulator-fixed";
>>>>>> +        regulator-name = "vreg_conn_1p8";
>>>>>> +        startup-delay-us = <4000>;
>>>>>> +        enable-active-high;
>>>>>> +        gpio = <&pm8150_gpios 1 GPIO_ACTIVE_HIGH>;
>>>>>> +    };
>>>>>> +
>>>>>> +    vreg_conn_pa: regulator-conn-pa {
>>>>>> +        compatible = "regulator-fixed";
>>>>>> +        regulator-name = "vreg_conn_pa";
>>>>>> +        startup-delay-us = <4000>;
>>>>>> +        enable-active-high;
>>>>>> +        gpio = <&pm8150_gpios 6 GPIO_ACTIVE_HIGH>;
>>>>>> +    };
>>>>>> +
>>>>>> +    vreg_v3p3_can: regulator-v3p3-can {
>>>>>> +        compatible = "regulator-fixed";
>>>>>> +        regulator-name = "vreg-v3p3-can";
>>>>>> +        regulator-min-microvolt = <3300000>;
>>>>>> +        regulator-max-microvolt = <3300000>;
>>>>>> +        regulator-boot-on;
>>>>>> +        regulator-always-on;
>>>>>> +    };
>>>>>> +
>>>>>> +    vreg_v5p0_can: regulator-v5p0-can {
>>>>>> +        compatible = "regulator-fixed";
>>>>>> +        regulator-name = "vreg-v5p0-can";
>>>>>> +        regulator-min-microvolt = <5000000>;
>>>>>> +        regulator-max-microvolt = <5000000>;
>>>>>> +        regulator-boot-on;
>>>>>> +        regulator-always-on;
>>>>>> +    };
>>>>>> +
>>>>>> +    wcn6855-pmu {
>>>>>> +        compatible = "qcom,wcn6855-pmu";
>>>>>> +
>>>>>> +        pinctrl-0 = <&bt_en_state>, <&wlan_en_state>;
>>>>>> +        pinctrl-names = "default";
>>>>>> +
>>>>>> +        bt-enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
>>>>>> +        wlan-enable-gpios = <&tlmm 84 GPIO_ACTIVE_HIGH>;
>>>>>> +
>>>>>> +        vddio-supply = <&vreg_conn_pa>;
>>>>>> +        vddaon-supply = <&vreg_s5a>;
>>>>>> +        vddpmu-supply = <&vreg_conn_1p8>;
>>>>>> +        vddpmumx-supply = <&vreg_conn_1p8>;
>>>>>> +        vddpmucx-supply = <&vreg_conn_pa>;
>>>>>> +        vddrfa0p95-supply = <&vreg_s5a>;
>>>>>> +        vddrfa1p3-supply = <&vreg_s6a>;
>>>>>> +        vddrfa1p9-supply = <&vreg_l15a>;
>>>>>> +        vddpcie1p3-supply = <&vreg_s6a>;
>>>>>> +        vddpcie1p9-supply = <&vreg_l15a>;
>>>>>> +
>>>>>> +        regulators {
>>>>>> +            vreg_pmu_rfa_cmn: ldo0 {
>>>>>> +                regulator-name = "vreg_pmu_rfa_cmn";
>>>>>> +            };
>>>>>> +
>>>>>> +            vreg_pmu_aon_0p59: ldo1 {
>>>>>> +                regulator-name = "vreg_pmu_aon_0p59";
>>>>>> +            };
>>>>>> +
>>>>>> +            vreg_pmu_wlcx_0p8: ldo2 {
>>>>>> +                regulator-name = "vreg_pmu_wlcx_0p8";
>>>>>> +            };
>>>>>> +
>>>>>> +            vreg_pmu_wlmx_0p85: ldo3 {
>>>>>> +                regulator-name = "vreg_pmu_wlmx_0p85";
>>>>>> +            };
>>>>>> +
>>>>>> +            vreg_pmu_btcmx_0p85: ldo4 {
>>>>>> +                regulator-name = "vreg_pmu_btcmx_0p85";
>>>>>> +            };
>>>>>> +
>>>>>> +            vreg_pmu_rfa_0p8: ldo5 {
>>>>>> +                regulator-name = "vreg_pmu_rfa_0p8";
>>>>>> +            };
>>>>>> +
>>>>>> +            vreg_pmu_rfa_1p2: ldo6 {
>>>>>> +                regulator-name = "vreg_pmu_rfa_1p2";
>>>>>> +            };
>>>>>> +
>>>>>> +            vreg_pmu_rfa_1p7: ldo7 {
>>>>>> +                regulator-name = "vreg_pmu_rfa_1p7";
>>>>>> +            };
>>>>>> +
>>>>>> +            vreg_pmu_pcie_0p9: ldo8 {
>>>>>> +                regulator-name = "vreg_pmu_pcie_0p9";
>>>>>> +            };
>>>>>> +
>>>>>> +            vreg_pmu_pcie_1p8: ldo9 {
>>>>>> +                regulator-name = "vreg_pmu_pcie_1p8";
>>>>>> +            };
>>>>>> +        };
>>>>>> +    };
>>>>>> +
>>>>>> +    wifi_1p8v: regulator-wifi-1p8v {
>>>>>> +        compatible = "regulator-fixed";
>>>>>> +        regulator-name = "wifi_1p8v";
>>>>>> +        regulator-min-microvolt = <1800000>;
>>>>>> +        regulator-max-microvolt = <1800000>;
>>>>>> +        gpio = <&tlmm 91 GPIO_ACTIVE_HIGH>;
>>>>> Please check this pin number
>>>>>> +        enable-active-high;
>>>>>> +        pinctrl-0 = <&wifi_reg_en_pins_state>;
>>>>>> +        pinctrl-names = "default";
>>>>>> +        regulator-boot-on;
>>>>>> +        regulator-always-on;
>>>>>> +    };
>>>>>> +
>>>>>> +    wifi_3p85v: regulator-wifi-3p85v {
>>>>>> +        compatible = "regulator-fixed";
>>>>>> +        regulator-name = "wifi_3p85v";
>>>>>> +        regulator-min-microvolt = <3850000>;
>>>>>> +        regulator-max-microvolt = <3850000>;
>>>>>> +        gpio = <&tlmm 91 GPIO_ACTIVE_HIGH>;
>>>>> Please check this pin number
>>>>>> +        enable-active-high;
>>>>>> +        pinctrl-0 = <&wifi_reg_en_pins_state>;
>>>>>> +        pinctrl-names = "default";
>>>>>> +        regulator-boot-on;
>>>>>> +        regulator-always-on;
>>>>>> +    };
>>>>>> +};
>>>>>
>>>>> Are these two node necessary?
>>>>>
>>>>
>>>> On this board, GPIO91 is wired as a common enable for both WiFi 
>>>> power rails: WiFi 1.8V and WiFi 3.85V.
>>>> I currently modeled them as two regulator-fixed nodes because these 
>>>> are two distinct rails.
>>>> Would you prefer modelling a single regulator node that controls the 
>>>> shared GPIO as below:
>>>>
>>>> wifi_en: regulator-wifi-en {
>>>>     compatible = "regulator-fixed";
>>>>     regulator-name = "wifi_en";
>>>>     gpio = <&tlmm 91 GPIO_ACTIVE_HIGH>;
>>>>     enable-active-high;
>>>>     pinctrl-0 = <&wifi_reg_en_pins_state>;
>>>>     pinctrl-names = "default";
>>>>     regulator-boot-on;
>>>>     regulator-always-on;
>>>> };
>>>
>>> What is the voltage of this regulator? What does it represent? What
>>> should be represented in the DT?
>>>
>>> BTW: what is powered on by those regulators? I don't see them being
>>> wired to the PMU.
>>>
>>
>> There are two separate TPS62130RGTR regulator ICs on the board:
>> One provides 1.8V and Another provides 3.85V.
>>
>> Both regulators use the same enable signal (SOC_GPIO_91_S4A_1P8 - 
>> GPIO91), which connects to their EN pins. 
>> When GPIO91 goes high, both regulators switch on at the same 
>> time.
> 
> And gpiolib-shared.c should be able to support that.
> 
>>
>> I described them as two separate regulator-fixed nodes since they 
>> are different chips with different voltages.
> 
> okay.
> 
>>
>> As an alternative, I suggested representing them as a single node 
>> (based on the review comment from Qian Zhang) if you only want to 
>> show the shared GPIO enable control instead of the individual 
>> voltage rails.
> 
> Why do you need an alternative?
> 
>>
>> In AF68E module, 3.85V regulator powers VDD_PA_5G and 1.8V regulator
>> powers VDD_PA_2G.
> 
> Do they power up the WCN6855 itself or some external PA present on the
> module? In the former case, those regulators should be consumed by the
> PMU, in the latter case, by the WiFi node. Anyway, they should not be
> left as always-on / boot-on.
> 

On this board, the GPIO-controlled regulators power the WCN6855 
WiFi module itself (not an external PA). To model this correctly, 
I updated the device tree like this:
 
a) I added a single upstream fixed regulator, wifi_vin, which 
   represents the GPIO enable line (tlmm 91). This is the only node 
   marked always-on, so the enable GPIO stays asserted.
b) The downstream rails wifi_1p8v and wifi_3p85v are now defined as 
   fixed regulators that depend on wifi_vin using vin-supply. They 
   no longer control the GPIO directly.
c) These two rails are then explicitly connected as supplies to the 
   WiFi device node (wifi@0) using:
     1. vddpaa-supply = <&wifi_3p85v>;
     2. vddpab-supply = <&wifi_1p8v>;

With this change, the regulators are not left as generic always-on/
boot-on supplies without a consumer. Instead, the WiFi device node 
consumes the rails, which matches the real hardware wiring: the GPIO 
enables power to the WCN6855 rails.

Please find the updated changes below - could you please confirm 
whether this aligns with your expectations?

diff --git a/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi b/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
index 95ed335bcb08..f37159af2375 100644
--- a/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
+++ b/arch/arm64/boot/dts/qcom/talos-evk-som.dtsi
@@ -146,29 +146,41 @@ vreg_pmu_pcie_1p8: ldo9 {
                };
        };

-       wifi_1p8v: regulator-wifi-1p8v {
+       /* Downstream rails controlled by the same GPIO */
+       wifi_1p8v: regulator-1p8v {
                compatible = "regulator-fixed";
+
                regulator-name = "wifi_1p8v";
                regulator-min-microvolt = <1800000>;
                regulator-max-microvolt = <1800000>;
-               gpio = <&tlmm 91 GPIO_ACTIVE_HIGH>;
-               enable-active-high;
-               pinctrl-0 = <&wifi_reg_en_pins_state>;
-               pinctrl-names = "default";
-               regulator-boot-on;
-               regulator-always-on;
+
+               vin-supply = <&wifi_vin>;
        };

-       wifi_3p85v: regulator-wifi-3p85v {
+       wifi_3p85v: regulator-3p85v {
                compatible = "regulator-fixed";
+
                regulator-name = "wifi_3p85v";
                regulator-min-microvolt = <3850000>;
                regulator-max-microvolt = <3850000>;
-               gpio = <&tlmm 91 GPIO_ACTIVE_HIGH>;
+
+               vin-supply = <&wifi_vin>;
+       };
+
+       /* Upstream supply */
+       wifi_vin: regulator-wifi-en {
+               compatible = "regulator-fixed";
+
+               regulator-name = "wifi_vin";
+               regulator-min-microvolt = <3850000>;
+               regulator-max-microvolt = <3850000>;
+
                enable-active-high;
+               gpio = <&tlmm 91 GPIO_ACTIVE_HIGH>;
+
                pinctrl-0 = <&wifi_reg_en_pins_state>;
                pinctrl-names = "default";
-               regulator-boot-on;
+
                regulator-always-on;
        };
 };
@@ -413,6 +425,9 @@ wifi@0 {
                vddrfa1p8-supply = <&vreg_pmu_rfa_1p7>;
                vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
                vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
+               vddpaa-supply = <&wifi_3p85v>;
+               vddpab-supply = <&wifi_1p8v>;
+
        };
 };





Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ