blob: c8752fd08612d6b9b31721953c3b548b7b2ea61d [file] [log] [blame]
/*
* Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <../../../../arm64/boot/dts/qcom/msm8909-mtp.dtsi>
#include <../../../../arm64/boot/dts/qcom/msm8909w-gpu.dtsi>
#include <../../../../arm64/boot/dts/qcom/msm8909w.dtsi>
#include <../../../../arm64/boot/dts/qcom/msm8909w-bg-memory.dtsi>
#include <../../../../arm64/boot/dts/qcom/8909w-pm660.dtsi>
#include <../../../../arm64/boot/dts/qcom/msm8909-audio-bg_codec.dtsi>
#include "dsi-panel-visionox-402x476-cmd.dtsi"
#include "dsi-panel-everdisplay-320x360-cmd.dtsi"
&soc {
// i2c@78b9000 { /* BLSP1 QUP5 */
// /delete-node/ it7260@46;
// };
qcom,msm-ssc-sensors {
compatible = "qcom,msm-ssc-sensors";
};
qcom,glink-bgcom-xprt-bg {
compatible = "qcom,glink-bgcom-xprt";
label = "bg";
qcom,qos-config = <&glink_qos_bg>;
qcom,ramp-time = <0x10>,
<0x20>,
<0x30>,
<0x40>;
};
glink_qos_bg: qcom,glink-qos-config-bg {
compatible = "qcom,glink-qos-config";
qcom,flow-info = <0x80 0x0>,
<0x70 0x1>,
<0x60 0x2>,
<0x50 0x3>;
qcom,mtu-size = <0x800>;
qcom,tput-stats-cycle = <0xa>;
};
qcom,glink_pkt {
compatible = "qcom,glinkpkt";
qcom,glinkpkt-bg-daemon {
qcom,glinkpkt-transport = "bgcom";
qcom,glinkpkt-edge = "bg";
qcom,glinkpkt-ch-name = "bg-daemon";
qcom,glinkpkt-dev-name = "glink_pkt_bg_daemon";
};
qcom,glinkpkt-bg-display-ctrl {
qcom,glinkpkt-transport = "bgcom";
qcom,glinkpkt-edge = "bg";
qcom,glinkpkt-ch-name = "display-ctrl";
qcom,glinkpkt-dev-name = "glink_pkt_bg_display_ctrl";
};
qcom,glinkpkt-bg-display-data {
qcom,glinkpkt-transport = "bgcom";
qcom,glinkpkt-edge = "bg";
qcom,glinkpkt-ch-name = "display-data";
qcom,glinkpkt-dev-name = "glink_pkt_bg_display_data";
};
qcom,glinkpkt-bg-rsb-ctrl {
qcom,glinkpkt-transport = "bgcom";
qcom,glinkpkt-edge = "bg";
qcom,glinkpkt-ch-name = "RSB_CTRL";
qcom,glinkpkt-dev-name = "glink_pkt_bg_rsb_ctrl";
};
qcom,glinkpkt-bg-sso-ctrl {
qcom,glinkpkt-transport = "bgcom";
qcom,glinkpkt-edge = "bg";
qcom,glinkpkt-ch-name = "sso-ctrl";
qcom,glinkpkt-dev-name = "glink_pkt_bg_sso_ctrl";
};
qcom,glinkpkt-bg-buzzer-ctrl {
qcom,glinkpkt-transport = "bgcom";
qcom,glinkpkt-edge = "bg";
qcom,glinkpkt-ch-name = "buzzer-ctrl";
qcom,glinkpkt-dev-name = "glink_pkt_bg_buzzer_ctrl";
};
};
qcom,bg-rsb {
compatible = "qcom,bg-rsb";
vdd-ldo1-supply = <&pm660_l11>;
vdd-ldo2-supply = <&pm660_l15>;
};
qcom,bg-daemon {
compatible = "qcom,bg-daemon";
qcom,bg-reset-gpio = <&pm660_gpios 5 0>;
ssr-reg1-supply = <&pm660_l3>;
ssr-reg2-supply = <&pm660_l9>;
};
vdd1p8_gpio93: gpio-regulator@93 {
compatible = "regulator-fixed";
regulator-name = "vdd_1p8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&msm_gpio 93 0x0>;
enable-active-high;
regulator-boot-on;
regulator-always-on;
};
//avdd_lcd: gpio-regulator@94 {
// compatible = "regulator-fixed";
// regulator-name = "vdd";
// regulator-min-microvolt = <3300000>;
// regulator-max-microvolt = <3300000>;
// gpio = <&msm_gpio 94 0x0>;
// enable-active-high;
//
// regulator-boot-on;
// };
iovdd_tp: gpio-regulator@94 {
compatible = "regulator-fixed";
regulator-name = "vddio_tp";
supply-name = "vdd_1p8";
vin-supply = <&vdd1p8_gpio93>;
gpio = <&msm_gpio 94 0x0>;
enable-active-high;
regulator-boot-on;
};
iovdd_lcd: gpio-regulator@95 {
compatible = "regulator-fixed";
regulator-name = "vddio_lcd";
supply-name = "vdd_1p8";
vin-supply = <&vdd1p8_gpio93>;
gpio = <&msm_gpio 95 0x0>;
enable-active-high;
regulator-boot-on;
};
dsi_pm660_panel_power_supply: dsi_pm660_panel_power_supply {
#address-cells = <1>;
#size-cells = <0>;
qcom,panel-supply-entry@0 {
reg = <0>;
qcom,supply-name = "vddio";
qcom,supply-min-voltage = <1800000>;
qcom,supply-max-voltage = <1800000>;
qcom,supply-enable-load = <100000>;
qcom,supply-disable-load = <100>;
};
};
oppo,sensor-hub {
compatible = "oppo,sensor-hub";
#address-cells = <1>;
#size-cells = <0>;
reset-gpio = <&msm_gpio 97 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&sensor_hub_reset_default>;
oppo,spidev-snshub {
compatible = "oppo,spidev-snshub";
reg = <0>;
spi-bus-num = <4>;
spi-max-frequency = <16000000>;
dn_int_gpio = <&msm_gpio 99 0x0>;
dn_ack_gpio = <&msm_gpio 92 0x0>;
up_int_gpio = <&msm_gpio 28 0x0>;
up_ack_gpio = <&msm_gpio 91 0x0>;
};
oppo,swd {
compatible = "oppo,swd";
reg = <1>;
pinctrl-names = "default", "active";
pinctrl-0 = <&swd_clk_default &swd_data_default>;
pinctrl-1 = <&swd_bus_active>;
swd_clk-gpio = <&msm_gpio 19 0x0>;
swd_data-gpio = <&msm_gpio 17 0x0>;
};
};
msm_digital_codec: msm-dig-codec@771c000 {
compatible = "qcom,msm-digital-codec";
reg = <0x0771c000 0x0>;
qcom,no-analog-codec;
cdc-vdd-digital-supply = <&pm660_l11>;
qcom,cdc-vdd-digital-voltage = <1800000 1800000>;
qcom,cdc-vdd-digital-current = <10000>;
qcom,cdc-on-demand-supplies = "cdc-vdd-digital";
qcom,subsys-name = "modem";
};
cdc_dmic_gpios: cdc_dmic_pinctrl {
compatible = "qcom,msm-cdc-pinctrl";
pinctrl-names = "aud_active", "aud_sleep";
pinctrl-0 = <&cdc_dmic0_clk_act &cdc_dmic0_data_act>;
pinctrl-1 = <&cdc_dmic0_clk_sus &cdc_dmic0_data_sus>;
};
cdc_quat_mi2s_gpios: msm_cdc_pinctrl_quat {
compatible = "qcom,msm-cdc-pinctrl";
pinctrl-names = "aud_active", "aud_sleep";
pinctrl-0 = <&quat_mi2s_active &quat_mi2s_din_active>;
pinctrl-1 = <&quat_mi2s_sleep &quat_mi2s_din_sleep>;
};
/delete-node/ gpio_keys;
gpio_keys {
compatible = "gpio-keys";
input-name = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&gpio_key_active>;
key1 {
label = "gpio_key";
gpios = <&msm_gpio 90 0x1>;
linux,input-type = <1>;
linux,code = <116>; /* KEY_POWER */
debounce-interval = <15>;
linux,can-disable;
gpio-key,wakeup;
};
key2 {
label = "lift_wrist";
gpios = <&msm_gpio 58 0x1>;
linux,input-type = <1>;
linux,code = <87>;/* KEY_F11 */
debounce-interval = <1>;
linux,can-disable;
gpio-key,wakeup;
};
};
qcom,wdt@b017000 {
qcom,bark-time = <15000>;
qcom,pet-time = <10000>;
};
};
&pm660_pon {
qcom,s3-src ="kpdpwr";
qcom,pon_1 {
linux,code = <750>; /* KEY_STEM_1 */
};
/delete-node/ qcom,pon_2;
};
&dai_mi2s3 {
qcom,msm-mi2s-rx-lines = <2>;
qcom,msm-mi2s-tx-lines = <1>;
};
&audio_codec_bg {
status = "disabled";
};
&bg_cdc {
status = "disabled";
vdd-spkr-supply = <&pm660_l11>;
};
&audio_codec_mtp {
status = "ok";
compatible = "qcom,msm8909-audio-codec";
qcom,model = "msm8909w-wtp-snd-card";
qcom,msm-ext-pa = "quaternary";
qcom,split-a2dp;
qcom,audio-routing =
"CDC_CONN", "MCLK",
"QUAT_MI2S_RX", "DIGIT_REGULATOR",
"TX_I2S_CLK", "DIGIT_REGULATOR",
"DMIC1", "Digital Mic1",
"DMIC2", "Digital Mic2";
qcom,msm-gpios =
"quat_i2s",
"dmic";
qcom,pinctrl-names =
"all_off",
"quat_i2s_act",
"dmic_act",
"quat_i2s_dmic_act";
pinctrl-names =
"all_off",
"quat_i2s_act",
"dmic_act",
"quat_i2s_dmic_act";
qcom,cdc-dmic-gpios = <&cdc_dmic_gpios>;
qcom,quat-mi2s-gpios = <&cdc_quat_mi2s_gpios>;
pinctrl-0 = <&quat_mi2s_sleep &quat_mi2s_din_sleep
&cdc_dmic0_clk_sus &cdc_dmic0_data_sus>;
pinctrl-1 = <&quat_mi2s_active &quat_mi2s_din_active
&cdc_dmic0_clk_sus &cdc_dmic0_data_sus>;
pinctrl-2 = <&quat_mi2s_sleep &quat_mi2s_din_sleep
&cdc_dmic0_clk_act &cdc_dmic0_data_act>;
pinctrl-3 = <&quat_mi2s_active &quat_mi2s_din_active
&cdc_dmic0_clk_act &cdc_dmic0_data_act>;
/delete-property/qcom,cdc-us-euro-gpios;
/delete-property/qcom,tdm-audio-intf;
/delete-property/qcom,msm-afe-clk-ver;
/delete-property/qcom,pri-mi2s-gpios;
asoc-codec = <&stub_codec>, <&msm_digital_codec>, <&tfa98xx_digital_codec>;
asoc-codec-names = "msm-stub-codec.1", "msm-dig-codec", "tfa98xx.2-0034";
};
&i2c_1 {
status = "okay";
qcom,clk-freq-out = <400000>;
aw8624_haptic@5A {
compatible = "awinic,aw8624_haptic";
reg = <0x5A>;
reset-gpio = <&msm_gpio 18 0>;
irq-gpio = <&msm_gpio 96 0>;
vib_mode = < 0 >; /*mode: RAM mode->0; CONT mode -> 1*/
vib_f0_pre = < 2400 >;
vib_f0_cali_percen = < 7 >;
vib_cont_drv_lev = < 83 >;
vib_cont_drv_lvl_ov = < 83 >;
vib_cont_td = < 0xF06C >;
vib_cont_zc_thr = < 0x08F8 >;
vib_cont_num_brk = < 3 >;
vib_f0_coeff = < 260 >; /*Don't modify it*/
vib_duration_time = < 15 60 0 0 0 >;
vib_brake_cont_config = < 1 1 90 42 20 5 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >;
vib_f0_trace_parameter = < 9 5 1 15 >;
vib_bemf_config = < 0x10 0x08 0x23 0xf8 >;
vib_sw_brake = < 0x28 >;
vib_wavseq = < 1 2 3 4 5 6 7 8 9 10 0 0 0 0 0 0 >; /*wavseq1-seq8 0x07-0x0E*/
vib_wavloop = < 1 1 1 1 1 1 1 1 1 1>;/*loop1-mainloog 0x0f-0x13*/
vib_td_brake = < 42720 42720 42720 >; /*level0 level1 level2*/
vib_tset = < 0x11 >;
vib_func_parameter1 = < 1 >;
ram-update-delay = <1>;
status = "okay";
};
};
&i2c_3 {
status = "okay";
qcom,clk-freq-out = <400000>;
/delete-node/ qcom,actuator@0;
/delete-node/ qcom,eeprom@6c;
/delete-node/ qcom,led-flash@60;
/delete-node/ qcom,camera@0;
/delete-node/ qcom,camera@1;
tsc@24 {
compatible = "cy,cyttsp5_i2c_adapter";
reg = <0x24>;
/* pins used by touchscreen */
pinctrl-names = "pmx_ts_active","pmx_ts_suspend",
"pmx_ts_release";
pinctrl-0 = <&ts_int_active &ts_reset_active>;
pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
pinctrl-2 = <&ts_release>;
interrupt-parent = <&msm_gpio>;
interrupts = <98 0x2>;
vddio-supply = <&iovdd_tp>;
bus-pull-supply = <&pm660_l11>;
cy,adapter_id = "cyttsp5_i2c_adapter";
cy,core {
cy,name = "cyttsp5_core";
cy,irq_gpio = <&msm_gpio 98 0x00>;
cy,rst_gpio = <&msm_gpio 31 0x00>;
cy,hid_desc_register = <1>;
/* CY_CORE_FLAG_RESTORE_PARAMETERS, CY_CORE_FLAG_POWEROFF_ON_SLEEP */
cy,flags = <6>;
/* CY_CORE_EWG_NONE */
cy,easy_wakeup_gesture = <1>;
cy,btn_keys = <172 /* KEY_HOMEPAGE */
/* previously was KEY_HOME, new Android versions use KEY_HOMEPAGE */
139 /* KEY_MENU */
158 /* KEY_BACK */
217 /* KEY_SEARCH */
114 /* KEY_VOLUMEDOWN */
115 /* KEY_VOLUMEUP */
212 /* KEY_CAMERA */
116>; /* KEY_POWER */
cy,btn_keys-tag = <0>;
cy,mt {
cy,name = "cyttsp5_mt";
cy,inp_dev_name = "cyttsp5_mt";
/* CY_MT_FLAG_FLIP */
cy,flags = <0x00>;
cy,abs = <
/* ABS_MT_POSITION_X, CY_ABS_MIN_X, CY_ABS_MAX_X, 0, 0 */
0x35 0 800 0 0
/* ABS_MT_POSITION_Y, CY_ABS_MIN_Y, CY_ABS_MAX_Y, 0, 0 */
0x36 0 1280 0 0
/* ABS_MT_PRESSURE, CY_ABS_MIN_P, CY_ABS_MAX_P, 0, 0 */
0x3a 0 255 0 0
/* CY_IGNORE_VALUE, CY_ABS_MIN_W, CY_ABS_MAX_W, 0, 0 */
0xffff 0 255 0 0
/* ABS_MT_TRACKING_ID, CY_ABS_MIN_T, CY_ABS_MAX_T, 0, 0 */
0x39 0 15 0 0
/* ABS_MT_TOUCH_MAJOR, 0, 255, 0, 0 */
0x30 0 255 0 0
/* ABS_MT_TOUCH_MINOR, 0, 255, 0, 0 */
0x31 0 255 0 0
/* ABS_MT_ORIENTATION, -127, 127, 0, 0 */
0x34 0xffffff81 127 0 0
/* ABS_MT_TOOL_TYPE, 0, MT_TOOL_MAX, 0, 0 */
0x37 0 1 0 0
/* ABS_DISTANCE, 0, 255, 0, 0 */
0x19 0 255 0 0
>;
cy,vkeys_x = <800>;
cy,vkeys_y = <1280>;
/* KeyCode CenterX CenterY Width Height */
cy,virtual_keys = <
/* KEY_BACK */
158 1360 90 160 180
/* KEY_MENU */
139 1360 270 160 180
/* KEY_HOMEPAGE */
172 1360 450 160 180
/* KEY SEARCH */
217 1360 630 160 180
>;
};
cy,btn {
cy,name = "cyttsp5_btn";
cy,inp_dev_name = "cyttsp5_btn";
};
cy,proximity {
cy,name = "cyttsp5_proximity";
cy,inp_dev_name = "cyttsp5_proximity";
cy,abs =
/* ABS_DISTANCE, CY_PROXIMITY_MIN_VAL, CY_PROXIMITY_MAX_VAL, 0, 0 */
<0x19 0 1 0 0>;
};
};
};
};
&i2c_4 {
status = "disabled";
};
&i2c_2 {
status = "okay";
nq@28 {
compatible = "qcom,nq-nci";
reg = <0x28>;
qcom,nq-irq = <&msm_gpio 50 0x00>;
qcom,nq-ven = <&msm_gpio 52 0x00>;
qcom,nq-firm = <&msm_gpio 38 0x00>;
qcom,nq-clkreq = <&pm660_gpios 4 0x00>;
qcom,nq-esepwr = <&msm_gpio 49 0x00>;
qcom,clk-src = "BBCLK3";
interrupt-parent = <&msm_gpio>;
interrupts = <50 0>;
interrupt-names = "nfc_irq";
pinctrl-names = "nfc_active","nfc_suspend";
pinctrl-0 = <&nfcw_int_active &nfcv2k_disable_active>;
pinctrl-1 = <&nfcw_int_suspend &nfcv2k_disable_suspend>;
clocks = <&clock_rpm clk_bb_clk3_pin>;
clock-names = "ref_clk";
};
tfa98xx_digital_codec: tfa98xx@34 {
#sound-dai-cells = <0>;
compatible = "nxp,tfa9895";
reg = <0x34>;
vdd-supply = <&pm660_l13>;
status = "okay";
};
bob@70 {
compatible = "fcs,fan49103";
reg = <0x70>;
enable-gpio = <&pm660_gpios 3 0x00>;
regulator-name = "fan49103-reg";
regulator-boot-on;
regulator-always-on;
regulator-allow-bypass;
regulator-max-microvolt = <4000000>;
regulator-min-microvolt = <2800000>;
fan,initial-microvolt = <3300000>;
};
};
&sdc1_clk_off {
config {
pins = "sdc1_clk";
bias-disable; /* NO pull */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
&sdc1_cmd_off {
config {
pins = "sdc1_cmd";
bias-disable; /* NO pull */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
&sdc1_data_off {
config {
pins = "sdc1_data";
bias-disable; /* NO pull */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
&sdhc_2 {
status = "disabled";
};
&blsp1_uart1 {
status = "disabled";
};
&blsp1_uart2 {
status = "ok";
pinctrl-names = "default";
pinctrl-0 = <&uart_console2_sleep>;
};
/* Pinctrl dt nodes for interrupt & reset gpio for Synaptics touch controller */
&ts_int_active {
mux {
pins = "gpio98";
};
config {
pins = "gpio98";
};
};
&ts_int_suspend {
mux {
pins = "gpio98";
};
config {
pins = "gpio98";
/delete-property/ bias-pull-down;
bias-disable; /* No PULL */
};
};
&ts_reset_active {
mux {
pins = "gpio16";
};
config {
pins = "gpio16";
};
};
&ts_reset_suspend {
mux {
pins = "gpio16";
};
config {
pins = "gpio16";
};
};
&ts_release {
mux {
pins = "gpio98", "gpio16";
};
config {
pins = "gpio98", "gpio16";
};
};
&spi_0 {
status = "okay";
/delete-property/ qcom,use-bam;
p61@0 {
compatible = "nxp,p61";
reg = <0>;
spi-max-frequency = <8000000>;
};
};
&spi_4 { /* BLSP1 QUP4 */
status = "ok";
};
&dsi_everdisplay_320x360_cmd {
qcom,panel-supply-entries = <&dsi_pm660_panel_power_supply>;
};
&dsi_visionox_402x476_cmd {
qcom,panel-supply-entries = <&dsi_pm660_panel_power_supply>;
};
&mdss_dsi0 {
qcom,dsi-pref-prim-pan = <&dsi_everdisplay_320x360_cmd>;
/delete-property/ qcom,platform-bklight-en-gpio;
/delete-property/ qcom,platform-spi-dc-gpio;
/* this PIN is the switch of TE and RESET */
qcom,platform-enable-gpio = <&msm_gpio 110 0>;
qcom,platform-te-gpio = <&msm_gpio 24 0>;
qcom,platform-reset-gpio = <&msm_gpio 25 1>;
pinctrl-names = "mdss_default", "mdss_sleep";
pinctrl-0 = <&mdss_te_active>;
pinctrl-1 = <&mdss_te_suspend>;
//vdd-supply = <&avdd_lcd>;
vddio-supply = <&iovdd_lcd>;
};
/ {
/delete-node/ qcom,battery-data;
mtp_batterydata: qcom,battery-data {
qcom,batt-id-range-pct = <30>;
#include "fg-gen3-batterydata-atl-opowx64-435mah.dtsi"
};
};
&pm660_coincell {
status = "disabled";
};
&apc_vreg_corner {
/delete-property/ qcom,cpr-voltage-ceiling;
/delete-property/ qcom,cpr-voltage-floor;
qcom,cpr-voltage-ceiling = <1102000 1278000 1352000>;
qcom,cpr-voltage-floor = <1102000 1102000 1206000>;
};
&pm660_charger {
qcom,fcc-max-ua = <875000>;
qcom,usb-icl-ua = <1500000>;
qcom,dc-icl-ua = <300000>;
qcom,micro-usb;
/*qcom,float-option = <2>;*/
qcom,dc-en-active-low;
qcom,usbin-has-priority;
qcom,hvdcp-disable;
};
&pm660_fg {
qcom,battery-data = <&mtp_batterydata>;
qcom,fg-rsense-sel = <1>; /* External rsense */
qcom,fg-cutoff-voltage = <3420>;
qcom,fg-empty-voltage = <3380>;
qcom,fg-recharge-voltage = <4335>;
qcom,hold-soc-while-full;
qcom,fg-force-load-profile;
qcom,fg-sys-term-current = <(-40)>;
qcom,fg-chg-term-current = <21>;
/* qcom,fg-use-sw-esr; */
/* qcom,fg-esr-pulse-thresh-ma = <40>; */
/* qcom,fg-esr-meas-curr-ma = <60>; */
/* BETA=3435 */
qcom,battery-thermal-coefficients = [a1 50 ff];
qcom,fg-batt-temp-delta = <10>;
/* BETA=4250 */
qcom,aux-thermal-coefficients = [b6 2d e5];
oppo,battery-temp-coeffs = <0 70 120 170 413 425 430 530>;
oppo,battery-current-coeffs = <0 175000 250000 375000 875000 425000 425000 100000>;
oppo,battery-rechg-mv-coeffs = <4035 4235 4335>;
oppo,battery-max-mv-coeffs = <4135000 4435000>;
oppo,oppo-current-ctl = <100000>;
};
&msm_gpio {
sensor_hub_reset_default: sensor_hub_reset_default {
mux {
pins = "gpio97";
function = "gpio";
};
config {
pins = "gpio97";
output-low;
bias-disable;
drive-strength = <2>; /* 2 MA */
};
};
swd_bus_default {
/* SWCLK, SWDIO to High-Z mode */
swd_clk_default: swd_clk_default {
mux {
pins = "gpio19";
function = "gpio";
};
config {
pins = "gpio19";
input-enable;
bias-disable;
};
};
swd_data_default: swd_data_default {
mux {
pins = "gpio17";
function = "gpio";
};
config {
pins = "gpio17";
input-enable;
bias-pull-up;
};
};
};
swd_bus_active: swd_bus_active {
/* SWCLK, SWDIO to output mode and set to default low level */
mux {
pins = "gpio17", "gpio19";
function = "gpio";
};
config {
pins = "gpio17", "gpio19";
output-low;
bias-disable;
drive-strength = <2>; /* 2 MA */
};
};
/* add pingrp for touchscreen */
pmx_ts_int_active {
ts_int_active: ts_int_active {
mux {
pins = "gpio98";
function = "gpio";
};
config {
pins = "gpio98";
bias-pull-up;
};
};
};
pmx_ts_int_suspend {
ts_int_suspend: ts_int_suspend {
mux {
pins = "gpio98";
function = "gpio";
};
config {
pins = "gpio98";
bias-pull-up;
};
};
};
pmx_ts_reset_active {
ts_reset_active: ts_reset_active {
mux {
pins = "gpio31";
function = "gpio";
};
config {
pins = "gpio31";
output-high;
};
};
};
pmx_ts_reset_suspend {
ts_reset_suspend: ts_reset_suspend {
mux {
pins = "gpio31";
function = "gpio";
};
config {
pins = "gpio31";
output-high;
};
};
};
pmx_ts_release {
ts_release: ts_release {
mux {
pins = "gpio98", "gpio31";
function = "gpio";
};
config {
pins = "gpio98", "gpio31";
input-enable;
bias-pull-down;
};
};
};
/* Pinctrl dt nodes for gpio-keys */
tlmm_gpio_key {
gpio_key_active: gpio_key_active {
mux {
pins = "gpio90", "gpio58";
function = "gpio";
};
config {
pins = "gpio90", "gpio58";
drive-strength = <2>;
bias-pull-up;
};
};
gpio_key_suspend: gpio_key_suspend {
mux {
pins = "gpio90", "gpio58";
function = "gpio";
};
config {
pins = "gpio90", "gpio58";
drive-strength = <2>;
bias-pull-up;
};
};
};
};