mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/3] arm64: dts: qcom: qcm6490: Introduce Particle Tachyon
@ 2025-09-10 23:05 Bjorn Andersson
  2025-09-10 23:05 ` [PATCH 1/3] dt-bindings: vendor-prefixes: Add Particle Industries Bjorn Andersson
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Bjorn Andersson @ 2025-09-10 23:05 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
	Konrad Dybcio
  Cc: linux-arm-msm, devicetree, linux-kernel, Bjorn Andersson

Introduce the Particle Tachyon board (https://www.particle.io/tachyon/),
a single board compute with 5G connectivity and AI accelerator.

The boards currently ships with the Android Boot Loader, but replacing
this with abl2esp allows writing a EFI System Parition and OS partitions
to all of LUN0, and a more UEFI boot experience. A prebuilt version of
abl2esp is provided at [1], as abl2esp-v6.elf.

With a (very) recent version of QDL, a flash programmer from a Tachyon
software release, and a full distro image, this can be achieved with:

  qdl prog_firehose_ddr.elf write abl_a abl2esp-v6.elf write abl_b abl2esp-v6.elf write 0 image.raw

The following firmware files are currently used, on top of what's in
linux-firmware already:
  qcom/qcm6490/particle/tachyon/a660_zap.mbn
  qcom/qcm6490/particle/tachyon/adsp.mbn
  qcom/qcm6490/particle/tachyon/cdsp.mbn
  qcom/qcm6490/particle/tachyon/ipa_fws.mbn
  qcom/qcm6490/particle/tachyon/modem.mbn

In addition to bug fixes that has landed in v6.17-rc this depends on
[2], which is available in linux-next.

[1] https://github.com/qualcomm/abl2esp/releases/tag/v1.0
[2] https://lore.kernel.org/all/20250811-sc7280-mdss-reset-v1-0-83ceff1d48de@oss.qualcomm.com/

Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
---
Bjorn Andersson (3):
      dt-bindings: vendor-prefixes: Add Particle Industries
      dt-bindings: arm: qcom: Add Particle Tachyon
      arm64: dts: qcom: qcm6490: Introduce the Particle Tachyon

 Documentation/devicetree/bindings/arm/qcom.yaml    |   1 +
 .../devicetree/bindings/vendor-prefixes.yaml       |   2 +
 arch/arm64/boot/dts/qcom/Makefile                  |   1 +
 .../boot/dts/qcom/qcm6490-particle-tachyon.dts     | 877 +++++++++++++++++++++
 4 files changed, 881 insertions(+)
---
base-commit: 5f540c4aade9f1d58fb7b9490b4b7d5214ec9746
change-id: 20250910-tachyon-e3548941397d

Best regards,
-- 
Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 1/3] dt-bindings: vendor-prefixes: Add Particle Industries
  2025-09-10 23:05 [PATCH 0/3] arm64: dts: qcom: qcm6490: Introduce Particle Tachyon Bjorn Andersson
@ 2025-09-10 23:05 ` Bjorn Andersson
  2025-09-15  0:28   ` Rob Herring (Arm)
  2025-09-10 23:05 ` [PATCH 2/3] dt-bindings: arm: qcom: Add Particle Tachyon Bjorn Andersson
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 14+ messages in thread
From: Bjorn Andersson @ 2025-09-10 23:05 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
	Konrad Dybcio
  Cc: linux-arm-msm, devicetree, linux-kernel, Bjorn Andersson

Particle is a San Francisco-based company providing an integrated IoT
Platform-as-a-Service.

https://www.particle.io/

Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
---
 Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index b4ee22ea7f1687ad6659b6846b070a73c9e27574..202c2f6d5942eb0efb9ff4d938c5bc447957df06 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -1221,6 +1221,8 @@ patternProperties:
     description: Parade Technologies Inc.
   "^parallax,.*":
     description: Parallax Inc.
+  "^particle,.*":
+    description: Particle Industries, Inc.
   "^pda,.*":
     description: Precision Design Associates, Inc.
   "^pegatron,.*":

-- 
2.51.0


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 2/3] dt-bindings: arm: qcom: Add Particle Tachyon
  2025-09-10 23:05 [PATCH 0/3] arm64: dts: qcom: qcm6490: Introduce Particle Tachyon Bjorn Andersson
  2025-09-10 23:05 ` [PATCH 1/3] dt-bindings: vendor-prefixes: Add Particle Industries Bjorn Andersson
@ 2025-09-10 23:05 ` Bjorn Andersson
  2025-09-15  0:29   ` Rob Herring (Arm)
  2025-09-10 23:05 ` [PATCH 3/3] arm64: dts: qcom: qcm6490: Introduce the " Bjorn Andersson
  2025-09-11  0:01 ` [PATCH 0/3] arm64: dts: qcom: qcm6490: Introduce " Dmitry Baryshkov
  3 siblings, 1 reply; 14+ messages in thread
From: Bjorn Andersson @ 2025-09-10 23:05 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
	Konrad Dybcio
  Cc: linux-arm-msm, devicetree, linux-kernel, Bjorn Andersson

The Particle Tachyon is a single board computer with 5G connectivity
with AI accelerator, based on the Qualcomm QCM6490 platform.

Document the top-level compatible for this board.

Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
---
 Documentation/devicetree/bindings/arm/qcom.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index 0a3222d6f3686f1647b9e2ea192c175b0b96d48a..8e0b42ad65607abe687a0bcc5310df264e14157b 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -337,6 +337,7 @@ properties:
       - items:
           - enum:
               - fairphone,fp5
+              - particle,tachyon
               - qcom,qcm6490-idp
               - qcom,qcs6490-rb3gen2
               - shift,otter

-- 
2.51.0


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 3/3] arm64: dts: qcom: qcm6490: Introduce the Particle Tachyon
  2025-09-10 23:05 [PATCH 0/3] arm64: dts: qcom: qcm6490: Introduce Particle Tachyon Bjorn Andersson
  2025-09-10 23:05 ` [PATCH 1/3] dt-bindings: vendor-prefixes: Add Particle Industries Bjorn Andersson
  2025-09-10 23:05 ` [PATCH 2/3] dt-bindings: arm: qcom: Add Particle Tachyon Bjorn Andersson
@ 2025-09-10 23:05 ` Bjorn Andersson
  2025-09-11 19:37   ` Bjorn Andersson
  2025-09-12 11:13   ` Konrad Dybcio
  2025-09-11  0:01 ` [PATCH 0/3] arm64: dts: qcom: qcm6490: Introduce " Dmitry Baryshkov
  3 siblings, 2 replies; 14+ messages in thread
From: Bjorn Andersson @ 2025-09-10 23:05 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
	Konrad Dybcio
  Cc: linux-arm-msm, devicetree, linux-kernel, Bjorn Andersson

The Particle Tachyon is a single board computer with 5G connectivity
with AI accelerator, based on the Qualcomm QCM6490 platform.

Introduce the board, with support for UFS, USB, USB Type-C PD and
altmode (DisplayPort), GPU, charger/battery status, PCIe shield,
SD-card, and remoteprocs.

Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/Makefile                  |   1 +
 .../boot/dts/qcom/qcm6490-particle-tachyon.dts     | 877 +++++++++++++++++++++
 2 files changed, 878 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 5b52f9e4e5f31ac5a398d0762337a0a31af1f4dd..76d275991e83c013698dd98b467d42e74f2c21e6 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -116,6 +116,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= msm8998-sony-xperia-yoshino-poplar.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= msm8998-xiaomi-sagit.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= qcm6490-fairphone-fp5.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= qcm6490-idp.dtb
+dtb-$(CONFIG_ARCH_QCOM)	+= qcm6490-particle-tachyon.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= qcm6490-shift-otter.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-1000.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-4000.dtb
diff --git a/arch/arm64/boot/dts/qcom/qcm6490-particle-tachyon.dts b/arch/arm64/boot/dts/qcom/qcm6490-particle-tachyon.dts
new file mode 100644
index 0000000000000000000000000000000000000000..893b998065557bc2dc63f9b1ba98a55cd0593795
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/qcm6490-particle-tachyon.dts
@@ -0,0 +1,877 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ * Copyright (c) 2023, Luca Weiss <luca.weiss@fairphone.com>
+ */
+
+/dts-v1/;
+
+#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 "pm8350c.dtsi"
+#include "pmk8350.dtsi"
+
+/delete-node/ &ipa_fw_mem;
+/delete-node/ &rmtfs_mem;
+/delete-node/ &xbl_mem;
+/delete-node/ &adsp_mem;
+/delete-node/ &cdsp_mem;
+/delete-node/ &wpss_mem;
+
+/ {
+	model = "Particle Tachyon";
+	compatible = "particle,tachyon", "qcom,qcm6490";
+	chassis-type = "embedded";
+
+	aliases {
+		serial0 = &uart5;
+		serial1 = &uart12;
+		serial2 = &uart7;
+		serial3 = &uart8;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
+	leds {
+		compatible = "gpio-leds";
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&activity_led_state>;
+
+		led-activity {
+			function = LED_FUNCTION_ACTIVITY;
+			color = <LED_COLOR_ID_RED>;
+			gpios = <&tlmm 14 GPIO_ACTIVE_HIGH>;
+			default-state = "on";
+			panic-indicator;
+		};
+	};
+
+	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 = <&usbdp_sbu_mux>;
+					};
+				};
+			};
+		};
+	};
+
+	vreg_power_5v: regulator-power-5v {
+		compatible = "regulator-fixed";
+		regulator-name = "power_5v";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		gpio = <&tlmm 13 GPIO_ACTIVE_HIGH>;
+		enable-active-high;
+	};
+
+	vph_pwr: regulator-vph-pwr {
+		compatible = "regulator-fixed";
+		regulator-name = "vph_pwr";
+		regulator-min-microvolt = <3700000>;
+		regulator-max-microvolt = <3700000>;
+	};
+
+	reserved-memory {
+		xbl_mem: xbl@80700000 {
+			reg = <0x0 0x80700000 0x0 0x100000>;
+			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;
+		};
+
+		adsp_mem: adsp@86100000 {
+			reg = <0x0 0x86700000 0x0 0x2800000>;
+			no-map;
+		};
+
+		cdsp_mem: cdsp@88900000 {
+			reg = <0x0 0x88f00000 0x0 0x1e00000>;
+			no-map;
+		};
+
+		wpss_mem: wpss@9ae00000 {
+			reg = <0x0 0x9ae00000 0x0 0x1900000>;
+			no-map;
+		};
+
+		mpss_mem: mpss@8b800000 {
+			reg = <0x0 0x8b800000 0x0 0xf600000>;
+			no-map;
+		};
+
+		ipa_fw_mem: ipa-fw@8b300000 {
+			reg = <0x0 0x8b700000 0x0 0x10000>;
+			no-map;
+		};
+
+		ipa_gsi_mem: ipa-gsi@8b310000 {
+			reg = <0x0 0x8b710000 0x0 0xa000>;
+			no-map;
+		};
+
+		rmtfs_mem: memory@f8500000 {
+			compatible = "qcom,rmtfs-mem";
+			reg = <0x0 0xf8500000 0x0 0x600000>;
+			no-map;
+
+			qcom,client-id = <1>;
+			qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>, <QCOM_SCM_VMID_NAV>;
+		};
+	};
+
+
+	usbdp-sbu-mux {
+		compatible = "pericom,pi3usb102", "gpio-sbu-mux";
+
+		enable-gpios = <&tlmm 108 GPIO_ACTIVE_HIGH>;
+		select-gpios = <&tlmm 42 GPIO_ACTIVE_HIGH>;
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&usbdp_sbu_default>;
+
+		mode-switch;
+		orientation-switch;
+
+		port {
+			usbdp_sbu_mux: endpoint {
+				remote-endpoint = <&pmic_glink_sbu_in>;
+			};
+		};
+	};
+};
+
+&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-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_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_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_s9c_1p084: smps9 {
+			regulator-name = "vreg_s9c_1p084";
+			regulator-min-microvolt = <1084000>;
+			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 = <1650000>;
+			regulator-max-microvolt = <3544000>;
+			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 = <2960000>;
+			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>;
+		};
+	};
+};
+
+&i2c1 {
+	status = "okay";
+};
+
+&ipa {
+	firmware-name = "qcom/qcm6490/particle/tachyon/ipa_fws.mbn";
+	qcom,gsi-loader = "self";
+	memory-region = <&ipa_fw_mem>;
+
+	status = "okay";
+};
+
+&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>;
+};
+
+&gpu {
+	status = "okay";
+};
+
+&gpu_zap_shader {
+	firmware-name = "qcom/qcom6490/particle/tachyon/a660_zap.mbn";
+};
+
+&mdss {
+	status = "okay";
+};
+
+&mdss_dp {
+	status = "okay";
+};
+
+&mdss_dp_out {
+	data-lanes = <0 1>;
+	remote-endpoint = <&usb_dp_qmpphy_dp_in>;
+};
+
+&pcie0 {
+	perst-gpios = <&tlmm 87 GPIO_ACTIVE_LOW>;
+	wake-gpios = <&tlmm 89 GPIO_ACTIVE_HIGH>;
+
+	pinctrl-0 = <&pcie0_reset_n>, <&pcie0_wake_n>, <&pcie0_clkreq_n>;
+	pinctrl-names = "default";
+
+	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>;
+
+	pinctrl-0 = <&pcie1_reset_n>, <&pcie1_wake_n>, <&pcie1_clkreq_n>;
+	pinctrl-names = "default";
+
+	vddpe-3v3-supply = <&vreg_power_5v>;
+
+	status = "okay";
+};
+
+&pcie1_phy {
+	vdda-phy-supply = <&vreg_l10c_0p88>;
+	vdda-pll-supply = <&vreg_l6b_1p2>;
+
+	status = "okay";
+};
+
+&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>;
+	};
+};
+
+&pmk8350_rtc {
+	status = "okay";
+};
+
+&pmk8350_vadc {
+	status = "okay";
+
+	channel@44 {
+		reg = <PMK8350_ADC7_AMUX_THM1_100K_PU>;
+		qcom,ratiometric;
+		qcom,hw-settle-time = <200>;
+		qcom,pre-scaling = <1 1>;
+		label = "pmk8350_xo_therm";
+	};
+};
+
+&pon_pwrkey {
+	status = "okay";
+};
+
+&qupv3_id_0 {
+	status = "okay";
+};
+
+&qupv3_id_1 {
+	status = "okay";
+};
+
+&remoteproc_adsp {
+	firmware-name = "qcom/qcom6490/particle/tachyon/adsp.mbn";
+	status = "okay";
+};
+
+&remoteproc_cdsp {
+	firmware-name = "qcom/qcom6490/particle/tachyon/cdsp.mbn";
+	status = "okay";
+};
+
+&remoteproc_mpss {
+	firmware-name = "qcom/qcom6490/particle/tachyon/modem.mbn";
+	status = "okay";
+};
+
+&sdc2_clk {
+	bias-disable;
+	drive-strength = <16>;
+};
+
+&sdc2_cmd {
+	bias-pull-up;
+	drive-strength = <10>;
+};
+
+&sdc2_data {
+	bias-pull-up;
+	drive-strength = <10>;
+};
+
+&sdhc_2 {
+	vmmc-supply = <&vreg_l9c_2p96>;
+	vqmmc-supply = <&vreg_l6c_2p96>;
+
+	cd-gpios = <&tlmm 91 GPIO_ACTIVE_LOW>;
+
+	status = "okay";
+};
+
+&tlmm {
+	activity_led_state: activity-led-state {
+		pins = "gpio14";
+		function = "gpio";
+		bias-disable;
+	};
+
+	bt_en_state: bt-default-state {
+		pins = "gpio84";
+		function = "gpio";
+		drive-strength = <16>;
+		output-low;
+		bias-pull-up;
+	};
+
+	pcie0_reset_n: pcie0-reset-n-state {
+		pins = "gpio87";
+		function = "gpio";
+		drive-strength = <16>;
+		output-low;
+		bias-disable;
+	};
+
+	pcie0_wake_n: pcie0-wake-n-state {
+		pins = "gpio89";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-pull-up;
+	};
+
+	pcie1_reset_n: pcie1-reset-n-state {
+		pins = "gpio2";
+		function = "gpio";
+		drive-strength = <16>;
+		output-low;
+		bias-disable;
+	};
+
+	pcie1_wake_n: pcie1-wake-n-state {
+		pins = "gpio3";
+		function = "gpio";
+		drive-strength = <2>;
+		bias-pull-up;
+	};
+
+	qup_uart7_sleep_cts: qup-uart7-sleep-cts-state {
+		pins = "gpio28";
+		function = "gpio";
+		/*
+		 * Configure a bias-bus-hold on CTS to lower power
+		 * usage when Bluetooth is turned off. Bus hold will
+		 * maintain a low power state regardless of whether
+		 * the Bluetooth module drives the pin in either
+		 * direction or leaves the pin fully unpowered.
+		 */
+		bias-bus-hold;
+	};
+
+	qup_uart7_sleep_rts: qup-uart7-sleep-rts-state {
+		pins = "gpio29";
+		function = "gpio";
+		/*
+		 * Configure pull-down on RTS. As RTS is active low
+		 * signal, pull it low to indicate the BT SoC that it
+		 * can wakeup the system anytime from suspend state by
+		 * pulling RX low (by sending wakeup bytes).
+		 */
+		bias-pull-down;
+	};
+
+	qup_uart7_sleep_tx: qup-uart7-sleep-tx-state {
+		pins = "gpio30";
+		function = "gpio";
+		/*
+		 * Configure pull-up on TX when it isn't actively driven
+		 * to prevent BT SoC from receiving garbage during sleep.
+		 */
+		bias-pull-up;
+	};
+
+	qup_uart7_sleep_rx: qup-uart7-sleep-rx-state {
+		pins = "gpio31";
+		function = "gpio";
+		/*
+		 * Configure a pull-up on RX. This is needed to avoid
+		 * garbage data when the TX pin of the Bluetooth module
+		 * is floating which may cause spurious wakeups.
+		 */
+		bias-pull-up;
+	};
+
+	usbdp_sbu_default: usbdp-sbu-state {
+		oe-n-pins {
+			pins = "gpio108";
+			function = "gpio";
+			bias-disable;
+			drive-strength = <16>;
+			output-high;
+		};
+
+		sel-pins {
+			pins = "gpio42";
+			function = "gpio";
+			bias-disable;
+			drive-strength = <16>;
+		};
+	};
+
+	wlan_en_state: wlan-default-state {
+		pins = "gpio85";
+		function = "gpio";
+		drive-strength = <16>;
+		output-low;
+		bias-pull-up;
+	};
+};
+
+&uart5 {
+	status = "okay";
+};
+
+&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";
+};
+
+&uart8 {
+	status = "okay";
+};
+
+&uart12 {
+	status = "okay";
+};
+
+&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";
+};
+
+&usb_1 {
+	dr_mode = "otg";
+	usb-role-switch;
+
+	status = "okay";
+};
+
+&usb_1_dwc3_hs {
+	remote-endpoint = <&pmic_glink_hs_in>;
+};
+
+&usb_1_dwc3_ss {
+	remote-endpoint = <&usb_dp_qmpphy_usb_ss_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>;
+
+	orientation-switch;
+
+	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_dp_in {
+	remote-endpoint = <&mdss_dp_out>;
+};
+
+&usb_dp_qmpphy_out {
+	remote-endpoint = <&pmic_glink_ss_in>;
+};
+
+&usb_dp_qmpphy_usb_ss_in {
+	remote-endpoint = <&usb_1_dwc3_ss>;
+};

-- 
2.51.0


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 0/3] arm64: dts: qcom: qcm6490: Introduce Particle Tachyon
  2025-09-10 23:05 [PATCH 0/3] arm64: dts: qcom: qcm6490: Introduce Particle Tachyon Bjorn Andersson
                   ` (2 preceding siblings ...)
  2025-09-10 23:05 ` [PATCH 3/3] arm64: dts: qcom: qcm6490: Introduce the " Bjorn Andersson
@ 2025-09-11  0:01 ` Dmitry Baryshkov
  2025-09-11 19:19   ` Bjorn Andersson
  3 siblings, 1 reply; 14+ messages in thread
From: Dmitry Baryshkov @ 2025-09-11  0:01 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
	Konrad Dybcio, linux-arm-msm, devicetree, linux-kernel

On Wed, Sep 10, 2025 at 06:05:36PM -0500, Bjorn Andersson wrote:
> Introduce the Particle Tachyon board (https://www.particle.io/tachyon/),
> a single board compute with 5G connectivity and AI accelerator.
> 
> The boards currently ships with the Android Boot Loader, but replacing
> this with abl2esp allows writing a EFI System Parition and OS partitions
> to all of LUN0, and a more UEFI boot experience. A prebuilt version of
> abl2esp is provided at [1], as abl2esp-v6.elf.
> 
> With a (very) recent version of QDL, a flash programmer from a Tachyon
> software release, and a full distro image, this can be achieved with:
> 
>   qdl prog_firehose_ddr.elf write abl_a abl2esp-v6.elf write abl_b abl2esp-v6.elf write 0 image.raw
> 
> The following firmware files are currently used, on top of what's in
> linux-firmware already:
>   qcom/qcm6490/particle/tachyon/a660_zap.mbn
>   qcom/qcm6490/particle/tachyon/adsp.mbn
>   qcom/qcm6490/particle/tachyon/cdsp.mbn
>   qcom/qcm6490/particle/tachyon/ipa_fws.mbn
>   qcom/qcm6490/particle/tachyon/modem.mbn

Is it locked? Would it be possible to Particle-signed firmware into
linux-firmware?

> 
> In addition to bug fixes that has landed in v6.17-rc this depends on
> [2], which is available in linux-next.
> 
> [1] https://github.com/qualcomm/abl2esp/releases/tag/v1.0
> [2] https://lore.kernel.org/all/20250811-sc7280-mdss-reset-v1-0-83ceff1d48de@oss.qualcomm.com/
> 
> Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
> ---
> Bjorn Andersson (3):
>       dt-bindings: vendor-prefixes: Add Particle Industries
>       dt-bindings: arm: qcom: Add Particle Tachyon
>       arm64: dts: qcom: qcm6490: Introduce the Particle Tachyon
> 
>  Documentation/devicetree/bindings/arm/qcom.yaml    |   1 +
>  .../devicetree/bindings/vendor-prefixes.yaml       |   2 +
>  arch/arm64/boot/dts/qcom/Makefile                  |   1 +
>  .../boot/dts/qcom/qcm6490-particle-tachyon.dts     | 877 +++++++++++++++++++++
>  4 files changed, 881 insertions(+)
> ---
> base-commit: 5f540c4aade9f1d58fb7b9490b4b7d5214ec9746
> change-id: 20250910-tachyon-e3548941397d
> 
> Best regards,
> -- 
> Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
> 

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 0/3] arm64: dts: qcom: qcm6490: Introduce Particle Tachyon
  2025-09-11  0:01 ` [PATCH 0/3] arm64: dts: qcom: qcm6490: Introduce " Dmitry Baryshkov
@ 2025-09-11 19:19   ` Bjorn Andersson
  2025-09-12  1:22     ` Dmitry Baryshkov
  0 siblings, 1 reply; 14+ messages in thread
From: Bjorn Andersson @ 2025-09-11 19:19 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Konrad Dybcio, linux-arm-msm, devicetree, linux-kernel

On Thu, Sep 11, 2025 at 03:01:35AM +0300, Dmitry Baryshkov wrote:
> On Wed, Sep 10, 2025 at 06:05:36PM -0500, Bjorn Andersson wrote:
> > Introduce the Particle Tachyon board (https://www.particle.io/tachyon/),
> > a single board compute with 5G connectivity and AI accelerator.
> > 
> > The boards currently ships with the Android Boot Loader, but replacing
> > this with abl2esp allows writing a EFI System Parition and OS partitions
> > to all of LUN0, and a more UEFI boot experience. A prebuilt version of
> > abl2esp is provided at [1], as abl2esp-v6.elf.
> > 
> > With a (very) recent version of QDL, a flash programmer from a Tachyon
> > software release, and a full distro image, this can be achieved with:
> > 
> >   qdl prog_firehose_ddr.elf write abl_a abl2esp-v6.elf write abl_b abl2esp-v6.elf write 0 image.raw
> > 
> > The following firmware files are currently used, on top of what's in
> > linux-firmware already:
> >   qcom/qcm6490/particle/tachyon/a660_zap.mbn
> >   qcom/qcm6490/particle/tachyon/adsp.mbn
> >   qcom/qcm6490/particle/tachyon/cdsp.mbn
> >   qcom/qcm6490/particle/tachyon/ipa_fws.mbn
> >   qcom/qcm6490/particle/tachyon/modem.mbn
> 
> Is it locked?

It doesn't look that way.

> Would it be possible to Particle-signed firmware into linux-firmware?

That is something that would have to be discussed...

Regards,
Bjorn

> 
> > 
> > In addition to bug fixes that has landed in v6.17-rc this depends on
> > [2], which is available in linux-next.
> > 
> > [1] https://github.com/qualcomm/abl2esp/releases/tag/v1.0
> > [2] https://lore.kernel.org/all/20250811-sc7280-mdss-reset-v1-0-83ceff1d48de@oss.qualcomm.com/
> > 
> > Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
> > ---
> > Bjorn Andersson (3):
> >       dt-bindings: vendor-prefixes: Add Particle Industries
> >       dt-bindings: arm: qcom: Add Particle Tachyon
> >       arm64: dts: qcom: qcm6490: Introduce the Particle Tachyon
> > 
> >  Documentation/devicetree/bindings/arm/qcom.yaml    |   1 +
> >  .../devicetree/bindings/vendor-prefixes.yaml       |   2 +
> >  arch/arm64/boot/dts/qcom/Makefile                  |   1 +
> >  .../boot/dts/qcom/qcm6490-particle-tachyon.dts     | 877 +++++++++++++++++++++
> >  4 files changed, 881 insertions(+)
> > ---
> > base-commit: 5f540c4aade9f1d58fb7b9490b4b7d5214ec9746
> > change-id: 20250910-tachyon-e3548941397d
> > 
> > Best regards,
> > -- 
> > Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
> > 
> 
> -- 
> With best wishes
> Dmitry

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 3/3] arm64: dts: qcom: qcm6490: Introduce the Particle Tachyon
  2025-09-10 23:05 ` [PATCH 3/3] arm64: dts: qcom: qcm6490: Introduce the " Bjorn Andersson
@ 2025-09-11 19:37   ` Bjorn Andersson
  2025-09-12 11:13   ` Konrad Dybcio
  1 sibling, 0 replies; 14+ messages in thread
From: Bjorn Andersson @ 2025-09-11 19:37 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Konrad Dybcio,
	linux-arm-msm, devicetree, linux-kernel

On Wed, Sep 10, 2025 at 06:05:39PM -0500, Bjorn Andersson wrote:
> diff --git a/arch/arm64/boot/dts/qcom/qcm6490-particle-tachyon.dts b/arch/arm64/boot/dts/qcom/qcm6490-particle-tachyon.dts
[..]
> +&gpu_zap_shader {
> +	firmware-name = "qcom/qcom6490/particle/tachyon/a660_zap.mbn";

The should be qcm6490, not qcom6490...

Same with a couple of the other firmware paths as well.

Regards,
Bjorn

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 0/3] arm64: dts: qcom: qcm6490: Introduce Particle Tachyon
  2025-09-11 19:19   ` Bjorn Andersson
@ 2025-09-12  1:22     ` Dmitry Baryshkov
  2025-09-16  3:26       ` Bjorn Andersson
  0 siblings, 1 reply; 14+ messages in thread
From: Dmitry Baryshkov @ 2025-09-12  1:22 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Konrad Dybcio, linux-arm-msm, devicetree, linux-kernel

On Thu, Sep 11, 2025 at 02:19:39PM -0500, Bjorn Andersson wrote:
> On Thu, Sep 11, 2025 at 03:01:35AM +0300, Dmitry Baryshkov wrote:
> > On Wed, Sep 10, 2025 at 06:05:36PM -0500, Bjorn Andersson wrote:
> > > Introduce the Particle Tachyon board (https://www.particle.io/tachyon/),
> > > a single board compute with 5G connectivity and AI accelerator.
> > > 
> > > The boards currently ships with the Android Boot Loader, but replacing
> > > this with abl2esp allows writing a EFI System Parition and OS partitions
> > > to all of LUN0, and a more UEFI boot experience. A prebuilt version of
> > > abl2esp is provided at [1], as abl2esp-v6.elf.
> > > 
> > > With a (very) recent version of QDL, a flash programmer from a Tachyon
> > > software release, and a full distro image, this can be achieved with:
> > > 
> > >   qdl prog_firehose_ddr.elf write abl_a abl2esp-v6.elf write abl_b abl2esp-v6.elf write 0 image.raw
> > > 
> > > The following firmware files are currently used, on top of what's in
> > > linux-firmware already:
> > >   qcom/qcm6490/particle/tachyon/a660_zap.mbn
> > >   qcom/qcm6490/particle/tachyon/adsp.mbn
> > >   qcom/qcm6490/particle/tachyon/cdsp.mbn
> > >   qcom/qcm6490/particle/tachyon/ipa_fws.mbn
> > >   qcom/qcm6490/particle/tachyon/modem.mbn
> > 
> > Is it locked?
> 
> It doesn't look that way.

Then anything preventing us from using the default, non-signed FW?

> 
> > Would it be possible to Particle-signed firmware into linux-firmware?
> 
> That is something that would have to be discussed...

It would be really nice...

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 3/3] arm64: dts: qcom: qcm6490: Introduce the Particle Tachyon
  2025-09-10 23:05 ` [PATCH 3/3] arm64: dts: qcom: qcm6490: Introduce the " Bjorn Andersson
  2025-09-11 19:37   ` Bjorn Andersson
@ 2025-09-12 11:13   ` Konrad Dybcio
  2025-09-16  4:08     ` Bjorn Andersson
  1 sibling, 1 reply; 14+ messages in thread
From: Konrad Dybcio @ 2025-09-12 11:13 UTC (permalink / raw)
  To: Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Konrad Dybcio
  Cc: linux-arm-msm, devicetree, linux-kernel

On 9/11/25 1:05 AM, Bjorn Andersson wrote:
> The Particle Tachyon is a single board computer with 5G connectivity
> with AI accelerator, based on the Qualcomm QCM6490 platform.
> 
> Introduce the board, with support for UFS, USB, USB Type-C PD and
> altmode (DisplayPort), GPU, charger/battery status, PCIe shield,
> SD-card, and remoteprocs.
> 
> Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
> ---

[...]

> +	leds {
> +		compatible = "gpio-leds";
> +
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&activity_led_state>;

property-n
property-names

is preferred, file-wide (you currently have a mixture)

[...]

> +
> +&i2c1 {
> +	status = "okay";

This likely results in a "falling back to 100 KHz" warning/notice,
please specify the bus speed explicitly

[...]

> +&mdss_dp_out {
> +	data-lanes = <0 1>;

Is 2 lanes a hw limitation?

[...]

> +&pmk8350_rtc {

I see no reason for RTC not to be enabled by default

[...]

> +&pon_pwrkey {

Same here> +	status = "okay";
> +};


> +&uart7 {
> +	/delete-property/interrupts;

/delete-property/(space)interrupts, please

(yes we desperately need a formatter)

[...]

> +&usb_1_qmpphy {
> +	vdda-phy-supply = <&vreg_l6b_1p2>;
> +	vdda-pll-supply = <&vreg_l1b_0p912>;
> +
> +	orientation-switch;

This is specified in the SoC DTSI

[...]

> +&usb_dp_qmpphy_dp_in {
> +	remote-endpoint = <&mdss_dp_out>;
> +};

And so is this link

> +
> +&usb_dp_qmpphy_out {
> +	remote-endpoint = <&pmic_glink_ss_in>;
> +};
> +
> +&usb_dp_qmpphy_usb_ss_in {
> +	remote-endpoint = <&usb_1_dwc3_ss>;
> +};

And this one

Konrad

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/3] dt-bindings: vendor-prefixes: Add Particle Industries
  2025-09-10 23:05 ` [PATCH 1/3] dt-bindings: vendor-prefixes: Add Particle Industries Bjorn Andersson
@ 2025-09-15  0:28   ` Rob Herring (Arm)
  0 siblings, 0 replies; 14+ messages in thread
From: Rob Herring (Arm) @ 2025-09-15  0:28 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Konrad Dybcio, devicetree, Conor Dooley, linux-kernel,
	Krzysztof Kozlowski, Bjorn Andersson, linux-arm-msm


On Wed, 10 Sep 2025 18:05:37 -0500, Bjorn Andersson wrote:
> Particle is a San Francisco-based company providing an integrated IoT
> Platform-as-a-Service.
> 
> https://www.particle.io/
> 
> Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
> ---
>  Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
>  1 file changed, 2 insertions(+)
> 

Acked-by: Rob Herring (Arm) <robh@kernel.org>


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 2/3] dt-bindings: arm: qcom: Add Particle Tachyon
  2025-09-10 23:05 ` [PATCH 2/3] dt-bindings: arm: qcom: Add Particle Tachyon Bjorn Andersson
@ 2025-09-15  0:29   ` Rob Herring (Arm)
  0 siblings, 0 replies; 14+ messages in thread
From: Rob Herring (Arm) @ 2025-09-15  0:29 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Bjorn Andersson, linux-kernel, Krzysztof Kozlowski,
	linux-arm-msm, Conor Dooley, Konrad Dybcio, devicetree


On Wed, 10 Sep 2025 18:05:38 -0500, Bjorn Andersson wrote:
> The Particle Tachyon is a single board computer with 5G connectivity
> with AI accelerator, based on the Qualcomm QCM6490 platform.
> 
> Document the top-level compatible for this board.
> 
> Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
> ---
>  Documentation/devicetree/bindings/arm/qcom.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 

Acked-by: Rob Herring (Arm) <robh@kernel.org>


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 0/3] arm64: dts: qcom: qcm6490: Introduce Particle Tachyon
  2025-09-12  1:22     ` Dmitry Baryshkov
@ 2025-09-16  3:26       ` Bjorn Andersson
  2025-09-16 10:30         ` Dmitry Baryshkov
  0 siblings, 1 reply; 14+ messages in thread
From: Bjorn Andersson @ 2025-09-16  3:26 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Konrad Dybcio, linux-arm-msm, devicetree, linux-kernel

On Fri, Sep 12, 2025 at 04:22:18AM +0300, Dmitry Baryshkov wrote:
> On Thu, Sep 11, 2025 at 02:19:39PM -0500, Bjorn Andersson wrote:
> > On Thu, Sep 11, 2025 at 03:01:35AM +0300, Dmitry Baryshkov wrote:
> > > On Wed, Sep 10, 2025 at 06:05:36PM -0500, Bjorn Andersson wrote:
> > > > Introduce the Particle Tachyon board (https://www.particle.io/tachyon/),
> > > > a single board compute with 5G connectivity and AI accelerator.
> > > > 
> > > > The boards currently ships with the Android Boot Loader, but replacing
> > > > this with abl2esp allows writing a EFI System Parition and OS partitions
> > > > to all of LUN0, and a more UEFI boot experience. A prebuilt version of
> > > > abl2esp is provided at [1], as abl2esp-v6.elf.
> > > > 
> > > > With a (very) recent version of QDL, a flash programmer from a Tachyon
> > > > software release, and a full distro image, this can be achieved with:
> > > > 
> > > >   qdl prog_firehose_ddr.elf write abl_a abl2esp-v6.elf write abl_b abl2esp-v6.elf write 0 image.raw
> > > > 
> > > > The following firmware files are currently used, on top of what's in
> > > > linux-firmware already:
> > > >   qcom/qcm6490/particle/tachyon/a660_zap.mbn
> > > >   qcom/qcm6490/particle/tachyon/adsp.mbn
> > > >   qcom/qcm6490/particle/tachyon/cdsp.mbn
> > > >   qcom/qcm6490/particle/tachyon/ipa_fws.mbn
> > > >   qcom/qcm6490/particle/tachyon/modem.mbn
> > > 
> > > Is it locked?
> > 
> > It doesn't look that way.
> 
> Then anything preventing us from using the default, non-signed FW?
> 

Looking at the version, they are not from the same branch or year.

I suggest that we stick with the firmware that the vendor has validated
on their piece of hardware together with the other pieces of firmware,
at least for now.

Once/if we built confidence in the QLI firmware, we can replace these
paths.

Regards,
Bjorn

> > 
> > > Would it be possible to Particle-signed firmware into linux-firmware?
> > 
> > That is something that would have to be discussed...
> 
> It would be really nice...
> 
> -- 
> With best wishes
> Dmitry

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 3/3] arm64: dts: qcom: qcm6490: Introduce the Particle Tachyon
  2025-09-12 11:13   ` Konrad Dybcio
@ 2025-09-16  4:08     ` Bjorn Andersson
  0 siblings, 0 replies; 14+ messages in thread
From: Bjorn Andersson @ 2025-09-16  4:08 UTC (permalink / raw)
  To: Konrad Dybcio
  Cc: Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Konrad Dybcio, linux-arm-msm, devicetree, linux-kernel

On Fri, Sep 12, 2025 at 01:13:17PM +0200, Konrad Dybcio wrote:
> On 9/11/25 1:05 AM, Bjorn Andersson wrote:
> > The Particle Tachyon is a single board computer with 5G connectivity
> > with AI accelerator, based on the Qualcomm QCM6490 platform.
> > 
> > Introduce the board, with support for UFS, USB, USB Type-C PD and
> > altmode (DisplayPort), GPU, charger/battery status, PCIe shield,
> > SD-card, and remoteprocs.
> > 
> > Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
> > ---
> 
> [...]
> 
> > +	leds {
> > +		compatible = "gpio-leds";
> > +
> > +		pinctrl-names = "default";
> > +		pinctrl-0 = <&activity_led_state>;
> 
> property-n
> property-names
> 
> is preferred, file-wide (you currently have a mixture)
> 
> [...]
> 
> > +
> > +&i2c1 {
> > +	status = "okay";
> 
> This likely results in a "falling back to 100 KHz" warning/notice,
> please specify the bus speed explicitly
> 
> [...]
> 
> > +&mdss_dp_out {
> > +	data-lanes = <0 1>;
> 
> Is 2 lanes a hw limitation?
> 

[   20.947242] [drm:msm_dp_ctrl_link_train_1_2 [msm]] *ERROR* max v_level reached
[   20.955002] [drm:msm_dp_ctrl_link_train_1_2 [msm]] *ERROR* link training #1 on phy 0 failed. ret=-11
[   20.964702] [drm:msm_dp_ctrl_setup_main_link [msm]] *ERROR* link training on sink failed. ret=-11

I believe I saw the same problem on Rb3Gen2. Do we know if there's any
sc7280 that has working 4-lane DP, or are we perhaps missing something
in the PHY sequences?

Regards,
Bjorn

> [...]
> 
> > +&pmk8350_rtc {
> 
> I see no reason for RTC not to be enabled by default
> 
> [...]
> 
> > +&pon_pwrkey {
> 
> Same here> +	status = "okay";
> > +};
> 
> 
> > +&uart7 {
> > +	/delete-property/interrupts;
> 
> /delete-property/(space)interrupts, please
> 
> (yes we desperately need a formatter)
> 
> [...]
> 
> > +&usb_1_qmpphy {
> > +	vdda-phy-supply = <&vreg_l6b_1p2>;
> > +	vdda-pll-supply = <&vreg_l1b_0p912>;
> > +
> > +	orientation-switch;
> 
> This is specified in the SoC DTSI
> 
> [...]
> 
> > +&usb_dp_qmpphy_dp_in {
> > +	remote-endpoint = <&mdss_dp_out>;
> > +};
> 
> And so is this link
> 
> > +
> > +&usb_dp_qmpphy_out {
> > +	remote-endpoint = <&pmic_glink_ss_in>;
> > +};
> > +
> > +&usb_dp_qmpphy_usb_ss_in {
> > +	remote-endpoint = <&usb_1_dwc3_ss>;
> > +};
> 
> And this one
> 
> Konrad

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 0/3] arm64: dts: qcom: qcm6490: Introduce Particle Tachyon
  2025-09-16  3:26       ` Bjorn Andersson
@ 2025-09-16 10:30         ` Dmitry Baryshkov
  0 siblings, 0 replies; 14+ messages in thread
From: Dmitry Baryshkov @ 2025-09-16 10:30 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Konrad Dybcio, linux-arm-msm, devicetree, linux-kernel

On Mon, Sep 15, 2025 at 10:26:30PM -0500, Bjorn Andersson wrote:
> On Fri, Sep 12, 2025 at 04:22:18AM +0300, Dmitry Baryshkov wrote:
> > On Thu, Sep 11, 2025 at 02:19:39PM -0500, Bjorn Andersson wrote:
> > > On Thu, Sep 11, 2025 at 03:01:35AM +0300, Dmitry Baryshkov wrote:
> > > > On Wed, Sep 10, 2025 at 06:05:36PM -0500, Bjorn Andersson wrote:
> > > > > Introduce the Particle Tachyon board (https://www.particle.io/tachyon/),
> > > > > a single board compute with 5G connectivity and AI accelerator.
> > > > > 
> > > > > The boards currently ships with the Android Boot Loader, but replacing
> > > > > this with abl2esp allows writing a EFI System Parition and OS partitions
> > > > > to all of LUN0, and a more UEFI boot experience. A prebuilt version of
> > > > > abl2esp is provided at [1], as abl2esp-v6.elf.
> > > > > 
> > > > > With a (very) recent version of QDL, a flash programmer from a Tachyon
> > > > > software release, and a full distro image, this can be achieved with:
> > > > > 
> > > > >   qdl prog_firehose_ddr.elf write abl_a abl2esp-v6.elf write abl_b abl2esp-v6.elf write 0 image.raw
> > > > > 
> > > > > The following firmware files are currently used, on top of what's in
> > > > > linux-firmware already:
> > > > >   qcom/qcm6490/particle/tachyon/a660_zap.mbn
> > > > >   qcom/qcm6490/particle/tachyon/adsp.mbn
> > > > >   qcom/qcm6490/particle/tachyon/cdsp.mbn
> > > > >   qcom/qcm6490/particle/tachyon/ipa_fws.mbn
> > > > >   qcom/qcm6490/particle/tachyon/modem.mbn
> > > > 
> > > > Is it locked?
> > > 
> > > It doesn't look that way.
> > 
> > Then anything preventing us from using the default, non-signed FW?
> > 
> 
> Looking at the version, they are not from the same branch or year.
> 
> I suggest that we stick with the firmware that the vendor has validated
> on their piece of hardware together with the other pieces of firmware,
> at least for now.
> 
> Once/if we built confidence in the QLI firmware, we can replace these
> paths.


Ack.


-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2025-09-16 10:30 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-09-10 23:05 [PATCH 0/3] arm64: dts: qcom: qcm6490: Introduce Particle Tachyon Bjorn Andersson
2025-09-10 23:05 ` [PATCH 1/3] dt-bindings: vendor-prefixes: Add Particle Industries Bjorn Andersson
2025-09-15  0:28   ` Rob Herring (Arm)
2025-09-10 23:05 ` [PATCH 2/3] dt-bindings: arm: qcom: Add Particle Tachyon Bjorn Andersson
2025-09-15  0:29   ` Rob Herring (Arm)
2025-09-10 23:05 ` [PATCH 3/3] arm64: dts: qcom: qcm6490: Introduce the " Bjorn Andersson
2025-09-11 19:37   ` Bjorn Andersson
2025-09-12 11:13   ` Konrad Dybcio
2025-09-16  4:08     ` Bjorn Andersson
2025-09-11  0:01 ` [PATCH 0/3] arm64: dts: qcom: qcm6490: Introduce " Dmitry Baryshkov
2025-09-11 19:19   ` Bjorn Andersson
2025-09-12  1:22     ` Dmitry Baryshkov
2025-09-16  3:26       ` Bjorn Andersson
2025-09-16 10:30         ` Dmitry Baryshkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®