On 10/20/2026 4:27 PM, Konrad Dybcio wrote:
On 10/9/26 9:55 AM, Xilin Wu wrote:
Add initial device tree support for the Radxa Dragon Q8B,
a single-board computer based on the Qualcomm Snapdragon 8cx Gen 3
SC8280XP platform.
[...]
+ pmic-glink {
+ compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink";
+
+ #address-cells = <1>;
+ #size-cells = <0>;
+ orientation-gpios = <&tlmm 166 GPIO_ACTIVE_HIGH>,
+ <&tlmm 49 GPIO_ACTIVE_HIGH>;
Please align the '<'s
Ack.
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
Please add a \n before the subnode
Ack.
[...]
+ vcc_5v_s: regulator-vcc-5v-s {
+ compatible = "regulator-fixed";
+
+ regulator-name = "vcc_5v_s";
+ regulator-min-microvolt = <5000000>;
+ regulator-max-microvolt = <5000000>;
+
+ gpio = <&tlmm 159 GPIO_ACTIVE_HIGH>;
+ enable-active-high;
+ startup-delay-us = <250000>;
+ off-on-delay-us = <150000>;
+
+ pinctrl-0 = <&vcc_5v_s_reg_en>;
+ pinctrl-names = "default";
+
+ /* CH7218A needs to be powered on for HPD logic to work */
+ regulator-always-on;
Does the power supply reference at the connector node not handle this?
No, the regulator will be turned off if there's no active display.
[...]
+&gpu_zap_shader {
+ /* Reuse firmware from x13s as the SoC is unfused */
+ firmware-name = "qcom/sc8280xp/LENOVO/21BX/qcdxkmsuc8280.mbn";
+};
Other than the signature, the zap firmware is wholly generic.. I wonder
if we can just add a symlink in l-f to get a generic path..
WDYT +Dmitry?
I would prefer that indeed.
[...]
+/* M-key Gen3 x4 */
+&pcie2a {
+ /* Place ECAM and BAR space above 4 GiB to accommodate large BARs. */
+ reg = <0x0 0x01c20000 0x0 0x3000>,
+ <0x0 0x3c000000 0x0 0xf1d>,
+ <0x0 0x3c000f20 0x0 0xa8>,
+ <0x0 0x3c001000 0x0 0x1000>,
+ <0x5 0x00000000 0x0 0x10000000>, /* ECAM config */
+ <0x0 0x01c23000 0x0 0x1000>;
+
+ ranges = /* IO (1 MiB) */
+ <0x01000000 0x0 0x00000000 0x0 0x3c200000 0x0 0x100000>,
+ /* 32-bit non-prefetchable memory (256 MiB) */
+ <0x02000000 0x0 0x40000000 0x5 0x10000000 0x0 0x10000000>,
+ /* 64-bit non-prefetchable memory (3.5 GiB) */
+ <0x03000000 0x5 0x20000000 0x5 0x20000000 0x0 0xe0000000>;
Please drop this change on the board side, this is SoC-specific.
Likewise for the other ports.
Ack. Do you think this change can be applied to SoC DTSI?
[...]
+&pmk8280_pon_pwrkey {
+ status = "okay";
+};
I am confused why this isn't enabled by deafult but that's of course
not your fault
[...]
+&sdc2 {
+ pinctrl-0 = <&sdc2_default_state>;
+ pinctrl-1 = <&sdc2_sleep_state>;
+ pinctrl-names = "default", "sleep";
+
+ full-pwr-cycle;
Hm, is that something that comes from the controller itself? Should
we advertise it on other SoCs too?
It is observed that the boot firmware can leave an inserted SD card in a
state that makes the first Linux enumeration fall back to 50 MHz
high-speed mode. This property allows the MMC core to fully cycle the
controllable card supply after voltage selection so UHS-I voltage
switching succeeds reliably.
[...]
+
+ vmmc-supply = <&vreg_l9c>;
+ vqmmc-supply = <&vreg_l6c>;
+
+ cd-gpios = <&tlmm 131 GPIO_ACTIVE_LOW>;
+
+ status = "okay";
+};
+
+&sound {
+ compatible = "qcom,sc8280xp-sndcard";
+ model = "SC8280XP-Radxa-Dragon-Q8B";
+
+ audio-routing =
+ "IN1_HPHL", "HPHL_OUT",
Please don't break the line here, start right after the '='
Ack.
[...]
+ usb0_sbu_default: usb0-sbu-state {
+ oe-n-pins {
+ pins = "gpio101";
+ function = "gpio";
+ bias-disable;
+ drive-strength = <16>;
+ output-high;
Drop the forced output state from both SBU pin states
Ack. Thank you for the review.
Konrad
--
Best regards,
Xilin Wu <[email protected]>