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] [thread-next>] [day] [month] [year] [list]
Message-ID: <3b0ff070-609d-4ee4-8cbb-f110d74940c5@oss.qualcomm.com>
Date: Mon, 29 Sep 2025 11:24:24 +0800
From: Jingyi Wang <jingyi.wang@....qualcomm.com>
To: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
Cc: Bjorn Andersson <andersson@...nel.org>,
        Konrad Dybcio <konradybcio@...nel.org>, Rob Herring <robh@...nel.org>,
        Krzysztof Kozlowski <krzk+dt@...nel.org>,
        Conor Dooley
 <conor+dt@...nel.org>, linux-arm-msm@...r.kernel.org,
        devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
        aiqun.yu@....qualcomm.com, tingwei.zhang@....qualcomm.com,
        trilok.soni@....qualcomm.com, yijie.yang@....qualcomm.com
Subject: Re: [PATCH 14/20] arm64: dts: qcom: kaanapali-mtp: Enable more
 features



On 9/25/2025 10:09 AM, Dmitry Baryshkov wrote:
> On Wed, Sep 24, 2025 at 05:17:31PM -0700, Jingyi Wang wrote:
>> Enable more features on Kaanapali MTP boards including PMIC peripherals,
>> bus, SDHCI, remoteprocs, USB, PCIE, WLAN and Bluetooth.
>>
>> Written with help from Jyothi Kumar Seerapu(added bus), Ronak Raheja
>> (added USB), Manish Pandey(added SDHCI), Jishnu Prakash(added PMIC),
>> Qiang Yu(added PCIE), Yijie Yang(Added WLAN) and Zijun Hu(Added Bluetooth).
>>
>> Signed-off-by: Jingyi Wang <jingyi.wang@....qualcomm.com>
>> ---
>>  arch/arm64/boot/dts/qcom/kaanapali-mtp.dts | 663 +++++++++++++++++++++++++++++
>>  1 file changed, 663 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts b/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
>> index 9cf3158e2712..2949579481a9 100644
>> --- a/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
>> +++ b/arch/arm64/boot/dts/qcom/kaanapali-mtp.dts
>> @@ -5,9 +5,23 @@
>>  
>>  /dts-v1/;
>>  
>> +#include <dt-bindings/gpio/gpio.h>
>> +#include <dt-bindings/input/linux-event-codes.h>
>> +#include <dt-bindings/leds/common.h>
>>  #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
>>  #include "kaanapali.dtsi"
>>  
>> +#define PMH0110_D_E0_SID 3
>> +#define PMH0110_F_E0_SID 5
>> +#define PMH0110_G_E0_SID 6
>> +#define PMH0110_I_E0_SID 8
>> +#define PMH0104_J_E1_SID 9
>> +
>> +#include "pmk8850.dtsi"
>> +#include "pmh0101.dtsi"
>> +#include "pmh0110.dtsi"
>> +#include "pmh0104.dtsi"
>> +
>>  / {
>>  	model = "Qualcomm Technologies, Inc. Kaanapali MTP";
>>  	compatible = "qcom,kaanapali-mtp", "qcom,kaanapali";
>> @@ -15,6 +29,7 @@ / {
>>  
>>  	aliases {
>>  		serial0 = &uart7;
>> +		serial1 = &uart18;
>>  	};
>>  
>>  	chosen {
>> @@ -52,6 +67,304 @@ bi_tcxo_ao_div2: bi-tcxo-ao-div2-clk {
>>  			clock-div = <2>;
>>  		};
>>  	};
>> +
>> +	gpio-keys {
>> +		compatible = "gpio-keys";
>> +
>> +		pinctrl-0 = <&key_vol_up_default>;
>> +		pinctrl-names = "default";
>> +
>> +		key-volume-up {
>> +			label = "Volume Up";
>> +			linux,code = <KEY_VOLUMEUP>;
>> +			gpios = <&tlmm 101 GPIO_ACTIVE_LOW>;
>> +			debounce-interval = <15>;
>> +			linux,can-disable;
>> +			wakeup-source;
>> +		};
>> +	};
>> +
>> +	thermal-zones {
>> +		pmh0101-thermal {
>> +			polling-delay-passive = <100>;
>> +
>> +			thermal-sensors = <&pmh0101_temp_alarm>;
>> +
>> +			trips {
>> +				trip0 {
>> +					temperature = <95000>;
>> +					hysteresis = <0>;
>> +					type = "passive";
>> +				};
>> +
>> +				trip1 {
>> +					temperature = <115000>;
>> +					hysteresis = <0>;
>> +					type = "hot";
>> +				};
>> +			};
>> +		};
>> +
>> +		pmh0104-thermal {
>> +			polling-delay-passive = <100>;
>> +
>> +			thermal-sensors = <&pmh0104_j_e1_temp_alarm>;
>> +
>> +			trips {
>> +				trip0 {
>> +					temperature = <95000>;
>> +					hysteresis = <0>;
>> +					type = "passive";
>> +				};
>> +
>> +				trip1 {
>> +					temperature = <115000>;
>> +					hysteresis = <0>;
>> +					type = "hot";
>> +				};
>> +			};
>> +		};
>> +
>> +		pmh0110-d-thermal {
>> +			polling-delay-passive = <100>;
>> +
>> +			thermal-sensors = <&pmh0110_d_e0_temp_alarm>;
>> +
>> +			trips {
>> +				trip0 {
>> +					temperature = <95000>;
>> +					hysteresis = <0>;
>> +					type = "passive";
>> +				};
>> +
>> +				trip1 {
>> +					temperature = <115000>;
>> +					hysteresis = <0>;
>> +					type = "hot";
>> +				};
>> +			};
>> +		};
>> +
>> +		pmh0110-f-thermal {
>> +			polling-delay-passive = <100>;
>> +
>> +			thermal-sensors = <&pmh0110_f_e0_temp_alarm>;
>> +
>> +			trips {
>> +				trip0 {
>> +					temperature = <95000>;
>> +					hysteresis = <0>;
>> +					type = "passive";
>> +				};
>> +
>> +				trip1 {
>> +					temperature = <115000>;
>> +					hysteresis = <0>;
>> +					type = "hot";
>> +				};
>> +			};
>> +		};
>> +
>> +		pmh0110-g-thermal {
>> +			polling-delay-passive = <100>;
>> +
>> +			thermal-sensors = <&pmh0110_g_e0_temp_alarm>;
>> +
>> +			trips {
>> +				trip0 {
>> +					temperature = <95000>;
>> +					hysteresis = <0>;
>> +					type = "passive";
>> +				};
>> +
>> +				trip1 {
>> +					temperature = <115000>;
>> +					hysteresis = <0>;
>> +					type = "hot";
>> +				};
>> +			};
>> +		};
>> +
>> +		pmh0110-i-thermal {
>> +			polling-delay-passive = <100>;
>> +
>> +			thermal-sensors = <&pmh0110_i_e0_temp_alarm>;
>> +
>> +			trips {
>> +				trip0 {
>> +					temperature = <95000>;
>> +					hysteresis = <0>;
>> +					type = "passive";
>> +				};
>> +
>> +				trip1 {
>> +					temperature = <115000>;
>> +					hysteresis = <0>;
>> +					type = "hot";
>> +				};
>> +			};
>> +		};
>> +
>> +		pmd8028-thermal {
>> +			polling-delay-passive = <100>;
>> +			thermal-sensors = <&pmd8028_temp_alarm>;
>> +
>> +			trips {
>> +				pmd8028_trip0: trip0 {
>> +					temperature = <95000>;
>> +					hysteresis = <0>;
>> +					type = "passive";
>> +				};
>> +
>> +				pmd8028_trip1: trip1 {
>> +					temperature = <115000>;
>> +					hysteresis = <0>;
>> +					type = "hot";
>> +				};
>> +			};
>> +		};
>> +
>> +		pmih0108-thermal {
>> +			polling-delay-passive = <100>;
>> +			thermal-sensors = <&pmih0108_temp_alarm>;
>> +
>> +			trips {
>> +				trip0 {
>> +					temperature = <95000>;
>> +					hysteresis = <0>;
>> +					type = "passive";
>> +				};
>> +
>> +				trip1 {
>> +					temperature = <115000>;
>> +					hysteresis = <0>;
>> +					type = "hot";
>> +				};
>> +			};
>> +		};
>> +
>> +		pmr735d-thermal {
>> +			polling-delay-passive = <100>;
>> +
>> +			thermal-sensors = <&pmr735d_temp_alarm>;
>> +
>> +			trips {
>> +				trip0 {
>> +					temperature = <95000>;
>> +					hysteresis = <0>;
>> +					type = "passive";
>> +				};
>> +
>> +				trip1 {
>> +					temperature = <115000>;
>> +					hysteresis = <0>;
>> +					type = "hot";
>> +				};
>> +			};
>> +		};
>> +
>> +		pm8010-m-thermal {
>> +			polling-delay-passive = <100>;
>> +
>> +			thermal-sensors = <&pm8010_m_temp_alarm>;
>> +
>> +			trips {
>> +				trip0 {
>> +					temperature = <95000>;
>> +					hysteresis = <0>;
>> +					type = "passive";
>> +				};
>> +
>> +				trip1 {
>> +					temperature = <115000>;
>> +					hysteresis = <0>;
>> +					type = "hot";
>> +				};
>> +			};
>> +		};
>> +
>> +		pm8010-n-thermal {
>> +			polling-delay-passive = <100>;
>> +
>> +			thermal-sensors = <&pm8010_n_temp_alarm>;
>> +
>> +			trips {
>> +				trip0 {
>> +					temperature = <95000>;
>> +					hysteresis = <0>;
>> +					type = "passive";
>> +				};
>> +
>> +				trip1 {
>> +					temperature = <115000>;
>> +					hysteresis = <0>;
>> +					type = "hot";
>> +				};
>> +			};
>> +		};
>> +	};
>> +
>> +	wcn7850-pmu {
>> +		compatible = "qcom,wcn7850-pmu";
>> +
>> +		pinctrl-0 = <&bt_default>, <&sw_ctrl_default>, <&wlan_en>;
>> +		pinctrl-names = "default";
>> +
>> +		bt-enable-gpios = <&pmh0104_j_e1_gpios 5 GPIO_ACTIVE_HIGH>;
>> +		wlan-enable-gpios = <&tlmm 16 GPIO_ACTIVE_HIGH>;
>> +
>> +		vdd-supply = <&vreg_s2j_0p8>;
>> +		vddio-supply = <&vreg_l2g_1p8>;
>> +		vddio1p2-supply = <&vreg_l3g_1p2>;
>> +		vddaon-supply = <&vreg_s7g_0p9>;
>> +		vdddig-supply = <&vreg_s1j_0p8>;
>> +		vddrfa1p2-supply = <&vreg_s7f_1p2>;
>> +		vddrfa1p8-supply = <&vreg_s8f_1p8>;
>> +
>> +		clocks = <&rpmhcc RPMH_RF_CLK1>;
>> +
>> +		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_1p8: ldo7 {
>> +				regulator-name = "vreg_pmu_rfa_1p8";
>> +			};
>> +
>> +			vreg_pmu_pcie_0p9: ldo8 {
>> +				regulator-name = "vreg_pmu_pcie_0p9";
>> +			};
>> +
>> +			vreg_pmu_pcie_1p8: ldo9 {
>> +				regulator-name = "vreg_pmu_pcie_1p8";
>> +			};
>> +		};
>> +	};
>>  };
>>  
>>  &apps_rsc {
>> @@ -674,6 +987,304 @@ vreg_l7n_3p3: ldo7 {
>>  	};
>>  };
>>  
>> +&pmh0110_d_e0 {
>> +	status = "okay";
>> +};
>> +
>> +&pmh0110_f_e0 {
>> +	status = "okay";
>> +};
>> +
>> +&pmh0110_g_e0 {
>> +	status = "okay";
>> +};
>> +
>> +&pmh0110_i_e0 {
>> +	status = "okay";
>> +};
>> +
>> +&spmi_bus1 {
>> +	pmd8028: pmic@4 {
>> +		compatible = "qcom,pmd8028", "qcom,spmi-pmic";
>> +		reg = <0x4 SPMI_USID>;
>> +		#address-cells = <1>;
>> +		#size-cells = <0>;
>> +
>> +		pmd8028_temp_alarm: temp-alarm@a00 {
>> +			compatible = "qcom,spmi-temp-alarm";
>> +			reg = <0xa00>;
>> +			interrupts = <0x4 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
>> +			#thermal-sensor-cells = <0>;
>> +		};
>> +
>> +		pmd8028_gpios: gpio@...0 {
>> +			compatible = "qcom,pmd8028-gpio", "qcom,spmi-gpio";
>> +			reg = <0x8800>;
>> +			gpio-controller;
>> +			gpio-ranges = <&pmd8028_gpios 0 0 4>;
>> +			#gpio-cells = <2>;
>> +			interrupt-controller;
>> +			#interrupt-cells = <2>;
>> +		};
>> +	};
>> +
>> +	pmih0108: pmic@7 {
>> +		compatible = "qcom,pmih0108", "qcom,spmi-pmic";
>> +		reg = <0x7 SPMI_USID>;
>> +		#address-cells = <1>;
>> +		#size-cells = <0>;
>> +
>> +		pmih0108_temp_alarm: temp-alarm@a00 {
>> +			compatible = "qcom,spmi-temp-alarm";
>> +			reg = <0xa00>;
>> +			interrupts = <0x7 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
>> +			#thermal-sensor-cells = <0>;
>> +		};
>> +
>> +		pmih0108_gpios: gpio@...0 {
>> +			compatible = "qcom,pmih0108-gpio", "qcom,spmi-gpio";
>> +			reg = <0x8800>;
>> +			gpio-controller;
>> +			gpio-ranges = <&pmih0108_gpios 0 0 18>;
>> +			#gpio-cells = <2>;
>> +			interrupt-controller;
>> +			#interrupt-cells = <2>;
>> +		};
>> +
>> +		pmih0108_eusb2_repeater: phy@...0 {
>> +			compatible = "qcom,pm8550b-eusb2-repeater";
>> +			reg = <0xfd00>;
>> +			#phy-cells = <0>;
>> +			vdd18-supply = <&vreg_l15b_1p8>;
>> +			vdd3-supply = <&vreg_l5b_3p1>;
>> +		};
>> +	};
>> +
>> +	pmr735d: pmic@a {
>> +		compatible = "qcom,pmr735d", "qcom,spmi-pmic";
>> +		reg = <0xa SPMI_USID>;
>> +		#address-cells = <1>;
>> +		#size-cells = <0>;
>> +
>> +		pmr735d_temp_alarm: temp-alarm@a00 {
>> +			compatible = "qcom,spmi-temp-alarm";
>> +			reg = <0xa00>;
>> +			interrupts = <0xa 0xa 0x0 IRQ_TYPE_EDGE_BOTH>;
>> +			#thermal-sensor-cells = <0>;
>> +		};
>> +
>> +		pmr735d_gpios: gpio@...0 {
>> +			compatible = "qcom,pmr735d-gpio", "qcom,spmi-gpio";
>> +			reg = <0x8800>;
>> +			gpio-controller;
>> +			gpio-ranges = <&pmr735d_gpios 0 0 2>;
>> +			#gpio-cells = <2>;
>> +			interrupt-controller;
>> +			#interrupt-cells = <2>;
>> +		};
>> +	};
>> +
>> +	pm8010_m: pmic@c {
>> +		compatible = "qcom,pm8010", "qcom,spmi-pmic";
>> +		reg = <0xc SPMI_USID>;
>> +		#address-cells = <1>;
>> +		#size-cells = <0>;
>> +
>> +		pm8010_m_temp_alarm: temp-alarm@...0 {
>> +			compatible = "qcom,spmi-temp-alarm";
>> +			reg = <0x2400>;
>> +			interrupts = <0xc 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
>> +			#thermal-sensor-cells = <0>;
>> +		};
>> +	};
>> +
>> +	pm8010_n: pmic@d {
>> +		compatible = "qcom,pm8010", "qcom,spmi-pmic";
>> +		reg = <0xd SPMI_USID>;
>> +		#address-cells = <1>;
>> +		#size-cells = <0>;
>> +
>> +		pm8010_n_temp_alarm: temp-alarm@...0 {
>> +			compatible = "qcom,spmi-temp-alarm";
>> +			reg = <0x2400>;
>> +			interrupts = <0xd 0x24 0x0 IRQ_TYPE_EDGE_BOTH>;
>> +			#thermal-sensor-cells = <0>;
>> +		};
>> +	};
>> +};
>> +
>> +&pmh0101_flash {
> 
> spmi > pmh0101_flash
> 

will fix

>> +	status = "okay";
>> +
>> +	led-0 {
>> +		function = LED_FUNCTION_FLASH;
>> +		function-enumerator = <0>;
>> +		color = <LED_COLOR_ID_YELLOW>;
>> +		led-sources = <1>, <4>;
>> +		led-max-microamp = <500000>;
>> +		flash-max-microamp = <2000000>;
>> +		flash-max-timeout-us = <1280000>;
>> +	};
>> +
>> +	led-1 {
>> +		function = LED_FUNCTION_FLASH;
>> +		function-enumerator = <1>;
>> +		color = <LED_COLOR_ID_WHITE>;
>> +		led-sources = <2>, <3>;
>> +		led-max-microamp = <500000>;
>> +		flash-max-microamp = <2000000>;
>> +		flash-max-timeout-us = <1280000>;
>> +	};
>> +};
>> +
>> +&pmh0101_pwm {
>> +	status = "okay";
>> +
>> +	multi-led {
>> +		color = <LED_COLOR_ID_RGB>;
>> +		function = LED_FUNCTION_STATUS;
>> +
>> +		#address-cells = <1>;
>> +		#size-cells = <0>;
>> +
>> +		led@1 {
>> +			reg = <1>;
>> +			color = <LED_COLOR_ID_RED>;
>> +		};
>> +
>> +		led@2 {
>> +			reg = <2>;
>> +			color = <LED_COLOR_ID_GREEN>;
>> +		};
>> +
>> +		led@3 {
>> +			reg = <3>;
>> +			color = <LED_COLOR_ID_BLUE>;
>> +		};
>> +	};
>> +};
>> +
>> +&tlmm {
>> +	wlan_en: wlan-en-state {
>> +		pins = "gpio16";
>> +		function = "gpio";
>> +		drive-strength = <8>;
>> +		bias-pull-down;
>> +	};
> 
> Why are the TLMM pin entries sorted?
> 
>> +
>> +	sw_ctrl_default: sw-ctrl-default-state {
>> +		pins = "gpio18";
>> +		function = "gpio";
>> +		bias-pull-down;
>> +	};
>> +
>> +	key_vol_up_default: key-vol-up-default-state {
>> +		pins = "gpio101";
>> +		function = "gpio";
>> +		output-disable;
>> +		bias-pull-up;
>> +	};
>> +
>> +	pcie0_default_state: pcie0-default-state {
>> +		clkreq-n-pins {
>> +			pins = "gpio103";
>> +			function = "pcie0_clk_req_n";
>> +			drive-strength = <2>;
>> +			bias-pull-up;
>> +		};
>> +
>> +		perst-n-pins {
>> +			pins = "gpio102";
>> +			function = "gpio";
>> +			drive-strength = <2>;
>> +			bias-disable;
>> +		};
>> +
>> +		wake-n-pins {
>> +			pins = "gpio104";
>> +			function = "gpio";
>> +			drive-strength = <2>;
>> +			bias-pull-up;
>> +		};
>> +	};
>> +};
>> +
>> +&pcie0 {
> 
> This is also in the wrong place. Please keep the nodes sorted.
> 

will fix

>> +	pinctrl-0 = <&pcie0_default_state>;
>> +	pinctrl-names = "default";
>> +
>> +	status = "okay";
>> +};
>> +
>> +&pcie0_phy {
>> +	vdda-phy-supply = <&vreg_l3i_0p8>;
>> +	vdda-pll-supply = <&vreg_l1d_1p2>;
>> +
>> +	status = "okay";
>> +};
>> +
>> @@ -702,3 +1343,25 @@ &ufs_mem_phy {
>>  
>>  	status = "okay";
>>  };
>> +
>> +&usb_1 {
>> +	dr_mode = "peripheral";
> 
> Is it really peripheral-only?
> 
>> +
>> +	status = "okay";
>> +};
>> +
>> +&usb_1_hsphy {
>> +	vdd-supply = <&vreg_l4f_0p8>;
>> +	vdda12-supply = <&vreg_l1d_1p2>;
>> +
>> +	phys = <&pmih0108_eusb2_repeater>;
>> +
>> +	status = "okay";
>> +};
>> +
>> +&usb_dp_qmpphy {
>> +	vdda-phy-supply = <&vreg_l1d_1p2>;
>> +	vdda-pll-supply = <&vreg_l4f_0p8>;
>> +
>> +	status = "okay";
>> +};
>>
>> -- 
>> 2.25.1
>>
> 
Thanks,
Jingyi

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ