diff --git a/qcom/Makefile b/qcom/Makefile index ac3ca89f6c45..233a86f2de0f 100644 --- a/qcom/Makefile +++ b/qcom/Makefile @@ -33,6 +33,13 @@ holi-ibiza-dvt1-overlay.dtbo-base := holi-moto-base.dtb holi-ibiza-dvt2-overlay.dtbo-base := holi-moto-base.dtb holi-ibiza-pvt-overlay.dtbo-base := holi-moto-base.dtb +dtbo-$(CONFIG_CORFUP_DTB) += \ + holi-corfup-evb-overlay.dtbo \ + holi-corfup-evt1-overlay.dtbo + +holi-corfup-evb-overlay.dtbo-base := holi-moto-base.dtb +holi-corfup-evt1-overlay.dtbo-base := holi-moto-base.dtb + else ifneq ($(CONFIG_ARCH_QTI_VM), y) ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y) diff --git a/qcom/holi-corfup-common-overlay.dtsi b/qcom/holi-corfup-common-overlay.dtsi new file mode 100644 index 000000000000..b62b744070cb --- /dev/null +++ b/qcom/holi-corfup-common-overlay.dtsi @@ -0,0 +1,426 @@ +/* Copyright (c) 2021, 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 "holi-moto-common-overlay.dtsi" +#include "ibiza-display.dtsi" +#include "ibiza-touchscreen.dtsi" +#include "ibiza-fps-overlay.dtsi" +#include "camera/holi-camera-sensor-mot-ibiza-overlay.dtsi" +#include "holi-audio-wcd9370-aw882xx-overlay.dtsi" +#include "moto_therm_sys_temp.dtsi" + +&tlmm { + google_key_default: google_key_default { + mux { + pins = "gpio11"; + function = "gpio"; + }; + + config { + pins = "gpio11"; + drive-strength = <2>; + bias-pull-up; + }; + }; + + nfc { + nfc_int_active: nfc_int_active { + /* active state */ + mux { + /* GPIO 9: NFC Read Interrupt */ + pins = "gpio9"; + function = "gpio"; + }; + + config { + pins = "gpio9"; + drive-strength = <2>; /* 2 MA */ + bias-disable; + }; + }; + + nfc_int_suspend: nfc_int_suspend { + /* sleep state */ + mux { + /* GPIO 9: NFC Read Interrupt */ + pins = "gpio9"; + function = "gpio"; + }; + + config { + pins = "gpio9"; + drive-strength = <2>; /* 2 MA */ + bias-disable; + }; + }; + + nfc_enable_active: nfc_enable_active { + mux { + /* 48: Enable, 8: Firmware*/ + pins = "gpio48", "gpio8"; + function = "gpio"; + }; + + config { + pins = "gpio48", "gpio8"; + drive-strength = <2>; /* 2 MA */ + bias-disable; + }; + }; + + nfc_enable_suspend: nfc_enable_suspend { + mux { + /* 48: Enable, 8: Firmware */ + pins = "gpio48", "gpio8"; + function = "gpio"; + }; + + config { + pins = "gpio48", "gpio8"; + drive-strength = <2>; /* 2 MA */ + bias-disable; + }; + }; + + + nfc_clk_req_active: nfc_clk_req_active { + /* active state */ + mux { + /* GPIO 7: NFC CLK Req*/ + pins = "gpio7"; + function = "gpio"; + }; + + config { + pins = "gpio7"; + drive-strength = <2>; /* 2 MA */ + bias-disable; + input-enable; + }; + }; + + nfc_clk_req_suspend: nfc_clk_req_suspend { + /* sleep state */ + mux { + /* GPIO 7: NFC CLK Req */ + pins = "gpi7"; + function = "gpio"; + }; + + config { + pins = "gpio7"; + drive-strength = <2>; /* 2 MA */ + bias-disable; + input-enable; + }; + }; + }; +}; + + + +&gpio_keys { + pinctrl-0 = <&key_vol_up_default &google_key_default>; + + google_key { + label = "google_key"; + gpios = <&tlmm 11 GPIO_ACTIVE_LOW>; + linux,input-type = <1>; + linux,code = ; + gpio-key,wakeup; + debounce-interval = <15>; + linux,can-disable; + }; +}; + +&sdhc_2 { + status = "ok"; + cd-gpios = <&tlmm 94 GPIO_ACTIVE_HIGH>; +}; + +&tlmm { + cam_pmic_en_default: cam_pmic_en_default { + mux { + pins = "gpio38"; + function = "gpio"; + }; + config { + pins = "gpio38"; + drive-strength = <2>; + bias-pull-down; + output-low; + }; + }; +}; + +&qupv3_se10_i2c { + status = "ok"; + + cam_pmic: wl2864c@29{ + compatible = "semi,wl2864c"; + reg = <0x29>; + + semi,cs-gpios = <&tlmm 38 0>; + + pinctrl-names = "default"; + pinctrl-0 = <&cam_pmic_en_default>; + + vin1-supply = <&S8E>; + vin2-supply = <&BOB>; + + regulators { + cam_ldo1: ldo1 { + regulator-name = "ldo1"; + regulator-min-microvolt = <600000>; + regulator-max-microvolt = <1800000>; + }; + + cam_ldo2: ldo2 { + regulator-name = "ldo2"; + regulator-min-microvolt = <600000>; + regulator-max-microvolt = <1800000>; + }; + + cam_ldo3: ldo3 { + regulator-name = "ldo3"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <4300000>; + }; + + cam_ldo4: ldo4 { + regulator-name = "ldo4"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <4300000>; + }; + + cam_ldo5: ldo5 { + regulator-name = "ldo5"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <4300000>; + }; + + cam_ldo6: ldo6 { + regulator-name = "ldo6"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <4300000>; + }; + + cam_ldo7: ldo7 { + regulator-name = "ldo7"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <4300000>; + }; + }; + }; +}; + + +&qupv3_se7_i2c { + status = "ok"; + nq@28 { + compatible = "qcom,sn-nci"; + reg = <0x28>; + qcom,sn-irq = <&tlmm 9 0x00>; + qcom,sn-ven = <&tlmm 48 0x00>; + qcom,sn-firm = <&tlmm 8 0x00>; + qcom,sn-clkreq = <&tlmm 7 0x00>; + interrupt-parent = <&tlmm>; + interrupts = <9 0>; + interrupt-names = "nfc_irq"; + pinctrl-names = "nfc_active", "nfc_suspend"; + pinctrl-0 = <&nfc_int_active &nfc_enable_active + &nfc_clk_req_active>; + pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend + &nfc_clk_req_suspend>; + }; +}; + +&mot_batterydata { + df-serialnum = "SB18C77591"; + qcom,batt-id-range-pct = <15>; + #include "qg-batterydata-jk50-swd-5000mah.dtsi" + #include "qg-batterydata-jk50-sunwoda-5000mah.dtsi" + #include "qg-batterydata-jk50-atl-5000mah.dtsi" +}; + +&pm7250b_charger { + qcom,fcc-max-ua = <3000000>; + qcom,fv-max-uv = <4400000>; + qcom,dcp-curr-max = <2000000>; + qcom,thermal-mitigation = <3000000 2500000 + 2000000 1500000 + 1200000 900000 + 600000 300000>; +}; + +&pm7250b_mmi { + qcom,mmi-temp-zones = <0 4200 1000 0>, + <15 0 1000 1000>, + <45 0 3000 3000>, + <60 4200 2500 0>; + qcom,iterm-ma = <150>; +}; + + +&pm7250b_qg { + qcom,qg-iterm-ma = <500>; +}; + +&thermal_zones { + pa-therm0-usr { + status = "disabled"; + }; + sdm-skin-therm-usr { + status = "disabled"; + }; + pa-therm1-usr { + status = "disabled"; + }; + quiet-therm-usr { + status = "disabled"; + }; + rfc-cam-pa3-usr { + status = "disabled"; + }; + camera-therm-usr { + status = "disabled"; + }; + chg-skin-therm-usr { + status = "disabled"; + }; + conn-therm-usr { + status = "disabled"; + }; + xo-therm-usr { + status = "disabled"; + }; + pa_therm2 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pm6150l_adc_tm ADC5_AMUX_THM1_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + msm_therm { + polling-delay-passive = <5000>; + polling-delay = <20000>; + thermal-governor = "user_space"; + thermal-sensors = <&pm6150l_adc_tm_iio ADC5_AMUX_THM2_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + pa_therm3 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pm6150l_adc_tm ADC5_AMUX_THM3_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + pa_therm1 { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pm6150l_adc_tm ADC5_GPIO3_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + quiet_therm { + polling-delay-passive = <5000>; + polling-delay = <20000>; + thermal-governor = "user_space"; + thermal-sensors = <&pm6150l_adc_tm ADC5_GPIO4_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + chg_therm { + polling-delay-passive = <5000>; + polling-delay = <20000>; + thermal-governor = "user_space"; + thermal-sensors = <&pm7250b_adc_tm ADC5_AMUX_THM1_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + cam_flash_therm { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pm7250b_adc_tm ADC5_AMUX_THM3_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + xo_therm { + polling-delay-passive = <5000>; + polling-delay = <20000>; + thermal-governor = "user_space"; + thermal-sensors = <&pmk8350_adc_tm PMK8350_ADC7_AMUX_THM1_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; +}; + +&pm8008_8 { + status = "disabled"; +}; + +&pm8008_9 { + status = "disabled"; +}; diff --git a/qcom/holi-corfup-evb-overlay.dts b/qcom/holi-corfup-evb-overlay.dts new file mode 100644 index 000000000000..937bd794c28c --- /dev/null +++ b/qcom/holi-corfup-evb-overlay.dts @@ -0,0 +1,24 @@ +/* Copyright (c) 2021, 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 "holi-corfup-common-overlay.dtsi" + +/ { + model = "corfup"; + compatible = "qcom,holi-corfup", "qcom,holi-moto", "qcom,holi"; + qcom,msm-id = <454 0x10000>, <472 0x10000>; + qcom,board-id = <0x44 0xA100>; +}; + diff --git a/qcom/holi-corfup-evt1-overlay.dts b/qcom/holi-corfup-evt1-overlay.dts new file mode 100644 index 000000000000..48b379e418f3 --- /dev/null +++ b/qcom/holi-corfup-evt1-overlay.dts @@ -0,0 +1,24 @@ +/* Copyright (c) 2021, 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 "holi-corfup-common-overlay.dtsi" + +/ { + model = "corfup"; + compatible = "qcom,holi-corfup", "qcom,holi-moto", "qcom,holi"; + qcom,msm-id = <454 0x10000>, <472 0x10000>; + qcom,board-id = <0x44 0xA200>; +}; +