arm64/dts: add hawao devicetree

init dts for hawaii+ oled(hawao) device

Change-Id: Idcaa74defa33596157765ede4e6092b211bfecd8
Reviewed-on: https://gerrit.mot.com/2123113
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Submit-Approved: Jira Key
Tested-by: Jira Key
Reviewed-by: Xianhong Li <lixh8@lenovo.com>
(cherry picked from commit 5692e70e0f18a86a7f5dc3b37858762356f94aba)
Reviewed-on: https://gerrit.mot.com/2129460
Reviewed-by: Xiangpo Zhao <zhaoxp3@motorola.com>
This commit is contained in:
liujg6 authored and Carlos Pinho committed 2023-05-31 17:01:04 -03:00
1 parent 79db63a91f
commit 653ab18def
8 files changed
+973

No files matched your search

+5
View File
@@ -84,6 +84,11 @@ dtbo-$(CONFIG_RHODE_DTB) += \
khaje-rhode-evt-overlay.dtbo-base := khaje-moto-base.dtb khaje-rhode-evt-overlay.dtbo-base := khaje-moto-base.dtb
dtbo-$(CONFIG_HAWAO_DTB) += \
khaje-hawao-evt-overlay.dtbo
khaje-hawao-evt-overlay.dtbo-base := khaje-moto-base.dtb
else else
ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y) ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y)
dtbo-$(CONFIG_ARCH_KONA) += \ dtbo-$(CONFIG_ARCH_KONA) += \
+155
View File
@@ -0,0 +1,155 @@
/* Copyright (c) 2019, 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.
*/
#include <dt-bindings/interrupt-controller/irq.h>
&wsa881x_i2c_e {
status = "disabled";
};
&wsa881x_i2c_44 {
status = "disabled";
};
&wsa881x_analog_clk_gpio {
status = "disabled";
};
&wsa881x_analog_reset_gpio {
status = "disabled";
};
&wsa881x_analog_clk {
status = "disabled";
};
&cdc_dmic01_gpios {
status = "disabled";
};
&cdc_dmic23_gpios {
status = "disabled";
};
&qupv3_se1_i2c {
status = "ok"
aw882xx: aw882xx_smartpa@34 {
status = "okay";
compatible = "awinic,aw882xx_smartpa";
reg = <0x34>;
/* reset-gpio = <&tlmm 107 0>; */
irq-gpio = <&tlmm 102 0x2008>;
dc-flag = <0>;
sync-flag = <0>;
sound-channel = <0>;
aw-tx-topo-id = <0x1000ff00>;
aw-rx-topo-id = <0x1000ff01>;
aw-tx-port-id = <0x1001>;
aw-rx-port-id = <0x1000>;
aw-re-min = <4000>;
aw-re-max= <30000>;
aw-cali-mode = "aw_attr";
};
aw882xx_recv: aw882xx_recv_smartpa@37 {
status = "okay";
compatible = "awinic,aw882xx_smartpa";
reg = <0x37>;
/* reset-gpio = <&tlmm 107 0>; */
irq-gpio = <&tlmm 107 0x2008>;
dc-flag = <0>;
sync-flag = <0>;
sound-channel = <1>;
aw-tx-topo-id = <0x1000ff00>;
aw-rx-topo-id = <0x1000ff01>;
aw-tx-port-id = <0x1001>;
aw-rx-port-id = <0x1000>;
aw-re-min = <4000>;
aw-re-max= <30000>;
aw-cali-mode = "aw_attr";
};
};
&q6core {
cdc_pri_mi2s_gpios: msm_cdc_pinctrl_pri {
compatible = "qcom,msm-cdc-pinctrl";
pinctrl-names = "aud_active", "aud_sleep";
pinctrl-0 = <&lpi_i2s1_sck_active &lpi_i2s1_ws_active
&lpi_i2s1_sd0_active &lpi_i2s1_sd1_active>;
pinctrl-1 = <&lpi_i2s1_sck_sleep &lpi_i2s1_ws_sleep
&lpi_i2s1_sd0_sleep &lpi_i2s1_sd1_sleep>;
qcom,lpi-gpios;
};
};
&dai_mi2s0 {
status = "ok"
qcom,msm-mi2s-rx-lines = <1>;
qcom,msm-mi2s-tx-lines = <2>;
};
/* Modify btfmslim_codec's compatible */
&btfmslim_codec {
compatible = "btfmslim_slave";
status = "ok"
};
&bengal_snd {
qcom,model = "bengal-awinic-snd-card";
aw,have-882xx = <2>;
qcom,audio-routing =
"AMIC1", "MIC BIAS1",
"MIC BIAS1", "Analog Mic1",
"AMIC2", "MIC BIAS2",
"MIC BIAS2", "Analog Mic2",
"AMIC3", "MIC BIAS3",
"MIC BIAS3", "Analog Mic3",
"IN1_HPHL", "HPHL_OUT",
"IN2_HPHR", "HPHR_OUT",
"IN3_AUX", "AUX_OUT",
"TX SWR_MIC0", "ADC1_OUTPUT",
"TX SWR_MIC4", "ADC2_OUTPUT",
"TX SWR_MIC0", "VA_TX_SWR_CLK",
"TX SWR_MIC1", "VA_TX_SWR_CLK",
"TX SWR_MIC2", "VA_TX_SWR_CLK",
"TX SWR_MIC3", "VA_TX_SWR_CLK",
"TX SWR_MIC4", "VA_TX_SWR_CLK",
"RX_TX DEC0_INP", "TX DEC0 MUX",
"RX_TX DEC1_INP", "TX DEC1 MUX",
"RX_TX DEC2_INP", "TX DEC2 MUX",
"RX_TX DEC3_INP", "TX DEC3 MUX",
"TX_AIF1 CAP", "VA_TX_SWR_CLK",
"TX_AIF2 CAP", "VA_TX_SWR_CLK",
"TX_AIF3 CAP", "VA_TX_SWR_CLK",
"VA SWR_MIC0", "ADC1_OUTPUT",
"VA SWR_MIC4", "ADC2_OUTPUT";
qcom,mi2s-audio-intf = <1>;
qcom,pri-mi2s-gpios = <&cdc_pri_mi2s_gpios>;
/delete-property/ qcom,cdc-dmic01-gpios;
/delete-property/ qcom,cdc-dmic23-gpios;
/delete-property/ qcom,wsa-devs;
/delete-property/ qcom,wsa-aux-dev-prefix;
qcom,wsa-max-devs = <0>;
qcom,wsa-devs = <0>;
};
/* Modify headset's BIAS voltage to 2.6V */
&wcd937x_codec {
qcom,cdc-micbias2-mv = <2600>;
};
+103
View File
@@ -0,0 +1,103 @@
/* Copyright (c) 2019, 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.
*/
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include "khaje-moto-common-overlay.dtsi"
#include "khaje-hawao-display.dtsi"
#include "khaje-hawao-fps-overlay_evb.dtsi"
#include "khaje-hawao-touchscreen-overlay.dtsi"
#include "sgm7220.dtsi"
#include "discrete_charging.dtsi"
&firmware {
android {
vbmeta {
compatible = "android,vbmeta";
parts = "vbmeta,boot,system,vendor,dtbo";
};
};
};
&soc {
qcom,tz_gpio {
compatible = "qcom,tz_gpio";
tlmm-tz = <14>,
<15>,
<16>,
<17>;
};
ldo_vib {
compatible = "moto,vibrator-ldo";
moto,vib-ldo-gpio = <&pm6125_gpios 8 0>;
status = "ok"
};
};
&tlmm{
capsense_sar_gpio_pins: capsense_sar_gpio_pins {
mux {
pins = "gpio106";
function = "gpio";
};
config {
pins = "gpio106";
drive-strength = <2>;
bias-pull-up;
input-enable;
};
};
};
&sdhc_2 {
vdd-supply = <&L22A>;
qcom,vdd-voltage-level = <2960000 2960000>;
qcom,vdd-current-level = <0 800000>;
vdd-io-supply = <&L5A>;
qcom,vdd-io-voltage-level = <1800000 2960000>;
qcom,vdd-io-current-level = <0 22000>;
vdd-io-bias-supply = <&L7A>;
qcom,vdd-io-bias-voltage-level = <1256000 1256000>;
qcom,vdd-io-bias-current-level = <0 6000>;
pinctrl-names = "active", "sleep";
pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
cd-gpios = <&tlmm 88 GPIO_ACTIVE_HIGH>;
status = "ok"
};
&qupv3_se0_i2c {
status = "ok"
aw9610x_sar@12 {
compatible = "awinic,aw9610x_sar_0";
reg = <0x12>;
interrupt-parent = <&tlmm>;
interrupts = <106 0x02>;
irq-gpio = <&tlmm 106 0x02>;
chip_name = "AW96105";
sar-num = <0>;
cap_vcc-supply = <&pm6125_l21>;
aw9610x,channel_number = <0x3>;
ch0_name = "capsense_bottom_left";
ch1_name = "capsense_top";
ch2_name = "capsense_bottom_right";
aw9610x,using-firmware;
aw9610x,firmware_name = "aw9610x_0";
};
};
+202
View File
@@ -0,0 +1,202 @@
#include "dsi-panel-mot-dummy-qhd-video.dtsi"
#include "dsi-panel-mot-csot-nt37701-655-1080x2400-dsc-cmd-common.dtsi"
#include "dsi-panel-mot-tianma-nt37701-655-1080x2400-dsc-cmd-common.dtsi"
&tlmm {
disp_vio_en_default: disp_vio_en_default {
mux {
pins = "gpio68";
function = "gpio";
};
config {
pins = "gpio68";
drive-strength = <8>;
bias-disable = <0>;
output-high;
};
};
};
&soc {
disp_vio: disp_vio {
compatible = "regulator-fixed";
regulator-name = "disp_vio";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
vin-supply = <&L19A>;
gpio = <&tlmm 68 0>;
startup-delay-us = <300>;
enable-active-high;
regulator-boot-on;
pinctrl-names = "default";
pinctrl-0 = <&disp_vio_en_default>;
};
dsi_panel_pwr_supply_amoled: dsi_panel_pwr_supply_amoled {
#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 = <60700>;
qcom,supply-disable-load = <80>;
qcom,supply-post-on-sleep = <2>;
qcom,supply-post-off-sleep = <0>;
};
/* qcom,panel-supply-entry@1 {
reg = <1>;
qcom,supply-name = "dvdd";
qcom,supply-min-voltage = <1250000>;
qcom,supply-max-voltage = <1250000>;
qcom,supply-enable-load = <60700>;
qcom,supply-disable-load = <10>;
qcom,supply-post-on-sleep = <2>;
qcom,supply-post-off-sleep = <2>;
};
qcom,panel-supply-entry@2 {
reg = <2>;
qcom,supply-name = "vci";
qcom,supply-min-voltage = <3000000>;
qcom,supply-max-voltage = <3000000>;
qcom,supply-enable-load = <30000>;
qcom,supply-disable-load = <0>;
qcom,supply-post-on-sleep = <0>;
qcom,supply-post-off-sleep = <2>;
};*/
};
sde_dsi {
qcom,dsi-default-panel = <&mot_csot_nt37701_655_1080x2400_dsc_cmd_v0>;
vddio-supply = <&disp_vio>;
//dvdd-supply = <&disp_vio>;
//vci-supply = <&disp_vio>;
};
};
&mot_csot_nt37701_655_1080x2400_dsc_cmd_v0 {
qcom,esd-check-enabled;
qcom,mdss-dsi-panel-status-check-mode = "te_chk_reg_rd";
qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a];
qcom,mdss-dsi-panel-status-command-state = "dsi_lp_mode";
qcom,mdss-dsi-panel-status-value = <0x9c>;
qcom,mdss-dsi-panel-status-read-length = <1>;
qcom,panel-supply-entries = <&dsi_panel_pwr_supply_amoled>;
qcom,mdss-dsi-no-panel-on-read-support;
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs";
qcom,mdss-dsi-bl-min-level = <9>;
qcom,mdss-dsi-bl-max-level = <3514>;
qcom,mdss-dsi-bl-default-level = <1757>;
qcom,mdss-brightness-max-level = <3514>;
qcom,platform-reset-gpio = <&tlmm 44 0>;
qcom,bl-dsc-cmd-state = "dsi_hs_mode";
qcom,mdss-dsi-panel-hdr-enabled;
qcom,mdss-dsi-panel-hdr-color-primaries = <14950 15750 34000
16000 13000 35500 7000 2500>;
qcom,mdss-dsi-panel-peak-brightness = <5000000>;
qcom,mdss-dsi-panel-blackness-level = <100>;
qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0";
qcom,mdss-dsi-display-timings {
timing@0 {
//qcom,mdss-dsi-panel-clockrate = <320000000>;
qcom,display-topology = <1 1 1>;
qcom,default-topology-index = <0>;
qcom,mdss-dsi-panel-phy-timings = [00 0D 03 03 10 1D 04
03 02 02 04 00 0C 08];
};
timing@1 {
//qcom,mdss-dsi-panel-clockrate = <400000000>;
qcom,display-topology = <1 1 1>;
qcom,default-topology-index = <0>;
qcom,mdss-dsi-panel-phy-timings = [00 10 03 03 11 1E 04
04 03 02 04 00 0E 08];
};
timing@2 {
//qcom,mdss-dsi-panel-clockrate = <601000000>;
qcom,display-topology = <1 1 1>;
qcom,default-topology-index = <0>;
qcom,mdss-dsi-panel-phy-timings = [00 16 05 05 14 1F 06
06 06 02 04 00 13 0A];
};
};
};
&mot_tm_nt37701_655_1080x2400_dsc_cmd_v0 {
qcom,esd-check-enabled;
qcom,mdss-dsi-panel-status-check-mode = "te_chk_reg_rd";
qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a];
qcom,mdss-dsi-panel-status-command-state = "dsi_lp_mode";
qcom,mdss-dsi-panel-status-value = <0x9c>;
qcom,mdss-dsi-panel-status-read-length = <1>;
qcom,panel-supply-entries = <&dsi_panel_pwr_supply_amoled>;
qcom,mdss-dsi-no-panel-on-read-support;
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs";
qcom,mdss-dsi-bl-min-level = <9>;
qcom,mdss-dsi-bl-max-level = <3514>;
qcom,mdss-dsi-bl-default-level = <1757>;
qcom,mdss-brightness-max-level = <3514>;
qcom,platform-reset-gpio = <&tlmm 44 0>;
qcom,bl-dsc-cmd-state = "dsi_hs_mode";
qcom,mdss-dsi-panel-hdr-enabled;
qcom,mdss-dsi-panel-hdr-color-primaries = <14950 15750 34000
16000 13000 35500 7000 2500>;
qcom,mdss-dsi-panel-peak-brightness = <5000000>;
qcom,mdss-dsi-panel-blackness-level = <100>;
qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0";
qcom,mdss-dsi-display-timings {
timing@0 {
//qcom,mdss-dsi-panel-clockrate = <320000000>;
qcom,display-topology = <1 1 1>;
qcom,default-topology-index = <0>;
qcom,mdss-dsi-panel-phy-timings = [00 0D 03 03 10 1D 04
03 02 02 04 00 0C 08];
};
timing@1 {
//qcom,mdss-dsi-panel-clockrate = <400000000>;
qcom,display-topology = <1 1 1>;
qcom,default-topology-index = <0>;
qcom,mdss-dsi-panel-phy-timings = [00 10 03 03 11 1E 04
04 03 02 04 00 0E 08];
};
timing@2 {
//qcom,mdss-dsi-panel-clockrate = <601000000>;
qcom,display-topology = <1 1 1>;
qcom,default-topology-index = <0>;
qcom,mdss-dsi-panel-phy-timings = [00 16 05 05 14 1F 06
06 06 02 04 00 13 0A];
};
};
};
&mot_dummy_vid_qhd {
qcom,panel-supply-entries = <&dsi_panel_pwr_supply_no_labibb>;
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs";
qcom,platform-reset-gpio = <&tlmm 82 0>;
qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0";
qcom,mdss-dsi-display-timings {
timing@0 {
qcom,mdss-dsi-panel-phy-timings = [01 09 01 01 1B 1B 01
01 02 02 04 00 0A 11];
qcom,display-topology = <1 0 1>;
qcom,default-topology-index = <0>;
};
};
};
+24
View File
@@ -0,0 +1,24 @@
/* Copyright (c) 2020, 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/;
/plugin/;
#include "khaje-hawao-common-overlay.dtsi"
#include "khaje-hawao-audio-overlay.dtsi"
/ {
model = "hawao";
compatible = "qcom,khaje-hawao", "qcom,khaje-moto", "qcom,khaje";
qcom,msm-id = <518 0x10000>;
qcom,board-id = <0 0xA000>;
};
+193
View File
@@ -0,0 +1,193 @@
&tlmm {
fps {
fingerfp_rst_high: fingerfp_rst_high {
mux {
pins = "gpio104";
function = "gpio";
};
config {
pins = "gpio104";
drive-strength = <8>;
output-high;
bias-pull-up;
};
};
fingerfp_rst_low: fingerfp_rst_low {
mux {
pins = "gpio104";
function = "gpio";
};
config {
pins = "gpio3";
drive-strength = <8>;
output-low;
bias-pull-down;
};
};
fingerfp_irq_active: fingerfp_irq_active {
mux {
pins = "gpio83";
function = "gpio";
};
config {
pins = "gpio83";
drive-strength = <2>;
bias-disable;
input-enable;
};
};
fingerfp_vcc_high: fingerfp_vcc_high {
mux {
pins = "gpio108";
function = "gpio";
};
config {
pins = "gpio108";
drive-strength = <2>;
bias-disable;
output-high;
};
};
fingerfp_vcc_low: fingerfp_vcc_low {
mux {
pins = "gpio108";
function = "gpio";
};
config {
pins = "gpio108";
drive-strength = <2>;
bias-disable;
output-low;
};
};
pmx_fp_pwr_high {
fingerprint_pins_power_output1: fingerprint_pins_power_output1 {
mux {
pins = "gpio108";
function = "gpio";
};
config {
pins = "gpio108";
drive-strength = <2>;
bias-disable;
output-high;
};
};
};
pmx_fp_pwr_low {
fingerprint_pins_power_output0: fingerprint_pins_power_output0 {
mux {
pins = "gpio108";
function = "gpio";
};
config {
pins = "gpio108";
drive-strength = <2>;
bias-disable;
output-low;
};
};
};
pmx_fp_int_active {
fingerprint_pins_eint_as_int: fingerprint_pins_eint_as_int
{
mux {
pins = "gpio83";
function = "gpio";
};
config {
pins = "gpio83";
drive-strength = <2>;
bias-disable;
input-enable;
};
};
};
pmx_fp_reset_active {
fingerprint_pins_rst_output1: fingerprint_pins_rst_output1 {
mux {
pins = "gpio104";
function = "gpio";
};
config {
pins = "gpio104";
drive-strength = <8>;
bias-disable;
output-high;
};
};
};
pmx_fp_reset_suspend {
fingerprint_pins_rst_output0: fingerprint_pins_rst_output0 {
mux {
pins = "gpio104";
function = "gpio";
};
config {
pins = "gpio104";
drive-strength = <8>;
bias-disable;
output-low;
};
};
};
};
};
&soc {
et528: et528 {
status = "ok"
compatible = "fp-egistec";
fp-ctrl-power;
fp-gpio-vcc-enable;
egistec,gpio_irq = <&tlmm 83 0x00>;
egistec,gpio_reset = <&tlmm 104 0x00>;
egistec,gpio_vcc_en = <&tlmm 108 0x00>;
pinctrl-names = "egis_rst_high", "egis_rst_low", "egis_irq_active","egis_vcc_high","egis_vcc_low";
pinctrl-0 = <&fingerfp_rst_high>;
pinctrl-1 = <&fingerfp_rst_low>;
pinctrl-2 = <&fingerfp_irq_active>;
pinctrl-3 = <&fingerfp_vcc_high>;
pinctrl-4 = <&fingerfp_vcc_low>;
};
focalfp_ft9362 {
status = "ok"
compatible = "focaltech,fingerprint";
interrupt-parent = <&tlmm>;
interrupts = <83 0x0>;
fp,reset_gpio = <&tlmm 104 0>;
fp,irq_gpio = <&tlmm 83 0>;
fp,vdd_gpio = <&tlmm 108 0>;
pinctrl-names = "fpsensor_finger_power_high","fpsensor_finger_power_low","fpsensor_finger_rst_low","fpsensor_finger_rst_high","fpsensor_eint_as_int";
pinctrl-0 = <&fingerprint_pins_power_output1>;
pinctrl-1 = <&fingerprint_pins_power_output0>;
pinctrl-2 = <&fingerprint_pins_rst_output0>;
pinctrl-3 = <&fingerprint_pins_rst_output1>;
pinctrl-4 = <&fingerprint_pins_eint_as_int>;
};
};
+193
View File
@@ -0,0 +1,193 @@
&tlmm {
fps {
fingerfp_rst_high: fingerfp_rst_high {
mux {
pins = "gpio3";
function = "gpio";
};
config {
pins = "gpio3";
drive-strength = <8>;
output-high;
bias-pull-up;
};
};
fingerfp_rst_low: fingerfp_rst_low {
mux {
pins = "gpio3";
function = "gpio";
};
config {
pins = "gpio3";
drive-strength = <8>;
output-low;
bias-pull-down;
};
};
fingerfp_irq_active: fingerfp_irq_active {
mux {
pins = "gpio83";
function = "gpio";
};
config {
pins = "gpio83";
drive-strength = <2>;
bias-disable;
input-enable;
};
};
fingerfp_vcc_high: fingerfp_vcc_high {
mux {
pins = "gpio54";
function = "gpio";
};
config {
pins = "gpio54";
drive-strength = <2>;
bias-disable;
output-high;
};
};
fingerfp_vcc_low: fingerfp_vcc_low {
mux {
pins = "gpio54";
function = "gpio";
};
config {
pins = "gpio54";
drive-strength = <2>;
bias-disable;
output-low;
};
};
pmx_fp_pwr_high {
fingerprint_pins_power_output1: fingerprint_pins_power_output1 {
mux {
pins = "gpio54";
function = "gpio";
};
config {
pins = "gpio54";
drive-strength = <2>;
bias-disable;
output-high;
};
};
};
pmx_fp_pwr_low {
fingerprint_pins_power_output0: fingerprint_pins_power_output0 {
mux {
pins = "gpio54";
function = "gpio";
};
config {
pins = "gpio54";
drive-strength = <2>;
bias-disable;
output-low;
};
};
};
pmx_fp_int_active {
fingerprint_pins_eint_as_int: fingerprint_pins_eint_as_int
{
mux {
pins = "gpio83";
function = "gpio";
};
config {
pins = "gpio83";
drive-strength = <2>;
bias-disable;
input-enable;
};
};
};
pmx_fp_reset_active {
fingerprint_pins_rst_output1: fingerprint_pins_rst_output1 {
mux {
pins = "gpio3";
function = "gpio";
};
config {
pins = "gpio3";
drive-strength = <8>;
bias-disable;
output-high;
};
};
};
pmx_fp_reset_suspend {
fingerprint_pins_rst_output0: fingerprint_pins_rst_output0 {
mux {
pins = "gpio3";
function = "gpio";
};
config {
pins = "gpio3";
drive-strength = <8>;
bias-disable;
output-low;
};
};
};
};
};
&soc {
et528: et528 {
status = "ok"
compatible = "fp-egistec";
fp-ctrl-power;
fp-gpio-vcc-enable;
egistec,gpio_irq = <&tlmm 83 0x00>;
egistec,gpio_reset = <&tlmm 3 0x00>;
egistec,gpio_vcc_en = <&tlmm 54 0x00>;
pinctrl-names = "egis_rst_high", "egis_rst_low", "egis_irq_active","egis_vcc_high","egis_vcc_low";
pinctrl-0 = <&fingerfp_rst_high>;
pinctrl-1 = <&fingerfp_rst_low>;
pinctrl-2 = <&fingerfp_irq_active>;
pinctrl-3 = <&fingerfp_vcc_high>;
pinctrl-4 = <&fingerfp_vcc_low>;
};
focalfp_ft9362 {
status = "ok"
compatible = "focaltech,fingerprint";
interrupt-parent = <&tlmm>;
interrupts = <83 0x0>;
fp,reset_gpio = <&tlmm 3 0>;
fp,irq_gpio = <&tlmm 83 0>;
fp,vdd_gpio = <&tlmm 54 0>;
pinctrl-names = "fpsensor_finger_power_high","fpsensor_finger_power_low","fpsensor_finger_rst_low","fpsensor_finger_rst_high","fpsensor_eint_as_int";
pinctrl-0 = <&fingerprint_pins_power_output1>;
pinctrl-1 = <&fingerprint_pins_power_output0>;
pinctrl-2 = <&fingerprint_pins_rst_output0>;
pinctrl-3 = <&fingerprint_pins_rst_output1>;
pinctrl-4 = <&fingerprint_pins_eint_as_int>;
};
};
+98
View File
@@ -0,0 +1,98 @@
&tlmm{
pmx_ts_active {
ts_active: ts_active {
mux {
pins = "gpio69", "gpio86";
function = "gpio";
};
config {
pins = "gpio69", "gpio86";
drive-strength = <8>;
bias-pull-up;
};
};
};
pmx_ts_reset_suspend {
ts_reset_suspend: ts_reset_suspend {
mux {
pins = "gpio86";
function = "gpio";
};
config {
pins = "gpio86";
drive-strength = <2>;
bias-pull-down;
};
};
};
pmx_ts_int_suspend {
ts_int_suspend: ts_int_suspend {
mux {
pins = "gpio69";
function = "gpio";
};
config {
pins = "gpio69";
drive-strength = <2>;
bias-pull-down;
};
};
};
pmx_ts_release {
ts_release: ts_release {
mux {
pins = "gpio69", "gpio86";
function = "gpio";
};
config {
pins = "gpio69", "gpio86";
drive-strength = <2>;
bias-disable;
};
};
};
};
&qupv3_se2_i2c {
status = "disabled";
};
&qupv3_se2_spi {
#address-cells = <1>;
#size-cells = <0>;
status = "ok"
goodix-berlin@0 {
status = "ok"
compatible = "goodix,gt9916S";
reg = <0>;
spi-max-frequency = <1000000>;
mmi,status = "/chosen","mmi,panel_name","contains","nt37701"
goodix,avdd-gpio = <&pm6125_gpios 1 GPIO_ACTIVE_LOW>;
goodix,reset-gpio = <&tlmm 86 0x0>;
goodix,irq-gpio = <&tlmm 69 0x2002>;
goodix,irq-flags = <0x2002>; /* 1:trigger rising, 2:trigger falling;*/
goodix,panel-max-id = <10>;
goodix,panel-max-x = <1080>;
goodix,panel-max-y = <2400>;
goodix,panel-max-w = <255>;
goodix,panel-max-p = <4096>;
//panel = <&mot_csot_nt37701_655_1080x2400_dsc_cmd_v0
// &mot_tm_nt37701_655_1080x2400_dsc_cmd_v0>;
pinctrl-names = "pmx_ts_active", "pmx_ts_suspend", "pmx_ts_release";
pinctrl-0 = <&ts_active>;
pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
pinctrl-2 = <&ts_release>;
mmi,power-off-suspend;
};
};