From 653ab18def58b1a3d1b03e4e42c77220a8150353 Mon Sep 17 00:00:00 2001 From: liujg6 Date: Mon, 22 Nov 2021 13:31:10 +0800 Subject: [PATCH] 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 (cherry picked from commit 5692e70e0f18a86a7f5dc3b37858762356f94aba) Reviewed-on: https://gerrit.mot.com/2129460 Reviewed-by: Xiangpo Zhao --- qcom/Makefile | 5 + qcom/khaje-hawao-audio-overlay.dtsi | 155 +++++++++++++++++ qcom/khaje-hawao-common-overlay.dtsi | 103 +++++++++++ qcom/khaje-hawao-display.dtsi | 202 ++++++++++++++++++++++ qcom/khaje-hawao-evt-overlay.dts | 24 +++ qcom/khaje-hawao-fps-overlay.dtsi | 193 +++++++++++++++++++++ qcom/khaje-hawao-fps-overlay_evb.dtsi | 193 +++++++++++++++++++++ qcom/khaje-hawao-touchscreen-overlay.dtsi | 98 +++++++++++ 8 files changed, 973 insertions(+) create mode 100644 qcom/khaje-hawao-audio-overlay.dtsi create mode 100644 qcom/khaje-hawao-common-overlay.dtsi create mode 100644 qcom/khaje-hawao-display.dtsi create mode 100644 qcom/khaje-hawao-evt-overlay.dts create mode 100644 qcom/khaje-hawao-fps-overlay.dtsi create mode 100644 qcom/khaje-hawao-fps-overlay_evb.dtsi create mode 100644 qcom/khaje-hawao-touchscreen-overlay.dtsi diff --git a/qcom/Makefile b/qcom/Makefile index e20789b5c627..d7cca2c5219d 100644 --- a/qcom/Makefile +++ b/qcom/Makefile @@ -84,6 +84,11 @@ dtbo-$(CONFIG_RHODE_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 ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y) dtbo-$(CONFIG_ARCH_KONA) += \ diff --git a/qcom/khaje-hawao-audio-overlay.dtsi b/qcom/khaje-hawao-audio-overlay.dtsi new file mode 100644 index 000000000000..54da99f8c6a4 --- /dev/null +++ b/qcom/khaje-hawao-audio-overlay.dtsi @@ -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 + +&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>; +}; diff --git a/qcom/khaje-hawao-common-overlay.dtsi b/qcom/khaje-hawao-common-overlay.dtsi new file mode 100644 index 000000000000..5c3bddeb9898 --- /dev/null +++ b/qcom/khaje-hawao-common-overlay.dtsi @@ -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 +#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"; + }; +}; diff --git a/qcom/khaje-hawao-display.dtsi b/qcom/khaje-hawao-display.dtsi new file mode 100644 index 000000000000..b510248ae274 --- /dev/null +++ b/qcom/khaje-hawao-display.dtsi @@ -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>; + }; + }; +}; + + diff --git a/qcom/khaje-hawao-evt-overlay.dts b/qcom/khaje-hawao-evt-overlay.dts new file mode 100644 index 000000000000..03d149b6fc88 --- /dev/null +++ b/qcom/khaje-hawao-evt-overlay.dts @@ -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>; +}; + diff --git a/qcom/khaje-hawao-fps-overlay.dtsi b/qcom/khaje-hawao-fps-overlay.dtsi new file mode 100644 index 000000000000..0f16fbbfd91e --- /dev/null +++ b/qcom/khaje-hawao-fps-overlay.dtsi @@ -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>; + }; +}; diff --git a/qcom/khaje-hawao-fps-overlay_evb.dtsi b/qcom/khaje-hawao-fps-overlay_evb.dtsi new file mode 100644 index 000000000000..37df8ae3d685 --- /dev/null +++ b/qcom/khaje-hawao-fps-overlay_evb.dtsi @@ -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>; + }; +}; diff --git a/qcom/khaje-hawao-touchscreen-overlay.dtsi b/qcom/khaje-hawao-touchscreen-overlay.dtsi new file mode 100644 index 000000000000..e7bf546d702c --- /dev/null +++ b/qcom/khaje-hawao-touchscreen-overlay.dtsi @@ -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; + }; +}; +