On 10/22/25 7:40 AM, Piyush Raj Chouhan wrote:
> Add initial device tree support for the Xiaomi Redmi K20 Pro/ Xiaomi Mi 9T Pro
> (codename raphael), based on the Qualcomm SM8150 (Snapdragon 855)
> platform.

[...]

> +             ramoops@a1600000 {
> +                     compatible = "ramoops";
> +                     reg = <0x0 0xa1600000 0x0 0x800000>;
> +                     console-size = <0x400000>;
> +                     pmsg-size = <0x200000>;
> +                     record-size = <0>;
> +                     ftrace-size = <0>;
> +                     ecc-size = <0>;
> +                     no-map;

You can probably remove the = 0 entries (although ECC is very useful
to set to e.g. 8)

[...]

> +     gpio-keys {
> +             compatible = "gpio-keys";
> +             pinctrl-names = "default";
> +             pinctrl-0 = <&vol_up_n>;

property-n
property-names

in this order, please, file-wide


> +             /*
> +              * PM8150 LDO8 (L8A) — supplies vreg_l8a_0p75
> +              * Device spec: nominal 0.752 V, active min 0.752 V, active max 
> 0.904 V, IRATED = 300 mA

Hm?

[...]

> +&gpu {
> +     zap-shader {
> +             memory-region = <&gpu_mem>;
> +             firmware-name = "qcom/sm8150/xiaomi/raphael/a640_zap.mbn";
> +     };
> +
> +     status = "okay";

This shouldn't compile

[...]

> +};
> +
> +&i2c19 {
> +     /* goodix,gt9886 @5d  */

I see there's driver support for the GT98*97* - is there a chance you can
reuse some of it?

> +};
> +
> +&mdss {
> +     status = "okay";
> +};
> +
> +&mdss_dsi0 {
> +     vdda-supply = <&vdda_mipi_dsi0_1p2>;
> +
> +     status = "okay";

Please add a newline between this property an the following subnode

[...]

> +&pm8150b_typec {
> +     vdd-vbus-supply = <&pm8150b_vbus>;
> +     vdd-pdphy-supply = <&vdda_usb_hs_3p1>;
> +
> +     status = "okay";

ditto

> +     connector {
> +             compatible = "usb-c-connector";
> +             power-role = "source";
> +             data-role = "dual";
> +             self-powered;
> +
> +             source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_DUAL_ROLE |
> +                                      PDO_FIXED_USB_COMM | 
> PDO_FIXED_DATA_SWAP)>;

Have you verified this is in line with your specific device's
downstream kernel?

[...]

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

ditto

[...]

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

ditto> +        led@1 {
> +             reg = <1>;
> +             color = <LED_COLOR_ID_WHITE>;
> +             function = LED_FUNCTION_STATUS;
> +
> +             status = "disabled";

?

> +     };
> +
> +     led@2 {
> +             reg = <2>;
> +             color = <LED_COLOR_ID_RED>;
> +             function = LED_FUNCTION_STATUS;
> +             function-enumerator = <0>;
> +     };
> +
> +     led@3 {
> +             reg = <3>;
> +             color = <LED_COLOR_ID_RED>;
> +             function = LED_FUNCTION_STATUS;
> +             function-enumerator = <1>;
> +     };

Are there really two separate red LEDs?

[...]

> +     /* GPIO 0..3 are NFC spi, gpios 126..129 are FP spi */
> +     gpio-reserved-ranges = <0 4>, <126 4>;
> +
> +     /* Display panel pins */
> +     panel_reset_pin: panel-reset-state {
> +             pins = "gpio6";
> +             function = "gpio";
> +             drive-strength = <2>;
> +             bias-disable;
> +             output-low;

Please drop output- properites from TLMM subnodes, these are controlled by
the kernel's GPIO framework instead

[...]

> +&usb_1_dwc3 {
> +     dr_mode = "otg";
> +     maximum-speed = "high-speed";
> +
> +     /* Remove USB3 phy */
> +     phys = <&usb_1_hsphy>;
> +     phy-names = "usb2-phy";

Is this a physical limitation, i.e. missing wires?

> +
> +     usb-role-switch;

This property should be moved to the SoC DTSI

Konrad

Reply via email to