* [PATCH 0/3] Support for the Samsung Galaxy Book2 Go (SC7280)
@ 2026-10-12 18:11 Luca Weiss
2026-10-12 18:11 ` [PATCH 1/3] drm/panel-edp: Add AUO B140HAN04.0 panel entry Luca Weiss
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Luca Weiss @ 2026-10-12 18:11 UTC (permalink / raw)
To: Douglas Anderson, Neil Armstrong, Jessica Zhang,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, cros-qcom-dts-watchers
Cc: ~postmarketos/upstreaming, phone-devel, dri-devel, linux-kernel,
linux-arm-msm, devicetree, Luca Weiss, Jasper Korten, Luca Weiss,
Federico Amedeo Izzo
Add basic support for the Samsung Galaxy Book2 Go laptop. Basic support
is just eDP panel support, devicetree bindings and a devicetree.
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
Jasper Korten (2):
drm/panel-edp: Add AUO B140HAN04.0 panel entry
arm64: dts: qcom: Add Samsung Galaxy Book2 Go
Luca Weiss (1):
dt-bindings: arm: qcom: Add Samsung Galaxy Book2 Go
Documentation/devicetree/bindings/arm/qcom.yaml | 5 +
arch/arm64/boot/dts/qcom/Makefile | 1 +
.../dts/qcom/sc7280-samsung-galaxy-book2-go.dts | 643 +++++++++++++++++++++
drivers/gpu/drm/panel/panel-edp.c | 1 +
4 files changed, 650 insertions(+)
---
base-commit: d970aefaa8160df2d536a71cee2d3df9ff65889c
change-id: 20261011-book2go-b0e945e53fdb
Best regards,
--
Luca Weiss <luca.weiss@fairphone.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/3] drm/panel-edp: Add AUO B140HAN04.0 panel entry
2026-10-12 18:11 [PATCH 0/3] Support for the Samsung Galaxy Book2 Go (SC7280) Luca Weiss
@ 2026-10-12 18:11 ` Luca Weiss
2026-10-12 18:11 ` [PATCH 2/3] dt-bindings: arm: qcom: Add Samsung Galaxy Book2 Go Luca Weiss
2026-10-12 18:11 ` [PATCH 3/3] arm64: dts: " Luca Weiss
2 siblings, 0 replies; 8+ messages in thread
From: Luca Weiss @ 2026-10-12 18:11 UTC (permalink / raw)
To: Douglas Anderson, Neil Armstrong, Jessica Zhang,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, cros-qcom-dts-watchers
Cc: ~postmarketos/upstreaming, phone-devel, dri-devel, linux-kernel,
linux-arm-msm, devicetree, Luca Weiss, Jasper Korten
From: Jasper Korten <jja2000@gmail.com>
Add an entry for the B140HAN04.0 eDP panel. It is found on the Samsung
Galaxy Book2 Go.
$ edid-decode /sys/class/drm/card0-eDP-1/edid
00 ff ff ff ff ff ff 00 06 af a9 65 00 00 00 00
28 20 01 04 a5 1f 11 78 02 9b 85 92 56 59 90 29
20 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 14 37 80 b8 70 38 24 40 10 10
3e 00 35 ae 10 00 00 18 00 00 00 0f 00 00 00 00
00 00 00 00 00 00 00 00 00 20 00 00 00 fe 00 41
55 4f 0a 20 20 20 20 20 20 20 20 20 00 00 00 fe
00 42 31 34 30 48 41 4e 30 34 2e 30 20 0a 00 ed
Signed-off-by: Jasper Korten <jja2000@gmail.com>
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
drivers/gpu/drm/panel/panel-edp.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/panel-edp.c
index 2b455369ed70..73cdc2d37ab7 100644
--- a/drivers/gpu/drm/panel/panel-edp.c
+++ b/drivers/gpu/drm/panel/panel-edp.c
@@ -1986,6 +1986,7 @@ static const struct edp_panel_entry edp_panels[] = {
EDP_PANEL_ENTRY('A', 'U', 'O', 0x635c, &delay_200_500_e50, "B116XAN06.3"),
EDP_PANEL_ENTRY('A', 'U', 'O', 0x639c, &delay_200_500_e50, "B140HAK02.7"),
EDP_PANEL_ENTRY('A', 'U', 'O', 0x643d, &delay_200_500_e50, "B140HAN06.4"),
+ EDP_PANEL_ENTRY('A', 'U', 'O', 0x65a9, &delay_200_500_e50, "B140HAN04.0"),
EDP_PANEL_ENTRY('A', 'U', 'O', 0x67a8, &delay_200_500_e200, "B140XTK02.4"),
EDP_PANEL_ENTRY('A', 'U', 'O', 0x723c, &delay_200_500_e50, "B140XTN07.2"),
EDP_PANEL_ENTRY('A', 'U', 'O', 0x73aa, &delay_200_500_e50, "B116XTN02.3"),
--
2.56.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 2/3] dt-bindings: arm: qcom: Add Samsung Galaxy Book2 Go
2026-10-12 18:11 [PATCH 0/3] Support for the Samsung Galaxy Book2 Go (SC7280) Luca Weiss
2026-10-12 18:11 ` [PATCH 1/3] drm/panel-edp: Add AUO B140HAN04.0 panel entry Luca Weiss
@ 2026-10-12 18:11 ` Luca Weiss
2026-10-13 9:36 ` Krzysztof Kozlowski
2026-10-12 18:11 ` [PATCH 3/3] arm64: dts: " Luca Weiss
2 siblings, 1 reply; 8+ messages in thread
From: Luca Weiss @ 2026-10-12 18:11 UTC (permalink / raw)
To: Douglas Anderson, Neil Armstrong, Jessica Zhang,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, cros-qcom-dts-watchers
Cc: ~postmarketos/upstreaming, phone-devel, dri-devel, linux-kernel,
linux-arm-msm, devicetree, Luca Weiss, Luca Weiss
From: Luca Weiss <luca@lucaweiss.eu>
The Samsung Galaxy Book2 Go is a laptop with a Snapdragon 7c+ Gen 3 SoC
(SC7280).
It appears to exist in three variants:
NP340XNAA-EXP:
4GB RAM + 128GB UFS, WiFi-only (NP340XNA-KA1UK)
NP345XNAA-EXP:
4GB RAM + 128GB UFS, 5G (NP345XNA-KA1UK)
8GB RAM + 256GB UFS, 5G (NP345XNA-KA2UK)
The internal code name is Hermes2-14.
Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
Documentation/devicetree/bindings/arm/qcom.yaml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index ff8a35df7862..5048e878b7ca 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -887,6 +887,11 @@ properties:
- const: google,zombie-sku514
- const: qcom,sc7280
+ - items:
+ - enum:
+ - samsung,galaxy-book2-go
+ - const: qcom,sc7280
+
- items:
- enum:
- lenovo,flex-5g
--
2.56.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 3/3] arm64: dts: qcom: Add Samsung Galaxy Book2 Go
2026-10-12 18:11 [PATCH 0/3] Support for the Samsung Galaxy Book2 Go (SC7280) Luca Weiss
2026-10-12 18:11 ` [PATCH 1/3] drm/panel-edp: Add AUO B140HAN04.0 panel entry Luca Weiss
2026-10-12 18:11 ` [PATCH 2/3] dt-bindings: arm: qcom: Add Samsung Galaxy Book2 Go Luca Weiss
@ 2026-10-12 18:11 ` Luca Weiss
2026-10-12 18:20 ` sashiko-bot
2026-10-13 10:10 ` Konrad Dybcio
2 siblings, 2 replies; 8+ messages in thread
From: Luca Weiss @ 2026-10-12 18:11 UTC (permalink / raw)
To: Douglas Anderson, Neil Armstrong, Jessica Zhang,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, cros-qcom-dts-watchers
Cc: ~postmarketos/upstreaming, phone-devel, dri-devel, linux-kernel,
linux-arm-msm, devicetree, Luca Weiss, Jasper Korten,
Federico Amedeo Izzo, Luca Weiss
From: Jasper Korten <jja2000@gmail.com>
The Samsung Galaxy Book2 Go is a laptop with a Snapdragon 7c+ Gen 3 SoC
(SC7280).
Add initial functionality:
* Display (with backlight, GPU)
* Touchpad & keyboard (without Fn key mapping support)
* UFS storage
* SD card
* USB Type-A port
* Modem and mobile data
* WiFi & Bluetooth
* ADSP & CDSP bootup
* Battery fuel gauge
* Venus/Iris
* Lid switch
* RGB LED (Operating status LED)
* Webcam (USB UVC)
Notably missing:
* Speaker & microphone
* Charging
* USB Type-C ports (except when active at boot)
* DisplayPort on right-side USB-C port
Signed-off-by: Jasper Korten <jja2000@gmail.com>
Co-developed-by: Federico Amedeo Izzo <federico@izzo.pro>
Signed-off-by: Federico Amedeo Izzo <federico@izzo.pro>
Co-developed-by: Luca Weiss <luca@lucaweiss.eu>
Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
arch/arm64/boot/dts/qcom/Makefile | 1 +
.../dts/qcom/sc7280-samsung-galaxy-book2-go.dts | 643 +++++++++++++++++++++
2 files changed, 644 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 1c86e7e98f55..8e54d9ce5f3d 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -287,6 +287,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sc7280-herobrine-zombie-nvme-lte.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7280-idp.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7280-idp2.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc7280-crd-r3.dtb
+dtb-$(CONFIG_ARCH_QCOM) += sc7280-samsung-galaxy-book2-go.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc8180x-lenovo-flex-5g.dtb
dtb-$(CONFIG_ARCH_QCOM) += sc8180x-primus.dtb
sc8280xp-crd-el2-dtbs := sc8280xp-crd.dtb sc8280xp-el2.dtbo
diff --git a/arch/arm64/boot/dts/qcom/sc7280-samsung-galaxy-book2-go.dts b/arch/arm64/boot/dts/qcom/sc7280-samsung-galaxy-book2-go.dts
new file mode 100644
index 000000000000..fe1a1b01f67e
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sc7280-samsung-galaxy-book2-go.dts
@@ -0,0 +1,643 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2025, Jasper Korten <jja2000@gmail.com>
+ * Copyright (c) 2026, Luca Weiss <luca@lucaweiss.eu>
+ */
+
+/dts-v1/;
+
+/* PM7250B is configured to use SID8/9 */
+#define PM7250B_SID 8
+#define PM7250B_SID1 9
+
+#include <dt-bindings/leds/common.h>
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+#include "kodiak.dtsi"
+#include "qcs6490-audioreach.dtsi"
+#include "pm7250b.dtsi"
+#include "pm7325.dtsi"
+#include "pm8350c.dtsi"
+#include "pmk8350.dtsi"
+
+/delete-node/ &ipa_fw_mem;
+/delete-node/ &rmtfs_mem;
+/delete-node/ &wpss_mem;
+/delete-node/ &xbl_mem;
+
+/ {
+ model = "Samsung Galaxy Book2 Go";
+ compatible = "samsung,galaxy-book2-go", "qcom,sc7280";
+ chassis-type = "laptop";
+
+ aliases {
+ serial1 = &uart7;
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ pinctrl-0 = <&hall_int_default>;
+ pinctrl-names = "default";
+
+ switch-lid {
+ label = "Switch Lid";
+ gpios = <&tlmm 35 GPIO_ACTIVE_LOW>;
+ linux,input-type = <EV_SW>;
+ linux,code = <SW_LID>;
+ wakeup-source;
+ };
+ };
+
+ pm8350c_pwm_backlight: backlight {
+ compatible = "pwm-backlight";
+ pwms = <&pm8350c_pwm 3 65535>;
+ enable-gpios = <&pm8350c_gpios 7 GPIO_ACTIVE_HIGH>;
+ pinctrl-0 = <&pmic_lcd_bl_en>;
+ pinctrl-names = "default";
+ };
+
+ vreg_edp_3p3: regulator-edp-3p3 {
+ compatible = "regulator-fixed";
+
+ regulator-name = "VREG_EDP_3P3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+
+ gpio = <&tlmm 96 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+
+ pinctrl-0 = <&edp_reg_en>;
+ pinctrl-names = "default";
+
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ reserved-memory {
+ wpss_mem: wpss@84800000 {
+ reg = <0x0 0x84800000 0x0 0x1900000>;
+ no-map;
+ };
+
+ rmtfs_mem: rmtfs@a0800000 {
+ compatible = "qcom,rmtfs-mem";
+ reg = <0x0 0xa0800000 0x0 0x300000>;
+ no-map;
+
+ qcom,client-id = <1>;
+ };
+
+ ipa_fw_mem: ipa-fw@81800000 {
+ reg = <0x0 0x81800000 0x0 0x70000>;
+ no-map;
+ };
+ };
+};
+
+&apps_rsc {
+ regulators-0 {
+ compatible = "qcom,pm7325-rpmh-regulators";
+ qcom,pmic-id = "b";
+
+ vreg_l1b_0p8: ldo1 {
+ regulator-name = "vreg_l1b";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <912000>;
+ };
+
+ vreg_l2b_3p0: ldo2 {
+ regulator-name = "vreg_l2b";
+ regulator-min-microvolt = <3072000>;
+ regulator-max-microvolt = <3072000>;
+ };
+
+ vreg_l6b_1p2: ldo6 {
+ regulator-name = "vreg_l6b";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ };
+
+ vreg_l7b_2p9: ldo7 {
+ regulator-name = "vreg_l7b";
+ regulator-min-microvolt = <2504000>;
+ regulator-max-microvolt = <2960000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l9b_1p2: ldo9 {
+ regulator-name = "vreg_l9b";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l18b_1p8: ldo18 {
+ regulator-name = "vreg_l18b";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ vreg_l19b_1p8: ldo19 {
+ regulator-name = "vreg_l19b";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ vreg_s1b_1p8: smps1 {
+ regulator-name = "vreg_s1b";
+ regulator-min-microvolt = <1872000>;
+ regulator-max-microvolt = <1872000>;
+ };
+
+ vreg_s7b_0p9: smps7 {
+ regulator-name = "vreg_s7b";
+ regulator-min-microvolt = <952000>;
+ regulator-max-microvolt = <952000>;
+ };
+
+ vreg_s8b_1p2: smps8 {
+ regulator-name = "vreg_s8b";
+ regulator-min-microvolt = <1256000>;
+ regulator-max-microvolt = <1256000>;
+ };
+ };
+
+ regulators-1 {
+ compatible = "qcom,pm8350c-rpmh-regulators";
+ qcom,pmic-id = "c";
+
+ vreg_l1c_1p8: ldo1 {
+ regulator-name = "vreg_l1c";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+
+ vreg_l6c_2p9: ldo6 {
+ regulator-name = "vreg_l6c";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <2950000>;
+ };
+
+ vreg_l7c_3p0: ldo7 {
+ regulator-name = "vreg_l7c";
+ regulator-min-microvolt = <3000000>;
+ regulator-max-microvolt = <3300000>;
+ };
+
+ vreg_l9c_2p9: ldo9 {
+ regulator-name = "vreg_l9c";
+ regulator-min-microvolt = <2960000>;
+ regulator-max-microvolt = <2960000>;
+ };
+
+ vreg_l10c_0p8: ldo10 {
+ regulator-name = "vreg_l10c";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <880000>;
+ };
+
+ vreg_l12c_1p8: ldo12 {
+ regulator-name = "vreg_l12c";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ };
+ };
+};
+
+&gcc {
+ protected-clocks = <GCC_CFG_NOC_LPASS_CLK>,
+ <GCC_EDP_CLKREF_EN>,
+ <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/sc7280/Samsung/galaxy-book2-go/qcdxkmsuc7280.mbn";
+};
+
+&i2c0 {
+ clock-frequency = <400000>;
+
+ status = "okay";
+
+ /* SSTP0001 */
+ touchpad@40 {
+ compatible = "hid-over-i2c";
+ reg = <0x40>;
+ hid-descr-addr = <0x0e>;
+
+ interrupts-extended = <&tlmm 51 IRQ_TYPE_LEVEL_LOW>;
+
+ vdd-supply = <&vreg_l7c_3p0>;
+ vddl-supply = <&vreg_l18b_1p8>;
+
+ post-power-on-delay-ms = <2>;
+
+ pinctrl-0 = <&hid_touchpad_default>;
+ pinctrl-names = "default";
+
+ wakeup-source;
+ };
+};
+
+&i2c1 {
+ status = "okay";
+};
+
+&i2c2 {
+ status = "okay";
+
+ /* A96T396 Proximity @ 0x20 & 0x21 ? */
+};
+
+&i2c4 {
+ status = "okay";
+
+ /* LIS2DLC12 Accelerometer @ 0x1d ? */
+};
+
+&i2c9 {
+ status = "okay";
+
+ /* A96T396 Proximity @ 0x20 ? */
+};
+
+&i2c10 {
+ status = "okay";
+
+ /* ? @ 0x09 */
+
+ battery@b {
+ compatible = "sbs,sbs-battery";
+ reg = <0x0b>;
+ };
+};
+
+&i2c12 {
+ clock-frequency = <100000>;
+
+ status = "okay";
+
+ /* SSEC0001 */
+ keyboard@5 {
+ compatible = "hid-over-i2c";
+ reg = <0x5>;
+ hid-descr-addr = <0x20>;
+
+ interrupts-extended = <&tlmm 131 IRQ_TYPE_LEVEL_LOW>;
+
+ pinctrl-0 = <&hid_keyboard_default>;
+ pinctrl-names = "default";
+
+ wakeup-source;
+ };
+};
+
+&i2c14 {
+ status = "okay";
+
+ /* EC2 (?) @ 0x62 */
+};
+
+&ipa {
+ firmware-name = "qcom/sc7280/Samsung/galaxy-book2-go/ipa_fws.elf";
+
+ status = "okay";
+};
+
+&mdss {
+ status = "okay";
+};
+
+&mdss_edp {
+ status = "okay";
+
+ aux-bus {
+ edp_panel: panel {
+ compatible = "edp-panel";
+
+ power-supply = <&vreg_edp_3p3>;
+ backlight = <&pm8350c_pwm_backlight>;
+
+ port {
+ edp_panel_in: endpoint {
+ remote-endpoint = <&mdss_edp_out>;
+ };
+ };
+ };
+ };
+};
+
+&mdss_edp_out {
+ data-lanes = <0 1 2 3>;
+ link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>;
+ remote-endpoint = <&edp_panel_in>;
+};
+
+&mdss_edp_phy {
+ vdda-pll-supply = <&vreg_l10c_0p8>;
+ vdda-phy-supply = <&vreg_l6b_1p2>;
+
+ status = "okay";
+};
+
+&pm8350c_gpios {
+ pmic_lcd_bl_en: pmic-lcd-bl-en-state {
+ pins = "gpio7";
+ function = "normal";
+ bias-disable;
+ qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
+ output-low;
+ power-source = <0>;
+ };
+
+ pmic_lcd_bl_pwm: pmic-lcd-bl-pwm-state {
+ pins = "gpio8";
+ function = "func1";
+ bias-disable;
+ qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
+ output-low;
+ power-source = <0>;
+ };
+};
+
+&pm8350c_pwm {
+ pinctrl-0 = <&pmic_lcd_bl_pwm>;
+ pinctrl-names = "default";
+
+ 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>;
+ };
+ };
+};
+
+&pon_pwrkey {
+ status = "okay";
+};
+
+&qupv3_id_0 {
+ status = "okay";
+};
+
+&qupv3_id_1 {
+ status = "okay";
+};
+
+&remoteproc_adsp {
+ firmware-name = "qcom/sc7280/Samsung/galaxy-book2-go/qcadsp7280.mbn";
+
+ status = "okay";
+};
+
+&remoteproc_cdsp {
+ firmware-name = "qcom/sc7280/Samsung/galaxy-book2-go/qccdsp7280.mbn";
+
+ status = "okay";
+};
+
+&remoteproc_mpss {
+ firmware-name = "qcom/sc7280/Samsung/galaxy-book2-go/qcmpss7280.mbn";
+
+ status = "okay";
+};
+
+&remoteproc_wpss {
+ firmware-name = "qcom/sc7280/Samsung/galaxy-book2-go/wpss.mbn";
+
+ status = "okay";
+};
+
+&sdc2_clk {
+ drive-strength = <16>;
+ bias-disable;
+};
+
+&sdc2_cmd {
+ drive-strength = <10>;
+ bias-pull-up;
+};
+
+&sdc2_data {
+ drive-strength = <10>;
+ bias-pull-up;
+};
+
+&sdhc_2 {
+ vmmc-supply = <&vreg_l9c_2p9>;
+ vqmmc-supply = <&vreg_l6c_2p9>;
+
+ pinctrl-0 = <&sdc2_clk>, <&sdc2_cmd>, <&sdc2_data>;
+ pinctrl-1 = <&sdc2_clk_sleep>, <&sdc2_cmd_sleep>, <&sdc2_data_sleep>;
+
+ status = "okay";
+};
+
+&tlmm {
+ 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;
+ };
+
+ hall_int_default: hall-int-state {
+ pins = "gpio35";
+ function = "gpio";
+ bias-disable;
+ };
+
+ hid_touchpad_default: hid-touchpad-default-state {
+ pins = "gpio61";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+
+ bluetooth_enable_default: bluetooth-enable-default-state {
+ pins = "gpio85";
+ function = "gpio";
+ output-low;
+ bias-disable;
+ };
+
+ sw_ctrl_default: sw-ctrl-default-state {
+ pins = "gpio86";
+ function = "gpio";
+ bias-pull-down;
+ };
+
+ edp_reg_en: edp-reg-en-state {
+ pins = "gpio96";
+ function = "gpio";
+ drive-strength = <16>;
+ bias-pull-up;
+ };
+
+ hid_keyboard_default: hid-keyboard-default-state {
+ pins = "gpio131";
+ function = "gpio";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+};
+
+&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: bluetooth {
+ compatible = "qcom,wcn6750-bt";
+
+ pinctrl-0 = <&bluetooth_enable_default>, <&sw_ctrl_default>;
+ pinctrl-names = "default";
+
+ enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>;
+ swctrl-gpios = <&tlmm 86 GPIO_ACTIVE_HIGH>;
+
+ vddio-supply = <&vreg_l19b_1p8>;
+ vddaon-supply = <&vreg_s7b_0p9>;
+ vddbtcxmx-supply = <&vreg_s7b_0p9>;
+ vddrfacmn-supply = <&vreg_s7b_0p9>;
+ vddrfa0p8-supply = <&vreg_s7b_0p9>;
+ vddrfa1p7-supply = <&vreg_s1b_1p8>;
+ vddrfa1p2-supply = <&vreg_s8b_1p2>;
+
+ max-speed = <3200000>;
+ };
+};
+
+&ufs_mem_hc {
+ reset-gpios = <&tlmm 175 GPIO_ACTIVE_LOW>;
+
+ vcc-supply = <&vreg_l7b_2p9>;
+ vcc-max-microamp = <800000>;
+ vccq-supply = <&vreg_l9b_1p2>;
+ vccq-max-microamp = <900000>;
+
+ status = "okay";
+};
+
+&ufs_mem_phy {
+ vdda-phy-supply = <&vreg_l10c_0p8>;
+ vdda-pll-supply = <&vreg_l6b_1p2>;
+
+ status = "okay";
+};
+
+&usb_1 {
+ dr_mode = "host";
+
+ status = "okay";
+};
+
+&usb_1_hsphy {
+ vdda-pll-supply = <&vreg_l10c_0p8>;
+ vdda33-supply = <&vreg_l2b_3p0>;
+ vdda18-supply = <&vreg_l1c_1p8>;
+ qcom,hs-rise-fall-time-bp = <0>;
+ qcom,squelch-detector-bp = <(-2090)>;
+ qcom,hs-disconnect-bp = <1743>;
+ qcom,hs-amplitude-bp = <1780>;
+ qcom,hs-crossover-voltage-microvolt = <(-31000)>;
+ qcom,hs-output-impedance-micro-ohms = <2600000>;
+
+ status = "okay";
+};
+
+&usb_1_qmpphy {
+ vdda-phy-supply = <&vreg_l6b_1p2>;
+ vdda-pll-supply = <&vreg_l1b_0p8>;
+
+ status = "okay";
+};
+
+&venus {
+ firmware-name = "qcom/sc7280/Samsung/galaxy-book2-go/qcvss7280.mbn";
+
+ status = "okay";
+};
+
+&wifi {
+ status = "okay";
+};
--
2.56.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 3/3] arm64: dts: qcom: Add Samsung Galaxy Book2 Go
2026-10-12 18:11 ` [PATCH 3/3] arm64: dts: " Luca Weiss
@ 2026-10-12 18:20 ` sashiko-bot
2026-10-13 10:10 ` Konrad Dybcio
1 sibling, 0 replies; 8+ messages in thread
From: sashiko-bot @ 2026-10-12 18:20 UTC (permalink / raw)
To: Luca Weiss; +Cc: conor+dt, robh, dri-devel, devicetree
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] dt: qcom: swapped regulators for usb_1_qmpphy (vdda-phy vs vdda-pll)
- [Medium] dt: qcom: mismatched GPIO for touchpad interrupt and pinctrl
--
commit 6783a272db1b782f7b019b76b1616193bd1640d7
Author: Jasper Korten <jja2000@gmail.com>
arm64: dts: qcom: Add Samsung Galaxy Book2 Go
Adds initial device tree support for the Samsung Galaxy Book2 Go laptop
based on the Snapdragon 7c+ Gen 3 (SC7280) SoC. This includes support for
the display, input devices, storage, networking, and standard peripherals.
> diff --git a/arch/arm64/boot/dts/qcom/sc7280-samsung-galaxy-book2-go.dts b/arch/arm64/boot/dts/qcom/sc7280-samsung-galaxy-book2-go.dts
> new file mode 100644
> index 0000000000000..fe1a1b01f67e8
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/sc7280-samsung-galaxy-book2-go.dts
[ ... ]
> +&i2c0 {
> + clock-frequency = <400000>;
> +
> + status = "okay";
> +
> + /* SSTP0001 */
> + touchpad@40 {
> + compatible = "hid-over-i2c";
> + reg = <0x40>;
> + hid-descr-addr = <0x0e>;
> +
> + interrupts-extended = <&tlmm 51 IRQ_TYPE_LEVEL_LOW>;
> +
> + vdd-supply = <&vreg_l7c_3p0>;
> + vddl-supply = <&vreg_l18b_1p8>;
> +
> + post-power-on-delay-ms = <2>;
> +
> + pinctrl-0 = <&hid_touchpad_default>;
> + pinctrl-names = "default";
> +
> + wakeup-source;
> + };
> +};
[ ... ]
> +&tlmm {
[ ... ]
> + hall_int_default: hall-int-state {
> + pins = "gpio35";
> + function = "gpio";
> + bias-disable;
> + };
> +
> + hid_touchpad_default: hid-touchpad-default-state {
> + pins = "gpio61";
> + function = "gpio";
> + drive-strength = <2>;
> + bias-pull-up;
> + };
[Severity: Medium]
Will this misconfigure the touchpad interrupt pin?
The touchpad@40 node defines its interrupt on GPIO 51 but specifies its
pinctrl state as hid_touchpad_default, which configures GPIO 61 instead.
Because the actual interrupt line is GPIO 51, it will not receive the
required pull-up, and an unrelated GPIO will be configured. Can this lead to
a non-functional touchpad or spurious interrupts during hardware
initialization?
[ ... ]
> +&usb_1_qmpphy {
> + vdda-phy-supply = <&vreg_l6b_1p2>;
> + vdda-pll-supply = <&vreg_l1b_0p8>;
> +
> + status = "okay";
> +};
[Severity: High]
Are the regulators swapped for the USB QMP PHY?
The usb_1_qmpphy node binds vdda-phy-supply to vreg_l6b_1p2 (1.2V) and
vdda-pll-supply to vreg_l1b_0p8 (0.8V).
Typically, the QMP PHY core domain expects around 0.88V, and the PLL
domain expects 1.2V.
Will this overvolt the core domain to 1.2V and undervolt the PLL domain to
0.8V, breaking USB SuperSpeed functionality and potentially posing a risk
of hardware damage when the regulators are enabled on boot?
> +
> +&venus {
> + firmware-name = "qcom/sc7280/Samsung/galaxy-book2-go/qcvss7280.mbn";
> +
> + status = "okay";
> +};
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261012-book2go-v1-0-7188e7ea7a15@fairphone.com?part=3
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 2/3] dt-bindings: arm: qcom: Add Samsung Galaxy Book2 Go
2026-10-12 18:11 ` [PATCH 2/3] dt-bindings: arm: qcom: Add Samsung Galaxy Book2 Go Luca Weiss
@ 2026-10-13 9:36 ` Krzysztof Kozlowski
0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2026-10-13 9:36 UTC (permalink / raw)
To: Luca Weiss
Cc: Douglas Anderson, Neil Armstrong, Jessica Zhang,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, cros-qcom-dts-watchers,
~postmarketos/upstreaming, phone-devel, dri-devel, linux-kernel,
linux-arm-msm, devicetree, Luca Weiss
On Mon, Oct 12, 2026 at 08:11:04PM +0200, Luca Weiss wrote:
> From: Luca Weiss <luca@lucaweiss.eu>
>
> The Samsung Galaxy Book2 Go is a laptop with a Snapdragon 7c+ Gen 3 SoC
> (SC7280).
>
> It appears to exist in three variants:
>
> NP340XNAA-EXP:
> 4GB RAM + 128GB UFS, WiFi-only (NP340XNA-KA1UK)
>
> NP345XNAA-EXP:
> 4GB RAM + 128GB UFS, 5G (NP345XNA-KA1UK)
> 8GB RAM + 256GB UFS, 5G (NP345XNA-KA2UK)
>
> The internal code name is Hermes2-14.
>
> Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
> ---
> Documentation/devicetree/bindings/arm/qcom.yaml | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
> index ff8a35df7862..5048e878b7ca 100644
> --- a/Documentation/devicetree/bindings/arm/qcom.yaml
> +++ b/Documentation/devicetree/bindings/arm/qcom.yaml
> @@ -887,6 +887,11 @@ properties:
> - const: google,zombie-sku514
> - const: qcom,sc7280
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 3/3] arm64: dts: qcom: Add Samsung Galaxy Book2 Go
2026-10-12 18:11 ` [PATCH 3/3] arm64: dts: " Luca Weiss
2026-10-12 18:20 ` sashiko-bot
@ 2026-10-13 10:10 ` Konrad Dybcio
2026-10-13 10:17 ` Luca Weiss
1 sibling, 1 reply; 8+ messages in thread
From: Konrad Dybcio @ 2026-10-13 10:10 UTC (permalink / raw)
To: Luca Weiss, Douglas Anderson, Neil Armstrong, Jessica Zhang,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
Simona Vetter, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, cros-qcom-dts-watchers
Cc: ~postmarketos/upstreaming, phone-devel, dri-devel, linux-kernel,
linux-arm-msm, devicetree, Jasper Korten, Federico Amedeo Izzo,
Luca Weiss
On 10/12/26 8:11 PM, Luca Weiss wrote:
> From: Jasper Korten <jja2000@gmail.com>
[...]
> Signed-off-by: Jasper Korten <jja2000@gmail.com>
> Co-developed-by: Federico Amedeo Izzo <federico@izzo.pro>
> Signed-off-by: Federico Amedeo Izzo <federico@izzo.pro>
> Co-developed-by: Luca Weiss <luca@lucaweiss.eu>
> Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Good to see the Lucas are in agreement ;)
[...]
> +&pm8350c_gpios {
> + pmic_lcd_bl_en: pmic-lcd-bl-en-state {
> + pins = "gpio7";
> + function = "normal";
> + bias-disable;
> + qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
> + output-low;
> + power-source = <0>;
> + };
> +
> + pmic_lcd_bl_pwm: pmic-lcd-bl-pwm-state {
> + pins = "gpio8";
> + function = "func1";
> + bias-disable;
> + qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
> + output-low;
> + power-source = <0>;
> + };
Drop the output-low, the consumers already take care of the state
[...]
> +&uart7 {
> + /delete-property/interrupts;
Let's add a space after the '/'
> + 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>;
And let's wrap this line
[...]
> +&usb_1 {
> + dr_mode = "host";
Does OTG not "just work"?
I'm assuming there's no pmic-glink on this device?
Konrad
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 3/3] arm64: dts: qcom: Add Samsung Galaxy Book2 Go
2026-10-13 10:10 ` Konrad Dybcio
@ 2026-10-13 10:17 ` Luca Weiss
0 siblings, 0 replies; 8+ messages in thread
From: Luca Weiss @ 2026-10-13 10:17 UTC (permalink / raw)
To: Konrad Dybcio, Luca Weiss, Douglas Anderson, Neil Armstrong,
Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, Bjorn Andersson,
Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
cros-qcom-dts-watchers
Cc: ~postmarketos/upstreaming, phone-devel, dri-devel, linux-kernel,
linux-arm-msm, devicetree, Jasper Korten, Federico Amedeo Izzo,
Luca Weiss, Hans de Goede
On Tue Oct 13, 2026 at 12:10 PM CEST, Konrad Dybcio wrote:
> On 10/12/26 8:11 PM, Luca Weiss wrote:
>> From: Jasper Korten <jja2000@gmail.com>
>
> [...]
>
>> Signed-off-by: Jasper Korten <jja2000@gmail.com>
>> Co-developed-by: Federico Amedeo Izzo <federico@izzo.pro>
>> Signed-off-by: Federico Amedeo Izzo <federico@izzo.pro>
>> Co-developed-by: Luca Weiss <luca@lucaweiss.eu>
>> Signed-off-by: Luca Weiss <luca@lucaweiss.eu>
>> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
>
> Good to see the Lucas are in agreement ;)
:)
>
> [...]
>
>> +&pm8350c_gpios {
>> + pmic_lcd_bl_en: pmic-lcd-bl-en-state {
>> + pins = "gpio7";
>> + function = "normal";
>> + bias-disable;
>> + qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
>> + output-low;
>> + power-source = <0>;
>> + };
>> +
>> + pmic_lcd_bl_pwm: pmic-lcd-bl-pwm-state {
>> + pins = "gpio8";
>> + function = "func1";
>> + bias-disable;
>> + qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
>> + output-low;
>> + power-source = <0>;
>> + };
>
> Drop the output-low, the consumers already take care of the state
For both enable and pwm?
>
> [...]
>
>> +&uart7 {
>> + /delete-property/interrupts;
>
> Let's add a space after the '/'
Will do
>
>> + 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>;
>
> And let's wrap this line
Sure
>
> [...]
>
>> +&usb_1 {
>> + dr_mode = "host";
>
> Does OTG not "just work"?
Is this a feature one would want on a laptop? On a phone for sure, but I
don't quite see the use case for the laptop to be a peripheral? But I
didn't try it, the USB basic setup was done by Jasper
>
> I'm assuming there's no pmic-glink on this device?
I'm not quite sure yet how the USB stuff works. For sure from
observation, USB-C only works when stuff was plugged-in at boot time
(UEFI?), and charger also only supplies any power (but not actually
charging) when plugged in at boot time.
Regards
Luca
>
> Konrad
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-10-13 10:17 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-12 18:11 [PATCH 0/3] Support for the Samsung Galaxy Book2 Go (SC7280) Luca Weiss
2026-10-12 18:11 ` [PATCH 1/3] drm/panel-edp: Add AUO B140HAN04.0 panel entry Luca Weiss
2026-10-12 18:11 ` [PATCH 2/3] dt-bindings: arm: qcom: Add Samsung Galaxy Book2 Go Luca Weiss
2026-10-13 9:36 ` Krzysztof Kozlowski
2026-10-12 18:11 ` [PATCH 3/3] arm64: dts: " Luca Weiss
2026-10-12 18:20 ` sashiko-bot
2026-10-13 10:10 ` Konrad Dybcio
2026-10-13 10:17 ` Luca Weiss
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.