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