From: Hongyang Zhao <hongyang.zhao@thundersoft.com>
To: dmitry.baryshkov@oss.qualcomm.com
Cc: andersson@kernel.org, casey.connolly@linaro.org,
christopher.obbard@linaro.org, hongyang.zhao@thundersoft.com,
linux-arm-msm@vger.kernel.org, loic.minier@oss.qualcomm.com,
rosh@debian.org
Subject: Re: [PATCH v5 1/2] arm64: dts: qcom: rubikpi3: Add qcs6490-rubikpi3 board dts
Date: Fri, 31 Oct 2025 17:27:27 +0800 [thread overview]
Message-ID: <20251031092727.656939-1-hongyang.zhao@thundersoft.com> (raw)
In-Reply-To: <4krvjztwy56ycnbrynz2ok4hs2vwehdg4ta7rdueccgn3hgvqp@sgxqw4pvoq3j>
> On Sat, Oct 25, 2025 at 08:27:22PM +0800, Hongyang Zhao wrote:
> > Add DTS for Thundercomm qcs6490-rubikpi3 board which uses
> > QCS6490 SoC.
> >
> > Works:
> > - Bluetooth (AP6256)
> > - Wi-Fi (AP6256)
> > - Ethernet (AX88179B connected to UPD720201)
> > - FAN
> > - Two USB Type-A 3.0 ports (UPD720201 connected to PCIe0)
> > - M.2 M-Key 2280 PCIe 3.0
> > - RTC
> > - USB Type-C
> > - USB Type-A 2.0 port
> > - 40PIN: I2C x1, UART x1
> >
> > Signed-off-by: Hongyang Zhao <hongyang.zhao@thundersoft.com>
> > Reviewed-by: Roger Shimizu <rosh@debian.org>
> > Cc: Casey Connolly <casey.connolly@linaro.org>
> > Cc: Christopher Obbard <christopher.obbard@linaro.org>
> > Cc: Loic Minier <loic.minier@oss.qualcomm.com>
> > ---
> > arch/arm64/boot/dts/qcom/Makefile | 1 +
> > .../dts/qcom/qcs6490-thundercomm-rubikpi3.dts | 1390 +++++++++++++++++
> > 2 files changed, 1391 insertions(+)
> > create mode 100644 arch/arm64/boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts
> >
> > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> > index 296688f7cb26..74938791f62d 100644
> > --- a/arch/arm64/boot/dts/qcom/Makefile
> > +++ b/arch/arm64/boot/dts/qcom/Makefile
> > @@ -133,6 +133,7 @@ qcs6490-rb3gen2-industrial-mezzanine-dtbs := qcs6490-rb3gen2.dtb qcs6490-rb3gen2
> >
> > dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2-industrial-mezzanine.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += qcs6490-rb3gen2-vision-mezzanine.dtb
> > +dtb-$(CONFIG_ARCH_QCOM) += qcs6490-thundercomm-rubikpi3.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += qcs8300-ride.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += qcs8550-aim300-aiot.dtb
> > dtb-$(CONFIG_ARCH_QCOM) += qcs9100-ride.dtb
> > diff --git a/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts b/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts
> > new file mode 100644
> > index 000000000000..e08c2afbf849
> > --- /dev/null
> > +++ b/arch/arm64/boot/dts/qcom/qcs6490-thundercomm-rubikpi3.dts
> > @@ -0,0 +1,1390 @@
> > +// SPDX-License-Identifier: BSD-3-Clause
> > +/*
> > + * Copyright (c) 2025, Thundercomm All rights reserved.
> > + */
> > +
> > +/dts-v1/;
> > +
> > +/* PM7250B is configured to use SID8/9 */
> > +#define PM7250B_SID 8
> > +#define PM7250B_SID1 9
> > +
> > +#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h>
> > +#include <dt-bindings/iio/qcom,spmi-adc7-pm7325.h>
> > +#include <dt-bindings/leds/common.h>
> > +#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
> > +#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> > +#include "sc7280.dtsi"
> > +#include "pm7250b.dtsi"
> > +#include "pm7325.dtsi"
> > +#include "pm8350c.dtsi"
> > +#include "pmk8350.dtsi"
> > +
> > +/delete-node/ &adsp_mem;
> > +/delete-node/ &cdsp_mem;
> > +/delete-node/ &ipa_fw_mem;
> > +/delete-node/ &mpss_mem;
> > +/delete-node/ &remoteproc_mpss;
> > +/delete-node/ &remoteproc_wpss;
> > +/delete-node/ &rmtfs_mem;
> > +/delete-node/ &video_mem;
> > +/delete-node/ &wifi;
> > +/delete-node/ &wlan_ce_mem;
> > +/delete-node/ &wlan_fw_mem;
> > +/delete-node/ &wpss_mem;
> > +/delete-node/ &xbl_mem;
> > +
> > +/ {
> > + model = "Thundercomm RUBIK Pi 3";
> > + compatible = "thundercomm,rubikpi3", "qcom,qcm6490";
> > +
> > + chassis-type = "embedded";
> > +
> > + aliases {
> > + serial0 = &uart5;
> > + };
> > +
> > + chosen {
> > + stdout-path = "serial0:115200n8";
> > + };
> > +
> > + fan0: pwm-fan {
>
> 'pwm' > 'gpio'
>
Understood, I will move "fan0: pwm-fan" between pmic-glink and reserved-memory.
> > + compatible = "pwm-fan";
> > + /* cooling level (0, 1, 2, 3) : (0% duty, 25% duty, 50% duty, 100% duty) */
> > + cooling-levels = <0 64 128 255>;
> > + #cooling-cells = <2>;
> > + pwms = <&pm8350c_pwm 3 1000000>;
> > + pinctrl-0 = <&fan_pwm_out_default>;
> > + pinctrl-names = "default";
> > + };
> > +
> > + gpio-keys {
> > + compatible = "gpio-keys";
> > +
> > + pinctrl-0 = <&kypd_vol_up_n>;
> > + pinctrl-names = "default";
> > +
> > + key-volume-up {
> > + label = "Volume Up";
> > + gpios = <&pm7325_gpios 6 GPIO_ACTIVE_LOW>;
> > + linux,code = <KEY_VOLUMEUP>;
> > + linux,can-disable;
> > + };
> > + };
> > +
> > + hdmi-connector {
> > + compatible = "hdmi-connector";
> > + type = "a";
> > +
> > + port {
> > + hdmi_con: endpoint {
> > + remote-endpoint = <<9611_out>;
> > + };
> > + };
> > + };
> > +
> > + pmic-glink {
> > + compatible = "qcom,qcm6490-pmic-glink", "qcom,pmic-glink";
> > +
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > + orientation-gpios = <&tlmm 140 GPIO_ACTIVE_HIGH>;
> > +
> > + connector@0 {
> > + compatible = "usb-c-connector";
> > + reg = <0>;
> > + power-role = "dual";
> > + data-role = "dual";
> > +
> > + ports {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + port@0 {
> > + reg = <0>;
> > +
> > + pmic_glink_hs_in: endpoint {
> > + remote-endpoint = <&usb_1_dwc3_hs>;
> > + };
> > + };
> > +
> > + port@1 {
> > + reg = <1>;
> > +
> > + pmic_glink_ss_in: endpoint {
> > + remote-endpoint = <&usb_dp_qmpphy_out>;
> > + };
> > + };
> > +
> > + port@2 {
> > + reg = <2>;
> > +
> > + pmic_glink_sbu_in: endpoint {
> > + remote-endpoint = <&usb1_sbu_mux>;
> > + };
> > + };
> > + };
> > + };
> > + };
> > +
> > + reserved-memory {
> > + xbl_mem: xbl@80700000 {
> > + reg = <0x0 0x80700000 0x0 0x100000>;
> > + no-map;
> > + };
> > +
> > + cdsp_secure_heap_mem: cdsp-secure-heap@81800000 {
> > + reg = <0x0 0x81800000 0x0 0x1e00000>;
> > + no-map;
> > + };
> > +
> > + camera_mem: camera@84300000 {
> > + reg = <0x0 0x84300000 0x0 0x500000>;
> > + no-map;
> > + };
> > +
> > + adsp_mem: adsp@86100000 {
> > + reg = <0x0 0x86100000 0x0 0x2800000>;
> > + no-map;
> > + };
> > +
> > + cdsp_mem: cdsp@88900000 {
> > + reg = <0x0 0x88900000 0x0 0x1e00000>;
> > + no-map;
> > + };
> > +
> > + video_mem: video@8a700000 {
> > + reg = <0x0 0x8a700000 0x0 0x700000>;
> > + no-map;
> > + };
> > +
> > + cvp_mem: cvp@8ae00000 {
> > + reg = <0x0 0x8ae00000 0x0 0x500000>;
> > + no-map;
> > + };
> > +
> > + gpu_microcode_mem: gpu-microcode@8b31a000 {
> > + reg = <0x0 0x8b31a000 0x0 0x2000>;
> > + no-map;
> > + };
> > +
> > + tz_stat_mem: tz-stat@c0000000 {
> > + reg = <0x0 0xc0000000 0x0 0x100000>;
> > + no-map;
> > + };
> > +
> > + tags_mem: tags@c0100000 {
> > + reg = <0x0 0xc0100000 0x0 0x1200000>;
> > + no-map;
> > + };
> > +
> > + qtee_mem: qtee@c1300000 {
> > + reg = <0x0 0xc1300000 0x0 0x500000>;
> > + no-map;
> > + };
> > +
> > + trusted_apps_mem: trusted-apps@c1800000 {
> > + reg = <0x0 0xc1800000 0x0 0x1c00000>;
> > + no-map;
> > + };
> > +
> > + debug_vm_mem: debug-vm@d0600000 {
> > + reg = <0x0 0xd0600000 0x0 0x100000>;
> > + no-map;
> > + };
> > + };
> > +
> > + thermal-zones {
> > + xo-thermal {
>
> quiet, sdm, xo.
Understood, I will adjust the order.
>
> > + thermal-sensors = <&pmk8350_adc_tm 0>;
> > +
> > + trips {
> > + active-config0 {
> > + temperature = <125000>;
> > + hysteresis = <1000>;
> > + type = "passive";
> > + };
> > + };
> > + };
> > +
> > + quiet-thermal {
> > + thermal-sensors = <&pmk8350_adc_tm 1>;
> > +
> > + trips {
> > + active-config0 {
> > + temperature = <125000>;
> > + hysteresis = <1000>;
> > + type = "passive";
> > + };
> > + };
> > + };
> > +
> > + sdm-skin-thermal {
> > + thermal-sensors = <&pmk8350_adc_tm 3>;
> > +
> > + trips {
> > + active-config0 {
> > + temperature = <125000>;
> > + hysteresis = <1000>;
> > + type = "passive";
> > + };
> > + };
> > + };
> > + };
> > +
> > + usb1-sbu-mux {
> > + compatible = "pericom,pi3usb102", "gpio-sbu-mux";
> > + enable-gpios = <&tlmm 53 GPIO_ACTIVE_LOW>;
> > + select-gpios = <&tlmm 52 GPIO_ACTIVE_HIGH>;
> > + pinctrl-0 = <&usb1_sbu_default>;
> > + pinctrl-names = "default";
> > + mode-switch;
> > + orientation-switch;
> > +
> > + port {
> > + usb1_sbu_mux: endpoint {
> > + remote-endpoint = <&pmic_glink_sbu_in>;
> > + };
> > + };
> > + };
> > +
> > + vreg_lt9611_3p3: vreg_lt9611_3p3 {
>
> regulator-foo-bar-baz, please. This way VPH PWR doesn't stand out.
Understood, I will check the entire device tree and change:
vreg_lt9611_3v3: regulator-lt9611-3v3
vreg_m2_1v8: regulator-m2-1v8
vreg_sdio_wifi_1v8: regulator-wifi-1v8
...
>
> > + compatible = "regulator-fixed";
> > +
> > + regulator-name = "vreg_lt9611_3p3";
> > + regulator-min-microvolt = <3300000>;
> > + regulator-max-microvolt = <3300000>;
> > +
> > + gpio = <&tlmm 83 GPIO_ACTIVE_HIGH>;
> > + enable-active-high;
> > +
> > + pinctrl-0 = <<9611_vcc_pin>;
> > + pinctrl-names = "default";
> > + };
> > +
> > + vreg_m2_1p8: vreg_m2_1p8 {
> > + compatible = "regulator-fixed";
> > +
> > + regulator-name = "vreg_m2_1p8";
> > + regulator-min-microvolt = <1800000>;
> > + regulator-max-microvolt = <1800000>;
> > + regulator-enable-ramp-delay = <50000>;
> > +
> > + gpio = <&tlmm 56 GPIO_ACTIVE_HIGH>;
> > + enable-active-high;
> > +
> > + pinctrl-0 = <&m2_vcc_pin>;
> > + pinctrl-names = "default";
> > +
> > + regulator-always-on;
> > + regulator-boot-on;
> > + };
> > +
> > + vph_pwr: vph-pwr-regulator {
>
> Otherwise you currently stuffed it in the middle of other regulators,
> although it doesn't belong here.
Understood, I will move vph-pwr-regulator after usb1-sbu-mux.
>
> > + compatible = "regulator-fixed";
> > +
> > + regulator-name = "vph_pwr";
> > + regulator-min-microvolt = <3700000>;
> > + regulator-max-microvolt = <3700000>;
> > + };
> > +
> > + vreg_sdio_wifi_1p8: vreg_sdio_wifi_1p8 {
> > + compatible = "regulator-fixed";
> > +
> > + regulator-name = "vreg_sdio_wifi_1p8";
> > + regulator-min-microvolt = <1800000>;
> > + regulator-max-microvolt = <1800000>;
> > + regulator-enable-ramp-delay = <50000>;
> > +
> > + gpio = <&tlmm 125 GPIO_ACTIVE_HIGH>;
> > + enable-active-high;
> > +
> > + pinctrl-0 = <&wifi_reset_active>,
> > + <&wifi_host_wake>,
> > + <&wifi_power_on>;
> > + pinctrl-names = "default";
> > +
> > + regulator-always-on;
> > + };
> > +
> > + vreg_usbhub_1p8: vreg_usbhub_1p8 {
> > + compatible = "regulator-fixed";
> > +
> > + regulator-name = "vreg_usbhub_1p8";
> > + regulator-min-microvolt = <1800000>;
> > + regulator-max-microvolt = <1800000>;
> > + regulator-enable-ramp-delay = <50000>;
> > +
> > + gpio = <&tlmm 86 GPIO_ACTIVE_HIGH>;
> > + enable-active-high;
> > +
> > + pinctrl-0 = <&usbhub_power>;
> > + pinctrl-names = "default";
> > +
> > + regulator-always-on;
> > + };
> > +
> > + vreg_usb_eth_1p8: vreg_usb_eth_1p8 {
> > + compatible = "regulator-fixed";
> > +
> > + regulator-name = "vreg_usb_eth_1p8";
> > + regulator-min-microvolt = <1800000>;
> > + regulator-max-microvolt = <1800000>;
> > + regulator-enable-ramp-delay = <50000>;
> > +
> > + gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>;
> > + enable-active-high;
> > +
> > + pinctrl-0 = <&usb_eth_power>;
> > + pinctrl-names = "default";
> > +
> > + vin-supply = <&vreg_usbhub_1p8>;
> > + };
> > +
> > + vreg_usbhub_rest: vreg_usbhub_rest {
> > + compatible = "regulator-fixed";
> > +
> > + regulator-name = "vreg_usbhub_rest";
> > + regulator-min-microvolt = <1800000>;
> > + regulator-enable-ramp-delay = <50000>;
> > + regulator-max-microvolt = <1800000>;
> > +
> > + gpio = <&tlmm 136 GPIO_ACTIVE_HIGH>;
> > + enable-active-high;
> > +
> > + pinctrl-0 = <&usbhub_rest>;
> > + pinctrl-names = "default";
> > +
> > + vin-supply = <&vreg_usb_eth_1p8>;
> > +
> > + regulator-always-on;
> > + regulator-boot-on;
> > + };
> > +};
> > +
> > +&apps_rsc {
> > + regulators-0 {
> > + compatible = "qcom,pm7325-rpmh-regulators";
> > + qcom,pmic-id = "b";
> > +
> > + vdd-s1-supply = <&vph_pwr>;
> > + vdd-s2-supply = <&vph_pwr>;
> > + vdd-s3-supply = <&vph_pwr>;
> > + vdd-s4-supply = <&vph_pwr>;
> > + vdd-s5-supply = <&vph_pwr>;
> > + vdd-s6-supply = <&vph_pwr>;
> > + vdd-s7-supply = <&vph_pwr>;
> > + vdd-s8-supply = <&vph_pwr>;
> > + vdd-l1-l4-l12-l15-supply = <&vreg_s7b_0p972>;
> > + vdd-l2-l7-supply = <&vreg_bob_3p296>;
> > + vdd-l3-supply = <&vreg_s2b_0p876>;
> > + vdd-l5-supply = <&vreg_s2b_0p876>;
> > + vdd-l6-l9-l10-supply = <&vreg_s8b_1p272>;
> > + vdd-l8-supply = <&vreg_s7b_0p972>;
> > + vdd-l11-l17-l18-l19-supply = <&vreg_s1b_1p872>;
> > + vdd-l13-supply = <&vreg_s7b_0p972>;
> > + vdd-l14-l16-supply = <&vreg_s8b_1p272>;
> > +
> > + vreg_s1b_1p872: smps1 {
> > + regulator-name = "vreg_s1b_1p872";
> > + regulator-min-microvolt = <1840000>;
> > + regulator-max-microvolt = <2040000>;
> > + };
> > +
> > + vreg_s2b_0p876: smps2 {
> > + regulator-name = "vreg_s2b_0p876";
> > + regulator-min-microvolt = <570070>;
> > + regulator-max-microvolt = <1050000>;
> > + };
> > +
> > + vreg_s7b_0p972: smps7 {
> > + regulator-name = "vreg_s7b_0p972";
> > + regulator-min-microvolt = <535000>;
> > + regulator-max-microvolt = <1120000>;
> > + };
> > +
> > + vreg_s8b_1p272: smps8 {
> > + regulator-name = "vreg_s8b_1p272";
> > + regulator-min-microvolt = <1200000>;
> > + regulator-max-microvolt = <1500000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_RET>;
> > + };
> > +
> > + vreg_l1b_0p912: ldo1 {
> > + regulator-name = "vreg_l1b_0p912";
> > + regulator-min-microvolt = <825000>;
> > + regulator-max-microvolt = <925000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l2b_3p072: ldo2 {
> > + regulator-name = "vreg_l2b_3p072";
> > + regulator-min-microvolt = <2700000>;
> > + regulator-max-microvolt = <3544000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l3b_0p504: ldo3 {
> > + regulator-name = "vreg_l3b_0p504";
> > + regulator-min-microvolt = <312000>;
> > + regulator-max-microvolt = <910000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l4b_0p752: ldo4 {
> > + regulator-name = "vreg_l4b_0p752";
> > + regulator-min-microvolt = <752000>;
> > + regulator-max-microvolt = <820000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + reg_l5b_0p752: ldo5 {
> > + regulator-name = "reg_l5b_0p752";
> > + regulator-min-microvolt = <552000>;
> > + regulator-max-microvolt = <832000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l6b_1p2: ldo6 {
> > + regulator-name = "vreg_l6b_1p2";
> > + regulator-min-microvolt = <1140000>;
> > + regulator-max-microvolt = <1260000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l7b_2p952: ldo7 {
> > + regulator-name = "vreg_l7b_2p952";
> > + regulator-min-microvolt = <2952000>;
> > + regulator-max-microvolt = <2952000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l8b_0p904: ldo8 {
> > + regulator-name = "vreg_l8b_0p904";
> > + regulator-min-microvolt = <870000>;
> > + regulator-max-microvolt = <970000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l9b_1p2: ldo9 {
> > + regulator-name = "vreg_l9b_1p2";
> > + regulator-min-microvolt = <1200000>;
> > + regulator-max-microvolt = <1200000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + regulator-allow-set-load;
> > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
> > + RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l11b_1p504: ldo11 {
> > + regulator-name = "vreg_l11b_1p504";
> > + regulator-min-microvolt = <1504000>;
> > + regulator-max-microvolt = <2000000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l12b_0p751: ldo12 {
> > + regulator-name = "vreg_l12b_0p751";
> > + regulator-min-microvolt = <751000>;
> > + regulator-max-microvolt = <824000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l13b_0p53: ldo13 {
> > + regulator-name = "vreg_l13b_0p53";
> > + regulator-min-microvolt = <530000>;
> > + regulator-max-microvolt = <824000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l14b_1p08: ldo14 {
> > + regulator-name = "vreg_l14b_1p08";
> > + regulator-min-microvolt = <1080000>;
> > + regulator-max-microvolt = <1304000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l15b_0p765: ldo15 {
> > + regulator-name = "vreg_l15b_0p765";
> > + regulator-min-microvolt = <765000>;
> > + regulator-max-microvolt = <1020000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l16b_1p1: ldo16 {
> > + regulator-name = "vreg_l16b_1p1";
> > + regulator-min-microvolt = <1100000>;
> > + regulator-max-microvolt = <1300000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l17b_1p7: ldo17 {
> > + regulator-name = "vreg_l17b_1p7";
> > + regulator-min-microvolt = <1700000>;
> > + regulator-max-microvolt = <1900000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l18b_1p8: ldo18 {
> > + regulator-name = "vreg_l18b_1p8";
> > + regulator-min-microvolt = <1800000>;
> > + regulator-max-microvolt = <2000000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l19b_1p8: ldo19 {
> > + regulator-name = "vreg_l19b_1p8";
> > + regulator-min-microvolt = <1800000>;
> > + regulator-max-microvolt = <2000000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > + };
> > +
> > + regulators-1 {
> > + compatible = "qcom,pm8350c-rpmh-regulators";
> > + qcom,pmic-id = "c";
> > +
> > + vdd-s1-supply = <&vph_pwr>;
> > + vdd-s2-supply = <&vph_pwr>;
> > + vdd-s3-supply = <&vph_pwr>;
> > + vdd-s4-supply = <&vph_pwr>;
> > + vdd-s5-supply = <&vph_pwr>;
> > + vdd-s6-supply = <&vph_pwr>;
> > + vdd-s7-supply = <&vph_pwr>;
> > + vdd-s8-supply = <&vph_pwr>;
> > + vdd-s9-supply = <&vph_pwr>;
> > + vdd-s10-supply = <&vph_pwr>;
> > + vdd-l1-l12-supply = <&vreg_s1b_1p872>;
> > + vdd-l2-l8-supply = <&vreg_s1b_1p872>;
> > + vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob_3p296>;
> > + vdd-l6-l9-l11-supply = <&vreg_bob_3p296>;
> > + vdd-l10-supply = <&vreg_s7b_0p972>;
> > + vdd-bob-supply = <&vph_pwr>;
> > +
> > + vreg_s1c_2p19: smps1 {
> > + regulator-name = "vreg_s1c_2p19";
> > + regulator-min-microvolt = <2190000>;
> > + regulator-max-microvolt = <2210000>;
> > + };
> > +
> > + vreg_s2c_0p752: smps2 {
> > + regulator-name = "vreg_s2c_0p752";
> > + regulator-min-microvolt = <750000>;
> > + regulator-max-microvolt = <800000>;
> > + };
> > +
> > + vreg_s5c_0p752: smps5 {
> > + regulator-name = "vreg_s5c_0p752";
> > + regulator-min-microvolt = <465000>;
> > + regulator-max-microvolt = <1050000>;
> > + };
> > +
> > + vreg_s7c_0p752: smps7 {
> > + regulator-name = "vreg_s7c_0p752";
> > + regulator-min-microvolt = <465000>;
> > + regulator-max-microvolt = <800000>;
> > + };
> > +
> > + vreg_s9c_1p084: smps9 {
> > + regulator-name = "vreg_s9c_1p084";
> > + regulator-min-microvolt = <1010000>;
> > + regulator-max-microvolt = <1170000>;
> > + };
> > +
> > + vreg_l1c_1p8: ldo1 {
> > + regulator-name = "vreg_l1c_1p8";
> > + regulator-min-microvolt = <1800000>;
> > + regulator-max-microvolt = <1980000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l2c_1p62: ldo2 {
> > + regulator-name = "vreg_l2c_1p62";
> > + regulator-min-microvolt = <1620000>;
> > + regulator-max-microvolt = <1980000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l3c_2p8: ldo3 {
> > + regulator-name = "vreg_l3c_2p8";
> > + regulator-min-microvolt = <2800000>;
> > + regulator-max-microvolt = <3540000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l4c_1p62: ldo4 {
> > + regulator-name = "vreg_l4c_1p62";
> > + regulator-min-microvolt = <1620000>;
> > + regulator-max-microvolt = <3300000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l5c_1p62: ldo5 {
> > + regulator-name = "vreg_l5c_1p62";
> > + regulator-min-microvolt = <1620000>;
> > + regulator-max-microvolt = <3300000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l6c_2p96: ldo6 {
> > + regulator-name = "vreg_l6c_2p96";
> > + regulator-min-microvolt = <1800000>;
> > + regulator-max-microvolt = <1800000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l7c_3p0: ldo7 {
> > + regulator-name = "vreg_l7c_3p0";
> > + regulator-min-microvolt = <3000000>;
> > + regulator-max-microvolt = <3544000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l8c_1p62: ldo8 {
> > + regulator-name = "vreg_l8c_1p62";
> > + regulator-min-microvolt = <1620000>;
> > + regulator-max-microvolt = <2000000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l9c_2p96: ldo9 {
> > + regulator-name = "vreg_l9c_2p96";
> > + regulator-min-microvolt = <2700000>;
> > + regulator-max-microvolt = <3544000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l10c_0p88: ldo10 {
> > + regulator-name = "vreg_l10c_0p88";
> > + regulator-min-microvolt = <720000>;
> > + regulator-max-microvolt = <1050000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l11c_2p8: ldo11 {
> > + regulator-name = "vreg_l11c_2p8";
> > + regulator-min-microvolt = <2800000>;
> > + regulator-max-microvolt = <3544000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l12c_1p65: ldo12 {
> > + regulator-name = "vreg_l12c_1p65";
> > + regulator-min-microvolt = <1650000>;
> > + regulator-max-microvolt = <2000000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_l13c_2p7: ldo13 {
> > + regulator-name = "vreg_l13c_2p7";
> > + regulator-min-microvolt = <2700000>;
> > + regulator-max-microvolt = <3544000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_bob_3p296: bob {
> > + regulator-name = "vreg_bob_3p296";
> > + regulator-min-microvolt = <3008000>;
> > + regulator-max-microvolt = <3960000>;
> > + };
> > + };
> > +};
> > +
> > +&gcc {
> > + protected-clocks = <GCC_CFG_NOC_LPASS_CLK>,
> > + <GCC_MSS_CFG_AHB_CLK>,
> > + <GCC_MSS_GPLL0_MAIN_DIV_CLK_SRC>,
> > + <GCC_MSS_OFFLINE_AXI_CLK>,
> > + <GCC_MSS_Q6SS_BOOT_CLK_SRC>,
> > + <GCC_MSS_Q6_MEMNOC_AXI_CLK>,
> > + <GCC_MSS_SNOC_AXI_CLK>,
> > + <GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
> > + <GCC_QSPI_CORE_CLK>,
> > + <GCC_QSPI_CORE_CLK_SRC>,
> > + <GCC_SEC_CTRL_CLK_SRC>,
> > + <GCC_WPSS_AHB_BDG_MST_CLK>,
> > + <GCC_WPSS_AHB_CLK>,
> > + <GCC_WPSS_RSCP_CLK>;
> > +};
> > +
> > +&gpi_dma0 {
> > + status = "okay";
> > +};
> > +
> > +&gpi_dma1 {
> > + status = "okay";
> > +};
> > +
> > +&gpu {
> > + status = "okay";
> > +};
> > +
> > +&gpu_zap_shader {
> > + firmware-name = "qcom/qcs6490/a660_zap.mbn";
> > +};
> > +
> > +/* Pin 3, 5 in 40-pin connector */
> > +&i2c1 {
> > + status = "okay";
> > +};
> > +
> > +&i2c9 {
> > + clock-frequency = <400000>;
> > +
> > + status = "okay";
> > +
> > + lt9611_codec: hdmi-bridge@39 {
> > + compatible = "lontium,lt9611";
> > + reg = <0x39>;
> > +
> > + interrupts-extended = <&tlmm 20 IRQ_TYPE_EDGE_FALLING>;
> > + reset-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
> > +
> > + vdd-supply = <&vreg_lt9611_3p3>;
> > + vcc-supply = <&vreg_lt9611_3p3>;
> > +
> > + pinctrl-0 = <<9611_irq_pin>,
> > + <<9611_rst_pin>;
> > + pinctrl-names = "default";
> > +
> > + ports {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + port@0 {
> > + reg = <0>;
> > +
> > + lt9611_a: endpoint {
> > + remote-endpoint = <&mdss_dsi0_out>;
> > + };
> > + };
> > +
> > + port@2 {
> > + reg = <2>;
> > +
> > + lt9611_out: endpoint {
> > + remote-endpoint = <&hdmi_con>;
> > + };
> > + };
> > + };
> > + };
> > +};
> > +
> > +&lpass_audiocc {
> > + compatible = "qcom,qcm6490-lpassaudiocc";
> > + /delete-property/ power-domains;
> > +};
> > +
> > +&mdss {
> > + status = "okay";
> > +};
> > +
> > +&mdss_dp {
> > + status = "okay";
> > +};
> > +
> > +&mdss_dp_out {
> > + data-lanes = <0 1>;
> > + link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
> > +
> > + remote-endpoint = <&usb_dp_qmpphy_dp_in>;
> > +};
> > +
> > +&mdss_dsi {
> > + vdda-supply = <&vreg_l6b_1p2>;
> > +
> > + status = "okay";
> > +};
> > +
> > +&mdss_dsi0_out {
> > + remote-endpoint = <<9611_a>;
> > + data-lanes = <0 1 2 3>;
> > +};
> > +
> > +&mdss_dsi_phy {
> > + vdds-supply = <&vreg_l10c_0p88>;
> > +
> > + status = "okay";
> > +};
> > +
> > +&pcie0 {
> > + status = "okay";
> > +};
> > +
> > +&pcie0_phy {
> > + vdda-phy-supply = <&vreg_l10c_0p88>;
> > + vdda-pll-supply = <&vreg_l6b_1p2>;
> > +
> > + status = "okay";
> > +};
> > +
> > +&pcie1 {
> > + perst-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
> > + wake-gpios = <&tlmm 3 GPIO_ACTIVE_LOW>;
> > +
> > + pinctrl-0 = <&pcie1_reset_n>,
> > + <&pcie1_wake_n>,
> > + <&pcie1_clkreq_n>;
> > + pinctrl-names = "default";
> > +
> > + status = "okay";
> > +};
> > +
> > +&pcie1_phy {
> > + vdda-phy-supply = <&vreg_l10c_0p88>;
> > + vdda-pll-supply = <&vreg_l6b_1p2>;
> > +
> > + status = "okay";
> > +};
> > +
> > +&pm7325_gpios {
> > + kypd_vol_up_n: kypd-vol-up-n-state {
> > + pins = "gpio6";
> > + function = PMIC_GPIO_FUNC_NORMAL;
> > + power-source = <1>;
> > + bias-pull-up;
> > + input-enable;
> > + };
> > +};
> > +
> > +&pm7325_temp_alarm {
> > + io-channels = <&pmk8350_vadc PM7325_ADC7_DIE_TEMP>;
> > + io-channel-names = "thermal";
> > +};
> > +
> > +&pmk8350_adc_tm {
> > + status = "okay";
> > +
> > + xo-therm@0 {
> > + reg = <0>;
> > + io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>;
> > + qcom,ratiometric;
> > + qcom,hw-settle-time-us = <200>;
> > + };
> > +
> > + quiet-therm@1 {
> > + reg = <1>;
> > + io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM1_100K_PU>;
> > + qcom,ratiometric;
> > + qcom,hw-settle-time-us = <200>;
> > + };
> > +
> > + sdm-skin-therm@3 {
> > + reg = <3>;
> > + io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM3_100K_PU>;
> > + qcom,ratiometric;
> > + qcom,hw-settle-time-us = <200>;
> > + };
> > +};
> > +
> > +&pm8350c_pwm {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + status = "okay";
> > +
> > + led@1 {
> > + reg = <1>;
> > + color = <LED_COLOR_ID_GREEN>;
> > + function = LED_FUNCTION_INDICATOR;
> > + function-enumerator = <3>;
> > + linux,default-trigger = "none";
> > + default-state = "off";
> > + panic-indicator;
> > + label = "red";
>
> So, is it "red" or LED_COLOR_ID_GREEN?
This should be changed to:
color = <LED_COLOR_ID_RED>;
>
> > + };
> > +
> > + led@2 {
> > + reg = <2>;
> > + color = <LED_COLOR_ID_GREEN>;
> > + function = LED_FUNCTION_INDICATOR;
> > + function-enumerator = <2>;
> > + linux,default-trigger = "none";
> > + default-state = "off";
> > + label = "green";
> > + };
> > +
> > + led@3 {
> > + reg = <3>;
> > + color = <LED_COLOR_ID_GREEN>;
> > + function = LED_FUNCTION_INDICATOR;
> > + function-enumerator = <1>;
> > + linux,default-trigger = "none";
> > + default-state = "off";
> > + label = "blue";
>
> Likewise, why is this blue?
This should be changed to:
color = <LED_COLOR_ID_BLUE>;
>
> > + };
> > +};
> > +
> > +&pmk8350_rtc {
> > + allow-set-time;
> > +
> > + status = "okay";
> > +};
> > +
> > +&pmk8350_vadc {
> > + channel@3 {
> > + reg = <PMK8350_ADC7_DIE_TEMP>;
> > + label = "pmk8350_die_temp";
> > + qcom,pre-scaling = <1 1>;
> > + };
> > +
> > + channel@44 {
> > + reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>;
> > + label = "xo_therm";
> > + qcom,hw-settle-time = <200>;
> > + qcom,pre-scaling = <1 1>;
> > + qcom,ratiometric;
> > + };
> > +
> > + channel@103 {
> > + reg = <PM7325_ADC7_DIE_TEMP>;
> > + label = "pm7325_die_temp";
> > + qcom,pre-scaling = <1 1>;
> > + };
> > +
> > + channel@144 {
> > + reg = <PM7325_ADC7_AMUX_THM1_100K_PU>;
> > + qcom,ratiometric;
> > + qcom,hw-settle-time = <200>;
> > + qcom,pre-scaling = <1 1>;
> > + label = "pm7325_quiet_therm";
> > + };
> > +
> > + channel@146 {
> > + reg = <PM7325_ADC7_AMUX_THM3_100K_PU>;
> > + qcom,ratiometric;
> > + qcom,hw-settle-time = <200>;
> > + qcom,pre-scaling = <1 1>;
> > + label = "pm7325_sdm_skin_therm";
> > + };
> > +};
> > +
> > +&pon_pwrkey {
> > + status = "okay";
> > +};
> > +
> > +&pon_resin {
> > + linux,code = <KEY_VOLUMEDOWN>;
> > +
> > + status = "okay";
> > +};
> > +
> > +&qupv3_id_0 {
> > + status = "okay";
> > +};
> > +
> > +&qupv3_id_1 {
> > + status = "okay";
> > +};
> > +
> > +&remoteproc_adsp {
> > + firmware-name = "qcom/qcs6490/adsp.mbn";
> > +
> > + status = "okay";
> > +};
> > +
> > +&remoteproc_cdsp {
> > + firmware-name = "qcom/qcs6490/cdsp.mbn";
> > +
> > + status = "okay";
> > +};
> > +
> > +/* WIFI part of the AP6256 connected with SDIO */
> > +&sdhc_2 {
> > + vmmc-supply = <&vreg_l9c_2p96>;
> > + vqmmc-supply = <&vreg_l6c_2p96>;
> > +
> > + non-removable;
> > + keep-power-in-suspend;
> > + /delete-property/ cd-gpios;
> > +
> > + status = "okay";
> > +};
> > +
> > +/* Pin 19, 21, 23, 24 in 40-pin connector */
> > +&spi12 {
> > + status = "okay";
> > +};
> > +
> > +/* Pin 8, 10 in 40-pin connector */
> > +&uart2 {
> > + status = "okay";
> > +};
> > +
> > +&uart5 {
> > + status = "okay";
> > +};
> > +
> > +/* BT part of the AP6256 connected with UART */
> > +&uart7 {
> > + /delete-property/ interrupts;
> > + interrupts-extended = <&intc GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>,
> > + <&tlmm 31 IRQ_TYPE_EDGE_FALLING>;
> > + pinctrl-1 = <&qup_uart7_sleep_cts>,
> > + <&qup_uart7_sleep_rts>,
> > + <&qup_uart7_sleep_tx>,
> > + <&qup_uart7_sleep_rx>;
> > + pinctrl-names = "default",
> > + "sleep";
> > +
> > + status = "okay";
> > +
> > + bluetooth {
> > + compatible = "brcm,bcm4345c5";
> > + clocks = <&sleep_clk>;
> > + clock-names = "lpo";
> > + device-wakeup-gpios = <&tlmm 39 GPIO_ACTIVE_HIGH>;
> > + host-wakeup-gpios = <&tlmm 137 GPIO_ACTIVE_HIGH>;
> > + shutdown-gpios = <&tlmm 17 GPIO_ACTIVE_HIGH>;
> > + pinctrl-0 = <&bt_device_wake>,
> > + <&bt_host_wake>,
> > + <&bt_reset>;
> > + pinctrl-names = "default";
> > + vbat-supply = <&vreg_sdio_wifi_1p8>;
> > + vddio-supply = <&vreg_sdio_wifi_1p8>;
> > + max-speed = <3000000>;
> > + };
> > +};
> > +
> > +&usb_1 {
> > + dr_mode = "otg";
>
> Not necessary, this is default.
Understood, I will remove the dr_mode property.
>
> > +
> > + status = "okay";
> > +};
> > +
> > +&usb_1_dwc3_hs {
> > + remote-endpoint = <&pmic_glink_hs_in>;
> > +};
> > +
> > +&usb_1_hsphy {
> > + vdda-pll-supply = <&vreg_l10c_0p88>;
> > + vdda33-supply = <&vreg_l2b_3p072>;
> > + vdda18-supply = <&vreg_l1c_1p8>;
> > +
> > + status = "okay";
> > +};
> > +
> > +&usb_1_qmpphy {
> > + vdda-phy-supply = <&vreg_l6b_1p2>;
> > + vdda-pll-supply = <&vreg_l1b_0p912>;
> > +
> > + status = "okay";
> > +};
> > +
> > +&usb_2 {
> > + dr_mode = "host";
> > +
> > + status = "okay";
> > +};
> > +
> > +&usb_2_hsphy {
> > + vdda-pll-supply = <&vreg_l10c_0p88>;
> > + vdda18-supply = <&vreg_l1c_1p8>;
> > + vdda33-supply = <&vreg_l2b_3p072>;
> > +
> > + status = "okay";
> > +};
> > +
> > +&usb_dp_qmpphy_out {
> > + remote-endpoint = <&pmic_glink_ss_in>;
> > +};
> > +
> > +&ufs_mem_hc {
> > + reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>;
> > + vcc-supply = <&vreg_l7b_2p952>;
> > + vcc-max-microamp = <800000>;
> > + vccq-supply = <&vreg_l9b_1p2>;
> > + vccq-max-microamp = <900000>;
> > + vccq2-supply = <&vreg_l9b_1p2>;
> > + vccq2-max-microamp = <900000>;
> > +
> > + status = "okay";
> > +};
> > +
> > +&ufs_mem_phy {
> > + vdda-phy-supply = <&vreg_l10c_0p88>;
> > + vdda-pll-supply = <&vreg_l6b_1p2>;
> > +
> > + status = "okay";
> > +};
> > +
> > +&venus {
> > + status = "okay";
> > +};
> > +
> > +&thermal_zones {
>
> Why is it here?`
I think I got the order wrong,
I will move &thermal_zones between &spi12 and &uart2.
>
> > + cpu0-thermal {
> > + trips {
> > + cpu_tepid: cpu-tepid {
> > + temperature = <65000>;
> > + hysteresis = <5000>;
> > + type = "active";
> > + };
> > +
> > + cpu_warm: cpu-warm {
> > + temperature = <80000>;
> > + hysteresis = <5000>;
> > + type = "active";
> > + };
> > +
> > + cpu_hot: cpu-hot {
> > + temperature = <90000>;
> > + hysteresis = <5000>;
> > + type = "active";
> > + };
>
> This has the same value as trip-point0. Is it intentional?
I overlooked the temperatures in sc7280.dtsi, I will remove cpu_hot.
Additionally, based on Konrad's final suggestion in
"[PATCH v4 1/2] arm64: dts: qcom: rubikpi3: Add qcs6490-rubikpi3 board dts",
I will remove the cooling-maps node (user space service will get netlink
information to control the fan), and finally change to:
&thermal_zones {
cpu0-thermal {
trips {
cpu_tepid: cpu-tepid {
temperature = <65000>;
hysteresis = <5000>;
type = "active";
};
cpu_warm: cpu-warm {
temperature = <80000>;
hysteresis = <5000>;
type = "active";
};
};
};
};
>
> > + };
> > +
> > + cooling-maps {
> > + map-cpu-tepid {
> > + /* active: set fan to cooling level 1 */
> > + cooling-device = <&fan0 1 1>;
> > + trip = <&cpu_tepid>;
> > + };
> > +
> > + map-cpu-warm {
> > + /* active: set fan to cooling level 2 */
> > + cooling-device = <&fan0 2 2>;
> > + trip = <&cpu_warm>;
> > + };
> > +
> > + map-cpu-hot {
> > + /* active: set fan to cooling level 3 */
> > + cooling-device = <&fan0 3 3>;
> > + trip = <&cpu_hot>;
> > + };
> > + };
> > + };
> > +};
> > +
>
---
Thank you for the review!
Hongyang
next prev parent reply other threads:[~2025-10-31 10:03 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-25 12:27 [PATCH v5 0/2] arm64: dts: qcom: rubikpi3: Add qcs6490-rubikpi3 board dts Hongyang Zhao
2025-10-25 12:27 ` [PATCH v5 1/2] " Hongyang Zhao
2025-10-27 14:51 ` Dmitry Baryshkov
2025-10-31 9:27 ` Hongyang Zhao [this message]
2025-11-01 8:37 ` Dmitry Baryshkov
2025-11-02 3:09 ` Hongyang Zhao
2025-11-02 22:13 ` Dmitry Baryshkov
2025-11-03 4:20 ` Hongyang Zhao
2025-11-03 11:57 ` Konrad Dybcio
2025-11-03 12:33 ` Hongyang Zhao
2025-11-03 12:53 ` Konrad Dybcio
2025-10-25 12:27 ` [PATCH v5 2/2] dt-bindings: arm: qcom: rubikpi3: document rubikpi3 board binding Hongyang Zhao
2025-10-26 9:05 ` Krzysztof Kozlowski
2025-10-30 2:33 ` [PATCH v5 2/2] arm64: dts: qcom: rubikpi3: Add qcs6490-rubikpi3 board dts Hongyang Zhao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251031092727.656939-1-hongyang.zhao@thundersoft.com \
--to=hongyang.zhao@thundersoft.com \
--cc=andersson@kernel.org \
--cc=casey.connolly@linaro.org \
--cc=christopher.obbard@linaro.org \
--cc=dmitry.baryshkov@oss.qualcomm.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=loic.minier@oss.qualcomm.com \
--cc=rosh@debian.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).