diff --git a/qcom/Makefile b/qcom/Makefile index a6b69f83b70b..08c1c80c737b 100644 --- a/qcom/Makefile +++ b/qcom/Makefile @@ -38,6 +38,10 @@ dtbo-$(CONFIG_BORNEO_DTB) += \ bengal-borneo-evb-overlay.dtbo-base := bengal-moto-base-borneo.dtb bengal-borneo-evt-overlay.dtbo-base := bengal-moto-base-borneo.dtb +dtbo-$(CONFIG_CEBU_DTB) += \ + bengal-cebu-evt-overlay.dtbo + +bengal-cebu-evt-overlay.dtbo-base := bengal-moto-base.dtb else ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y) diff --git a/qcom/bengal-cebu-common-overlay.dtsi b/qcom/bengal-cebu-common-overlay.dtsi new file mode 100644 index 000000000000..99e499f31e89 --- /dev/null +++ b/qcom/bengal-cebu-common-overlay.dtsi @@ -0,0 +1,317 @@ +/* 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 "bengal-moto-common-overlay.dtsi" +#include "bengal-guam-display.dtsi" +#include "bengal-audio-overlay.dtsi" +#include "bengal-guam-touchscreen-overlay.dtsi" +#include "camera/bengal-camera-sensor-mot-guamp-overlay.dtsi" +#include "bengal-guam-fps.dtsi" +#include "bengal-guam-moto-thermal.dtsi" + +&qupv3_se4_2uart { + status = "ok"; +}; + + +&pm6125_gpios { + + key_vol_up { + key_vol_up_default: key_vol_up_default { + pins = "gpio5"; + function = "normal"; + input-enable; + bias-pull-up; + power-source = <0>; + }; + }; +}; + +&tlmm{ + capsense_sar_gpio_pins: capsense_sar_gpio_pins { + mux { + pins = "gpio36"; + function = "gpio"; + }; + + config { + pins = "gpio36"; + drive-strength = <2>; + bias-pull-up; + input-enable; + }; + }; +}; + +&tlmm { + tlmm_gpio_key { + gpio_key_active: gpio_key_active { + mux { + pins = "gpio33"; + function = "gpio"; + }; + + config { + pins = "gpio33"; + drive-strength = <2>; + bias-pull-up; + }; + }; + }; +}; + +&soc { + gpio_keys { + compatible = "gpio-keys"; + label = "gpio-keys"; + + pinctrl-names = "default"; + pinctrl-0 = <&key_vol_up_default &gpio_key_active>; + + vol_up { + label = "volume_up"; + gpios = <&pm6125_gpios 5 GPIO_ACTIVE_LOW>; + linux,input-type = <1>; + linux,code = ; + linux,can-disable; + debounce-interval = <15>; + gpio-key,wakeup; + }; + + assist_key{ + label = "assist_key"; + gpios = <&tlmm 33 0x1>; + linux,input-type = <1>; + linux,code = ; + debounce-interval = <15>; + linux,can-disable; + gpio-key,wakeup; + }; + }; +}; + + + +&sdhc_1 { + vdd-supply = <&L24A>; + qcom,vdd-voltage-level = <2960000 2960000>; + qcom,vdd-current-level = <0 570000>; + + vdd-io-supply = <&L11A>; + qcom,vdd-io-always-on; + qcom,vdd-io-lpm-sup; + qcom,vdd-io-voltage-level = <1800000 1800000>; + qcom,vdd-io-current-level = <0 325000>; + + pinctrl-names = "active", "sleep"; + pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on + &sdc1_rclk_on>; + pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off + &sdc1_rclk_off>; + + status = "ok"; +}; + +&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>; + + 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"; +}; + +&ufsphy_mem { + compatible = "qcom,ufs-phy-qmp-v3-660"; + + vdda-phy-supply = <&L4A>; /* 0.9v */ + vdda-pll-supply = <&L12A>; /* 1.8v */ + vdda-phy-max-microamp = <51400>; + vdda-pll-max-microamp = <14200>; + + status = "ok"; +}; + +&ufshc_mem { + vdd-hba-supply = <&gcc_ufs_phy_gdsc>; + vdd-hba-fixed-regulator; + vcc-supply = <&L24A>; + vcc-voltage-level = <2950000 2960000>; + vccq2-supply = <&L11A>; + vcc-max-microamp = <600000>; + vccq2-max-microamp = <600000>; + + qcom,vddp-ref-clk-supply = <&L18A>; + qcom,vddp-ref-clk-max-microamp = <100>; + qcom,vddp-ref-clk-min-uV = <1232000>; + qcom,vddp-ref-clk-max-uV = <1232000>; + + status = "ok"; +}; + +&sde_dsi { + qcom,dsi-default-panel = <&dsi_hlt_hx83102d_video>; +}; + +&soc { + qcom,tz_gpio { + compatible = "qcom,tz_gpio"; + tlmm-tz = <14>, + <15>, + <16>, + <17>; + }; +}; + +&L21A { + regulator-min-microvolt = <2700000>; + regulator-max-microvolt = <3600000>; + qcom,init-voltage = <2800000>; +}; + +&qupv3_se0_i2c { + status = "ok"; + sar_abov: abov_sar@20 { + status = "ok"; + compatible = "abov,abov_sar_mmi_overlay"; + reg = <0x20>; + cap_vdd-supply = <&L21A>; + interrupt-parent = <&tlmm>; + interrupts = <36 0x2>; + gpios = <&tlmm 36 0x2>; + pinctrl-names = "default"; + pinctrl-0 = <&capsense_sar_gpio_pins>; + reg_array_len = <0x03>; + reg_array_val = <0x07 0x00 0x08 0x1B 0xFB 0x01>; + cap,use_channel_ch1 = <0x00>; + cap,use_channel_ch0 = <0x01>; + ch0_name = "capsense_top"; + ch1_name = "capsense_bottom"; + label = "AbovCapSense"; + cap,channel_number = <0x02>; + cap,fw_mode_ret = <0x3A>; + }; +}; + +&qupv3_se1_i2c { + status = "ok"; + #address-cells = <1>; + #size-cells = <0>; + nq@28 { + compatible = "qcom,nq-nci"; + reg = <0x28>; + qcom,nq-irq = <&tlmm 70 0x00>; + qcom,nq-ven = <&tlmm 69 0x00>; + qcom,nq-firm = <&tlmm 31 0x00>; + qcom,nq-clkreq = <&tlmm 86 0x00>; + interrupt-parent = <&tlmm>; + interrupts = <70 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>; + }; +}; + +&soc{ + mtp_batterydata: qcom,battery-data { + qcom,batt-id-range-pct = <15>; + df-serialnum = "SB18C77591"; + #include "qg-batterydata-jk50-atl-4850mah.dtsi" + #include "qg-batterydata-jk50-scud-4850mah.dtsi" + #include "qg-batterydata-jk50-atl-flex-4850mah.dtsi" + #include "qg-batterydata-jk50-atl-unicoba-4850mah.dtsi" + }; +}; + +&pmi632_qg { + qcom,qg-iterm-ma = <400>; + qcom,vbatt-cutoff-mv = <3200>; + qcom,vbatt-empty-mv = <3000>; + qcom,vbatt-low-mv = <3300>; + qcom,vbatt-low-cold-mv = <3500>; + qcom,battery-data = <&mtp_batterydata>; + qcom,rbat-conn-mohm = <10>; + qcom,cl-feedback-on; + qcom,cl-min-start-soc = <0>; + qcom,cl-max-start-soc = <5>; + qcom,cl-min-temp = <150>; + qcom,cl-max-temp = <450>; + qcom,cl-max-increment = <5>; + qcom,cl-max-decrement = <10>; + qcom,cl-min-limit = <200>; + qcom,cl-max-limit = <30>; + qcom,s3-entry-ibat-ua = <15000>; + qcom,s3-exit-ibat-ua = <35000>; + qcom,vbatt-empty-cold-mv = <3000>; + qcom,ignore-shutdown-soc-secs = <1800>; + qcom.hold-soc-while-full; + qcom,linearize-soc; +}; + +&pmi632_charger { + qcom,iterm-ma = <200>; + qcom,fcc-max-ua = <3000000>; + qcom,fv-max-uv = <4400000>; + qcom,usb-icl-ua = <3000000>; + qcom,thermal-mitigation = <3000>, + <2600>, + <2300>, + <1800>, + <1500>, + <1000>, + <600>, + <400>; + qcom,battery-data = <&mtp_batterydata>; + qcom,mmi-temp-zones = <0 4200 1000 0>, + <10 4200 1000 1000>, + <15 0 1000 1000>, + <45 0 3000 3000>, + <60 4200 2000 0>; + qcom,enable-charging-limit; + qcom,upper-limit-capacity = <70>; + qcom,lower-limit-capacity = <60>; + qcom,otg-cl-ua = <1000000>; + qcom,dc-unsupported; + qcom,wireless-unsupported; + qcom,usbeb-unsupported; + qcom,disable-suspend-on-collapse; + dpdm-supply = <&qusb_phy0>; + qcom,auto-recharge-soc = <99>; +}; + +&pmi632_rgb { + red { + label = "charging"; + }; +}; +&spmi_bus { + qcom,pm6125@0 { + qpnp-power-on-mmi@800 { + compatible = "qcom,qpnp-power-on-mmi"; + interrupts = <0x0 0x8 0x3 IRQ_TYPE_EDGE_BOTH>; + interrupt-names = "kpdpwr-bark"; + }; + }; +}; diff --git a/qcom/bengal-cebu-evt-overlay.dts b/qcom/bengal-cebu-evt-overlay.dts new file mode 100644 index 000000000000..3eec0f229020 --- /dev/null +++ b/qcom/bengal-cebu-evt-overlay.dts @@ -0,0 +1,28 @@ +/* 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 "bengal-cebu-common-overlay.dtsi" +#include "bengal-guam-audio-overlay.dtsi" + +/ { + model = "cebu"; + compatible = "qcom,bengal-cebu", "qcom,bengal-moto", "qcom,bengal"; + qcom,msm-id = <444 0x10000>; + qcom,board-id = <0 0xA000>; +}; + +/* + * Guam HW rev specific changes go here + */