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
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + port@0 {
Please add a \n before the subnode
[...]
> + 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?
[...]
> +&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?
[...]
> +/* 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.
[...]
> +&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?
[...]
> +
> + 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 '='
[...]
> + 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
Konrad