1020 lines
21 KiB
Text
1020 lines
21 KiB
Text
// SPDX-License-Identifier: BSD-3-Clause
|
|
/*
|
|
* Copyright (c) 2021, AngeloGioacchino Del Regno
|
|
* <angelogioacchino.delregno@somainline.org>
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include <dt-bindings/input/input.h>
|
|
#include <dt-bindings/leds/common.h>
|
|
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
|
|
#include "msm8998.dtsi"
|
|
#include "pm8005.dtsi"
|
|
#include "pm8998.dtsi"
|
|
#include "pmi8998.dtsi"
|
|
|
|
/ {
|
|
model = "F(x)tec Pro1 (QX1000)";
|
|
compatible = "fxtec,pro1", "qcom,msm8998";
|
|
chassis-type = "handset";
|
|
qcom,board-id = <0x02000b 0x10>;
|
|
|
|
aliases {
|
|
serial0 = &blsp2_uart1;
|
|
serial1 = &blsp1_uart3;
|
|
};
|
|
|
|
/* This part enables graphical output via bootloader-enabled display */
|
|
chosen {
|
|
bootargs = "earlycon=tty0 console=tty0 clk_ignore_unused";
|
|
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
ranges;
|
|
};
|
|
|
|
/*
|
|
* 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>;
|
|
|
|
event-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";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&gpio_kb_pins_extra>;
|
|
|
|
key-home {
|
|
label = "Home";
|
|
gpios = <&tlmm 21 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_HOMEPAGE>;
|
|
debounce-interval = <15>;
|
|
linux,can-disable;
|
|
};
|
|
|
|
key-super-l {
|
|
label = "Super Left";
|
|
gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_FN>;
|
|
debounce-interval = <15>;
|
|
linux,can-disable;
|
|
};
|
|
|
|
key-super-r {
|
|
label = "Super Right";
|
|
gpios = <&tlmm 33 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_FN>;
|
|
debounce-interval = <15>;
|
|
linux,can-disable;
|
|
};
|
|
|
|
key-shift {
|
|
label = "Shift";
|
|
gpios = <&tlmm 114 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_RIGHTSHIFT>;
|
|
debounce-interval = <15>;
|
|
linux,can-disable;
|
|
};
|
|
|
|
key-ctrl {
|
|
label = "Ctrl";
|
|
gpios = <&tlmm 128 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_LEFTCTRL>;
|
|
debounce-interval = <15>;
|
|
linux,can-disable;
|
|
};
|
|
|
|
key-alt {
|
|
label = "Alt";
|
|
gpios = <&tlmm 129 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_LEFTALT>;
|
|
debounce-interval = <15>;
|
|
linux,can-disable;
|
|
};
|
|
};
|
|
|
|
gpio_keyboard: gpio-keyboard {
|
|
compatible = "gpio-fastmatrix-keyboard";
|
|
label = "F(x)Tec Pro1 Hardware Keyboard";
|
|
row-gpios =
|
|
<&gpioext0 0 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>,
|
|
<&gpioext0 1 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>,
|
|
<&gpioext0 2 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>,
|
|
<&gpioext0 3 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>,
|
|
<&gpioext0 4 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>,
|
|
<&gpioext0 5 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>,
|
|
<&gpioext0 6 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>,
|
|
<&gpioext0 7 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
|
|
|
|
col-gpios =
|
|
<&gpioext0 8 GPIO_ACTIVE_LOW>,
|
|
<&gpioext0 9 GPIO_ACTIVE_LOW>,
|
|
<&gpioext0 10 GPIO_ACTIVE_LOW>,
|
|
<&gpioext0 11 GPIO_ACTIVE_LOW>,
|
|
<&gpioext0 12 GPIO_ACTIVE_LOW>,
|
|
<&gpioext0 13 GPIO_ACTIVE_LOW>,
|
|
<&gpioext0 14 GPIO_ACTIVE_LOW>,
|
|
<&gpioext0 15 GPIO_ACTIVE_LOW>;
|
|
keypad,num-rows = <8>;
|
|
keypad,num-columns = <8>;
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&keyboard_pins_col>, <&keyboard_pins_row>;
|
|
|
|
autorescan-ms = <5>;
|
|
debounce-delay-ms = <1>;
|
|
col-scan-delay-us = <1500>;
|
|
};
|
|
|
|
gpio-keys {
|
|
compatible = "gpio-keys";
|
|
label = "Side buttons";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&vol_up_pin_a>, <&cam_focus_pin_a>,
|
|
<&cam_snapshot_pin_a>;
|
|
button-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>;
|
|
};
|
|
|
|
button-camera-snapshot {
|
|
label = "Camera Snapshot";
|
|
gpios = <&pm8998_gpio 7 GPIO_ACTIVE_LOW>;
|
|
linux,input-type = <EV_KEY>;
|
|
linux,code = <KEY_CAMERA>;
|
|
debounce-interval = <15>;
|
|
};
|
|
|
|
button-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";
|
|
|
|
led-0 {
|
|
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;
|
|
};
|
|
|
|
led-1 {
|
|
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>;
|
|
};
|
|
};
|
|
|
|
disp_vcc_vreg: disp-vcc-regulator {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "disp_vcc";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
disp_vddio_vreg: disp-vddio-regulator {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "disp_vddio";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
regulator-allow-set-load;
|
|
};
|
|
|
|
disp_vci_vreg: disp-vci-regulator {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "disp_vci";
|
|
regulator-min-microvolt = <3000000>;
|
|
regulator-max-microvolt = <3000000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
regulator-allow-set-load;
|
|
};
|
|
|
|
disp_elvdd_vreg: disp-elvdd-regulator {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "disp_elvdd";
|
|
regulator-min-microvolt = <4600000>;
|
|
regulator-max-microvolt = <4600000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
disp_elvss_vreg: disp-elvss-regulator {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "disp_elvss";
|
|
regulator-min-microvolt = <2400000>;
|
|
regulator-max-microvolt = <2400000>;
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
|
|
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;
|
|
};
|
|
|
|
vph_pwr: vph-pwr-regulator {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vph_pwr";
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
};
|
|
|
|
&blsp1_uart3 {
|
|
status = "okay";
|
|
|
|
bluetooth {
|
|
compatible = "qcom,wcn3990-bt";
|
|
|
|
vddio-supply = <&vreg_s4a_1p8>;
|
|
vddxo-supply = <&vreg_l7a_1p8>;
|
|
vddrf-supply = <&vreg_l17a_1p3>;
|
|
vddch0-supply = <&vreg_l25a_3p3>;
|
|
max-speed = <3200000>;
|
|
};
|
|
};
|
|
|
|
&blsp1_uart3_on {
|
|
rx {
|
|
/delete-property/ bias-disable;
|
|
/*
|
|
* Configure a pull-up on 45 (RX). This is needed to
|
|
* avoid garbage data when the TX pin of the Bluetooth
|
|
* module is in tri-state (module powered off or not
|
|
* driving the signal yet).
|
|
*/
|
|
bias-pull-up;
|
|
};
|
|
|
|
cts {
|
|
/delete-property/ bias-disable;
|
|
/*
|
|
* Configure a pull-down on 47 (CTS) to match the pull
|
|
* of the Bluetooth module.
|
|
*/
|
|
bias-pull-down;
|
|
};
|
|
};
|
|
|
|
&blsp2_uart1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&adreno_gpu {
|
|
status = "okay";
|
|
|
|
zap-shader {
|
|
memory-region = <&zap_shader_region>;
|
|
};
|
|
};
|
|
|
|
&adreno_smmu {
|
|
status = "okay";
|
|
};
|
|
|
|
&apc_cprh {
|
|
status = "okay";
|
|
};
|
|
|
|
&blsp1_i2c6 {
|
|
status = "okay";
|
|
|
|
gpioext0: gpio-expander@58 {
|
|
compatible = "awinic,aw9523-pinctrl";
|
|
reg = <0x58>;
|
|
interrupt-parent = <&tlmm>;
|
|
interrupts = <50 IRQ_TYPE_EDGE_FALLING>;
|
|
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
gpio-ranges = <&gpioext0 0 0 16>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
|
|
pinctrl-0 = <&gpio_expander_int_n>, <&gpio_expander_rst_n>;
|
|
pinctrl-names = "default";
|
|
reset-gpios = <&tlmm 51 GPIO_ACTIVE_HIGH>;
|
|
|
|
keyboard_pins_col: keyboard-matrix-col-pins {
|
|
pins = "gpio8", "gpio9", "gpio10", "gpio11",
|
|
"gpio12", "gpio13", "gpio14", "gpio15";
|
|
function = "gpio";
|
|
output-low;
|
|
};
|
|
keyboard_pins_row: keyboard-matrix-row-pins {
|
|
pins = "gpio0", "gpio1", "gpio2", "gpio3",
|
|
"gpio4", "gpio5", "gpio6", "gpio7";
|
|
function = "gpio";
|
|
drive-open-drain;
|
|
input-enable;
|
|
};
|
|
};
|
|
};
|
|
|
|
&blsp2_i2c1 {
|
|
status = "okay";
|
|
qcom,noise-reject-scl = <3>;
|
|
qcom,noise-reject-sda = <3>;
|
|
|
|
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>;
|
|
};
|
|
};
|
|
|
|
&cpufreq_hw {
|
|
status = "okay";
|
|
};
|
|
|
|
&dsi0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
status = "okay";
|
|
|
|
vdd-supply = <&vreg_l1a_0p875>;
|
|
vdda-supply = <&vreg_l2a_1p2>;
|
|
|
|
panel: panel@0 {
|
|
compatible = "boe,bf060y8m-aj0";
|
|
reg = <0>;
|
|
|
|
reset-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>;
|
|
disp-te-gpios = <&tlmm 10 GPIO_ACTIVE_LOW>;
|
|
no-hpd;
|
|
|
|
vcc-supply = <&disp_vcc_vreg>;
|
|
vddio-supply = <&disp_vddio_vreg>;
|
|
vci-supply = <&disp_vci_vreg>;
|
|
elvdd-supply = <&disp_elvdd_vreg>;
|
|
elvss-supply = <&disp_elvss_vreg>;
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&panel_reset_n &disp_en_default &mdp_vsync_n>;
|
|
port {
|
|
panel_in: endpoint {
|
|
remote-endpoint = <&dsi0_out>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&dsi0_phy {
|
|
status = "okay";
|
|
};
|
|
|
|
&dsi0_out {
|
|
remote-endpoint = <&panel_in>;
|
|
data-lanes = <0 1 2 3>;
|
|
};
|
|
|
|
&gcc {
|
|
status = "okay";
|
|
};
|
|
|
|
&gpucc {
|
|
status = "okay";
|
|
};
|
|
|
|
&gpio_keyboard {
|
|
linux,keymap = <
|
|
MATRIX_KEY(0, 0, KEY_F1) MATRIX_KEY(1, 0, KEY_H)
|
|
MATRIX_KEY(2, 0, KEY_B) MATRIX_KEY(3, 0, KEY_7)
|
|
MATRIX_KEY(4, 0, KEY_UP) MATRIX_KEY(5, 0, KEY_ENTER)
|
|
MATRIX_KEY(6, 0, KEY_Y) MATRIX_KEY(7, 0, KEY_COMMA)
|
|
MATRIX_KEY(0, 1, KEY_3) MATRIX_KEY(1, 1, KEY_S)
|
|
MATRIX_KEY(2, 1, KEY_Z) MATRIX_KEY(3, 1, KEY_M)
|
|
MATRIX_KEY(4, 1, KEY_I) MATRIX_KEY(5, 1, KEY_9)
|
|
MATRIX_KEY(6, 1, KEY_W) MATRIX_KEY(7, 1, KEY_J)
|
|
MATRIX_KEY(0, 2, KEY_LEFT) MATRIX_KEY(1, 2, KEY_G)
|
|
MATRIX_KEY(2, 2, KEY_V) MATRIX_KEY(3, 2, KEY_6)
|
|
MATRIX_KEY(4, 2, KEY_RIGHT) MATRIX_KEY(5, 2, KEY_DELETE)
|
|
MATRIX_KEY(6, 2, KEY_T) MATRIX_KEY(7, 2, KEY_DOT)
|
|
MATRIX_KEY(0, 3, KEY_SLASH) MATRIX_KEY(1, 3, KEY_A)
|
|
MATRIX_KEY(2, 3, KEY_RIGHTBRACE) MATRIX_KEY(3, 3, KEY_HOMEPAGE)
|
|
MATRIX_KEY(4, 3, KEY_P) MATRIX_KEY(5, 3, KEY_MINUS)
|
|
MATRIX_KEY(6, 3, KEY_Q) MATRIX_KEY(7, 3, KEY_L)
|
|
MATRIX_KEY(0, 4, KEY_BACKSPACE) MATRIX_KEY(1, 4, KEY_D)
|
|
MATRIX_KEY(2, 4, KEY_X) MATRIX_KEY(3, 4, KEY_K)
|
|
MATRIX_KEY(4, 4, KEY_SEMICOLON) MATRIX_KEY(5, 4, KEY_EQUAL)
|
|
MATRIX_KEY(6, 4, KEY_E) MATRIX_KEY(7, 4, KEY_APOSTROPHE)
|
|
MATRIX_KEY(0, 5, KEY_CAPSLOCK) MATRIX_KEY(1, 5, KEY_BACKSLASH)
|
|
MATRIX_KEY(2, 5, KEY_LEFTBRACE) MATRIX_KEY(3, 5, KEY_DOWN)
|
|
MATRIX_KEY(4, 5, KEY_O) MATRIX_KEY(5, 5, KEY_0)
|
|
MATRIX_KEY(6, 5, KEY_GRAVE) MATRIX_KEY(7, 5, KEY_K)
|
|
MATRIX_KEY(0, 6, KEY_SPACE) MATRIX_KEY(1, 6, KEY_F)
|
|
MATRIX_KEY(2, 6, KEY_C) MATRIX_KEY(3, 6, KEY_N)
|
|
MATRIX_KEY(4, 6, KEY_U) MATRIX_KEY(5, 6, KEY_8)
|
|
MATRIX_KEY(6, 6, KEY_R) MATRIX_KEY(7, 6, KEY_5)
|
|
MATRIX_KEY(0, 7, KEY_ESC) MATRIX_KEY(1, 7, KEY_1)
|
|
MATRIX_KEY(2, 7, KEY_RESERVED) MATRIX_KEY(3, 7, KEY_RESERVED)
|
|
MATRIX_KEY(4, 7, KEY_2) MATRIX_KEY(5, 7, KEY_4)
|
|
MATRIX_KEY(6, 7, KEY_TAB) MATRIX_KEY(7, 7, KEY_RESERVED)
|
|
>;
|
|
};
|
|
|
|
&mdss {
|
|
status = "okay";
|
|
};
|
|
|
|
&mdss_mdp {
|
|
status = "okay";
|
|
};
|
|
|
|
&mmcc {
|
|
status = "okay";
|
|
};
|
|
|
|
&etf {
|
|
status = "okay";
|
|
};
|
|
|
|
&etm1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&etm2 {
|
|
status = "okay";
|
|
};
|
|
|
|
&etm3 {
|
|
status = "okay";
|
|
};
|
|
|
|
&etm4 {
|
|
status = "okay";
|
|
};
|
|
|
|
&etm5 {
|
|
status = "okay";
|
|
};
|
|
|
|
&etm6 {
|
|
status = "okay";
|
|
};
|
|
|
|
&etm7 {
|
|
status = "okay";
|
|
};
|
|
|
|
&etm8 {
|
|
status = "okay";
|
|
};
|
|
|
|
&etr {
|
|
status = "okay";
|
|
};
|
|
|
|
&funnel1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&funnel2 {
|
|
status = "okay";
|
|
};
|
|
|
|
&funnel3 {
|
|
status = "okay";
|
|
};
|
|
|
|
&funnel4 {
|
|
// FIXME: Figure out why clock late_initcall crashes the board with
|
|
// this enabled.
|
|
// status = "okay";
|
|
};
|
|
|
|
&funnel5 {
|
|
// FIXME: Figure out why clock late_initcall crashes the board with
|
|
// this enabled.
|
|
// status = "okay";
|
|
};
|
|
|
|
&pcie0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&pcie_phy {
|
|
status = "okay";
|
|
};
|
|
|
|
&pm8005_regulators {
|
|
vdd_s1-supply = <&vph_pwr>;
|
|
|
|
pm8005_s1: s1 { /* VDD_GFX supply */
|
|
regulator-min-microvolt = <524000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
regulator-enable-ramp-delay = <500>;
|
|
|
|
/* Hack until we rig up the gpu consumer */
|
|
regulator-always-on;
|
|
};
|
|
};
|
|
|
|
/* HACK! Push GPU voltage high until GPU CPR is hooked up */
|
|
&pm8005_s1 {
|
|
regulator-min-microvolt = <988000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
};
|
|
|
|
&pmi8998_fg {
|
|
status = "okay";
|
|
|
|
qcom,max-voltage-uv = <4400000>;
|
|
qcom,min-voltage-uv = <3700000>;
|
|
qcom,battery-capacity-ua = <3150000>;
|
|
};
|
|
|
|
&pm8998_gpio {
|
|
unknown_pin_a: unk-active-state {
|
|
pins = "gpio5";
|
|
function = "normal";
|
|
input-enable;
|
|
bias-pull-up;
|
|
qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
|
|
};
|
|
|
|
vol_up_pin_a: vol-up-active-state {
|
|
pins = "gpio6";
|
|
function = "normal";
|
|
bias-pull-up;
|
|
input-enable;
|
|
qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
|
|
};
|
|
|
|
cam_focus_pin_a: cam-focus-btn-active-state {
|
|
pins = "gpio7";
|
|
function = "normal";
|
|
bias-pull-up;
|
|
input-enable;
|
|
qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
|
|
};
|
|
|
|
cam_snapshot_pin_a: cam-snapshot-btn-active-state {
|
|
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>;
|
|
};
|
|
};
|
|
|
|
&qusb2phy {
|
|
status = "okay";
|
|
|
|
vdda-pll-supply = <&vreg_l12a_1p8>;
|
|
vdda-phy-dpdm-supply = <&vreg_l24a_3p075>;
|
|
};
|
|
|
|
&replicator1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&rpm_requests {
|
|
pm8998-regulators {
|
|
compatible = "qcom,rpm-pm8998-regulators";
|
|
|
|
vdd_s1-supply = <&vph_pwr>;
|
|
vdd_s2-supply = <&vph_pwr>;
|
|
vdd_s3-supply = <&vph_pwr>;
|
|
vdd_s4-supply = <&vph_pwr>;
|
|
vdd_s5-supply = <&vph_pwr>;
|
|
vdd_s6-supply = <&vph_pwr>;
|
|
vdd_s7-supply = <&vph_pwr>;
|
|
vdd_s8-supply = <&vph_pwr>;
|
|
vdd_s9-supply = <&vph_pwr>;
|
|
vdd_s10-supply = <&vph_pwr>;
|
|
vdd_s11-supply = <&vph_pwr>;
|
|
vdd_s12-supply = <&vph_pwr>;
|
|
vdd_s13-supply = <&vph_pwr>;
|
|
vdd_l1_l27-supply = <&vreg_s7a_1p025>;
|
|
vdd_l2_l8_l17-supply = <&vreg_s3a_1p35>;
|
|
vdd_l3_l11-supply = <&vreg_s7a_1p025>;
|
|
vdd_l4_l5-supply = <&vreg_s7a_1p025>;
|
|
vdd_l6-supply = <&vreg_s5a_2p04>;
|
|
vdd_l7_l12_l14_l15-supply = <&vreg_s5a_2p04>;
|
|
vdd_l9-supply = <&vreg_bob>;
|
|
vdd_l10_l23_l25-supply = <&vreg_bob>;
|
|
vdd_l13_l19_l21-supply = <&vreg_bob>;
|
|
vdd_l16_l28-supply = <&vreg_bob>;
|
|
vdd_l18_l22-supply = <&vreg_bob>;
|
|
vdd_l20_l24-supply = <&vreg_bob>;
|
|
vdd_l26-supply = <&vreg_s3a_1p35>;
|
|
vdd_lvs1_lvs2-supply = <&vreg_s4a_1p8>;
|
|
|
|
vreg_s3a_1p35: s3 {
|
|
regulator-min-microvolt = <1352000>;
|
|
regulator-max-microvolt = <1352000>;
|
|
};
|
|
|
|
vreg_s4a_1p8: s4 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-allow-set-load;
|
|
};
|
|
|
|
vreg_s5a_2p04: s5 {
|
|
regulator-min-microvolt = <1904000>;
|
|
regulator-max-microvolt = <2040000>;
|
|
};
|
|
|
|
vreg_s7a_1p025: s7 {
|
|
regulator-min-microvolt = <900000>;
|
|
regulator-max-microvolt = <1028000>;
|
|
};
|
|
|
|
vreg_l1a_0p875: l1 {
|
|
regulator-min-microvolt = <880000>;
|
|
regulator-max-microvolt = <880000>;
|
|
};
|
|
|
|
vreg_l2a_1p2: l2 {
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
};
|
|
|
|
vreg_l3a_1p0: l3 {
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <1000000>;
|
|
};
|
|
|
|
vreg_l5a_0p8: l5 {
|
|
regulator-min-microvolt = <800000>;
|
|
regulator-max-microvolt = <800000>;
|
|
};
|
|
|
|
vreg_l6a_1p8: l6 {
|
|
regulator-min-microvolt = <1808000>;
|
|
regulator-max-microvolt = <1808000>;
|
|
};
|
|
|
|
vreg_l7a_1p8: l7 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
};
|
|
|
|
vreg_l8a_1p2: l8 {
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
};
|
|
|
|
vreg_l9a_1p8: l9 {
|
|
regulator-min-microvolt = <1808000>;
|
|
regulator-max-microvolt = <2960000>;
|
|
};
|
|
|
|
vreg_l10a_1p8: l10 {
|
|
regulator-min-microvolt = <1808000>;
|
|
regulator-max-microvolt = <2960000>;
|
|
};
|
|
|
|
vreg_l11a_1p0: l11 {
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <1000000>;
|
|
};
|
|
|
|
vreg_l12a_1p8: l12 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
};
|
|
|
|
vreg_l13a_2p95: l13 {
|
|
regulator-min-microvolt = <1808000>;
|
|
regulator-max-microvolt = <2960000>;
|
|
};
|
|
|
|
vreg_l14a_1p88: l14 {
|
|
regulator-min-microvolt = <1880000>;
|
|
regulator-max-microvolt = <1880000>;
|
|
};
|
|
|
|
vreg_l15a_1p8: l15 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
};
|
|
|
|
vreg_l16a_2p7: l16 {
|
|
regulator-min-microvolt = <2704000>;
|
|
regulator-max-microvolt = <2704000>;
|
|
};
|
|
|
|
vreg_l17a_1p3: l17 {
|
|
regulator-min-microvolt = <1304000>;
|
|
regulator-max-microvolt = <1304000>;
|
|
};
|
|
|
|
vreg_l18a_2p7: l18 {
|
|
regulator-min-microvolt = <2704000>;
|
|
regulator-max-microvolt = <2704000>;
|
|
};
|
|
|
|
vreg_l19a_3p0: l19 {
|
|
regulator-min-microvolt = <3008000>;
|
|
regulator-max-microvolt = <3008000>;
|
|
};
|
|
|
|
vreg_l20a_2p95: l20 {
|
|
regulator-min-microvolt = <2960000>;
|
|
regulator-max-microvolt = <2960000>;
|
|
regulator-allow-set-load;
|
|
};
|
|
|
|
vreg_l21a_2p95: l21 {
|
|
regulator-min-microvolt = <2960000>;
|
|
regulator-max-microvolt = <2960000>;
|
|
regulator-system-load = <800000>;
|
|
regulator-allow-set-load;
|
|
};
|
|
|
|
vreg_l22a_2p85: l22 {
|
|
regulator-min-microvolt = <2864000>;
|
|
regulator-max-microvolt = <2864000>;
|
|
};
|
|
|
|
vreg_l23a_3p3: l23 {
|
|
regulator-min-microvolt = <3312000>;
|
|
regulator-max-microvolt = <3312000>;
|
|
};
|
|
|
|
vreg_l24a_3p075: l24 {
|
|
regulator-min-microvolt = <3088000>;
|
|
regulator-max-microvolt = <3088000>;
|
|
};
|
|
|
|
vreg_l25a_3p3: l25 {
|
|
regulator-min-microvolt = <3104000>;
|
|
regulator-max-microvolt = <3312000>;
|
|
};
|
|
|
|
vreg_l26a_1p2: l26 {
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-allow-set-load;
|
|
};
|
|
|
|
vreg_l28_3p0: l28 {
|
|
regulator-min-microvolt = <3008000>;
|
|
regulator-max-microvolt = <3008000>;
|
|
};
|
|
|
|
vreg_lvs1a_1p8: lvs1 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
};
|
|
|
|
vreg_lvs2a_1p8: lvs2 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
};
|
|
|
|
};
|
|
|
|
pmi8998-regulators {
|
|
compatible = "qcom,rpm-pmi8998-regulators";
|
|
|
|
vdd_bob-supply = <&vph_pwr>;
|
|
|
|
vreg_bob: bob {
|
|
regulator-min-microvolt = <3312000>;
|
|
regulator-max-microvolt = <3600000>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&remoteproc_adsp {
|
|
status = "okay";
|
|
};
|
|
|
|
&remoteproc_mss {
|
|
status = "okay";
|
|
};
|
|
|
|
&remoteproc_slpi {
|
|
status = "okay";
|
|
};
|
|
|
|
&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;
|
|
};
|
|
|
|
gpio_expander_int_n: gpio-exp-intn-def {
|
|
pins = "gpio50";
|
|
function = "gpio";
|
|
drive-strength = <2>;
|
|
input-enable;
|
|
};
|
|
|
|
gpio_expander_rst_n: gpio-exp-rst-def {
|
|
pins = "gpio51";
|
|
function = "gpio";
|
|
drive-strength = <8>;
|
|
};
|
|
|
|
disp_en_default: disp-en {
|
|
pins = "gpio62";
|
|
function = "gpio";
|
|
drive-strength = <8>;
|
|
bias-disable;
|
|
};
|
|
|
|
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>;
|
|
};
|
|
|
|
panel_reset_n: panel-rst-n {
|
|
pins = "gpio94";
|
|
function = "gpio";
|
|
drive-strength = <8>;
|
|
bias-disable;
|
|
};
|
|
};
|
|
|
|
&sdhc2 {
|
|
status = "okay";
|
|
cd-gpios = <&tlmm 95 GPIO_ACTIVE_LOW>;
|
|
|
|
vmmc-supply = <&vreg_l21a_2p95>;
|
|
vqmmc-supply = <&vreg_l13a_2p95>;
|
|
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&sdc2_on &sdc2_cd>;
|
|
pinctrl-1 = <&sdc2_off &sdc2_cd>;
|
|
};
|
|
|
|
&stm {
|
|
status = "okay";
|
|
};
|
|
|
|
&ufshc {
|
|
status = "okay";
|
|
vcc-supply = <&vreg_l20a_2p95>;
|
|
vccq-supply = <&vreg_l26a_1p2>;
|
|
vccq2-supply = <&vreg_s4a_1p8>;
|
|
vcc-max-microamp = <750000>;
|
|
vccq-max-microamp = <560000>;
|
|
vccq2-max-microamp = <750000>;
|
|
};
|
|
|
|
&ufsphy {
|
|
status = "okay";
|
|
vdda-phy-supply = <&vreg_l1a_0p875>;
|
|
vdda-pll-supply = <&vreg_l2a_1p2>;
|
|
vddp-ref-clk-supply = <&vreg_l26a_1p2>;
|
|
};
|
|
|
|
&usb3 {
|
|
status = "okay";
|
|
};
|
|
|
|
&usb3_dwc3 {
|
|
dr_mode = "peripheral";
|
|
extcon = <&extcon_usb>;
|
|
};
|
|
|
|
&usb3phy {
|
|
status = "okay";
|
|
|
|
vdda-phy-supply = <&vreg_l1a_0p875>;
|
|
vdda-pll-supply = <&vreg_l2a_1p2>;
|
|
};
|
|
|
|
/* GT9286 analog supply */
|
|
&vreg_l28_3p0 {
|
|
regulator-min-microvolt = <2800000>;
|
|
regulator-max-microvolt = <2800000>;
|
|
};
|
|
|
|
&wifi {
|
|
status = "okay";
|
|
|
|
vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>;
|
|
vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
|
|
vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
|
|
vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
|
|
};
|