diff -rupbN linux.orig/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketace.dts linux/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketace.dts --- linux.orig/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketace.dts 1970-01-01 00:00:00.000000000 +0000 +++ linux/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketace.dts 2025-02-26 13:52:56.398992835 +0000 @@ -0,0 +1,134 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025, Teguh Sobirin. + * Copyright (c) 2025, ROCKNIX (https://github.com/ROCKNIX) + */ + +/dts-v1/; + +#include "qcs8550-ayaneo-pocket-common.dtsi" + +/ { + model = "AYANEO Pocket ACE"; + qcom,board-id = <0x1000b 0x01>; + qcom,msm-id = <0x258 0x20000>, <0x259 0x20000>; + compatible = "ayaneo,pocketace", "qcom,qcs8550", "qcom,sm8550"; + rocknix-u-boot-dt-id = "u-boot-pocket-ace"; +}; + +&tlmm { + panel_pwr_active: panel-pwr-active-state { + pins = "gpio72", "gpio42", "gpio152", "gpio153"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + output-high; + }; + + panel_pwr_sleep: panel-pwr-sleep-state { + pins = "gpio72", "gpio42", "gpio152", "gpio153"; + function = "gpio"; + output-low; + }; + + backlight_pwr_active: backlight-pwr-active-state { + pins = "gpio41"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + output-high; + }; + + backlight_pwr_sleep: backlight-pwr-sleep-state { + pins = "gpio41"; + function = "gpio"; + output-low; + }; + + ts_int_active: ts-int-default-state { + pins = "gpio25"; + function = "gpio"; + bias-pull-up; + input-enable; + }; +}; + +&i2c0 { + clock-frequency = <400000>; + status = "okay"; + + /* Screen power */ + sgm3804: regulator@3e { + compatible = "sgmicro,sgm3804"; + reg = <0x3e>; + pinctrl-0 = <&panel_pwr_active>; + pinctrl-1 = <&panel_pwr_sleep>; + pinctrl-names = "default", "sleep"; + regulator-name = "panel-avdd"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + reset-gpios = <&tlmm 152 GPIO_ACTIVE_HIGH>, <&tlmm 153 GPIO_ACTIVE_HIGH>; + }; + + /* Backlight */ + backlight: sy7758@2e { + compatible = "silergy,sy7758"; + reg = <0x2e>; + pinctrl-0 = <&backlight_pwr_active>; + pinctrl-1 = <&backlight_pwr_sleep>; + pinctrl-names = "default", "sleep"; + status = "okay"; + }; +}; + +&i2c4 { + clock-frequency = <400000>; + status = "okay"; + + touchscreen@70 { + compatible = "syna,rmi4-i2c"; + reg = <0x70>; + #address-cells = <1>; + #size-cells = <0>; + interrupts-extended = <&tlmm 25 0x2008>; + + pinctrl-names = "active"; + pinctrl-0 = <&ts_int_active>; + + reset-gpios = <&tlmm 24 0x01>; + + vio-supply = <&vreg_l12b_1p8>; + vdd-supply = <&vreg_l14b_3p2>; + + syna,startup-delay-ms = <200>; + syna,reset-delay-ms = <200>; + + rmi4-f01@1 { + syna,nosleep-mode = <0x1>; + reg = <0x1>; + }; + + rmi4-f12@12 { + reg = <0x12>; + syna,rezero-wait-ms = <20>; + syna,clip-x-low = <0>; + syna,clip-y-low = <0>; + syna,clip-x-high = <1080>; + syna,clip-y-high = <1620>; + syna,sensor-type = <1>; + }; + }; +}; + +&display_panel { + compatible = "ayaneo,pocket-ace-panel"; + + avdd-supply = <&sgm3804>; + vci-supply = <&vreg_l13b_3p0>; + vddio-supply = <&vreg_l12b_1p8>; + + backlight = <&backlight>; + reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; + + rotation = <90>; +};