318 lines
6.2 KiB
Plaintext
318 lines
6.2 KiB
Plaintext
|
// SPDX-License-Identifier: BSD-3-Clause
|
||
|
/*
|
||
|
* Copyright (c) 2021, AngeloGioacchino Del Regno
|
||
|
* <angelogioacchino.delregno@somainline.org>
|
||
|
*/
|
||
|
|
||
|
/dts-v1/;
|
||
|
|
||
|
#include "msm8998-mtp.dtsi"
|
||
|
|
||
|
#include <dt-bindings/input/input.h>
|
||
|
#include <dt-bindings/leds/common.h>
|
||
|
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
|
||
|
|
||
|
/ {
|
||
|
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";
|
||
|
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 = <EV_SW>;
|
||
|
linux,code = <SW_KEYPAD_SLIDE>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
gpio-kb-extra-keys {
|
||
|
compatible = "gpio-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 = <KEY_HOMEPAGE>;
|
||
|
debounce-interval = <15>;
|
||
|
linux,can-disable;
|
||
|
};
|
||
|
|
||
|
super-l {
|
||
|
label = "Super Left";
|
||
|
gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
|
||
|
linux,code = <KEY_FN>;
|
||
|
debounce-interval = <15>;
|
||
|
linux,can-disable;
|
||
|
};
|
||
|
|
||
|
super-r {
|
||
|
label = "Super Right";
|
||
|
gpios = <&tlmm 33 GPIO_ACTIVE_LOW>;
|
||
|
linux,code = <KEY_FN>;
|
||
|
debounce-interval = <15>;
|
||
|
linux,can-disable;
|
||
|
};
|
||
|
|
||
|
shift {
|
||
|
label = "Shift";
|
||
|
gpios = <&tlmm 114 GPIO_ACTIVE_LOW>;
|
||
|
linux,code = <KEY_RIGHTSHIFT>;
|
||
|
debounce-interval = <15>;
|
||
|
linux,can-disable;
|
||
|
};
|
||
|
|
||
|
ctrl {
|
||
|
label = "Ctrl";
|
||
|
gpios = <&tlmm 128 GPIO_ACTIVE_LOW>;
|
||
|
linux,code = <KEY_LEFTCTRL>;
|
||
|
debounce-interval = <15>;
|
||
|
linux,can-disable;
|
||
|
};
|
||
|
|
||
|
alt {
|
||
|
label = "Alt";
|
||
|
gpios = <&tlmm 129 GPIO_ACTIVE_LOW>;
|
||
|
linux,code = <KEY_LEFTALT>;
|
||
|
debounce-interval = <15>;
|
||
|
linux,can-disable;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
gpio-keys {
|
||
|
compatible = "gpio-keys";
|
||
|
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 = <EV_KEY>;
|
||
|
linux,code = <KEY_VOLUMEUP>;
|
||
|
gpio-key,wakeup;
|
||
|
debounce-interval = <15>;
|
||
|
};
|
||
|
|
||
|
camera-snapshot {
|
||
|
label = "Camera Snapshot";
|
||
|
gpios = <&pm8998_gpio 7 GPIO_ACTIVE_LOW>;
|
||
|
linux,input-type = <EV_KEY>;
|
||
|
linux,code = <KEY_CAMERA>;
|
||
|
debounce-interval = <15>;
|
||
|
};
|
||
|
|
||
|
camera-focus {
|
||
|
label = "Camera Focus";
|
||
|
gpios = <&pm8998_gpio 8 GPIO_ACTIVE_LOW>;
|
||
|
linux,input-type = <EV_KEY>;
|
||
|
linux,code = <KEY_CAMERA_FOCUS>;
|
||
|
debounce-interval = <15>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
keyboard-leds {
|
||
|
compatible = "gpio-leds";
|
||
|
|
||
|
backlight {
|
||
|
color = <LED_COLOR_ID_WHITE>;
|
||
|
default-state = "off";
|
||
|
function = LED_FUNCTION_KBD_BACKLIGHT;
|
||
|
gpios = <&tlmm 16 GPIO_ACTIVE_HIGH>;
|
||
|
label = "white:kbd_backlight";
|
||
|
retain-state-suspended;
|
||
|
};
|
||
|
|
||
|
caps-lock {
|
||
|
color = <LED_COLOR_ID_YELLOW>;
|
||
|
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 = <PMIC_GPIO_STRENGTH_NO>;
|
||
|
};
|
||
|
|
||
|
cam_focus_pin_a: cam-focus-btn-active {
|
||
|
pins = "gpio7";
|
||
|
function = "normal";
|
||
|
bias-pull-up;
|
||
|
input-enable;
|
||
|
qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
|
||
|
};
|
||
|
|
||
|
cam_snapshot_pin_a: cam-snapshot-btn-active {
|
||
|
pins = "gpio8";
|
||
|
function = "normal";
|
||
|
bias-pull-up;
|
||
|
input-enable;
|
||
|
qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&pm8998_pon {
|
||
|
resin {
|
||
|
compatible = "qcom,pm8941-resin";
|
||
|
interrupts = <GIC_SPI 0x8 1 IRQ_TYPE_EDGE_BOTH>;
|
||
|
bias-pull-up;
|
||
|
debounce = <15625>;
|
||
|
linux,code = <KEY_VOLUMEDOWN>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&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>;
|
||
|
};
|