// SPDX-License-Identifier: BSD-3-Clause /* * Copyright (c) 2021, AngeloGioacchino Del Regno * */ /dts-v1/; #include "msm8998-mtp.dtsi" #include #include #include / { model = "F(x)tec Pro1 (QX1000)"; compatible = "fxtec,pro1", "qcom,msm8998"; chassis-type = "handset"; qcom,board-id = <0x02000b 0x10>; /* * Until we hook up type-c detection, we * have to stick with this. But it works. */ extcon_usb: extcon-usb { compatible = "linux,extcon-usb-gpio"; id-gpio = <&tlmm 38 GPIO_ACTIVE_HIGH>; }; gpio-hall-sensors { compatible = "gpio-keys"; input-name = "hall-sensors"; label = "Hall sensors"; pinctrl-names = "default"; pinctrl-0 = <&hall_sensor1_default>; hall-sensor1 { label = "Keyboard Hall Sensor"; gpios = <&tlmm 124 GPIO_ACTIVE_HIGH>; debounce-interval = <15>; gpio-key,wakeup; linux,input-type = ; linux,code = ; }; }; gpio-kb-extra-keys { compatible = "gpio-keys"; input-name = "extra-kb-keys"; label = "Keyboard extra keys"; pinctrl-names = "default"; pinctrl-0 = <&gpio_kb_pins_extra>; home { label = "Home"; gpios = <&tlmm 21 GPIO_ACTIVE_LOW>; linux,code = ; debounce-interval = <15>; linux,can-disable; }; super-l { label = "Super Left"; gpios = <&tlmm 32 GPIO_ACTIVE_LOW>; linux,code = ; debounce-interval = <15>; linux,can-disable; }; super-r { label = "Super Right"; gpios = <&tlmm 33 GPIO_ACTIVE_LOW>; linux,code = ; debounce-interval = <15>; linux,can-disable; }; shift { label = "Shift"; gpios = <&tlmm 114 GPIO_ACTIVE_LOW>; linux,code = ; debounce-interval = <15>; linux,can-disable; }; ctrl { label = "Ctrl"; gpios = <&tlmm 128 GPIO_ACTIVE_LOW>; linux,code = ; debounce-interval = <15>; linux,can-disable; }; alt { label = "Alt"; gpios = <&tlmm 129 GPIO_ACTIVE_LOW>; linux,code = ; debounce-interval = <15>; linux,can-disable; }; }; gpio-keys { compatible = "gpio-keys"; input-name = "side-buttons"; label = "Side buttons"; #address-cells = <1>; #size-cells = <0>; pinctrl-names = "default"; pinctrl-0 = <&vol_up_pin_a>, <&cam_focus_pin_a>, <&cam_snapshot_pin_a>; vol-up { label = "Volume Up"; gpios = <&pm8998_gpio 6 GPIO_ACTIVE_LOW>; linux,input-type = ; linux,code = ; gpio-key,wakeup; debounce-interval = <15>; }; camera-snapshot { label = "Camera Snapshot"; gpios = <&pm8998_gpio 7 GPIO_ACTIVE_LOW>; linux,input-type = ; linux,code = ; debounce-interval = <15>; }; camera-focus { label = "Camera Focus"; gpios = <&pm8998_gpio 8 GPIO_ACTIVE_LOW>; linux,input-type = ; linux,code = ; debounce-interval = <15>; }; }; keyboard-leds { compatible = "gpio-leds"; backlight { color = ; default-state = "off"; function = LED_FUNCTION_KBD_BACKLIGHT; gpios = <&tlmm 16 GPIO_ACTIVE_HIGH>; label = "white:kbd_backlight"; retain-state-suspended; }; caps-lock { color = ; default-state = "off"; function = LED_FUNCTION_CAPSLOCK; gpios = <&tlmm 26 GPIO_ACTIVE_HIGH>; label = "yellow:capslock"; linux,default-trigger = "kbd-capslock"; }; }; reserved-memory { cont_splash_mem: memory@9d400000 { reg = <0x0 0x9d400000 0x0 0x2000000>; no-map; }; zap_shader_region: memory@f6400000 { compatible = "shared-dma-pool"; reg = <0x0 0xf6400000 0x0 0x2000>; no-map; }; ramoops@ffc00000 { compatible = "ramoops"; reg = <0x0 0xffc00000 0x0 0x100000>; console-size = <0x60000>; ecc-size = <16>; ftrace-size = <0x10000>; pmsg-size = <0x20000>; record-size = <0x10000>; }; }; ts_vio_vreg: ts-vio-vreg { compatible = "regulator-fixed"; regulator-name = "ts_vio_reg"; startup-delay-us = <2>; enable-active-high; gpio = <&tlmm 81 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&ts_vio_default>; regulator-always-on; }; }; &blsp2_i2c1 { status = "ok"; touchscreen@14 { compatible = "goodix,gt9286"; reg = <0x14>; interrupt-parent = <&tlmm>; interrupts = <125 IRQ_TYPE_LEVEL_LOW>; reset-gpios = <&tlmm 89 GPIO_ACTIVE_HIGH>; AVDD28-supply = <&vreg_l28_3p0>; VDDIO-supply = <&ts_vio_vreg>; pinctrl-names = "active"; pinctrl-0 = <&ts_rst_n>, <&ts_int_n>; }; }; &mmcc { status = "ok"; }; &mmss_smmu { status = "ok"; }; &pm8998_gpio { vol_up_pin_a: vol-up-active { pins = "gpio6"; function = "normal"; bias-pull-up; input-enable; qcom,drive-strength = ; }; cam_focus_pin_a: cam-focus-btn-active { pins = "gpio7"; function = "normal"; bias-pull-up; input-enable; qcom,drive-strength = ; }; cam_snapshot_pin_a: cam-snapshot-btn-active { pins = "gpio8"; function = "normal"; bias-pull-up; input-enable; qcom,drive-strength = ; }; }; &pm8998_pon { resin { compatible = "qcom,pm8941-resin"; interrupts = ; bias-pull-up; debounce = <15625>; linux,code = ; }; }; &tlmm { gpio-reserved-ranges = <0 4>; mdp_vsync_n: mdp-vsync-n { pins = "gpio10"; function = "mdp_vsync_a"; bias-pull-down; drive-strength = <2>; }; gpio_kb_pins_extra: gpio-kb-pins-extra { pins = "gpio21", "gpio32", "gpio33", "gpio114", "gpio128", "gpio129"; function = "gpio"; drive-strength = <2>; bias-pull-up; }; ts_vio_default: ts-vio-def { pins = "gpio81"; function = "gpio"; bias-disable; drive-strength = <2>; }; ts_rst_n: ts-rst-n { pins = "gpio89"; function = "gpio"; bias-pull-up; drive-strength = <8>; }; hall_sensor1_default: hall-sensor1-def { pins = "gpio124"; function = "gpio"; bias-disable; drive-strength = <2>; input-enable; }; ts_int_n: ts-int-n { pins = "gpio125"; function = "gpio"; bias-disable; drive-strength = <8>; }; }; &ufshc { status = "ok"; }; &ufsphy { status = "ok"; }; &usb3_dwc3 { dr_mode = "peripheral"; extcon = <&extcon_usb>; }; /* GT9286 analog supply */ &vreg_l28_3p0 { regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; };