Merge tag 'MMI-U1UGS34.23-110-23-2' of https://github.com/MotorolaMobilityLLC/kernel-devicetree into lineage-22.2

"Fogos push for Android 14"

* tag 'MMI-U1UGS34.23-110-23-2' of https://github.com/MotorolaMobilityLLC/kernel-devicetree: (1247 commits)
  Fogo5g+ introduce SB18E53186 battery
  arm/dts: config BCL SOC trigger threshold to 2%
  arm/dts: add new battery SN
  arm64/dt: fogos: add panel notify dts of fps
  arm64/dt: fogo: add panel notify dts of fps
  arm/dts: config CDP max current 1A
  system: remove cdsp_secure_heap_region
  fogos: dtsi/kernel: modify 2nd ili9883c init code
  fogos: dtsi/kernel: modify 2nd ili9883c init code
  arm/dts: config DCP max current 2.2A
  arm/dts: config mmi,enable-fcc-large-qg-iterm
  fogo/sensor: update sx937x params
  devicetree/fogo:1st panel low brightness turns off cabc
  fogos: dtsi/kernel: modify 1st icnl9916c min brightness turn off cabc
  fogos: dtsi/kernel: modify 2nd ili9883c min brightness turn off cabc
  fogos: dtsi/kernel: modify 2nd ili9883c timing
  devicetree/fogo:1st panel timing optimization
  fogor: dtsi/kernel: modify 2nd ili9883c tp-reset timing
  fogos: dtsi/kernel: modify 2nd ili9883c tp-reset timing
  dts/panel: fogo: add delay time of command 0x10
  ...

Change-Id: I49f4dc89847f5fbeac996c5cc31952bea74bd413
This commit is contained in:
Michael Bestas 2025-03-21 18:13:57 +02:00
commit 2d4c3b4e6f
No known key found for this signature in database
322 changed files with 69807 additions and 49 deletions

5
arch/arm64/boot/dts/vendor/.gitignore vendored Normal file
View file

@ -0,0 +1,5 @@
# Ignore camera and display directory
qcom/camera
qcom/display
bindings/display/qcom
qcom/camera-legacy

View file

@ -1,3 +1,173 @@
# Only include Motorola DTBs
ifeq ($(CONFIG_MMI_DEVICE_DTBS),y)
ifneq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y)
$(error Moto DT w/o overlay is undefined!!!)
endif
# Motorola Device Trees
dtbo-$(CONFIG_DENVER_DTB) += \
holi-denver-evt1-overlay.dtbo \
holi-denver-evt2-overlay.dtbo \
holi-denver-dvt1-overlay.dtbo \
holi-denver-dvt2-overlay.dtbo \
holi-denver-pvt-overlay.dtbo
holi-denver-evt1-overlay.dtbo-base := holi-moto-base.dtb
holi-denver-evt2-overlay.dtbo-base := holi-moto-base.dtb
holi-denver-dvt1-overlay.dtbo-base := holi-moto-base.dtb
holi-denver-dvt2-overlay.dtbo-base := holi-moto-base.dtb
holi-denver-pvt-overlay.dtbo-base := holi-moto-base.dtb
dtbo-$(CONFIG_IBIZA_DTB) += \
holi-ibiza-evt1-overlay.dtbo \
holi-ibiza-evt2-overlay.dtbo \
holi-ibiza-evt3-overlay.dtbo \
holi-ibiza-dvt1-overlay.dtbo \
holi-ibiza-dvt2-overlay.dtbo \
holi-ibiza-pvt-overlay.dtbo
holi-ibiza-evt1-overlay.dtbo-base := holi-moto-base.dtb
holi-ibiza-evt2-overlay.dtbo-base := holi-moto-base.dtb
holi-ibiza-evt3-overlay.dtbo-base := holi-moto-base.dtb
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-evt2-overlay.dtbo \
holi-corfup-dvt1-overlay.dtbo
holi-corfup-evb-overlay.dtbo-base := holi-moto-base.dtb
holi-corfup-evt1-overlay.dtbo-base := holi-moto-base.dtb
holi-corfup-evt2-overlay.dtbo-base := holi-moto-base.dtb
holi-corfup-dvt1-overlay.dtbo-base := holi-moto-base.dtb
dtbo-$(CONFIG_CORFUQ_DTB) += \
holi-corfuq-dvt1a-overlay.dtbo \
holi-corfuq-dvt1c-overlay.dtbo
holi-corfuq-dvt1a-overlay.dtbo-base := holi-moto-base.dtb
holi-corfuq-dvt1c-overlay.dtbo-base := holi-moto-base.dtb
dtbo-$(CONFIG_CORFUR_DTB) += \
blair-corfur-dvt1b-overlay.dtbo \
blair-corfur-dvt1d-overlay.dtbo
blair-corfur-dvt1b-overlay.dtbo-base := blair-moto-base.dtb
blair-corfur-dvt1d-overlay.dtbo-base := blair-moto-base.dtb
dtbo-$(CONFIG_CYPFG_DTB) += \
holi-cypfg-evb-overlay.dtbo \
holi-cypfg-evt-overlay.dtbo
holi-cypfg-evb-overlay.dtbo-base := holi-moto-base.dtb
holi-cypfg-evt-overlay.dtbo-base := holi-moto-base.dtb
dtbo-$(CONFIG_CYPFQ_DTB) += \
holi-cypfq-dvt1-overlay.dtbo \
holi-cypfq-dvt2-overlay.dtbo \
holi-cypfq-pvt-overlay.dtbo
holi-cypfq-dvt1-overlay.dtbo-base := holi-moto-base.dtb
holi-cypfq-dvt2-overlay.dtbo-base := holi-moto-base.dtb
holi-cypfq-pvt-overlay.dtbo-base := holi-moto-base.dtb
dtbo-$(CONFIG_RHODEC_DTB) += \
holi-rhodec-evb-overlay.dtbo
holi-rhodec-evb-overlay.dtbo-base := holi-moto-base.dtb
dtbo-$(CONFIG_CYPFR_DTB) += \
blair-cypfr-evb-overlay.dtbo \
blair-cypfr-evt-overlay.dtbo \
blair-cypfr-dvt2-overlay.dtbo
blair-cypfr-evb-overlay.dtbo-base := blair-moto-base.dtb
blair-cypfr-evt-overlay.dtbo-base := blair-moto-base.dtb
blair-cypfr-dvt2-overlay.dtbo-base := blair-moto-base.dtb
dtbo-$(CONFIG_MILANF_DTB) += \
blair-milanf-evb1-overlay.dtbo \
blair-milanf-evb2-overlay.dtbo \
blair-milanf-dvt1-overlay.dtbo \
blair-milanf-dvt2-overlay.dtbo
blair-milanf-evb1-overlay.dtbo-base := blair-moto-milanf-base.dtb
blair-milanf-evb2-overlay.dtbo-base := blair-moto-milanf-base.dtb
blair-milanf-dvt1-overlay.dtbo-base := blair-moto-milanf-base.dtb
blair-milanf-dvt2-overlay.dtbo-base := blair-moto-milanf-base.dtb
dtbo-$(CONFIG_BANGKK_DTB) += \
blair-bangkk-evb1-overlay.dtbo
blair-bangkk-evb1-overlay.dtbo-base := blair-moto-bangkk-base.dtb
dtbo-$(CONFIG_FOGOR_DTB) += \
blair-fogor-evb-overlay.dtbo
blair-fogor-evb-overlay.dtbo-base := blair-moto-fogor-base.dtb
dtbo-$(CONFIG_FOGOS_DTB) += \
blair-fogos-evt-overlay.dtbo \
blair-fogos-dvt1-overlay.dtbo
blair-fogos-evt-overlay.dtbo-base := blair-moto-fogos-base.dtb
blair-fogos-dvt1-overlay.dtbo-base := blair-moto-fogos-base.dtb
dtbo-$(CONFIG_FOGO_DTB) += \
blair-fogo-evb-overlay.dtbo
blair-fogo-evb-overlay.dtbo-base := blair-moto-fogo-base.dtb
dtbo-$(CONFIG_PENANG_DTB) += \
holi-penang-dvt2-jp-overlay.dtbo \
holi-penang-dvt2-sb-overlay.dtbo \
holi-penang-evt1-overlay.dtbo
holi-penang-evt1-overlay.dtbo-base := holi-moto-base.dtb
holi-penang-dvt2-jp-overlay.dtbo-base := holi-moto-base.dtb
holi-penang-dvt2-sb-overlay.dtbo-base := holi-moto-base.dtb
dtbo-$(CONFIG_PENANGB_DTB) += \
holi-penangb-dvt2-jp-overlay.dtbo \
holi-penangb-dvt2-sb-overlay.dtbo \
holi-penangb-evt1-overlay.dtbo
holi-penangb-evt1-overlay.dtbo-base := holi-moto-base.dtb
holi-penangb-dvt2-jp-overlay.dtbo-base := holi-moto-base.dtb
holi-penangb-dvt2-sb-overlay.dtbo-base := holi-moto-base.dtb
dtbo-$(CONFIG_PNANGN_DTB) += \
holi-pnangn-evt1-overlay.dtbo
holi-pnangn-evt1-overlay.dtbo-base := holi-moto-base.dtb
dtbo-$(CONFIG_RHODEP_DTB) += \
blair-rhodep-evt1-overlay.dtbo \
blair-rhodep-evt2-overlay.dtbo \
blair-rhodep-dvt1-overlay.dtbo \
blair-rhodep-dvt2-overlay.dtbo
blair-rhodep-evt1-overlay.dtbo-base := blair-moto-rhodep-base.dtb
blair-rhodep-evt2-overlay.dtbo-base := blair-moto-rhodep-base.dtb
blair-rhodep-dvt1-overlay.dtbo-base := blair-moto-rhodep-base.dtb
blair-rhodep-dvt2-overlay.dtbo-base := blair-moto-rhodep-base.dtb
dtbo-$(CONFIG_RHODEI_DTB) += \
blair-rhodei-evt1-overlay.dtbo
blair-rhodei-evt1-overlay.dtbo-base := blair-moto-rhodei-base.dtb
dtbo-$(CONFIG_MIAMI_DTB) += \
blair-miami-evt1-overlay.dtbo
blair-miami-evt1-overlay.dtbo-base := blair-moto-miami-base.dtb
else
ifneq ($(CONFIG_ARCH_QTI_VM), y)
ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y)
dtbo-$(CONFIG_ARCH_LAHAINA) += lahaina-rumi-overlay.dtbo \
@ -516,6 +686,7 @@ dtb-$(CONFIG_ARCH_QTI_VM) += shima-vm-rumi.dtb \
shima-vm-qrd.dtb
endif
endif
endif
dtb-$(CONFIG_ARCH_SDXNIGHTJAR) += sdxnightjar-mtp.dtb \
sdxnightjar-cdp.dtb \

View file

@ -0,0 +1,228 @@
#include <dt-bindings/iio/qti_power_supply_iio.h>
&mot_batterydata {
df-serialnum = "SB18D87863";
qcom,batt-id-range-pct = <15>;
#include "qg-batterydata-qb50-swd-5000mah.dtsi"
#include "qg-batterydata-qb50-gy-5000mah.dtsi"
#include "qg-batterydata-qb50-gy-icm-5000mah.dtsi"
};
&pm7250b_charger {
#io-channel-cells = <1>;
io-channels = <&pm7250b_vadc ADC5_USB_IN_V_16>,
<&pm7250b_vadc ADC5_USB_IN_I>,
<&pm7250b_vadc ADC5_CHG_TEMP>,
<&pm7250b_vadc ADC5_DIE_TEMP>,
<&pm7250b_vadc ADC5_AMUX_THM3_100K_PU>,
<&pm7250b_vadc ADC5_SBUx>,
<&pm7250b_vadc ADC5_VPH_PWR>,
<&pm7250b_vadc ADC5_AMUX_THM1_100K_PU>,
<&pm7250b_qg PSY_IIO_RESISTANCE_ID>,
<&pm7250b_qg PSY_IIO_VOLTAGE_NOW>,
<&pm7250b_qg PSY_IIO_TEMP>,
<&pm7250b_qg PSY_IIO_CAPACITY>,
<&pm7250b_qg PSY_IIO_VOLTAGE_OCV>,
<&pm7250b_qg PSY_IIO_VOLTAGE_AVG>,
<&pm7250b_qg PSY_IIO_DEBUG_BATTERY>,
<&pm7250b_qg PSY_IIO_REAL_CAPACITY>,
<&pm7250b_qg PSY_IIO_CC_SOC>,
<&pm7250b_qg PSY_IIO_CURRENT_NOW>,
<&pm7250b_qg PSY_IIO_VOLTAGE_MAX>,
<&pm7250b_qg PSY_IIO_CHARGE_FULL>,
<&pm7250b_qg PSY_IIO_CHARGE_COUNTER>,
<&pm7250b_qg PSY_IIO_CYCLE_COUNT>,
<&pm7250b_qg PSY_IIO_CHARGE_FULL_DESIGN>,
<&pm7250b_qg PSY_IIO_TIME_TO_FULL_NOW>,
<&bq25960_standalone PSY_IIO_MMI_CP_INPUT_VOLTAGE_NOW>;
io-channel-names = "usb_in_voltage",
"usb_in_current",
"chg_temp",
"die_temp",
"conn_temp",
"sbux_res",
"vph_voltage",
"skin_temp",
"resistance_id",
"voltage_now",
"temp",
"capacity",
"voltage_ocv",
"voltage_avg",
"debug_battery",
"real_capacity",
"cc_soc",
"current_now",
"voltage_max",
"charge_full",
"charge_counter",
"cycle_count",
"charge_full_design",
"time_to_full_now",
"cp_input_voltage_now";
qcom,fcc-max-ua = <4000000>;
qcom,fv-max-uv = <4520000>;
qcom,dcp-curr-max = <2000000>;
qcom,hvdcp2-max-icl-ua = <2000000>;
qcom,otg-cl-ua = <1000000>;
qcom,thermal-mitigation = <3000000 2500000
2000000 1500000
1200000 900000
500000>;
mmi,qc3p-support;
/delete-property/ qcom,fcc-stepping-enable;
};
&pm7250b_mmi {
qcom,mmi-temp-zones = <0 4200 1000 0>,
<10 4250 3000 1000>,
<15 0 3000 3000>,
<25 0 4000 4000>,
<35 0 4000 4000>,
<45 0 4000 4000>,
<60 4200 4000 0>;
qcom,mmi-ffc-zones = <4200 260 534>,
<4500 260 534>,
<4500 260 534>,
<4520 550 820>,
<4520 600 960>,
<4520 750 1110>,
<4200 260 575>;
qcom,iterm-ma = <260>;
mmi,enable-factory-mode-aicl;
qcom,noffc-chg-iterm = <260>;
qcom,noffc-chg-iterm-45c = <390>;
qcom,noffc-qg-iterm = <500>;
qcom,noffc-max-fv = <4500>;
};
&pm7250b_qg {
#io-channel-cells = <1>;
io-channels = <&pm7250b_vadc ADC5_BAT_THERM_100K_PU>,
<&pm7250b_vadc ADC5_BAT_ID_100K_PU>,
<&pm7250b_charger PSY_IIO_INPUT_CURRENT_LIMITED>,
<&pm7250b_charger PSY_IIO_RECHARGE_SOC>,
<&pm7250b_charger PSY_IIO_FORCE_RECHARGE>,
<&pm7250b_charger PSY_IIO_CHARGE_DONE>,
<&mmi_chrg PSY_IIO_CP_ENABLE>;
io-channel-names = "batt-therm",
"batt-id",
"input_current_limited",
"recharge_soc",
"force_recharge",
"charge_done",
"cp_charging_enabled";
mmi,cp-use-internal-qg;
mmi,cp-chrg-soc-limit = <90>;
qcom,qg-iterm-ma = <500>;
};
&socd_trip {
temperature = <98>;
};
&qupv3_se10_i2c {
status = "okay";
bq25960_standalone:bq25960-standalone@6A {
status = "okay";
compatible = "ti,bq25960-standalone";
reg = <0x6A>;
sc8541-addr = <0x6A>;
sc8541-name = "sc8541-master";
#io-channel-cells = <1>;
interrupt-parent = <&tlmm>;
interrupts = <12 IRQ_TYPE_LEVEL_HIGH>;
irq-gpio = <&tlmm 12 0>;
};
};
&soc {
mmi_chrg: mmi_chrg_manager {
compatible = "mmi,chrg-manager";
#io-channel-cells = <1>;
io-channels = <&pm7250b_charger PSY_IIO_HW_CURRENT_MAX>,
<&pm7250b_charger PSY_IIO_CHARGING_ENABLED>,
<&pm7250b_charger PSY_IIO_TYPEC_MODE>,
<&pm7250b_charger PSY_IIO_USB_INPUT_CURRENT_SETTLED>,
<&pm7250b_charger PSY_IIO_PD_ACTIVE>,
/*qc3p start*/
<&pm7250b_charger PSY_IIO_USB_REAL_TYPE>,
<&pm7250b_charger PSY_IIO_DP_DM>,
<&pm7250b_charger PSY_IIO_MMI_QC3P_POWER>,
/*qc3p end*/
<&bq25960_standalone PSY_IIO_CP_ENABLE>,
<&bq25960_standalone PSY_IIO_MMI_CP_INPUT_CURRENT_NOW>,
<&bq25960_standalone PSY_IIO_MMI_CP_INPUT_VOLTAGE_NOW>,
<&bq25960_standalone PSY_IIO_CP_STATUS1>,
<&bq25960_standalone PSY_IIO_CP_CLEAR_ERROR>,
<&pm7250b_mmi PSY_IIO_CP_ENABLE>;
io-channel-names = "usb_hw_current_max",
"charging_enabled",
"usb_typec_mode",
"usb_input_current_settled",
"usb_pd_active",
/*qc3p start*/
"usb_real_type",
"battery_dp_dm",
"usb_qc3p_power",
/*qc3p end*/
"cp_enable",
"cp_input_current_now",
"cp_input_voltage_now",
"cp_status1",
"cp_clear_error",
"mmi_cp_enabled_status";
qcom,usbpd-phandle = <&pm7250b_pdphy>;
mmi,pps-volt-steps = <20000>;
mmi,pps-curr-steps = <100000>;
mmi,pd-volt-max = <10000000>;
mmi,pd-curr-max = <3000000>;
mmi,batt-curr-boost = <300000>;
mmi,batt-ovp-lmt = <4580000>;
mmi,pl-chrg-vbatt-min = <3000000>;
mmi,typec-middle-current = <2000000>;
mmi,pd-allow-min-current = <1000000>;
mmi,step-first-current-comp = <0>;
mmi,dont-rerun-aicl;
/*qc3p start*/
mmi,qc3p-max-ibus-ma = <3000>;
mmi,qc3p-volt-steps = <20000>;
mmi,qc3p-volt-max = <10000000>;
/*qc3p end*/
mmi,chrg-temp-zones-num = <5>;
mmi,mmi-chrg-temp-zones =
<0 4200 1000 0 0 0 0>,
<10 4250 3000 4500 1000 0 0>,
<15 4500 3000 0 0 0 0>,
<45 4320 5800 4420 5150 4520 3900>,
<60 4200 4000 0 0 0 0>;
mmi,thermal-mitigation =
<5800000>,
<5000000>,
<4800000>,
<4500000>,
<4000000>,
<3500000>,
<3200000>,
<3000000>,
<2000000>,
<1000000>;
charger_device_0 {
chrg-name = "pmic-sw";
psy-name = "battery";
charging-curr-limited = <500000>;
};
charger_device_1 {
chrg-name = "cp-master";
psy-name = "bq25960-standalone";
charging-curr-min = <2000000>;
};
};
};

View file

@ -0,0 +1,485 @@
#include "dsi-panel-mot-dummy-qhd-video.dtsi"
#include "dsi-panel-mot-csot-vtdr6115-655-1080x2400-video.dtsi"
#include "dsi-panel-mot-tm-nt37703-655-1080x2400-video.dtsi"
#include "dsi-panel-mot-tm-u8-nt37703-655-1080x2400-video.dtsi"
#include "dsi-panel-mot-csot-c7-vtdr6115-655-1080x2400-video-v0.dtsi"
#include "dsi-panel-mot-csot-c7-vtdr6115-655-1080x2400-video-v1.dtsi"
&display_panel_avdd {
/delete-property/ gpio;
/delete-property/ pinctrl-0;
};
&tlmm {
display_panel_vddio_default: display_panel_vddio_default {
mux {
pins = "gpio102";
function = "gpio";
};
config {
pins = "gpio102";
drive-strength = <8>;
bias-disable = <0>;
output-high;
};
};
display_panel_vci_default: display_panel_vci_default {
mux {
pins = "gpio84";
function = "gpio";
};
config {
pins = "gpio84";
drive-strength = <8>;
bias-disable = <0>;
output-high;
};
};
display_panel_dvdd_default: display_panel_dvdd_default {
mux {
pins = "gpio85";
function = "gpio";
};
config {
pins = "gpio85";
drive-strength = <8>;
bias-disable = <0>;
output-high;
};
};
};
&soc {
display_panel_vddio: display_gpio_regulator@1 {
compatible = "qti-regulator-fixed";
regulator-name = "display_panel_vddio";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-enable-ramp-delay = <233>;
gpio = <&tlmm 102 0>;
enable-active-high;
regulator-boot-on;
proxy-supply = <&display_panel_vddio>;
qcom,proxy-consumer-enable;
pinctrl-names = "default";
pinctrl-0 = <&display_panel_vddio_default>;
};
display_panel_vci: display_gpio_regulator@2 {
compatible = "qti-regulator-fixed";
regulator-name = "display_panel_vci";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-enable-ramp-delay = <233>;
gpio = <&tlmm 84 0>;
enable-active-high;
regulator-boot-on;
proxy-supply = <&display_panel_vci>;
qcom,proxy-consumer-enable;
pinctrl-names = "default";
pinctrl-0 = <&display_panel_vci_default>;
};
display_panel_dvdd: display_gpio_regulator@3 {
compatible = "qti-regulator-fixed";
regulator-name = "display_panel_dvdd";
regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <1250000>;
regulator-enable-ramp-delay = <233>;
gpio = <&tlmm 85 0>;
enable-active-high;
regulator-boot-on;
proxy-supply = <&display_panel_dvdd>;
qcom,proxy-consumer-enable;
pinctrl-names = "default";
pinctrl-0 = <&display_panel_dvdd_default>;
};
dsi_panel_pwr_supply_ext_bias: dsi_panel_pwr_supply_ext_bias {
#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 = <300000>;
qcom,supply-disable-load = <0>;
qcom,supply-pre-on-sleep = <0>;
qcom,supply-post-on-sleep = <2>;
qcom,supply-pre-off-sleep = <3>;
qcom,supply-post-off-sleep = <1>;
};
qcom,panel-supply-entry@1 {
reg = <1>;
qcom,supply-name = "vci";
qcom,supply-min-voltage = <3000000>;
qcom,supply-max-voltage = <3000000>;
qcom,supply-enable-load = <300000>;
qcom,supply-disable-load = <0>;
qcom,supply-pre-on-sleep = <0>;
qcom,supply-post-on-sleep = <2>;
qcom,supply-pre-off-sleep = <2>;
qcom,supply-post-off-sleep = <2>;
};
qcom,panel-supply-entry@2 {
reg = <2>;
qcom,supply-name = "dvdd";
qcom,supply-min-voltage = <1250000>;
qcom,supply-max-voltage = <1250000>;
qcom,supply-enable-load = <300000>;
qcom,supply-disable-load = <0>;
qcom,supply-pre-on-sleep = <1>;
qcom,supply-post-on-sleep = <2>;
qcom,supply-pre-off-sleep = <2>;
qcom,supply-post-off-sleep = <2>;
};
};
dsi_panel_pwr_supply_ext_bias_nt: dsi_panel_pwr_supply_ext_bias_nt {
#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 = <300000>;
qcom,supply-disable-load = <0>;
qcom,supply-pre-on-sleep = <0>;
qcom,supply-post-on-sleep = <2>;
qcom,supply-pre-off-sleep = <3>;
qcom,supply-post-off-sleep = <1>;
};
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 = <300000>;
qcom,supply-disable-load = <0>;
qcom,supply-pre-on-sleep = <1>;
qcom,supply-post-on-sleep = <2>;
qcom,supply-pre-off-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 = <300000>;
qcom,supply-disable-load = <0>;
qcom,supply-pre-on-sleep = <0>;
qcom,supply-post-on-sleep = <10>;
qcom,supply-pre-off-sleep = <2>;
qcom,supply-post-off-sleep = <2>;
};
};
};
&sde_dsi {
/delete-property/ lab-supply;
/delete-property/ ibb-supply;
/delete-property/ vddio-supply;
/delete-property/ qcom,dsi-default-panel;
/delete-property/ avdd-supply;
vddio-supply = <&display_panel_vddio>;
vci-supply = <&display_panel_vci>;
dvdd-supply = <&display_panel_dvdd>;
qcom,dsi-default-panel = <&mot_csot_vtdr6115_655_1080x2400_dsc_vid>;
};
&mot_csot_vtdr6115_655_1080x2400_dsc_vid{
qcom,platform-te-gpio = <&tlmm 23 0>;
qcom,platform-reset-gpio = <&pmr735a_gpios 2 0>;
qcom,dsi-supported-dfps-list = <60 90 120>;
qcom,mdss-dsi-pan-enable-dynamic-fps;
qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp";
qcom,mdss-dsi-pan-dfps-send-command;
qcom,mdss-dsi-pan-on-fps = <60>;
qcom,panel-supply-entries = <&dsi_panel_pwr_supply_ext_bias>;
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs";
qcom,mdss-dsi-bl-min-level = <1>;
qcom,mdss-dsi-bl-max-level = <3929>;
qcom,mdss-brightness-max-level = <3929>;
qcom,mdss-dsi-bl-default-level = <1757>;
qcom,mdss-dsi-bl-inverted-dbv;
qcom,mdss-dsi-no-panel-on-read-support;
qcom,mdss-dsi-bl-is-exponent;
qcom,mdss-dsi-panel-hdr-enable;
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,esd-check-enabled;
qcom,mdss-dsi-panel-status-check-mode = "reg_read";
qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 66];
qcom,mdss-dsi-panel-status-command-state = "dsi_lp_mode";
qcom,mdss-dsi-panel-status-value = <0 0 0>;
qcom,mdss-dsi-panel-status-read-length = <3>;
qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0";
qcom,mdss-dsi-display-timings {
timing@0 {
qcom,mdss-dsi-panel-phy-timings = [00 1E 08 07 18 22 08
08 08 02 04 00 1A 0D];
qcom,display-topology = <1 1 1>;
qcom,default-topology-index = <0>;
};
};
};
&mot_tm_nt37703_655_1080x2400_dsc_vid{
qcom,platform-te-gpio = <&tlmm 23 0>;
qcom,platform-reset-gpio = <&pmr735a_gpios 2 0>;
qcom,dsi-supported-dfps-list = <60 90 120>;
qcom,mdss-dsi-pan-enable-dynamic-fps;
qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp";
qcom,mdss-dsi-pan-dfps-send-command;
qcom,mdss-dsi-pan-on-fps = <60>;
qcom,panel-supply-entries = <&dsi_panel_pwr_supply_ext_bias_nt>;
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs";
qcom,mdss-dsi-bl-min-level = <1>;
qcom,mdss-dsi-bl-max-level = <3929>;
qcom,mdss-brightness-max-level = <3929>;
qcom,mdss-dsi-bl-default-level = <1757>;
qcom,mdss-dsi-no-panel-on-read-support;
qcom,mdss-dsi-bl-is-exponent;
qcom,mdss-dsi-panel-hdr-enable;
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,esd-check-enabled;
qcom,mdss-dsi-panel-status-check-mode = "reg_read";
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,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0";
qcom,mdss-dsi-display-timings {
timing@0 {
qcom,mdss-dsi-panel-phy-timings = [00 1D 07 07 17 22 07
07 08 02 04 00 19 0C];
qcom,display-topology = <1 1 1>;
qcom,default-topology-index = <0>;
};
};
};
&mot_tm_u8_nt37703_655_1080x2400_dsc_vid{
qcom,platform-te-gpio = <&tlmm 23 0>;
qcom,platform-reset-gpio = <&pmr735a_gpios 2 0>;
qcom,dsi-supported-dfps-list = <60 90 120>;
qcom,mdss-dsi-pan-enable-dynamic-fps;
qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp";
qcom,mdss-dsi-pan-dfps-send-command;
qcom,mdss-dsi-pan-on-fps = <60>;
qcom,panel-supply-entries = <&dsi_panel_pwr_supply_ext_bias_nt>;
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs";
qcom,mdss-dsi-bl-min-level = <1>;
qcom,mdss-dsi-bl-max-level = <3929>;
qcom,mdss-brightness-max-level = <3929>;
qcom,mdss-dsi-bl-default-level = <1757>;
qcom,mdss-dsi-no-panel-on-read-support;
qcom,mdss-dsi-bl-is-exponent;
qcom,mdss-dsi-panel-hdr-enable;
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,esd-check-enabled;
qcom,mdss-dsi-panel-status-check-mode = "reg_read";
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,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0";
qcom,mdss-dsi-display-timings {
timing@0 {
qcom,mdss-dsi-panel-phy-timings = [00 1D 07 07 17 22 07
07 08 02 04 00 19 0C];
qcom,display-topology = <1 1 1>;
qcom,default-topology-index = <0>;
};
};
};
&mot_csot_c7_vtdr6115_655_1080x2400_dsc_vid_v0{
qcom,platform-te-gpio = <&tlmm 23 0>;
qcom,platform-reset-gpio = <&pmr735a_gpios 2 0>;
qcom,dsi-supported-dfps-list = <60 90 120>;
qcom,mdss-dsi-pan-enable-dynamic-fps;
qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp";
qcom,mdss-dsi-pan-dfps-send-command;
qcom,mdss-dsi-pan-on-fps = <60>;
qcom,panel-supply-entries = <&dsi_panel_pwr_supply_ext_bias>;
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs";
qcom,mdss-dsi-bl-min-level = <1>;
qcom,mdss-dsi-bl-max-level = <3929>;
qcom,mdss-brightness-max-level = <3929>;
qcom,mdss-dsi-bl-default-level = <1757>;
qcom,mdss-dsi-bl-inverted-dbv;
qcom,mdss-dsi-no-panel-on-read-support;
qcom,mdss-dsi-bl-is-exponent;
qcom,mdss-dsi-panel-hdr-enable;
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,esd-check-enabled;
qcom,mdss-dsi-panel-status-check-mode = "reg_read";
qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 66];
qcom,mdss-dsi-panel-status-command-state = "dsi_lp_mode";
qcom,mdss-dsi-panel-status-value = <0 0 0>;
qcom,mdss-dsi-panel-status-read-length = <3>;
qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0";
qcom,mdss-dsi-display-timings {
timing@0 {
qcom,mdss-dsi-panel-phy-timings = [00 1E 08 07 18 22 08
08 08 02 04 00 1A 0D];
qcom,display-topology = <1 1 1>;
qcom,default-topology-index = <0>;
};
};
};
&mot_csot_c7_vtdr6115_655_1080x2400_dsc_vid_v1{
qcom,platform-te-gpio = <&tlmm 23 0>;
qcom,platform-reset-gpio = <&pmr735a_gpios 2 0>;
qcom,dsi-supported-dfps-list = <60 90 120>;
qcom,mdss-dsi-pan-enable-dynamic-fps;
qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp";
qcom,mdss-dsi-pan-dfps-send-command;
qcom,mdss-dsi-pan-on-fps = <60>;
qcom,panel-supply-entries = <&dsi_panel_pwr_supply_ext_bias>;
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs";
qcom,mdss-dsi-bl-min-level = <1>;
qcom,mdss-dsi-bl-max-level = <3929>;
qcom,mdss-brightness-max-level = <3929>;
qcom,mdss-dsi-bl-default-level = <1757>;
qcom,mdss-dsi-bl-inverted-dbv;
qcom,mdss-dsi-no-panel-on-read-support;
qcom,mdss-dsi-bl-is-exponent;
qcom,mdss-dsi-panel-hdr-enable;
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,esd-check-enabled;
qcom,mdss-dsi-panel-status-check-mode = "reg_read";
qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 66];
qcom,mdss-dsi-panel-status-command-state = "dsi_lp_mode";
qcom,mdss-dsi-panel-status-value = <0 0 0>;
qcom,mdss-dsi-panel-status-read-length = <3>;
qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0";
qcom,mdss-dsi-display-timings {
timing@0 {
qcom,mdss-dsi-panel-phy-timings = [00 1E 08 07 18 22 08
08 08 02 04 00 1A 0D];
qcom,display-topology = <1 1 1>;
qcom,default-topology-index = <0>;
};
};
};
&mot_dummy_vid_qhd {
qcom,platform-te-gpio = <&tlmm 23 0>;
qcom,platform-reset-gpio = <&pmr735a_gpios 2 0>;
qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dummy";
qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0";
qcom,mdss-dsi-display-timings {
timing@0 {
qcom,mdss-dsi-panel-phy-timings = [00 0B 02 02 1C 1C 03
02 01 02 04 00 0C 12];
qcom,display-topology = <1 0 1>;
qcom,default-topology-index = <0>;
};
};
};
&qupv3_se10_i2c {
status = "ok"
lcd_backlight@36 {
compatible = "awinic,aw99703-bl";
reg = <0x36>;
/* Awinic, aw99703 */
aw99703,hwen-gpio = <&tlmm 60 0>;
aw99703,bl-map = <3>; /* brightness map level 1:256,2:1024,3:2048 */
aw99703,using-lsb;
aw99703,ovp-level = <2>; /* 0:17.5V, 1:24V, 2:31V, 3:38V, 4:41.5V */
aw99703,ocp-level = <1>; /* 0:0.9A, 1:1.8A, 2:2.7A, 3:3.4A */
aw99703,switch-freq = <1>; /* 1000kHz(default) */
aw99703,auto-freq-high = <0x10>;
aw99703,auto-freq-low = <0x05>;
aw99703,bl-fscal-led = <0x19>; /* 24.8mA */
aw99703,bl-channel = <3>;
aw99703,turn-on-ramp = <0x00>; /* 512us */
aw99703,turn-off-ramp = <0x04>; /* 8ms */
aw99703,pwm-trans-dim = <0>; /* 2ms */
aw99703,i2c-trans-dim = <1>; /* 128ms */
aw99703,pwm-mode = <1>; /* 1 pwm enable,0 PWM disable */
aw99703,map-type = <0>; /* 0 exponential, 4 linear */
aw99703,work-mode = <1>; /* backlight */
aw99703,default-brightness = <1810>;
};
};
&qupv3_se10_i2c_sleep {
config {
/delete-property/ bias-disable;
bias-pull-up;
input-enable;
};
};

View file

@ -0,0 +1,102 @@
&tlmm {
ets_irq_active: egis_irq_active {
/* INTERRUPT */
mux {
pins = "gpio17";
function = "gpio";
};
config {
pins = "gpio17";
drive-strength = <2>; /* 2 MA */
input-enable;
};
};
ets_rst_high: ets_rst_high {
/* INTERRUPT */
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
drive-strength = <2>; /* 2 MA */
output-high;
};
};
ets_rst_low: ets_rst_low {
/* INTERRUPT */
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
drive-strength = <2>; /* 2 MA */
output-low;
};
};
ets_vcc_high: ets_vcc_high {
/* INTERRUPT */
mux {
pins = "gpio100";
function = "gpio";
};
config {
pins = "gpio100";
drive-strength = <2>; /* 2 MA */
output-high;
};
};
ets_vcc_low: ets_vcc_low {
/* INTERRUPT */
mux {
pins = "gpio100";
function = "gpio";
};
config {
pins = "gpio100";
drive-strength = <2>; /* 2 MA */
output-low;
};
};
};
&soc {
EL721: EL721 {
compatible = "fp-egistec";
status = "ok"
reg = <0>;
interrupt-parent = <&tlmm>;
interrupts = <17 0x0>;
fp-ctrl-power;
fp-gpio-vcc-enable;
egistec,gpio_vcc_en = <&tlmm 100 0x0>;
egistec,gpio_irq = <&tlmm 17 0x0>;
egistec,gpio_reset = <&tlmm 18 0x0>;
pinctrl-names = "egis_rst_high", "egis_rst_low", "egis_irq_active",
"egis_vcc_high", "egis_vcc_low";
pinctrl-0 = <&ets_rst_high>;
pinctrl-1 = <&ets_rst_low>;
pinctrl-2 = <&ets_irq_active>;
pinctrl-3 = <&ets_vcc_high>;
pinctrl-4 = <&ets_vcc_low>;
};
};

View file

@ -0,0 +1,193 @@
/*
* 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.
*/
&tlmm {
pen_int_default: pen_int_default {
mux {
pins = "gpio84";
function = "gpio";
};
config {
pins = "gpio84";
num-grp-pins = <1>;
drive-strength = <2>;
bias-no-pull;
};
};
pen_int_sleep: pen_int_sleep {
mux {
pins = "gpio84";
function = "gpio";
};
config {
pins = "gpio84";
num-grp-pins = <1>;
drive-strength = <2>;
bias-no-pull;
};
};
sar_int_bangkk_default: sar_int_bangkk_default {
mux {
pins = "gpio58";
function = "gpio";
};
config {
pins = "gpio58";
num-grp-pins = <1>;
drive-strength = <2>;
bias-pull-up;
};
};
sar_int_bangkk_sleep: sar_int_bangkk_sleep {
mux {
pins = "gpio58";
function = "gpio";
};
config {
pins = "gpio58";
num-grp-pins = <1>;
drive-strength = <2>;
bias-pull-up;
};
};
};
&soc {
pen_detect{
compatible = "rohm,bu520xx_pen_detect";
pinctrl-names = "default","sleep";
pinctrl-0 = <&pen_int_default>;
pinctrl-1 = <&pen_int_sleep>;
rohm,nirq-gpio=<&tlmm 84 0x02>;
};
};
&qupv3_se8_i2c {
status = "okay";
sx937x@2c {
status = "disabled";
};
Semtech_sx937x@2c {
compatible = "Semtech,sx937x";
reg = <0x2c>;
Semtech,power-supply-type = <1>;
cap_vdd-supply = <&L12A>;
pinctrl-names = "default","sleep";
pinctrl-0 = <&sar_int_bangkk_default>;
pinctrl-1 = <&sar_int_bangkk_sleep>;
interrupt-parent = <&tlmm>;
interrupts = <58 0x02>;
interrupt-names = "sx937x_irq";
Semtech,nirq-gpio = <&tlmm 58 0x02>;
/*use PH5/6 as the reference sensor
set it to 0xff if the ref-phases-x is not used*/
Semtech,ref-phases-a = <5>;
Semtech,ref-phases-b = <6>;
Semtech,ref-phases-c = <0xff>;
Semtech,button-flag = <0x1f>;
reinit-on-i2c-failure = <1>;
Semtech,reg-num = <66>;
Semtech,reg-init = <
0x4004 0x70
0x4008 0x8
0x8020 0x32
0x8028 0x45F
0x8034 0x45F
0x8040 0x45F
0x804C 0x45F
0x8058 0x45F
0x8064 0x45E
0x8070 0x45E
0x807C 0x45E
0x8030 0x924925
0x803C 0xB24924
0x8048 0x924964
0x8054 0x925924
0x8060 0x964924
0x806C 0x92492C
0x8078 0x92C924
0x8084 0x924924
0x8098 0x685A
0x80B8 0x2D23
0x80D8 0x4D40
0x80F8 0x5A47
0x8118 0x4637
0x8138 0xFF
0x8158 0xFF
0x8178 0xFF
0x80A0 0x20200001
0x80C0 0x1A1A0002
0x80E0 0x20200001
0x8100 0x0
0x8120 0x20200002
0x8140 0x0
0x8160 0x0
0x8180 0x0
0x8188 0x8000015
0x818C 0x8000016
0x8190 0x0
0x8194 0x0
0x8090 0x50B25210
0x80B0 0x50B05110
0x80D0 0x50B15220
0x80F0 0x50B05120
0x8110 0x50B05110
0x8130 0x54AC5300
0x8150 0x54AC5300
0x8170 0x54AC5300
0x8088 0x300000
0x80A8 0x300000
0x80C8 0x300000
0x80E8 0x300000
0x8108 0x300000
0x8128 0x300000
0x8148 0x300000
0x8168 0x300000
0x808C 0x60200020
0x80AC 0x60200010
0x80CC 0x60200020
0x80EC 0x60200010
0x810C 0x60200010
0x812C 0x60200031
0x814C 0x60200031
0x816C 0x60200031
0x8024 0x7F7F
0x8274 0x2E040000
0x4280 0x0E
>;
};
awinic_sar@12 {
/* common node */
compatible = "awinic,aw_sar";
reg = < 0x12 >;
//aw_sar,regulator-power-supply = <1>;
sar-num = < 0 >;
interrupt-parent = < &tlmm >;
interrupts = <58 0x02>;
interrupt-names = "awinic_irq";
irq-gpio = <&tlmm 58 0x02>;
//vcc0-supply = <&L12A>;
channel_use_flag = <0x1f>;
aw_sar,use_plug_cail;
aw_sar,update_fw;
/* private node belongs to aw963xx */
start-mode = < 1 >; // 0: start in rom 1: start in ram
irq-mux = < 2 >; // set csx as irq pin. config this field when connect to aw96308/aw96310
status = "okay";
};
};

View file

@ -0,0 +1,148 @@
/*
* 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.
*/
&qupv3_se0_i2c {
status = "disabled";
};
&L13A {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
qcom,init-voltage = <1800000>;
status = "okay";
};
&qupv3_se0_spi_pins {
qupv3_se0_spi_active: qupv3_se0_spi_active {
mux {
pins = "gpio0", "gpio1", "gpio2";
function = "qup00";
};
config {
pins = "gpio0", "gpio1", "gpio2";
drive-strength = <6>;
bias-disable;
};
};
qupv3_se0_spi_sleep: qupv3_se0_spi_sleep {
mux {
pins = "gpio0", "gpio1", "gpio2";
function = "gpio";
};
config {
pins = "gpio0", "gpio1", "gpio2";
drive-strength = <6>;
bias-disable;
};
};
qupv3_se0_spi_cs_active: qupv3_se0_spi_cs_active {
mux {
pins = "gpio3";
function = "qup00";
};
config {
pins = "gpio3";
drive-strength = <6>;
bias-disable;
};
};
qupv3_se0_spi_cs_sleep: qupv3_se0_spi_cs_sleep {
mux {
pins = "gpio3";
function = "gpio";
};
config {
pins = "gpio3";
drive-strength = <6>;
bias-pull-up;
};
};
};
&qupv3_se0_spi {
status = "ok"
pinctrl-0 = <&qupv3_se0_spi_active &qupv3_se0_spi_cs_active>;
pinctrl-1 = <&qupv3_se0_spi_sleep &qupv3_se0_spi_cs_sleep>;
goodix-berlin@0 {
compatible = "goodix,gt9916S";
reg = <0x0>;
spi-max-frequency = <9600000>;
mmi,status = "/chosen","mmi,panel_name","contains","nt37703"
//goodix,avdd-name = "avdd";
goodix,iovdd-name = "iovdd";
goodix,avdd-gpio = <&tlmm 11 0x0>;
iovdd-supply = <&L13A>;
panel = <&mot_tm_nt37703_655_1080x2400_dsc_vid &mot_tm_u8_nt37703_655_1080x2400_dsc_vid>;
goodix,reset-gpio = <&tlmm 21 0x0>;
goodix,irq-gpio = <&tlmm 22 0x0>;
goodix,irq-flags = <2>;
goodix,panel-max-x = <17280>;
goodix,panel-max-y = <38400>;
goodix,panel-max-w = <255>;
goodix,panel-max-p = <4096>;
goodix,firmware-name = "goodix_firmware.bin";
goodix,config-name = "goodix_cfg_group.bin";
goodix,edge-ctrl;
goodix,interpolation-ctrl;
goodix,sample-ctrl;
goodix,gesture-wait-pm;
mmi,power-off-suspend;
mmi,usb-charger-detection;
mmi,enable-gestures;
mmi,supported_gesture_type = <0x07>;
status = "ok"
};
focaltech@1{
compatible = "focaltech,fts";
reg = <0x1>;
//mmi,status = "/chosen","vtdr6115"
mmi,status = "/chosen","mmi,panel_name","contains","vtdr6115"
spi-max-frequency = <9600000>;
interrupt-parent = <&tlmm>;
interrupts = <22 0x2008>;
focaltech,vdd-gpio = <&tlmm 11 0x00>;
focaltech,reset-gpio = <&tlmm 21 0x00>;
focaltech,irq-gpio = <&tlmm 22 0x02008>;
vcc_i2c-supply = <&L13A>;
focaltech,max-touch-number = <10>;
focaltech,display-coords = <0 0 17280 38400>;
focaltech,edge-ctrl;
focaltech,interpolation-ctrl;
focaltech,sample-ctrl;
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 = <&pmx_ts_release>;
panel = <&mot_csot_vtdr6115_655_1080x2400_dsc_vid &mot_csot_c7_vtdr6115_655_1080x2400_dsc_vid_v0 &mot_csot_c7_vtdr6115_655_1080x2400_dsc_vid_v1>;
mmi,usb-charger-detection;
mmi,enable-gestures;
mmi,supported_gesture_type = <0x07>;
status = "ok"
};
};

View file

@ -0,0 +1,74 @@
&tlmm{
pmic1_en_default: pmic1_en_default {
mux {
pins = "gpio33";
function = "gpio";
};
config {
pins = "gpio33";
drive-strength = <2>;
bias-pull-down;
};
};
};
&gcc {
qcom,critical-devices = <&qupv3_se10_i2c>;
};
&qupv3_se10_i2c {
status = "ok"
cam_pmic1: wl2864c@29{
compatible = "semi,wl2864c";
reg = <0x29>;
semi,cs-gpios = <&tlmm 33 0>;
pinctrl-names = "default";
pinctrl-0 = <&pmic1_en_default>;
vin1-supply = <&S6A>;
regulators {
cam_pmic1_ldo1_dvdd1: ldo1 {
regulator-name = "ldo1";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1800000>;
};
cam_pmic1_ldo2_dvdd2: ldo2 {
regulator-name = "ldo2";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1800000>;
};
cam_pmic1_ldo3_avdd1: ldo3 {
regulator-name = "ldo3";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <4300000>;
};
cam_pmic1_ldo4_avdd2: ldo4 {
regulator-name = "ldo4";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <4300000>;
};
cam_pmic1_ldo5_vddaf: ldo5 {
regulator-name = "ldo5";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <4300000>;
};
cam_pmic1_ldo6_vddois: ldo6 {
regulator-name = "ldo6";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <4300000>;
};
cam_pmic1_ldo7_vddio: ldo7 {
regulator-name = "ldo7";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <4300000>;
};
};
};
};

View file

@ -0,0 +1,27 @@
/*
* Copyright (C) 2021 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
jd50-atl-5000mah {
serialnum = "SB18C77591";
fcc_design = <5000>;
ui_full = <98>;
config_profile_info = [52 00 00 00 00 00 00 00
A0 B2 BF CB C3 C2 96 59
2F FF FF DB A6 8D 74 60
55 52 4D 8D FD DC 02 CF
CF D2 D1 D1 D0 CD C8 CD
C1 C0 C5 AD 95 8A 81 74
62 62 73 8F A7 87 5F 62
20 00 57 10 02 B0 76 00
00 00 64 28 D3 7C 00 00
00 00 00 00 00 00 00 45 ];
};

View file

@ -0,0 +1,27 @@
/*
* Copyright (C) 2021 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
jd50-atl-5000mah {
serialnum = "SB18C77591";
fcc_design = <5000>;
ui_full = <98>;
config_profile_info = [5A 00 00 00 00 00 00 00
A0 B2 BF CB C3 C2 96 59
2F FF FF DB A6 8D 74 60
55 52 4D 8D FD DC 02 CF
CF D2 D1 D1 D0 CD C8 CD
C1 C0 C5 AD 95 8A 81 74
62 62 73 8F A7 87 5F 52
20 00 AB 10 02 A0 76 00
00 00 64 27 C3 7C 00 00
00 00 00 00 00 00 00 E4];
};

View file

@ -0,0 +1,26 @@
/*
* Copyright (C) 2021 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
md50-amperex-5000mah {
serialnum = "SB18D33989";
fcc_design = <5000>;
config_profile_info = [50 00 00 00 00 00 00 00
A6 B1 B2 CE C1 C1 9E 5F
36 FF FF F9 BA 92 7F 6B
60 5D 58 94 E7 DE 9A DC
C2 CA D2 D7 D6 D3 D1 CC
CA C9 CE B8 9C 92 88 81
75 71 7F 91 AB 83 71 89
20 00 57 10 02 B0 5D 00
00 00 64 1C D3 51 00 00
00 00 00 00 00 00 00 34 ];
};

View file

@ -0,0 +1,26 @@
/*
* Copyright (C) 2021 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
md50-scud-5000mah {
serialnum = "SB18D01192";
fcc_design = <5000>;
config_profile_info = [50 00 00 00 00 00 00 00
A1 AE AA CB C1 C4 92 4F
2D FF FF FF C6 9C 83 6C
5B 56 4E 9B E5 DE 59 CC
C6 C9 D1 D5 D5 D4 D0 CE
CB C9 CC BB A0 92 8A 82
76 71 81 95 AB 7B 7B 8C
20 00 57 10 02 B0 5B 00
00 00 64 1D D3 4F 00 00
00 00 00 00 00 00 00 A9 ];
};

View file

@ -0,0 +1,27 @@
/*
* Copyright (C) 2021 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
nd50-atl-5000mah {
serialnum = "SB18D34202";
fcc_design = <5000>;
ui_full = <99>;
config_profile_info = [5A 00 00 00 00 00 00 00
A7 B6 BC CA B9 B2 AE 6F
51 FF FF CF 97 82 68 57
50 4F 4D 86 D9 DE E3 E8
D8 CF D4 D6 D3 D1 CE CA
C6 C5 CC BA 9A 8F 85 7E
6E 6E 7B 8E A5 8E 67 66
80 00 57 10 00 A0 63 00
00 00 64 22 C3 5C 00 00
00 00 00 00 00 00 00 42 ];
};

View file

@ -0,0 +1,27 @@
/*
* Copyright (C) 2021 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
nd50-atl-5000mah {
serialnum = "SB18D34202";
fcc_design = <5000>;
ui_full = <99>;
config_profile_info = [5A 00 00 00 00 00 00 00
A7 B6 BC CA B9 B2 AE 6F
51 FF FF CF 97 82 68 57
50 4F 4D 86 D9 DE E3 E8
D8 CF D4 D6 D3 D1 CE CA
C6 C5 CC BA 9A 8F 85 7E
6E 6E 7B 8E A5 8E 67 66
80 00 57 10 00 A0 63 00
00 00 64 22 C3 5C 00 00
00 00 00 00 00 00 00 42 ];
};

View file

@ -0,0 +1,27 @@
/*
* Copyright (C) 2021 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
nd50-atl-5000mah {
serialnum = "SB18D24973";
fcc_design = <5000>;
ui_full = <98>;
config_profile_info = [49 00 00 00 00 00 00 00
B2 BB C3 C7 B9 B4 AC 72
4A FF F3 B7 8E 81 69 5B
53 50 4C 80 D9 DE B8 DD
D4 CF D3 D6 D5 D2 CF CB
C6 C5 CF BF 9C 91 86 7D
6D 6B 79 90 A8 90 5C 69
20 00 57 10 02 B0 61 00
00 00 64 22 D3 58 00 00
00 00 00 00 00 00 00 81 ];
};

View file

@ -0,0 +1,27 @@
/*
* Copyright (C) 2021 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
nd50-atl-5000mah_new {
serialnum = "SB18D69208";
fcc_design = <5000>;
ui_full = <99>;
config_profile_info = [5A 00 00 00 00 00 00 00
A7 B6 BC CA B9 B2 AE 6F
51 FF FF CF 97 82 68 57
50 4F 4D 86 D9 DE E3 E8
D8 CF D4 D6 D3 D1 CE CA
C6 C5 CC BA 9A 8F 85 7E
6E 6E 7B 8E A5 8E 67 66
80 00 57 10 00 A0 63 00
00 00 64 22 C3 5C 00 00
00 00 00 00 00 00 00 42 ];
};

View file

@ -0,0 +1,27 @@
/*
* Copyright (C) 2021 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
nd50-atl-5000mah_new {
serialnum = "SB18D69208";
fcc_design = <5000>;
ui_full = <99>;
config_profile_info = [5A 00 00 00 00 00 00 00
A7 B6 BC CA B9 B2 AE 6F
51 FF FF CF 97 82 68 57
50 4F 4D 86 D9 DE E3 E8
D8 CF D4 D6 D3 D1 CE CA
C6 C5 CC BA 9A 8F 85 7E
6E 6E 7B 8E A5 8E 67 66
80 00 57 10 00 A0 63 00
00 00 64 22 C3 5C 00 00
00 00 00 00 00 00 00 42 ];
};

View file

@ -0,0 +1,27 @@
/*
* Copyright (C) 2021 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
nd50-jiade-5000mah {
serialnum = "SB18D45495";
fcc_design = <5000>;
ui_full = <99>;
config_profile_info = [5A 00 00 00 00 00 00 00
9E C0 C3 C6 B9 B6 AA 6D
47 FF D7 9D 82 6A 5B 52
4D 4D 4C 7D D9 DE 8C D2
CA C9 D1 D5 D4 D2 CF CA
C7 C7 D5 B8 9C 91 89 82
7C 7C 85 95 AB 87 67 73
80 00 57 10 00 A0 6E 00
00 00 64 21 C3 6E 00 00
00 00 00 00 00 00 00 F0 ];
};

View file

@ -0,0 +1,27 @@
/*
* Copyright (C) 2021 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
nd50-jiade-5000mah {
serialnum = "SB18D45495";
fcc_design = <5000>;
ui_full = <99>;
config_profile_info = [5A 00 00 00 00 00 00 00
9E C0 C3 C6 B9 B6 AA 6D
47 FF D7 9D 82 6A 5B 52
4D 4D 4C 7D D9 DE 8C D2
CA C9 D1 D5 D4 D2 CF CA
C7 C7 D5 B8 9C 91 89 82
7C 7C 85 95 AB 87 67 73
80 00 57 10 00 A0 6E 00
00 00 64 21 C3 6E 00 00
00 00 00 00 00 00 00 F0 ];
};

View file

@ -0,0 +1,27 @@
/*
* Copyright (C) 2021 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
nd50-jiade-5000mah {
serialnum = "SB18D25053";
fcc_design = <5000>;
ui_full = <96>;
config_profile_info = [49 00 00 00 00 00 00 00
9E BE B7 CF C2 C1 91 4F
31 FF FF FF C3 A3 8B 75
61 57 4C 7E CE DE 83 D0
CC C8 D1 D5 D6 D4 D1 CD
CC CA CB C1 A0 94 8A 81
76 6D 7A 91 A7 86 5F 72
20 00 57 10 02 B0 5A 00
00 00 64 14 D3 4D 00 00
00 00 00 00 00 00 00 CD ];
};

View file

@ -0,0 +1,27 @@
/*
* Copyright (C) 2021 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
nd50-jiade-5000mah_new {
serialnum = "SB18D69209";
fcc_design = <5000>;
ui_full = <99>;
config_profile_info = [5A 00 00 00 00 00 00 00
9E C0 C3 C6 B9 B6 AA 6D
47 FF D7 9D 82 6A 5B 52
4D 4D 4C 7D D9 DE 8C D2
CA C9 D1 D5 D4 D2 CF CA
C7 C7 D5 B8 9C 91 89 82
7C 7C 85 95 AB 87 67 73
80 00 57 10 00 A0 6E 00
00 00 64 21 C3 6E 00 00
00 00 00 00 00 00 00 F0 ];
};

View file

@ -0,0 +1,27 @@
/*
* Copyright (C) 2021 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
nd50-jiade-5000mah_new {
serialnum = "SB18D69209";
fcc_design = <5000>;
ui_full = <99>;
config_profile_info = [5A 00 00 00 00 00 00 00
9E C0 C3 C6 B9 B6 AA 6D
47 FF D7 9D 82 6A 5B 52
4D 4D 4C 7D D9 DE 8C D2
CA C9 D1 D5 D4 D2 CF CA
C7 C7 D5 B8 9C 91 89 82
7C 7C 85 95 AB 87 67 73
80 00 57 10 00 A0 6E 00
00 00 64 21 C3 6E 00 00
00 00 00 00 00 00 00 F0 ];
};

View file

@ -0,0 +1,27 @@
/*
* Copyright (C) 2021 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
nd50-local-5000mah {
serialnum = "SB18D36197";
fcc_design = <5000>;
ui_full = <97>;
config_profile_info = [5A 00 00 00 00 00 00 00
A7 B6 BC CA B9 B2 AE 6F
51 FF FF CF 97 82 68 57
50 4F 4D 86 D9 DE E3 E8
D8 CF D4 D6 D3 D1 CE CA
C6 C5 CC BA 9A 8F 85 7E
6E 6E 7B 8E A5 8E 67 66
80 00 57 10 00 A0 63 00
00 00 64 22 C3 5C 00 00
00 00 00 00 00 00 00 42 ];
};

View file

@ -0,0 +1,27 @@
/*
* Copyright (C) 2021 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
ng50-ATL-5000mah-rhodep {
serialnum = "SB18D38324";
fcc_design = <5000>;
ui_full = <97>;
config_profile_info = [49 00 00 00 00 00 00 00
A6 C1 C0 C7 B9 B8 A4 69
3F FF DE A7 89 76 65 59
53 51 4E 84 DE E0 68 EA
D0 C8 D0 D6 D6 D5 D3 CD
CA C8 D5 C4 A0 94 8C 84
78 7B 83 92 A9 85 80 AE
20 00 57 10 02 A0 57 00
00 00 64 23 C3 48 00 00
00 00 00 00 00 00 00 58];
};

View file

@ -0,0 +1,27 @@
/*
* Copyright (C) 2021 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
ng50-SWD-5000mah-rhodep {
serialnum = "SB18D38323";
fcc_design = <5000>;
ui_full = <97>;
config_profile_info = [49 00 00 00 00 00 00 00
AD C7 C2 C1 B1 AE B3 7D
55 D4 C1 9B 82 6C 5D 55
51 51 51 7F D8 E0 31 DC
C8 C6 CE D5 D7 D6 D3 CF
CB CD D4 C3 A5 97 8E 86
80 7F 86 98 AA 82 7E B8
20 00 57 10 02 A0 5C 00
00 00 64 21 C3 50 00 00
00 00 00 00 00 00 00 3E];
};

View file

@ -0,0 +1,27 @@
/*
* Copyright (C) 2021 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
nh50-atl-4850mah {
serialnum = "SB18D69208";
fcc_design = <4850>;
ui_full = <99>;
config_profile_info = [5A 00 00 00 00 00 00 00
A4 C5 9B D0 BC BE 9E 63
38 FF FF FF A5 8D 74 62
57 53 4E 8A DC DE F6 ED
D6 CF D4 D6 D4 D2 CE CA
C6 C5 CC BB 9B 8E 85 7B
6A 66 76 90 AA 8C 5D 65
80 00 AB 10 00 A0 60 00
00 00 64 23 C3 56 00 00
00 00 00 00 00 00 00 45];
};

View file

@ -0,0 +1,27 @@
/*
* Copyright (C) 2021 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
nh50-scud-4850mah {
serialnum = "SB18D69209";
fcc_design = <4850>;
ui_full = <99>;
config_profile_info = [5A 00 00 00 00 00 00 00
A9 C0 C7 C5 BA B4 A1 63
42 FD D8 A4 8B 77 65 58
52 50 4D 77 D9 DE 99 D5
C8 C9 D1 D4 D3 D2 CF CB
C8 C9 D5 B7 9D 92 8A 83
7B 7A 85 94 AA 86 64 73
80 00 AB 10 00 A0 73 00
00 00 64 21 C3 77 00 00
00 00 00 00 00 00 00 6B];
};

View file

@ -0,0 +1,94 @@
/*
* Copyright (C) 2021 MediaTek Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
md50-amperex-5000mah {
serialnum = "SB18D33989";
/* add for aging cv */
rt,fcc_design = <5000>;
rt,fcc = <4654 4654 4654 4654 4654>;
rt,fg_fc_vth = <0x9e 0x9e 0x9e 0x9e 0x9e>;
rt,init_ocv_table = <3400 3485 3571 3614 3657 3683 3683 3686 3690 3695
3699 3704 3708 3712 3717 3721 3726 3731 3736 3740
3745 3750 3754 3759 3764 3767 3771 3775 3778 3782
3786 3789 3793 3797 3800 3804 3808 3811 3815 3819
3822 3827 3831 3835 3840 3844 3849 3853 3857 3863
3869 3875 3882 3888 3895 3905 3915 3925 3935 3946
3956 3966 3976 3985 3995 4005 4014 4024 4033 4043
4053 4062 4073 4083 4094 4105 4116 4127 4138 4149
4160 4171 4182 4193 4204 4215 4227 4238 4249 4260
4271 4283 4294 4305 4312 4318 4325 4331 4338 4344 4351>;
rt,fg_extreg_table = [80 80 33 6E B7 E4 58 02 CF 98 61 3A 88 81 00 00
80 34 00 00 FB 3E 00 20 FB 0A 1D 32 12 05 5A 5A
00 82 00 02 00 02 00 40 00 40 2E 12 2E 12 04 24
64 00 5F 0B 64 00 5F 0B FF 00 00 14 00 00 5A B7
15 0E 48 44 9E 64 05 41 19 07 B6 12 23 32 03 00
13 88 24 82 77 AD 04 73 12 A3 52 68 57 64 25 0F
20 16 03 0B 0B 0B 0A 0A 01 FE 07 07 07 07 07 F5
EB F6 F6 F6 F7 F7 B9 98 80 80 80 A9 A9 80 80 00
76 02 C0 48 14 09 00 00 00 00 00 00 00 00 37 73
2D 19 05 FB 00 00 B9 36 96 33 0F 07 06 05 0B A9
32 32 88 88 32 32 88 88 32 32 88 88 32 32 88 88
32 32 88 88 32 32 88 88 32 32 88 88 32 32 88 88
32 32 88 88 32 32 88 88 32 32 88 88 32 32 88 88
32 32 88 88 32 32 88 88 32 32 88 88 32 32 88 88];
rt,fg_ocv_table0 = <0x0013 0x49C0 0x5500 0x594C 0x5C12 0x5C19 0x5CF8 0x5E18
0x5F94 0x6083 0x6161 0x6253 0x6338 0x65A3 0x67DD 0x693B
0x6A68 0x6BAA 0x6CC6 0x706D 0x2D00 0x044C 0x0223 0x0007
0x0039 0x003C 0x002F 0x0038 0x0052 0x0083 0x0083 0x007B
0x008B 0x008F 0x008F 0x008F 0x0052 0x0176 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x003C 0x0078 0x2277 0x047F 0x0442
0x0576 0x048B 0x0320 0x01F5 0x01F4 0x0217 0x01D8 0x01CA
0x01CA 0x01CA 0x031B 0x00AF 0x0F15 0x0000 0x0000 0x0000>;
rt,fg_ocv_table1 = <0x0013 0x49C0 0x5500 0x594C 0x5C12 0x5C19 0x5CF8 0x5E18
0x5F94 0x6083 0x6161 0x6253 0x6338 0x65A3 0x67DD 0x693B
0x6A68 0x6BAA 0x6CC6 0x706D 0x2D00 0x044C 0x0223 0x0007
0x0039 0x003C 0x002F 0x0038 0x0052 0x0083 0x0083 0x007B
0x008B 0x008F 0x008F 0x008F 0x0052 0x0176 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x003C 0x0078 0x2277 0x047F 0x0442
0x0576 0x048B 0x0320 0x01F5 0x01F4 0x0217 0x01D8 0x01CA
0x01CA 0x01CA 0x031B 0x00AF 0x0F15 0x0000 0x0000 0x0000>;
rt,fg_ocv_table2 = <0x0013 0x49C0 0x5500 0x594C 0x5C12 0x5C19 0x5CF8 0x5E18
0x5F94 0x6083 0x6161 0x6253 0x6338 0x65A3 0x67DD 0x693B
0x6A68 0x6BAA 0x6CC6 0x706D 0x2D00 0x044C 0x0223 0x0007
0x0039 0x003C 0x002F 0x0038 0x0052 0x0083 0x0083 0x007B
0x008B 0x008F 0x008F 0x008F 0x0052 0x0176 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x003C 0x0078 0x2277 0x047F 0x0442
0x0576 0x048B 0x0320 0x01F5 0x01F4 0x0217 0x01D8 0x01CA
0x01CA 0x01CA 0x031B 0x00AF 0x0F15 0x0000 0x0000 0x0000>;
rt,fg_ocv_table3 = <0x0013 0x49C0 0x5500 0x594C 0x5C12 0x5C19 0x5CF8 0x5E18
0x5F94 0x6083 0x6161 0x6253 0x6338 0x65A3 0x67DD 0x693B
0x6A68 0x6BAA 0x6CC6 0x706D 0x2D00 0x044C 0x0223 0x0007
0x0039 0x003C 0x002F 0x0038 0x0052 0x0083 0x0083 0x007B
0x008B 0x008F 0x008F 0x008F 0x0052 0x0176 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x003C 0x0078 0x2277 0x047F 0x0442
0x0576 0x048B 0x0320 0x01F5 0x01F4 0x0217 0x01D8 0x01CA
0x01CA 0x01CA 0x031B 0x00AF 0x0F15 0x0000 0x0000 0x0000>;
rt,fg_ocv_table4 = <0x0013 0x49C0 0x5500 0x594C 0x5C12 0x5C19 0x5CF8 0x5E18
0x5F94 0x6083 0x6161 0x6253 0x6338 0x65A3 0x67DD 0x693B
0x6A68 0x6BAA 0x6CC6 0x706D 0x2D00 0x044C 0x0223 0x0007
0x0039 0x003C 0x002F 0x0038 0x0052 0x0083 0x0083 0x007B
0x008B 0x008F 0x008F 0x008F 0x0052 0x0176 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x003C 0x0078 0x2277 0x047F 0x0442
0x0576 0x048B 0x0320 0x01F5 0x01F4 0x0217 0x01D8 0x01CA
0x01CA 0x01CA 0x031B 0x00AF 0x0F15 0x0000 0x0000 0x0000>;
};

View file

@ -0,0 +1,94 @@
/*
* Copyright (C) 2021 MediaTek Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
md50-amperex-5000mah {
serialnum = "SB18D33989";
/* add for aging cv */
rt,fcc_design = <5000>;
rt,fcc = <5000 5000 5000 5000 5000>;
rt,fg_fc_vth = <0x9e 0x9e 0x9e 0x9e 0x9e>;
rt,init_ocv_table = <3400 3485 3571 3614 3657 3683 3683 3686 3690 3695
3699 3704 3708 3712 3717 3721 3726 3731 3736 3740
3745 3750 3754 3759 3764 3767 3771 3775 3778 3782
3786 3789 3793 3797 3800 3804 3808 3811 3815 3819
3822 3827 3831 3835 3840 3844 3849 3853 3857 3863
3869 3875 3882 3888 3895 3905 3915 3925 3935 3946
3956 3966 3976 3985 3995 4005 4014 4024 4033 4043
4053 4062 4073 4083 4094 4105 4116 4127 4138 4149
4160 4171 4182 4193 4204 4215 4227 4238 4249 4260
4271 4283 4294 4305 4312 4318 4325 4331 4338 4344 4351>;
rt,fg_extreg_table = [80 80 46 79 A7 BB 58 02 AA 85 5F 40 88 81 00 00
40 24 00 00 FB 3E 00 20 FB 0A 1D 32 12 07 5A 5A
00 82 00 02 00 02 00 40 00 40 88 13 88 13 04 24
64 00 5F 0B 64 00 5F 0B FF 00 00 14 00 00 5A B7
15 0E 48 44 9E 64 05 41 19 07 B6 12 23 32 03 00
13 88 24 82 77 AD 04 73 12 A3 52 68 57 64 25 0F
20 16 03 0B 0B 0B 0A 0A 01 FE 07 07 07 07 07 F5
EB F6 F6 F6 F7 F7 B9 98 80 80 80 A9 A9 80 80 00
76 02 C0 48 0A 09 00 00 00 00 00 00 00 00 37 73
2D 19 05 FB 00 00 B9 36 96 33 0F 07 06 05 0B A9
32 32 88 88 32 32 88 88 32 32 88 88 32 32 88 88
32 32 88 88 32 32 88 88 32 32 88 88 32 32 88 88
32 32 88 88 32 32 88 88 32 32 88 88 32 32 88 88
32 32 88 88 32 32 88 88 32 32 88 88 32 32 88 88];
rt,fg_ocv_table0 = <0x0013 0x49C0 0x5500 0x594C 0x5C12 0x5C19 0x5CF8 0x5E18
0x5F94 0x6083 0x6161 0x6253 0x6338 0x65A3 0x67DD 0x693B
0x6A68 0x6BAA 0x6CC6 0x706D 0x2D00 0x044C 0x0223 0x0007
0x0039 0x003C 0x002F 0x0038 0x0052 0x0083 0x0083 0x007B
0x008B 0x008F 0x008F 0x008F 0x0052 0x0176 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x003C 0x0078 0x2277 0x047F 0x0442
0x0576 0x048B 0x0320 0x01F5 0x01F4 0x0217 0x01D8 0x01CA
0x01CA 0x01CA 0x031B 0x00AF 0x0F15 0x0000 0x0000 0x0000>;
rt,fg_ocv_table1 = <0x0013 0x49C0 0x5500 0x594C 0x5C12 0x5C19 0x5CF8 0x5E18
0x5F94 0x6083 0x6161 0x6253 0x6338 0x65A3 0x67DD 0x693B
0x6A68 0x6BAA 0x6CC6 0x706D 0x2D00 0x044C 0x0223 0x0007
0x0039 0x003C 0x002F 0x0038 0x0052 0x0083 0x0083 0x007B
0x008B 0x008F 0x008F 0x008F 0x0052 0x0176 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x003C 0x0078 0x2277 0x047F 0x0442
0x0576 0x048B 0x0320 0x01F5 0x01F4 0x0217 0x01D8 0x01CA
0x01CA 0x01CA 0x031B 0x00AF 0x0F15 0x0000 0x0000 0x0000>;
rt,fg_ocv_table2 = <0x0013 0x49C0 0x5500 0x594C 0x5C12 0x5C19 0x5CF8 0x5E18
0x5F94 0x6083 0x6161 0x6253 0x6338 0x65A3 0x67DD 0x693B
0x6A68 0x6BAA 0x6CC6 0x706D 0x2D00 0x044C 0x0223 0x0007
0x0039 0x003C 0x002F 0x0038 0x0052 0x0083 0x0083 0x007B
0x008B 0x008F 0x008F 0x008F 0x0052 0x0176 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x003C 0x0078 0x2277 0x047F 0x0442
0x0576 0x048B 0x0320 0x01F5 0x01F4 0x0217 0x01D8 0x01CA
0x01CA 0x01CA 0x031B 0x00AF 0x0F15 0x0000 0x0000 0x0000>;
rt,fg_ocv_table3 = <0x0013 0x49C0 0x5500 0x594C 0x5C12 0x5C19 0x5CF8 0x5E18
0x5F94 0x6083 0x6161 0x6253 0x6338 0x65A3 0x67DD 0x693B
0x6A68 0x6BAA 0x6CC6 0x706D 0x2D00 0x044C 0x0223 0x0007
0x0039 0x003C 0x002F 0x0038 0x0052 0x0083 0x0083 0x007B
0x008B 0x008F 0x008F 0x008F 0x0052 0x0176 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x003C 0x0078 0x2277 0x047F 0x0442
0x0576 0x048B 0x0320 0x01F5 0x01F4 0x0217 0x01D8 0x01CA
0x01CA 0x01CA 0x031B 0x00AF 0x0F15 0x0000 0x0000 0x0000>;
rt,fg_ocv_table4 = <0x0013 0x49C0 0x5500 0x594C 0x5C12 0x5C19 0x5CF8 0x5E18
0x5F94 0x6083 0x6161 0x6253 0x6338 0x65A3 0x67DD 0x693B
0x6A68 0x6BAA 0x6CC6 0x706D 0x2D00 0x044C 0x0223 0x0007
0x0039 0x003C 0x002F 0x0038 0x0052 0x0083 0x0083 0x007B
0x008B 0x008F 0x008F 0x008F 0x0052 0x0176 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x003C 0x0078 0x2277 0x047F 0x0442
0x0576 0x048B 0x0320 0x01F5 0x01F4 0x0217 0x01D8 0x01CA
0x01CA 0x01CA 0x031B 0x00AF 0x0F15 0x0000 0x0000 0x0000>;
};

View file

@ -0,0 +1,95 @@
/*
* Copyright (C) 2021 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
md50-scud-5000mah {
serialnum = "SB18D01192";
/* add for aging cv */
rt,fcc_design = <5000>;
rt,fcc = <4540 4540 4540 4540 4540>;
rt,fg_fc_vth = <0x9e 0x9e 0x9e 0x9e 0x9e>;
rt,init_ocv_table = <3400 3483 3567 3609 3651 3678 3682 3685 3689 3693
3697 3700 3704 3708 3711 3716 3722 3727 3732 3738
3743 3748 3754 3759 3764 3768 3773 3777 3781 3785
3789 3793 3797 3801 3805 3809 3813 3817 3821 3825
3829 3834 3839 3844 3848 3853 3858 3862 3867 3873
3880 3888 3895 3903 3910 3917 3924 3930 3938 3949
3959 3970 3980 3991 4002 4012 4023 4034 4044 4055
4066 4076 4088 4101 4113 4125 4138 4150 4163 4175
4185 4193 4201 4209 4217 4226 4237 4248 4258 4269
4280 4290 4301 4312 4317 4322 4326 4331 4335 4340 4345>;
rt,fg_extreg_table = [80 80 33 6E B7 E4 58 02 CF 98 61 3A 88 81 00 00
80 34 00 00 FB 3E 00 20 FB 0A 1D 32 12 05 5A 5A
00 82 00 02 00 02 00 40 00 40 BC 11 BC 11 04 24
64 00 5F 0B 64 00 5F 0B FF 00 00 14 00 00 5A B7
15 0E 48 44 9E 64 05 41 19 07 B6 12 23 32 08 00
13 88 24 82 77 AD 04 73 12 A3 52 68 57 64 25 0F
20 16 03 0D 0D 0D 0C 0C 05 01 07 07 07 07 07 F4
E9 F5 F5 F5 F4 F4 B8 98 80 80 80 93 93 80 80 00
76 02 C0 48 14 09 00 00 00 00 00 00 00 00 37 73
2D 19 05 FB 00 00 B9 36 96 33 0F 07 00 00 0B A9
32 32 88 88 32 32 88 88 32 32 88 88 32 32 88 88
32 32 88 88 32 32 88 88 32 32 88 88 32 32 88 88
32 32 88 88 32 32 88 88 32 32 88 88 32 32 88 88
32 32 88 88 32 32 88 88 32 32 88 88 32 32 88 88];
rt,fg_ocv_table0 = <0x0013 0x4A40 0x5500 0x592F 0x5BEF 0x5C19 0x5CD4 0x5E1D
0x5FC2 0x60C2 0x61C3 0x6264 0x6350 0x6601 0x688B 0x6982
0x6AA2 0x6BD6 0x6CA0 0x706D 0x2B00 0x042F 0x021E 0x002C
0x0030 0x0045 0x0034 0x003C 0x005F 0x0057 0x0087 0x0088
0x009F 0x0065 0x0089 0x0089 0x003B 0x0185 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x003D 0x0079 0x05C9 0x055D 0x03BC
0x04EB 0x0442 0x02B0 0x02F2 0x01E7 0x01E0 0x019D 0x028A
0x01DE 0x01DE 0x045F 0x00A8 0x9FD7 0x0000 0x0000 0x0000>;
rt,fg_ocv_table1 = <0x0013 0x4A40 0x5500 0x592F 0x5BEF 0x5C19 0x5CD4 0x5E1D
0x5FC2 0x60C2 0x61C3 0x6264 0x6350 0x6601 0x688B 0x6982
0x6AA2 0x6BD6 0x6CA0 0x706D 0x2B00 0x042F 0x021E 0x002C
0x0030 0x0045 0x0034 0x003C 0x005F 0x0057 0x0087 0x0088
0x009F 0x0065 0x0089 0x0089 0x003B 0x0185 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x003D 0x0079 0x05C9 0x055D 0x03BC
0x04EB 0x0442 0x02B0 0x02F2 0x01E7 0x01E0 0x019D 0x028A
0x01DE 0x01DE 0x045F 0x00A8 0x9FD7 0x0000 0x0000 0x0000>;
rt,fg_ocv_table2 = <0x0013 0x4A40 0x5500 0x592F 0x5BEF 0x5C19 0x5CD4 0x5E1D
0x5FC2 0x60C2 0x61C3 0x6264 0x6350 0x6601 0x688B 0x6982
0x6AA2 0x6BD6 0x6CA0 0x706D 0x2B00 0x042F 0x021E 0x002C
0x0030 0x0045 0x0034 0x003C 0x005F 0x0057 0x0087 0x0088
0x009F 0x0065 0x0089 0x0089 0x003B 0x0185 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x003D 0x0079 0x05C9 0x055D 0x03BC
0x04EB 0x0442 0x02B0 0x02F2 0x01E7 0x01E0 0x019D 0x028A
0x01DE 0x01DE 0x045F 0x00A8 0x9FD7 0x0000 0x0000 0x0000>;
rt,fg_ocv_table3 = <0x0013 0x4A40 0x5500 0x592F 0x5BEF 0x5C19 0x5CD4 0x5E1D
0x5FC2 0x60C2 0x61C3 0x6264 0x6350 0x6601 0x688B 0x6982
0x6AA2 0x6BD6 0x6CA0 0x706D 0x2B00 0x042F 0x021E 0x002C
0x0030 0x0045 0x0034 0x003C 0x005F 0x0057 0x0087 0x0088
0x009F 0x0065 0x0089 0x0089 0x003B 0x0185 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x003D 0x0079 0x05C9 0x055D 0x03BC
0x04EB 0x0442 0x02B0 0x02F2 0x01E7 0x01E0 0x019D 0x028A
0x01DE 0x01DE 0x045F 0x00A8 0x9FD7 0x0000 0x0000 0x0000>;
rt,fg_ocv_table4 = <0x0013 0x4A40 0x5500 0x592F 0x5BEF 0x5C19 0x5CD4 0x5E1D
0x5FC2 0x60C2 0x61C3 0x6264 0x6350 0x6601 0x688B 0x6982
0x6AA2 0x6BD6 0x6CA0 0x706D 0x2B00 0x042F 0x021E 0x002C
0x0030 0x0045 0x0034 0x003C 0x005F 0x0057 0x0087 0x0088
0x009F 0x0065 0x0089 0x0089 0x003B 0x0185 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x003D 0x0079 0x05C9 0x055D 0x03BC
0x04EB 0x0442 0x02B0 0x02F2 0x01E7 0x01E0 0x019D 0x028A
0x01DE 0x01DE 0x045F 0x00A8 0x9FD7 0x0000 0x0000 0x0000>;
};

View file

@ -0,0 +1,92 @@
/*
* Copyright (C) 2021 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
nh50-atl-4850mah {
serialnum = "SB18D69208";
rt,fg_extreg_table = [80 80 46 79 A7 BB 58 02 AA 85 5F 40 88 81 00 00
40 24 00 00 FB 3E 00 20 7F 0A 1D 32 12 07 5A 5A
00 82 00 02 00 02 00 40 00 40 94 11 94 11 04 24
64 00 5F 0B 64 00 5F 0B FF 00 00 14 00 00 5A B7
15 0E 48 44 A2 77 05 41 19 08 B5 12 23 32 08 00
13 88 24 82 77 AD 04 73 12 A3 52 68 57 64 1F 0F
32 19 09 0B 0B 0B 09 09 03 FB 08 08 08 05 05 FC
EA E9 E9 E9 CF CF B3 86 E9 E9 E9 86 86 86 86 00
76 02 C0 48 0A 09 00 00 00 00 00 00 00 00 37 73
2D 19 05 FB 00 00 B9 36 96 33 0F 07 07 05 0B A9
32 32 88 88 32 32 88 88 32 32 88 88 32 32 88 88
32 32 88 88 32 32 88 88 32 32 88 88 32 32 88 88
32 32 88 88 32 32 88 88 32 32 88 88 32 32 88 88
32 32 88 88 32 32 88 88 32 32 88 88 32 32 88 88];
rt,init_ocv_table = <3400 3501 3603 3633 3663 3683 3688 3692 3696 3701
3705 3710 3714 3719 3723 3727 3731 3735 3739 3743
3747 3751 3755 3759 3763 3767 3771 3775 3779 3783
3786 3790 3794 3798 3802 3806 3810 3814 3817 3821
3825 3830 3835 3839 3844 3849 3854 3859 3863 3869
3877 3885 3893 3901 3908 3919 3929 3940 3950 3961
3971 3981 3992 4002 4012 4023 4033 4043 4053 4064
4074 4084 4095 4106 4118 4129 4140 4152 4163 4174
4186 4196 4207 4218 4229 4240 4251 4263 4274 4284
4293 4301 4310 4319 4328 4337 4345 4354 4363 4372 4381>;
rt,fcc_design = <5000>;
rt,fcc = <4500 4500 4500 4500 4500>;
rt,fg_fc_vth = <0xA2 0xA2 0xA2 0xA2 0xA2>;
rt,fg_ocv_table0 = <0x0013 0x4A40 0x5500 0x5A17 0x5C0D 0x5C41 0x5D20 0x5E16
0x5FA6 0x60AB 0x61B9 0x62B0 0x639A 0x6631 0x6884 0x69DB
0x6B05 0x6C02 0x6D86 0x706D 0x2B00 0x0517 0x0183 0x0037
0x0039 0x0033 0x0031 0x003D 0x0064 0x0086 0x0086 0x0083
0x0091 0x008C 0x008E 0x0071 0x0071 0x0129 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x0032 0x00A9 0x04AA 0x047D 0x0500
0x052C 0x042B 0x0290 0x01EB 0x01EB 0x01F3 0x01C4 0x01D4
0x01CE 0x0246 0x0246 0x00DD 0xC224 0x0000 0x0000 0x0000>;
rt,fg_ocv_table1 = <0x0013 0x4A40 0x5500 0x5A17 0x5C0D 0x5C41 0x5D20 0x5E16
0x5FA6 0x60AB 0x61B9 0x62B0 0x639A 0x6631 0x6884 0x69DB
0x6B05 0x6C02 0x6D86 0x706D 0x2B00 0x0517 0x0183 0x0037
0x0039 0x0033 0x0031 0x003D 0x0064 0x0086 0x0086 0x0083
0x0091 0x008C 0x008E 0x0071 0x0071 0x0129 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x0032 0x00A9 0x04AA 0x047D 0x0500
0x052C 0x042B 0x0290 0x01EB 0x01EB 0x01F3 0x01C4 0x01D4
0x01CE 0x0246 0x0246 0x00DD 0xC224 0x0000 0x0000 0x0000>;
rt,fg_ocv_table2 = <0x0013 0x4A40 0x5500 0x5A17 0x5C0D 0x5C41 0x5D20 0x5E16
0x5FA6 0x60AB 0x61B9 0x62B0 0x639A 0x6631 0x6884 0x69DB
0x6B05 0x6C02 0x6D86 0x706D 0x2B00 0x0517 0x0183 0x0037
0x0039 0x0033 0x0031 0x003D 0x0064 0x0086 0x0086 0x0083
0x0091 0x008C 0x008E 0x0071 0x0071 0x0129 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x0032 0x00A9 0x04AA 0x047D 0x0500
0x052C 0x042B 0x0290 0x01EB 0x01EB 0x01F3 0x01C4 0x01D4
0x01CE 0x0246 0x0246 0x00DD 0xC224 0x0000 0x0000 0x0000>;
rt,fg_ocv_table3 = <0x0013 0x4A40 0x5500 0x5A17 0x5C0D 0x5C41 0x5D20 0x5E16
0x5FA6 0x60AB 0x61B9 0x62B0 0x639A 0x6631 0x6884 0x69DB
0x6B05 0x6C02 0x6D86 0x706D 0x2B00 0x0517 0x0183 0x0037
0x0039 0x0033 0x0031 0x003D 0x0064 0x0086 0x0086 0x0083
0x0091 0x008C 0x008E 0x0071 0x0071 0x0129 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x0032 0x00A9 0x04AA 0x047D 0x0500
0x052C 0x042B 0x0290 0x01EB 0x01EB 0x01F3 0x01C4 0x01D4
0x01CE 0x0246 0x0246 0x00DD 0xC224 0x0000 0x0000 0x0000>;
rt,fg_ocv_table4 = <0x0013 0x4A40 0x5500 0x5A17 0x5C0D 0x5C41 0x5D20 0x5E16
0x5FA6 0x60AB 0x61B9 0x62B0 0x639A 0x6631 0x6884 0x69DB
0x6B05 0x6C02 0x6D86 0x706D 0x2B00 0x0517 0x0183 0x0037
0x0039 0x0033 0x0031 0x003D 0x0064 0x0086 0x0086 0x0083
0x0091 0x008C 0x008E 0x0071 0x0071 0x0129 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x0032 0x00A9 0x04AA 0x047D 0x0500
0x052C 0x042B 0x0290 0x01EB 0x01EB 0x01F3 0x01C4 0x01D4
0x01CE 0x0246 0x0246 0x00DD 0xC224 0x0000 0x0000 0x0000>;
};

View file

@ -0,0 +1,92 @@
/*
* Copyright (C) 2021 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
nh50-scud-4850mah {
serialnum = "SB18D69209";
rt,fg_extreg_table = [80 80 46 79 A7 BB 58 02 AA 85 5F 40 88 81 00 00
40 24 00 00 FB 3E 00 20 7F 0A 1D 32 12 07 5A 5A
00 82 00 02 00 02 00 40 00 40 7B 11 7B 11 04 24
64 00 5F 0B 64 00 5F 0B FF 00 00 14 00 00 5A B7
15 0E 48 44 A2 77 05 41 19 08 B5 12 23 32 08 00
13 88 24 82 77 AD 04 73 12 A3 52 68 57 64 1F 0F
32 19 09 08 08 08 06 06 01 FB 05 05 05 03 03 FD
F3 F6 F6 F6 CD CD B7 94 F6 F6 F6 80 80 80 80 00
76 02 C0 48 0A 09 00 00 00 00 00 00 00 00 37 73
2D 19 05 FB 00 00 B9 36 96 33 0F 07 0A 05 0B A9
32 32 88 88 32 32 88 88 32 32 88 88 32 32 88 88
32 32 88 88 32 32 88 88 32 32 88 88 32 32 88 88
32 32 88 88 32 32 88 88 32 32 88 88 32 32 88 88
32 32 88 88 32 32 88 88 32 32 88 88 32 32 88 88];
rt,init_ocv_table = <3400 3488 3577 3616 3655 3678 3679 3682 3687 3692
3697 3702 3708 3713 3718 3723 3728 3734 3739 3744
3749 3755 3760 3765 3770 3774 3779 3783 3787 3791
3796 3800 3804 3808 3813 3817 3821 3825 3829 3834
3838 3843 3848 3854 3859 3864 3870 3875 3880 3887
3894 3901 3909 3916 3924 3933 3943 3952 3962 3973
3985 3996 4007 4018 4029 4041 4052 4063 4074 4085
4096 4108 4119 4130 4141 4152 4163 4174 4186 4197
4208 4219 4231 4242 4253 4264 4275 4286 4297 4306
4314 4322 4330 4338 4346 4354 4362 4370 4378 4386 4395>;
rt,fcc_design = <5000>;
rt,fcc = <4475 4475 4475 4475 4475>;
rt,fg_fc_vth = <0xA2 0xA2 0xA2 0xA2 0xA2>;
rt,fg_ocv_table0 = <0x0013 0x4A40 0x5500 0x5973 0x5BF8 0x5BFE 0x5CFF 0x5E42
0x5FF9 0x611B 0x621A 0x62FB 0x63F8 0x66C9 0x6912 0x6A76
0x6B97 0x6C7E 0x6DE0 0x706D 0x2B00 0x0473 0x01F0 0x0007
0x0042 0x0043 0x0036 0x0044 0x005F 0x0079 0x0091 0x008F
0x008F 0x0091 0x0089 0x0067 0x0067 0x0105 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x003A 0x0084 0x25F9 0x03E3 0x03CF
0x04B9 0x03C1 0x02B3 0x021C 0x01C5 0x01CB 0x01CB 0x01C3
0x01DD 0x027F 0x027F 0x00FB 0xD326 0x0000 0x0000 0x0000>;
rt,fg_ocv_table1 = <0x0013 0x4A40 0x5500 0x5973 0x5BF8 0x5BFE 0x5CFF 0x5E42
0x5FF9 0x611B 0x621A 0x62FB 0x63F8 0x66C9 0x6912 0x6A76
0x6B97 0x6C7E 0x6DE0 0x706D 0x2B00 0x0473 0x01F0 0x0007
0x0042 0x0043 0x0036 0x0044 0x005F 0x0079 0x0091 0x008F
0x008F 0x0091 0x0089 0x0067 0x0067 0x0105 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x003A 0x0084 0x25F9 0x03E3 0x03CF
0x04B9 0x03C1 0x02B3 0x021C 0x01C5 0x01CB 0x01CB 0x01C3
0x01DD 0x027F 0x027F 0x00FB 0xD326 0x0000 0x0000 0x0000>;
rt,fg_ocv_table2 = <0x0013 0x4A40 0x5500 0x5973 0x5BF8 0x5BFE 0x5CFF 0x5E42
0x5FF9 0x611B 0x621A 0x62FB 0x63F8 0x66C9 0x6912 0x6A76
0x6B97 0x6C7E 0x6DE0 0x706D 0x2B00 0x0473 0x01F0 0x0007
0x0042 0x0043 0x0036 0x0044 0x005F 0x0079 0x0091 0x008F
0x008F 0x0091 0x0089 0x0067 0x0067 0x0105 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x003A 0x0084 0x25F9 0x03E3 0x03CF
0x04B9 0x03C1 0x02B3 0x021C 0x01C5 0x01CB 0x01CB 0x01C3
0x01DD 0x027F 0x027F 0x00FB 0xD326 0x0000 0x0000 0x0000>;
rt,fg_ocv_table3 = <0x0013 0x4A40 0x5500 0x5973 0x5BF8 0x5BFE 0x5CFF 0x5E42
0x5FF9 0x611B 0x621A 0x62FB 0x63F8 0x66C9 0x6912 0x6A76
0x6B97 0x6C7E 0x6DE0 0x706D 0x2B00 0x0473 0x01F0 0x0007
0x0042 0x0043 0x0036 0x0044 0x005F 0x0079 0x0091 0x008F
0x008F 0x0091 0x0089 0x0067 0x0067 0x0105 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x003A 0x0084 0x25F9 0x03E3 0x03CF
0x04B9 0x03C1 0x02B3 0x021C 0x01C5 0x01CB 0x01CB 0x01C3
0x01DD 0x027F 0x027F 0x00FB 0xD326 0x0000 0x0000 0x0000>;
rt,fg_ocv_table4 = <0x0013 0x4A40 0x5500 0x5973 0x5BF8 0x5BFE 0x5CFF 0x5E42
0x5FF9 0x611B 0x621A 0x62FB 0x63F8 0x66C9 0x6912 0x6A76
0x6B97 0x6C7E 0x6DE0 0x706D 0x2B00 0x0473 0x01F0 0x0007
0x0042 0x0043 0x0036 0x0044 0x005F 0x0079 0x0091 0x008F
0x008F 0x0091 0x0089 0x0067 0x0067 0x0105 0x0013 0xFF80
0x0000 0x0200 0x049A 0x0680 0x0E4D 0x17E6 0x281A 0x309A
0x3600 0x39B3 0x3D33 0x474D 0x4F80 0x5466 0x589A 0x5D1A
0x6400 0x6900 0x0006 0x003A 0x0084 0x25F9 0x03E3 0x03CF
0x04B9 0x03C1 0x02B3 0x021C 0x01C5 0x01CB 0x01CB 0x01C3
0x01DD 0x027F 0x027F 0x00FB 0xD326 0x0000 0x0000 0x0000>;
};

View file

@ -0,0 +1,52 @@
/*
* Copyright (C) 2022 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
SM5602_ND50_ATL {
serialnum = "SB18D24973";
battery,param_version = <3>;
battery,max_voltage_uv = <4450000>;
battery,battery_type = <4450 0x0 0x277A>;
battery,battery_table0 = <0x1400 0x1B49 0x1C5A 0x1CDF 0x1D3E 0x1D62 0x1D80 0x1D97
0x1DB7 0x1DF4 0x1E1B 0x1E4A 0x1E78 0x1EC8 0x1F28 0x1F6E
0x1FAB 0x1FFE 0x20C8 0x2174 0x2247 0x22BF 0x2340 0x24CC>;
battery,battery_table1 = <0x0 0x66 0x1B8 0x2BB 0x3BE 0x440 0x543 0xAD6 0xCDD 0x11EE
0x16FF 0x1C10 0x23A9 0x2DCB 0x3564 0x37ED 0x3A75 0x3F86
0x49A8 0x5141 0x59DE 0x5EEF 0x6400 0x64E6>;
battery,battery_table2 = <0x1E2E 0x1719 0x1415 0x1112 0x1010 0x0F0F 0x0E0E 0x0E0E>;
battery,alpha = <0x00CC>;
battery,beta = <0x0025>;
battery,rs = <0x005F>;
battery,rs_value = <0x0050 0x010A 0x3800 0x0048>;
battery,vit_period = <0x315A>;
battery,volt_cal = <0x8000>;
battery,mix_value = <0x0003>;
battery,curr_offset = <0x000>;
battery,curr_slope = <0x8080>;
battery,topoff_soc = <7 500>;
battery,temp_std = <25>;
battery,temp_offset = <0 11 1 0 8 (-1)>;
battery,temp_cal = <0 6 1 11 (-1) 0 6 1 9 1>;
battery,ext_temp_cal = <0 2 1 2 1 1 2 3 2 3>;
battery,tem_poff = <3400 100>;
battery,thermal_table = <0x3CAB 0x365A 0x3025 0x2A24 0x2436 0x1E74 0x18D7 0x13A6 0x0E6F 0x0963
0x047E 0xF78B 0xF2F2 0xEE7D 0xEA3D 0xE629 0xE23C 0xDE7B 0xDAE1 0xD769
0xD414 0xD0E7 0xCDDA 0xCAEF 0xC827 0xC57C 0xC2EE 0xC07F 0xBE2D 0xBBF2
0xB9D5 0xB7CE 0xB5E1 0xB409 0xB248 0xB09A 0xAF03 0xAD7D 0xAC08 0xAAA8
0xA957 0xA818 0xA6DD 0xA5BD 0xA4A7 0xA39C 0xA2A1 0xA1B1 0xA0CA 0x9FF3
0x9F22 0x9E58 0x9D99 0x9CE6 0x9C3B 0x9B94 0x9AF6 0x9A61 0x99D2 0x994B
0x98CB 0x984E 0x97D6 0x9765 0x96FA 0x9693 0x9632 0x95D4 0x9579 0x9522
0x94D0 0x9481 0x9435 0x93EC 0x93A6 0x9364 0x9325 0x92EA 0x92B1 0x927B
0x9246 0x9212 0x91E1 0x91B2 0x9185 0x915A 0x9132 0x910B 0x90E6 0x90C2
0x90A0 0x907F 0x905E 0x903F 0x9022 0x9005 0x8FEA 0x8FD0 0x8FB7 0x8F9F
0x8F89>; //NTC value(DEC) table -20~80
};

View file

@ -0,0 +1,52 @@
/*
* Copyright (C) 2022 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
SM5602_ND50_JIADE {
serialnum = "SB18D25053";
battery,param_version = <3>;
battery,max_voltage_uv = <4450000>;
battery,battery_type = <4450 0x0 0x271E>;
battery,battery_table0 = <0x1400 0x1B3D 0x1C0A 0x1CA6 0x1D40 0x1D79 0x1D87 0x1D95
0x1DA3 0x1DB6 0x1DE9 0x1E13 0x1E5A 0x1E89 0x1EC9 0x1F24
0x1F54 0x1FA3 0x202E 0x20C9 0x21B5 0x2261 0x2331 0x24CC>;
battery,battery_table1 = <0x0 0x66 0x153 0x259 0x3E1 0x4E7 0x5ED 0xA04 0xC10 0xD15
0x112D 0x1649 0x1DF5 0x25A0 0x2D4B 0x34F6 0x3785 0x3A13
0x41BE 0x496A 0x53A3 0x5ACC 0x6400 0x64E6>;
battery,battery_table2 = <0x2537 0x1C1F 0x1819 0x1415 0x1213 0x1011 0x1010 0x0F0F>;
battery,alpha = <0x00CC>;
battery,beta = <0x0025>;
battery,rs = <0x005F>;
battery,rs_value = <0x0050 0x010A 0x3800 0x0048>;
battery,vit_period = <0x315A>;
battery,volt_cal = <0x8000>;
battery,mix_value = <0x0003>;
battery,curr_offset = <0x000>;
battery,curr_slope = <0x8080>;
battery,topoff_soc = <7 500>;
battery,temp_std = <25>;
battery,temp_offset = <0 11 1 0 8 (-1)>;
battery,temp_cal = <0 6 1 11 (-1) 0 6 1 9 1>;
battery,ext_temp_cal = <0 2 1 2 0 1 2 3 2 3>;
battery,tem_poff = <3400 100>;
battery,thermal_table = <0x3CAB 0x365A 0x3025 0x2A24 0x2436 0x1E74 0x18D7 0x13A6 0x0E6F 0x0963
0x047E 0xF78B 0xF2F2 0xEE7D 0xEA3D 0xE629 0xE23C 0xDE7B 0xDAE1 0xD769
0xD414 0xD0E7 0xCDDA 0xCAEF 0xC827 0xC57C 0xC2EE 0xC07F 0xBE2D 0xBBF2
0xB9D5 0xB7CE 0xB5E1 0xB409 0xB248 0xB09A 0xAF03 0xAD7D 0xAC08 0xAAA8
0xA957 0xA818 0xA6DD 0xA5BD 0xA4A7 0xA39C 0xA2A1 0xA1B1 0xA0CA 0x9FF3
0x9F22 0x9E58 0x9D99 0x9CE6 0x9C3B 0x9B94 0x9AF6 0x9A61 0x99D2 0x994B
0x98CB 0x984E 0x97D6 0x9765 0x96FA 0x9693 0x9632 0x95D4 0x9579 0x9522
0x94D0 0x9481 0x9435 0x93EC 0x93A6 0x9364 0x9325 0x92EA 0x92B1 0x927B
0x9246 0x9212 0x91E1 0x91B2 0x9185 0x915A 0x9132 0x910B 0x90E6 0x90C2
0x90A0 0x907F 0x905E 0x903F 0x9022 0x9005 0x8FEA 0x8FD0 0x8FB7 0x8F9F
0x8F89>; //NTC value(DEC) table -20~80
};

View file

@ -0,0 +1,52 @@
/*
* Copyright (C) 2022 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
SM5602_NE50_ATL {
serialnum = "SB18D38324";
battery,param_version = <2>;
battery,max_voltage_uv = <4450000>;
battery,battery_type = <4450 0x0 0x2666>;
battery,battery_table0 = <0x1400 0x1C9E 0x1D11 0x1D72 0x1D83 0x1D88 0x1D90 0x1DB5
0x1DE7 0x1E11 0x1E44 0x1E78 0x1F09 0x1F62 0x1FB2 0x1FE2
0x200E 0x20DC 0x218F 0x220C 0x2261 0x2301 0x2344 0x2733>;
battery,battery_table1 = <0x0 0x84 0x18F 0x31F 0x42A 0x534 0x74A 0xB74 0xF9F 0x14D4
0x1A0A 0x21DA 0x317A 0x36AF 0x394A 0x3BE5 0x3E7F 0x48EA
0x50BA 0x55EF 0x5995 0x60DF 0x6400 0x64E6>;
battery,battery_table2 = <0x1F2D 0x181A 0x1516 0x1213 0x1111 0x1010 0x0F0F 0x0F0F>;
battery,alpha = <0x00CC>;
battery,beta = <0x0025>;
battery,rs = <0x805F>;
battery,rs_value = <0x0050 0x010A 0x3800 0x0048>;
battery,vit_period = <0x325A>;
battery,volt_cal = <0x8000>;
battery,mix_value = <0x0003>;
battery,curr_offset = <0x000>;
battery,curr_slope = <0x8080>;
battery,topoff_soc = <7 343>;
battery,temp_std = <25>;
battery,temp_offset = <0 11 1 0 8 (-1)>;
battery,temp_cal = <0 6 1 11 (-1) 0 6 1 9 1>;
battery,ext_temp_cal = <0 2 1 2 0 0 2 3 2 3>;
battery,tem_poff = <3400 100>;
battery,thermal_table = <0x3EEF 0x3957 0x3234 0x2C25 0x2654 0x2089 0x1B71 0x1574 0x1068 0x0B3C
0x0640 0x0181 0xF4FA 0xF09D 0xEC1E 0xE82D 0xE3B3 0xDFE0 0xDC28 0xD88E
0xD580 0xD22A 0xCF03 0xCC0B 0xC944 0xC68E 0xC405 0xC169 0xBF0F 0xBCFD
0xBABE 0xB889 0xB692 0xB4AB 0xB2E5 0xB127 0xAF8E 0xAE0F 0xAC8A 0xAB1E
0xA9E9 0xA888 0xA742 0xA620 0xA4A5 0xA39C 0xA2A5 0xA1BE 0xA0CF 0x9FF9
0x9F2C 0x9E67 0x9DA0 0x9CEC 0x9C43 0x9BA1 0x9AFF 0x9A6F 0x99D9 0x9950
0x98D0 0x9857 0x97E8 0x9776 0x96FD 0x9695 0x9632 0x95D5 0x9579 0x9522
0x94CF 0x9480 0x9434 0x93EB 0x93A4 0x9361 0x9322 0x92E7 0x92AF 0x9278
0x9242 0x920E 0x91DD 0x91AF 0x9181 0x9156 0x912E 0x9107 0x90E2 0x90BF
0x909C 0x907A 0x905A 0x903B 0x901E 0x9003 0x8FE7 0x8FCE 0x8FB4 0x8F9D
0x8F85>; //NTC value(DEC) table -20~80
};

View file

@ -0,0 +1,52 @@
/*
* Copyright (C) 2022 Motorola Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License 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 http://www.gnu.org/licenses/gpl-2.0.html for more details.
*/
SM5602_NE50_SWD {
serialnum = "SB18D38323";
battery,param_version = <2>;
battery,max_voltage_uv = <4450000>;
battery,battery_type = <4450 0x0 0x2600>;
battery,battery_table0 = <0x1400 0x1C6C 0x1CE7 0x1D42 0x1D64 0x1D84 0x1D91 0x1D9B
0x1DD6 0x1E0A 0x1E39 0x1E77 0x1ECB 0x1F2B 0x1F59 0x1FE1
0x200E 0x20E1 0x2195 0x2214 0x226A 0x230B 0x234E 0x2733>;
battery,battery_table1 = <0x0 0x85 0x193 0x2A0 0x327 0x435 0x650 0xA86 0xEBC 0x13FF
0x1942 0x2127 0x2BAE 0x3393 0x3635 0x3B78 0x3E1A 0x48A1
0x5086 0x55C9 0x5979 0x60D7 0x6400 0x64E6>;
battery,battery_table2 = <0x1C28 0x1618 0x1415 0x1112 0x1010 0x0F0F 0x0E0E 0x0E0E>;
battery,alpha = <0x00CC>;
battery,beta = <0x0025>;
battery,rs = <0x805F>;
battery,rs_value = <0x0050 0x010A 0x3800 0x0048>;
battery,vit_period = <0x325A>;
battery,volt_cal = <0x8000>;
battery,mix_value = <0x0003>;
battery,curr_offset = <0x000>;
battery,curr_slope = <0x8080>;
battery,topoff_soc = <7 343>;
battery,temp_std = <25>;
battery,temp_offset = <0 11 1 0 8 (-1)>;
battery,temp_cal = <0 6 1 11 (-1) 0 6 1 9 1>;
battery,ext_temp_cal = <0 2 1 2 1 0 2 3 2 3>;
battery,tem_poff = <3400 100>;
battery,thermal_table = <0x3EEF 0x3957 0x3234 0x2C25 0x2654 0x2089 0x1B71 0x1574 0x1068 0x0B3C
0x0640 0x0181 0xF4FA 0xF09D 0xEC1E 0xE82D 0xE3B3 0xDFE0 0xDC28 0xD88E
0xD580 0xD22A 0xCF03 0xCC0B 0xC944 0xC68E 0xC405 0xC169 0xBF0F 0xBCFD
0xBABE 0xB889 0xB692 0xB4AB 0xB2E5 0xB127 0xAF8E 0xAE0F 0xAC8A 0xAB1E
0xA9E9 0xA888 0xA742 0xA620 0xA4A5 0xA39C 0xA2A5 0xA1BE 0xA0CF 0x9FF9
0x9F2C 0x9E67 0x9DA0 0x9CEC 0x9C43 0x9BA1 0x9AFF 0x9A6F 0x99D9 0x9950
0x98D0 0x9857 0x97E8 0x9776 0x96FD 0x9695 0x9632 0x95D5 0x9579 0x9522
0x94CF 0x9480 0x9434 0x93EB 0x93A4 0x9361 0x9322 0x92E7 0x92AF 0x9278
0x9242 0x920E 0x91DD 0x91AF 0x9181 0x9156 0x912E 0x9107 0x90E2 0x90BF
0x909C 0x907A 0x905A 0x903B 0x901E 0x9003 0x8FE7 0x8FCE 0x8FB4 0x8F9D
0x8F85>; //NTC value(DEC) table -20~80
};

View file

@ -0,0 +1,424 @@
#include <dt-bindings/clock/qcom,audio-ext-clk.h>
#include <dt-bindings/sound/qcom,bolero-clk-rsc.h>
#include <dt-bindings/sound/audio-codec-port-types.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/gpio/gpio.h>
&tlmm{
aw882xx_irq_default: aw882xx_irq_default {
mux {
pins = "gpio59";
function = "gpio";
};
config {
pins = "gpio59";
drive-strength = <2>; /* 2 MA */
bias-pull-up;
};
};
aw882xx_recv_irq_default: aw882xx_recv_irq_default {
mux {
pins = "gpio60";
function = "gpio";
};
config {
pins = "gpio60";
drive-strength = <2>; /* 2 MA */
bias-pull-up;
};
};
};
&cdc_dmic01_gpios {
status = "disabled";
};
&cdc_dmic23_gpios {
status = "disabled";
};
&rx_swr_gpios {
status = "okay";
};
&dai_mi2s0_rx {
status = "okay";
qcom,msm-mi2s-lines = <1>;
};
&dai_mi2s0_tx {
status = "okay";
qcom,msm-mi2s-lines = <0>;
};
&dai_mi2s1_rx {
status = "okay";
qcom,msm-mi2s-lines = <1>;
};
&dai_mi2s1_tx {
status = "okay";
qcom,msm-mi2s-lines = <2>;
};
&dai_mi2s2_rx {
status = "okay";
qcom,msm-mi2s-lines = <1>;
};
&dai_mi2s2_tx {
status = "okay";
qcom,msm-mi2s-lines = <0>;
};
&dai_mi2s3_rx {
status = "okay";
qcom,msm-mi2s-lines = <1>;
};
&dai_mi2s3_tx {
status = "okay";
qcom,msm-mi2s-lines = <0>;
};
&q6core {
cdc_sec_mi2s_gpios: cdc_sec_mi2s_gpios {
compatible = "qcom,msm-cdc-pinctrl";
pinctrl-names = "aud_active", "aud_sleep";
pinctrl-0 = <&lpi_i2s2_sck_active &lpi_i2s2_ws_active
&lpi_i2s2_sd0_active &lpi_i2s2_sd1_active>;
pinctrl-1 = <&lpi_i2s2_sck_sleep &lpi_i2s2_ws_sleep
&lpi_i2s2_sd0_sleep &lpi_i2s2_sd1_sleep>;
qcom,lpi-gpios;
#gpio-cells = <0>;
};
};
&bolero {
qcom,num-macros = <3>;
qcom,bolero-version = <5>;
#address-cells = <1>;
#size-cells = <1>;
bolero-clk-rsc-mngr {
compatible = "qcom,bolero-clk-rsc-mngr";
qcom,fs-gen-sequence = <0x3000 0x1 0x1>, <0x3004 0x3 0x3>,
<0x3004 0x3 0x1>, <0x3080 0x2 0x2>;
qcom,rx_mclk_mode_muxsel = <0x0A5640D8>;
qcom,va_mclk_mode_muxsel = <0x0A7A0000>;
clock-names = "tx_core_clk", "tx_npl_clk", "rx_core_clk", "rx_npl_clk",
"va_core_clk", "va_npl_clk";
clocks = <&clock_audio_tx_1 0>, <&clock_audio_tx_2 0>,
<&clock_audio_rx_1 0>, <&clock_audio_rx_2 0>,
<&clock_audio_va_1 0>, <&clock_audio_va_2 0>;
};
va_macro: va-macro@A730000 {
compatible = "qcom,va-macro";
reg = <0xA730000 0x0>;
clock-names = "lpass_audio_hw_vote";
clocks = <&lpass_audio_hw_vote 0>;
qcom,va-dmic-sample-rate = <600000>;
qcom,default-clk-id = <TX_CORE_CLK>;
qcom,is-used-swr-gpio = <1>;
qcom,va-swr-gpios = <&va_swr_gpios>;
swr0: va_swr_master {
compatible = "qcom,swr-mstr";
qcom,is_wcd937x = <1>;
#address-cells = <2>;
#size-cells = <0>;
clock-names = "lpass_audio_hw_vote";
clocks = <&lpass_audio_hw_vote 0>;
qcom,swr_master_id = <3>;
qcom,swrm-hctl-reg = <0x0A7EC100>;
qcom,mipi-sdw-block-packing-mode = <1>;
swrm-io-base = <0xA740000 0x0>;
interrupts-extended =
<&wakegic 5 IRQ_TYPE_LEVEL_HIGH>,
<&tlmm 128 GPIO_ACTIVE_HIGH>;
interrupt-names = "swr_master_irq", "swr_wake_irq";
qcom,swr-num-ports = <3>;
qcom,swr-port-mapping = <1 SWRM_TX1_CH1 0x1>,
<1 SWRM_TX1_CH2 0x2>,
<1 SWRM_TX1_CH3 0x4>, <1 SWRM_TX1_CH4 0x8>,
<2 SWRM_TX2_CH1 0x1>, <2 SWRM_TX2_CH2 0x2>,
<2 SWRM_TX2_CH3 0x4>, <2 SWRM_TX2_CH4 0x8>,
<3 SWRM_TX3_CH1 0x1>, <3 SWRM_TX3_CH2 0x2>,
<3 SWRM_TX3_CH3 0x4>, <3 SWRM_TX3_CH4 0x8>;
qcom,swr-num-dev = <1>;
qcom,swr-phy-dev-addr = <0x0A 0x01170223>,
<0x08 0x58350223>,
<0x08 0x58350222>,
<0x08 0x58350221>,
<0x08 0x58350220>;
qcom,swr-clock-stop-mode0 = <1>;
qcom,swr-mstr-irq-wakeup-capable = <1>;
qcom,is-always-on = <1>;
wcd937x_tx_slave: wcd937x-tx-slave {
compatible = "qcom,wcd937x-slave";
reg = <0x0A 0x01170223>;
};
};
};
tx_macro: tx-macro@A620000 {
compatible = "qcom,tx-macro";
reg = <0xA620000 0x0>;
clock-names = "tx_core_clk", "tx_npl_clk";
clocks = <&clock_audio_tx_1 0>,
<&clock_audio_tx_2 0>;
qcom,tx-dmic-sample-rate = <2400000>;
qcom,is-used-swr-gpio = <0>;
};
rx_macro: rx-macro@A600000 {
compatible = "qcom,rx-macro";
reg = <0xA600000 0x0>;
clock-names = "rx_core_clk", "rx_npl_clk";
clocks = <&clock_audio_rx_1 0>,
<&clock_audio_rx_2 0>;
qcom,rx-swr-gpios = <&rx_swr_gpios>;
qcom,rx_mclk_mode_muxsel = <0xA5640D8>;
qcom,rx-bcl-pmic-params = /bits/ 8 <0x00 0x03 0x48>;
qcom,default-clk-id = <TX_CORE_CLK>;
swr1: rx_swr_master {
compatible = "qcom,swr-mstr";
#address-cells = <2>;
#size-cells = <0>;
clock-names = "lpass_audio_hw_vote";
clocks = <&lpass_audio_hw_vote 0>;
qcom,swr_master_id = <2>;
qcom,swrm-hctl-reg = <0x0A6A9098>;
qcom,mipi-sdw-block-packing-mode = <1>;
swrm-io-base = <0xA610000 0x0>;
interrupts = <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "swr_master_irq";
qcom,swr-num-ports = <6>;
qcom,swr-port-mapping = <1 HPH_L 0x1>,
<1 HPH_R 0x2>, <2 CLSH 0x1>,
<3 COMP_L 0x1>, <3 COMP_R 0x2>,
<4 LO 0x1>, <5 DSD_L 0x1>,
<5 DSD_R 0x2>, <6 PCM_OUT1 0x01>;
qcom,swr-num-dev = <1>;
qcom,swr-clock-stop-mode0 = <1>;
wcd937x_rx_slave: wcd937x-rx-slave {
compatible = "qcom,wcd937x-slave";
reg = <0x0A 0x01170224>;
};
};
};
wcd937x_codec: wcd937x-codec {
compatible = "qcom,wcd937x-codec";
qcom,split-codec = <1>;
qcom,rx_swr_ch_map = <0 HPH_L 0x1 0 HPH_L>,
<0 HPH_R 0x2 0 HPH_R>, <1 CLSH 0x1 0 CLSH>,
<2 COMP_L 0x1 0 COMP_L>, <2 COMP_R 0x2 0 COMP_R>,
<3 LO 0x1 0 LO>, <4 DSD_L 0x1 0 DSD_L>,
<4 DSD_R 0x2 0 DSD_R>;
qcom,tx_swr_ch_map = <0 ADC1 0x1 0 SWRM_TX1_CH1>,
<1 ADC2 0x1 0 SWRM_TX2_CH1>,
<1 ADC3 0x2 0 SWRM_TX2_CH2>,
<2 DMIC0 0x1 0 SWRM_TX1_CH4>,
<2 DMIC1 0x2 0 SWRM_TX2_CH1>,
<2 MBHC 0x4 0 SWRM_TX2_CH2>,
<3 DMIC2 0x1 0 SWRM_TX2_CH3>,
<3 DMIC3 0x2 0 SWRM_TX2_CH4>,
<3 DMIC4 0x4 0 SWRM_TX3_CH1>,
<3 DMIC5 0x8 0 SWRM_TX3_CH2>;
qcom,wcd-rst-gpio-node = <&wcd937x_rst_gpio>;
qcom,rx-slave = <&wcd937x_rx_slave>;
qcom,tx-slave = <&wcd937x_tx_slave>;
cdc-vdd-rxtx-supply = <&L11A>;
qcom,cdc-vdd-rxtx-voltage = <1800000 1800000>;
qcom,cdc-vdd-rxtx-current = <30000>;
cdc-vddpx-supply = <&L11A>;
qcom,cdc-vddpx-voltage = <1800000 1800000>;
qcom,cdc-vddpx-current = <30000>;
cdc-vdd-buck-supply = <&L14A>;
qcom,cdc-vdd-buck-voltage = <1800000 1800000>;
qcom,cdc-vdd-buck-current = <650000>;
cdc-vdd-mic-bias-supply = <&BOB>;
qcom,cdc-vdd-mic-bias-voltage = <3296000 3296000>;
qcom,cdc-vdd-mic-bias-current = <45000>;
qcom,cdc-micbias1-mv = <2800>;
qcom,cdc-micbias2-mv = <2800>;
qcom,cdc-micbias3-mv = <2800>;
qcom,cdc-static-supplies = "cdc-vdd-rxtx",
"cdc-vddpx",
"cdc-vdd-mic-bias";
qcom,cdc-on-demand-supplies = "cdc-vdd-buck";
};
};
&holi_snd {
qcom,model = "holi-9370_aw882xx-snd-card";
qcom,msm-mi2s-master = <1>, <1>, <1>, <1>;
qcom,wcn-btfm = <1>;
qcom,tdm-max-slots = <4>;
qcom,sec-mi2s-gpios = <&cdc_sec_mi2s_gpios>;
qcom,audio-routing =
"AMIC1", "Analog Mic1",
"Analog Mic1", "MIC BIAS1",
"AMIC2", "Analog Mic2",
"Analog Mic2", "MIC BIAS2",
"AMIC3", "Analog Mic3",
"Analog Mic3", "MIC BIAS3",
"Analog Mic4", "MIC BIAS3",
"TX DMIC0", "Digital Mic0",
"TX DMIC0", "MIC BIAS1",
"TX DMIC1", "Digital Mic1",
"TX DMIC1", "MIC BIAS1",
"TX DMIC2", "Digital Mic2",
"TX DMIC2", "MIC BIAS3",
"TX DMIC3", "Digital Mic3",
"TX DMIC3", "MIC BIAS3",
"IN1_HPHL", "HPHL_OUT",
"IN2_HPHR", "HPHR_OUT",
"IN3_AUX", "AUX_OUT",
"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 SWR_INPUT", "WCD_TX_OUTPUT",
"VA SWR_INPUT", "VA_SWR_CLK",
"VA SWR_INPUT", "WCD_TX_OUTPUT",
"VA_AIF1 CAP", "VA_SWR_CLK",
"VA_AIF2 CAP", "VA_SWR_CLK",
"VA_AIF3 CAP", "VA_SWR_CLK",
"VA DMIC0", "Digital Mic0",
"VA DMIC1", "Digital Mic1",
"VA DMIC2", "Digital Mic2",
"VA DMIC3", "Digital Mic3",
"VA DMIC4", "Digital Mic4",
"VA DMIC5", "Digital Mic5",
"VA DMIC0", "VA MIC BIAS1",
"VA DMIC1", "VA MIC BIAS1",
"VA DMIC2", "VA MIC BIAS3",
"VA DMIC3", "VA MIC BIAS3";
qcom,msm-mbhc-hphl-swh = <1>;
qcom,msm-mbhc-gnd-swh = <1>;
asoc-codec = <&stub_codec>, <&bolero>,
<&wcd937x_codec>,<&aw882xxacf>,<&aw882xxacf_recv>;
asoc-codec-names = "msm-stub-codec.1", "bolero_codec",
"wcd937x_codec", "aw882xxacf_smartpa.2-0034", "aw882xxacf_smartpa.2-0035";
qcom,msm_audio_ssr_devs = <&audio_apr>, <&q6core>, <&lpi_tlmm>,
<&bolero>;
qcom,msm-mbhc-hs-mic-max-threshold-mv = <2700>;
qcom,msm-mbhc-hs-mic-min-threshold-mv = <116>;
};
&qupv3_se10_i2c {
status = "ok"
aw882xxacf: aw882xxacf_smartpa@34 {
compatible = "awinic,aw882xxacf_smartpa";
reg = <0x34>;
pinctrl-names = "default";
pinctrl-0 = <&aw882xx_irq_default>;
irq-gpio = <&tlmm 59 0x2008>;
dc-flag = <0>;
sound-channel = <0>;
aw-tx-topo-id = <0x1000ff00>;
aw-rx-topo-id = <0x1000ff01>;
aw-rx-port-id = <0x1002>;
aw-tx-port-id = <0x1003>;
aw-re-min = <4000>;
aw-re-max = <30000>;
aw-cali-mode = "aw_attr";
status = "okay";
};
aw882xxacf_recv: aw882xxacf_recv_smartpa@35 {
compatible = "awinic,aw882xxacf_smartpa";
reg = <0x35>;
pinctrl-names = "default";
pinctrl-0 = <&aw882xx_recv_irq_default>;
irq-gpio = <&tlmm 60 0x2008>;
dc-flag = <0>;
sync-flag = <0>;
sound-channel = <1>;
aw-tx-topo-id = <0x1000ff00>;
aw-rx-topo-id = <0x1000ff01>;
aw-rx-port-id = <0x1002>;
aw-tx-port-id = <0x1003>;
aw-re-min = <4000>;
aw-re-max = <30000>;
aw-cali-mode = "aw_attr";
status = "okay";
};
};
&va_cdc_dma_0_tx {
qcom,msm-dai-is-island-supported = <1>;
};
&soc {
wcd937x_rst_gpio: msm_cdc_pinctrl@32 {
compatible = "qcom,msm-cdc-pinctrl";
pinctrl-names = "aud_active", "aud_sleep";
pinctrl-0 = <&wcd937x_reset_active>;
pinctrl-1 = <&wcd937x_reset_sleep>;
};
clock_audio_rx_1: rx_core_clk {
compatible = "qcom,audio-ref-clk";
qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_4>;
qcom,codec-lpass-ext-clk-freq = <22579200>;
qcom,codec-lpass-clk-id = <0x30E>;
#clock-cells = <1>;
};
clock_audio_rx_2: rx_npl_clk {
compatible = "qcom,audio-ref-clk";
qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_5>;
qcom,codec-lpass-ext-clk-freq = <22579200>;
qcom,codec-lpass-clk-id = <0x30F>;
#clock-cells = <1>;
};
clock_audio_tx_1: tx_core_clk {
compatible = "qcom,audio-ref-clk";
qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_6>;
qcom,codec-lpass-ext-clk-freq = <19200000>;
qcom,codec-lpass-clk-id = <0x30C>;
#clock-cells = <1>;
};
clock_audio_tx_2: tx_npl_clk {
compatible = "qcom,audio-ref-clk";
qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_7>;
qcom,codec-lpass-ext-clk-freq = <19200000>;
qcom,codec-lpass-clk-id = <0x30D>;
#clock-cells = <1>;
};
clock_audio_va_1: va_core_clk {
compatible = "qcom,audio-ref-clk";
qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK>;
qcom,codec-lpass-ext-clk-freq = <19200000>;
qcom,codec-lpass-clk-id = <0x30B>;
#clock-cells = <1>;
};
clock_audio_va_2: va_npl_clk {
compatible = "qcom,audio-ref-clk";
qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_8>;
qcom,codec-lpass-ext-clk-freq = <19200000>;
qcom,codec-lpass-clk-id = <0x310>;
#clock-cells = <1>;
};
};
&adsp_loader {
nvmem-cells = <&adsp_variant>;
nvmem-cell-names = "adsp_variant";
adsp-fw-names = "adsp2";
adsp-fw-bit-values = <0x1>;
};

View file

@ -0,0 +1,537 @@
/* Copyright (c) 2023, 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-audio-bangkk-overlay.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
#include "holi-pmic-overlay-pm6125.dtsi"
#include "holi-thermal-overlay-pm6125.dtsi"
#include "display/holi-sde-display-mtp-pm6125.dtsi"
#include "display/blair-sde-display-mtp.dtsi"
#include "bangkk-fps-overlay.dtsi"
#include "bangkk-display.dtsi"
#include "bangkk-touchscreen.dtsi"
#include "bangkk-sensors.dtsi"
#include "camera/blair-camera-sensor-mot-bangkk-overlay.dtsi"
#include "bangkk-wl286xx.dtsi"
#include "moto_therm_sys_temp.dtsi"
#include "blair-bangkk-fmr-overlay.dtsi"
&wcd937x_codec {
cdc-vdd-rxtx-supply = <&L9A>;
cdc-vddpx-supply = <&L9A>;
qcom,cdc-static-supplies = "cdc-vdd-rxtx",
"cdc-vddpx";
/*
* Overriding cdc-vdd-mic-bias-supply to dummy value
* to avoid compilation errors as BOB is not definied
* for pm6125
*/
cdc-vdd-mic-bias-supply = <>;
};
&holi_snd {
qcom,msm-hs-linein-threshold = <4000>;
};
&pm7250b_vib {
qcom,vib-ldo-volt-uv = <3000000>;
qcom,vib-dis-short-long;
qcom,vib-dis-short-long-val = <70>;
qcom,vib-ldo-volt-uv-long = <2600000>;
};
&tlmm {
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 {
pins = "gpio48";
function = "gpio";
};
config {
pins = "gpio48";
drive-strength = <2>; /* 2 MA */
bias-disable;
};
};
nfc_enable_suspend: nfc_enable_suspend {
mux {
pins = "gpio48";
function = "gpio";
};
config {
pins = "gpio48";
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-pull-down;
input-enable;
};
};
nfc_clk_req_suspend: nfc_clk_req_suspend {
/* sleep state */
mux {
/* GPIO 7: NFC CLK Req */
pins = "gpio7";
function = "gpio";
};
config {
pins = "gpio7";
drive-strength = <2>; /* 2 MA */
bias-pull-down;
input-enable;
};
};
};
};
/* Dummy LDO reference */
&sdhc_1 {
status = "disable"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_on>;
pinctrl-1 = <&sdc1_off>;
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>;
};
&sdhc_2 {
status = "ok"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_on>;
pinctrl-1 = <&sdc2_off>;
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>;
cd-gpios = <&tlmm 94 GPIO_ACTIVE_HIGH>;
};
&ufsphy_mem {
compatible = "qcom,ufs-phy-qmp-v4-yupik";
vdda-phy-supply = <&L7A>;
vdda-pll-supply = <&L4A>;
vdda-phy-max-microamp = <85700>;
vdda-pll-max-microamp = <18300>;
status = "ok"
};
&ufshc_mem {
vdd-hba-supply = <&gcc_ufs_phy_gdsc>;
vdd-hba-fixed-regulator;
vcc-supply = <&L24A>;
vcc-voltage-level = <2950000 2960000>;
vcc-max-microamp = <800000>;
vccq2-supply = <&L11A>;
vccq2-max-microamp = <800000>;
vccq2-voltage-level = <1800000 1800000>;
qcom,vddp-ref-clk-supply = <&L4A>;
qcom,vddp-ref-clk-max-microamp = <100>;
status = "ok"
};
&pmk8350_vadc {
pmk8350_qtm_n_therm {
reg = <PMK8350_ADC7_AMUX_THM2_100K_PU>;
label = "pmk8350_qtm_n_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pmk8350_qtm_e_therm {
reg = <PMK8350_ADC7_AMUX_THM4_100K_PU>;
label = "pmk8350_qtm_e_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pmk8350_adc_tm {
io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>,
<&pmk8350_vadc PMK8350_ADC7_AMUX_THM2_100K_PU>,
<&pmk8350_vadc PMK8350_ADC7_AMUX_THM4_100K_PU>;
qtm_n__therm {
reg = <PMK8350_ADC7_AMUX_THM2_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
qtm_e_therm {
reg = <PMK8350_ADC7_AMUX_THM4_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
&pmr735a_gpios {
camera_therm {
camera_therm_default:camera_therm_default {
pins = "gpio3";
bias-high-impedance;
};
};
};
&pmr735a_vadc {
status = "ok"
pinctrl-names = "default";
pinctrl-0 = <&camera_therm_default>;
pmr735a_camera_therm {
reg = <ADC7_GPIO3_100K_PU>;
label = "pmr735a_camera_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pmr735a_4{
pmr735a_adc_tm_iio: adc_tm@3400 {
compatible = "qcom,adc-tm5-iio";
reg = <0x3400>;
#thermal-sensor-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
io-channels = <&pmr735a_vadc ADC7_GPIO3_100K_PU>;
pmr735a_camera_therm {
reg = <ADC7_GPIO3_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
};
&qupv3_se7_i2c {
status = "ok"
#address-cells = <1>;
#size-cells = <0>;
sec-nfc@27 {
compatible = "sec-nfc";
reg = <0x27>;
sec-nfc,ven-gpio = <&tlmm 48 0x00>;
sec-nfc,firm-gpio = <&tlmm 135 0x00>;
sec-nfc,irq-gpio = <&tlmm 9 0x00>;
sec-nfc,clk_req-gpio = <&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>;
clock-names = "OSC_NFC";
};
};
&thermal_zones {
sdm-skin-therm-usr {
status = "disabled";
};
rear-cam-therm-usr {
status = "disabled";
};
camera-therm-usr {
status = "disabled";
};
quiet-therm-usr {
status = "disabled";
};
pa-therm0-usr {
status = "disabled";
};
pa-therm1-usr {
status = "disabled";
};
xo-therm-usr {
status = "disabled";
};
chg-skin-therm-usr {
status = "disabled";
};
msm_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm_iio ADC5_GPIO1_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 = <&pm6125_adc_tm ADC5_GPIO3_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
pa_therm2 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_GPIO4_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 = <&pm6125_adc_tm ADC5_AMUX_THM1_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 = <&pm6125_adc_tm ADC5_AMUX_THM2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
active-config1 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
xo_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
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";
};
};
};
qtm_n_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pmk8350_adc_tm PMK8350_ADC7_AMUX_THM2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
qtm_e_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pmk8350_adc_tm PMK8350_ADC7_AMUX_THM4_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
soc_usr {
polling-delay-passive = <1000>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&bcl_soc>;
};
};
&pm8008_8 {
status = "disabled";
};
&pm8008_9 {
status = "disabled";
};
&soc {
gpio_keys {
compatible = "gpio-keys";
label = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&key_vol_up_default>;
vol_up {
label = "volume_up";
gpios = <&pmr735a_gpios 1 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
linux,code = <KEY_VOLUMEUP>;
gpio-key,wakeup;
debounce-interval = <15>;
linux,can-disable;
};
};
ldo_vib {
compatible = "moto,vibrator-ldo";
moto,vib-ldo-gpio = <&tlmm 100 0x0>;
status = "disabled";
};
qcom,tz_gpio {
compatible = "qcom,tz_gpio";
tlmm-tz = <0>,
<13>,
<14>,
<15>,
<16>;
};
};
/* Primary USB port related QUSB2 PHY */
&usb2_phy0 {
qcom,param-override-seq =
<0xa6 0x6c /* override_x0 */
0x25 0x70 /* override_x1 */
0x16 0x74>; /* override x2 */
};

View file

@ -0,0 +1,24 @@
/* Copyright (c) 2023, 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 "blair-pm6125-bangkk-common-overlay.dtsi"
/ {
model = "bangkk";
compatible = "qcom,blair-bangkk", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>;
qcom,board-id = <0x49 0xA100>;
};

View file

@ -0,0 +1,48 @@
&tlmm {
fm_elna_default: fm_elna_default {
mux {
pins = "gpio47";
function = "gpio";
};
config {
pins = "gpio47";
drive_strength = <16>;
output-low;
};
};
fm_elna_active: fm_elna_active {
mux {
pins = "gpio47";
function = "gpio";
};
config {
pins = "gpio47";
drive_strength = <16>;
output-high;
};
};
fm_elna_suspend: fm_elna_suspend {
mux {
pins = "gpio47";
function = "gpio";
};
config {
pins = "gpio47";
drive_strength = <16>;
output-low;
};
};
};
&soc {
fmradio: fm_wcn39x0 {
status = "ok"
compatible = "moto,fmctrl";
pinctrl-names = "default", "elna_active", "elna_suspend";
pinctrl-0 = <&fm_elna_default>;
pinctrl-1 = <&fm_elna_active>;
pinctrl-2 = <&fm_elna_suspend>;
};
};

View file

@ -0,0 +1,748 @@
/* 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 "blair-pm6125-moto-common-overlay.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
#include "holi-pmic-overlay-pm6125.dtsi"
#include "holi-thermal-overlay-pm6125.dtsi"
#include "display/holi-sde-display-mtp-pm6125.dtsi"
#include <dt-bindings/iio/qti_power_supply_iio.h>
#include "corfur-fps-overlay.dtsi"
#include "corfur-display.dtsi"
#include "corfuq-touchscreen.dtsi"
#include "holi-audio-wcd9370-aw882xx-acf-overlay.dtsi"
#include "moto_therm_sys_temp.dtsi"
#include "corfup-charger.dtsi"
#include "camera/blair-camera-sensor-mot-corfup-overlay.dtsi"
#include "camera/holi-camera-sensor-mot-corfup-dvt1-overlay.dtsi"
#include "blair-corfur-fmr-overlay.dtsi"
&smb1394 {
status = "disabled";
};
&wcd937x_codec {
cdc-vdd-rxtx-supply = <&L9A>;
cdc-vddpx-supply = <&L9A>;
qcom,cdc-static-supplies = "cdc-vdd-rxtx",
"cdc-vddpx";
/*
* Overriding cdc-vdd-mic-bias-supply to dummy value
* to avoid compilation errors as BOB is not definied
* for pm6125
*/
cdc-vdd-mic-bias-supply = <>;
};
&holi_snd {
qcom,msm-hs-linein-threshold = <4000>;
};
&pm7250b_vib {
qcom,vib-ldo-volt-uv = <3000000>;
qcom,vib-dis-short-long;
qcom,vib-dis-short-long-val = <70>;
qcom,vib-ldo-volt-uv-long = <2500000>;
};
&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 {
/* 6: Enable */
pins = "gpio6";
function = "gpio";
};
config {
pins = "gpio6";
drive-strength = <2>; /* 2 MA */
bias-disable;
};
};
nfc_enable_suspend: nfc_enable_suspend {
mux {
/* 6: Enable */
pins = "gpio6";
function = "gpio";
};
config {
pins = "gpio6";
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 = "gpio7";
function = "gpio";
};
config {
pins = "gpio7";
drive-strength = <2>; /* 2 MA */
bias-disable;
input-enable;
};
};
};
};
&soc {
gpio_keys: gpio_keys {
compatible = "gpio-keys";
label = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&key_vol_up_default &google_key_default>;
vol_up {
label = "volume_up";
gpios = <&pmr735a_gpios 1 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
linux,code = <KEY_VOLUMEUP>;
gpio-key,wakeup;
debounce-interval = <15>;
linux,can-disable;
};
google_key {
label = "google_key";
gpios = <&tlmm 11 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
linux,code = <KEY_SEARCH>;
gpio-key,wakeup;
debounce-interval = <15>;
linux,can-disable;
};
};
};
/* Dummy LDO reference */
&sdhc_1 {
status = "ok"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_on>;
pinctrl-1 = <&sdc1_off>;
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>;
};
&sdhc_2 {
status = "disabled";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_on>;
pinctrl-1 = <&sdc2_off>;
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>;
cd-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>;
};
&ufsphy_mem {
compatible = "qcom,ufs-phy-qmp-v4-yupik";
vdda-phy-supply = <&L7A>;
vdda-pll-supply = <&L4A>;
vdda-phy-max-microamp = <85700>;
vdda-pll-max-microamp = <18300>;
status = "ok"
};
&ufshc_mem {
vdd-hba-supply = <&gcc_ufs_phy_gdsc>;
vdd-hba-fixed-regulator;
vcc-supply = <&L24A>;
vcc-voltage-level = <2950000 2960000>;
vcc-max-microamp = <800000>;
vccq2-supply = <&L11A>;
vccq2-max-microamp = <800000>;
vccq2-voltage-level = <1800000 1800000>;
qcom,vddp-ref-clk-supply = <&L4A>;
qcom,vddp-ref-clk-max-microamp = <100>;
status = "ok"
};
&pm6125_l12 {
regulator-always-on;
qcom,init-voltage = <1800000>;
};
&qupv3_se8_i2c {
sx937x@2c {
status = "disabled";
};
};
&qupv3_se10_i2c {
status = "ok"
cam_pmic2: wl2866d@28{
compatible = "semi,wl2866d";
reg = <0x28>;
vin1-supply = <&S6A>;
semi,init-value = <0x05>;
semi,shutdown-ldo;
regulators {
cam_pmic2_ldo1_dvdd1: ldo1 {
regulator-name = "ldo1";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1800000>;
};
cam_pmic2_ldo2_dvdd2: ldo2 {
regulator-name = "ldo2";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1800000>;
};
cam_pmic2_ldo3_avdd1: ldo3 {
regulator-name = "ldo3";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <4300000>;
regulator-always-on;
};
cam_pmic2_ldo4_avdd2: ldo4 {
regulator-name = "ldo4";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
};
};
};
cam_pmic1: wl2864c@29{
compatible = "semi,wl2864c";
reg = <0x29>;
vin1-supply = <&S6A>;
regulators {
cam_pmic1_ldo1_dvdd1: ldo1 {
regulator-name = "ldo1";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1800000>;
};
cam_pmic1_ldo2_dvdd2: ldo2 {
regulator-name = "ldo2";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1800000>;
};
cam_pmic1_ldo3_avdd1: ldo3 {
regulator-name = "ldo3";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <4300000>;
};
cam_pmic1_ldo4_avdd2: ldo4 {
regulator-name = "ldo4";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <4300000>;
};
cam_pmic1_ldo5_vddaf: ldo5 {
regulator-name = "ldo5";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <4300000>;
};
cam_pmic1_ldo6_vddois: ldo6 {
regulator-name = "ldo6";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <4300000>;
};
cam_pmic1_ldo7_vddio: ldo7 {
regulator-name = "ldo7";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <4300000>;
};
};
};
sx937x@2c {
compatible = "Semtech,sx937x";
reg = <0x2c>;
pinctrl-names = "default","sleep";
pinctrl-0 = <&sar_int_default>;
pinctrl-1 = <&sar_int_sleep>;
interrupt-parent = <&tlmm>;
interrupts = <24 0x02>;
interrupt-names = "sx937x_irq";
Semtech,nirq-gpio = <&tlmm 24 0x02>;
//please fix me
cap_vdd-supply = <&pm6125_l12>;
/*use PH4/5/6 as the reference sensor
set it to 0xff if the ref-phases-x is not used*/
Semtech,ref-phases-a = <4>;
Semtech,ref-phases-b = <5>;
Semtech,ref-phases-c = <6>;
Semtech,button-flag = <0x0f>;
Semtech,reg-num = <65>;
Semtech,reg-init = <
0x8024 0x7F00 /*PHEN, Disable all Phases*/
0x4004 0x70 /*irq mask*/
0x4008 0x8 /*irq setup*/
0x8020 0x32 /*Set scan period*/
/*set Phase sampling frequency to 65KHz*/
0x8028 0x87E /*AFE_PARAM_PH0*/
0x8034 0x87E /*AFE_PARAM_PH1*/
0x8040 0x87E /*AFE_PARAM_PH2*/
0x804C 0x87E /*AFE_PARAM_PH3*/
0x8058 0x87E /*AFE_PARAM_PH4*/
0x8064 0x87E /*AFE_PARAM_PH5*/
0x8070 0x87E /*AFE_PARAM_PH6*/
0x807C 0x876 /*AFE_PARAM_PH7*/
/*set CS3 to hiz, because it used as IRQ pin*/
0x8030 0xFEF9FF /*REG_AFEPH_PH0, CS5, ANT1, Bottom*/
0x803C 0xBFF9FF /*REG_AFEPH_PH1, CS7, ANT2, Top Right*/
0x8048 0xFFF9FD /*REG_AFEPH_PH2, CS0, ANT3, Top Left*/
0x8054 0xFFD9FF /*REG_AFEPH_PH3, CS4, ANT4, Top Right side*/
0x8060 0xF7F9FF /*REG_AFEPH_PH4, CS6, ANT1_REF, Bottom*/
0x806C 0xFFF97F /*REG_AFEPH_PH5, CS2, ANT2_REF, Top Right*/
0x8078 0xFFF9EF /*REG_AFEPH_PH6, CS1, ANT3_REF, WIFI GPS*/
0x8084 0x800 /*REG_AFEPH_PH7, NOT USE*/
/*Set Phase Proximity Threshold*/
0x8098 0x693F /*prox threshold ph0*/
0x80B8 0x8038 /*prox threshold ph1*/
0x80D8 0x4343 /*prox threshold ph2*/
0x80F8 0x3C3C /*prox threshold ph3*/
0x8118 0x8E /*prox threshold ph4*/
0x8138 0x8E /*prox threshold ph5*/
0x8158 0x8E /*prox threshold ph6*/
0x8178 0x5A40 /*prox threshold ph7*/
/*Set Useful Filter*/
0x80A0 0x1E1E00E1
0x80C0 0x0
0x80E0 0xD0D0002
0x8100 0xF0F00E2
0x8120 0x0
0x8140 0x0
0x8160 0x0
0x8180 0x0
0x8188 0x8000014
0x818C 0x8000016
0x8190 0x0
0x8194 0x0
0x8090 0x3CD45000
0x80B0 0x3CD25000
0x80D0 0x3CD45000
0x80F0 0x3CD45000
0x8110 0x3CD85000
0x8130 0x3CD85000
0x8150 0x3CD85000
0x8170 0x3CD85000
0x8088 0x300001
0x80A8 0x300001
0x80C8 0x300001
0x80E8 0x300001
0x8108 0x500000
0x8128 0x500000
0x8148 0x500000
0x8168 0x300000
0x808C 0x60200030
0x80AC 0x60200030
0x80CC 0x60200030
0x80EC 0x60200030
0x810C 0x60200018
0x812C 0x60200018
0x814C 0x60200018
0x816C 0x60200018
0x8024 0x7F7F /*PHEN, Enable PH0~PH6*/
>;
status = "ok"
};
};
&qupv3_se8_i2c {
status = "okay";
qcom,i2c-touch-active="synaptics,tcm-i2c";
synaptics_tcm@20 {
compatible = "synaptics,tcm-i2c";
reg = <0x20>;
interrupt-parent = <&tlmm>;
interrupts = <22 0x2008>;
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 = <&pmx_ts_release>;
vdd-supply = <&L11A>;
avdd-supply = <&L6A>;
synaptics,pwr-reg-name = "avdd";
synaptics,bus-reg-name = "vdd";
synaptics,irq-gpio = <&tlmm 22 0x2008>;
synaptics,irq-on-state = <0>;
synaptics,reset-gpio = <&tlmm 21 0x00>;
synaptics,reset-on-state = <0>;
synaptics,reset-active-ms = <20>;
synaptics,reset-delay-ms = <200>;
synaptics,power-delay-ms = <200>;
synaptics,ubl-i2c-addr = <0x20>;
synaptics,extend_report;
synaptics,firmware-name = "synaptics_firmware.img";
panel = <&dsi_rm69299_visionox_amoled_video
&dsi_rm69299_visionox_amoled_cmd>;
};
};
&qupv3_se7_i2c {
status = "ok"
#address-cells = <1>;
#size-cells = <0>;
st21nfc@8 {
compatible = "st,st21nfc";
mmi,status = "/chosen", "mmi,nfc", "st"
status = "ok"
reg = <0x08>;
st,irq_gpio = <&tlmm 9 0x00>;
st,reset_gpio = <&tlmm 6 0x00>;
st,clkreq_gpio = <&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>;
};
};
&pm7250b_vadc {
cp_therm {
reg = <ADC5_AMUX_THM2_100K_PU>;
label = "cp_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pm7250b_adc_tm {
io-channels = <&pm7250b_vadc ADC5_AMUX_THM1_100K_PU>,
<&pm7250b_vadc ADC5_AMUX_THM2_100K_PU>,
<&pm7250b_vadc ADC5_AMUX_THM3_100K_PU>;
cp_therm {
reg = <ADC5_AMUX_THM2_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
&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";
};
rear-cam-therm-usr {
status = "disabled";
};
pa_therm2 {
polling-delay-passive = <5000>;
polling-delay = <20000>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_GPIO4_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 = <&pm6125_adc_tm_iio ADC5_GPIO1_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
pa_therm3 {
polling-delay-passive = <5000>;
polling-delay = <20000>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm_iio ADC5_GPIO2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
pa_therm1 {
polling-delay-passive = <5000>;
polling-delay = <20000>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_AMUX_THM1_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 = <&pm6125_adc_tm ADC5_AMUX_THM2_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";
};
};
};
conn_therm {
polling-delay-passive = <5000>;
polling-delay = <20000>;
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";
};
};
};
cp_therm {
polling-delay-passive = <5000>;
polling-delay = <20000>;
thermal-governor = "user_space";
thermal-sensors = <&pm7250b_adc_tm ADC5_AMUX_THM2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
cam_flash_therm {
polling-delay-passive = <5000>;
polling-delay = <20000>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_GPIO3_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";
};
&sdhc_2 {
qcom,vdd-voltage-level = <3000000 3000000>;
};
&qupv3_se10_i2c_sleep {
config {
/delete-property/ bias-disable;
bias-pull-up;
input-enable;
};
};
&pm7250b_charger {
dpdm-supply = <&usb2_phy0>;
};
&usb2_phy0 {
qcom,param-override-seq =
<0x61 0x6c /* override_x0 */
0x85 0x70 /* override_x1 */
0x2e 0x74>; /* override x2 */
};

View file

@ -0,0 +1,23 @@
/* 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 "blair-corfur-common-overlay.dtsi"
/ {
model = "corfur";
compatible = "qcom,blair-corfur", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>;
qcom,board-id = <0x45 0xB1B0>;
};

View file

@ -0,0 +1,23 @@
/* 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 "blair-corfur-common-overlay.dtsi"
/ {
model = "corfur";
compatible = "qcom,blair-corfur", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>;
qcom,board-id = <0x46 0xB1D0>;
};

View file

@ -0,0 +1,48 @@
&tlmm {
fm_elna_default: fm_elna_default {
mux {
pins = "gpio47";
function = "gpio";
};
config {
pins = "gpio47";
drive_strength = <16>;
output-low;
};
};
fm_elna_active: fm_elna_active {
mux {
pins = "gpio47";
function = "gpio";
};
config {
pins = "gpio47";
drive_strength = <16>;
output-high;
};
};
fm_elna_suspend: fm_elna_suspend {
mux {
pins = "gpio47";
function = "gpio";
};
config {
pins = "gpio47";
drive_strength = <16>;
output-low;
};
};
};
&soc {
fmradio: fm_wcn39x0 {
status = "ok"
compatible = "moto,fmctrl";
pinctrl-names = "default", "elna_active", "elna_suspend";
pinctrl-0 = <&fm_elna_default>;
pinctrl-1 = <&fm_elna_active>;
pinctrl-2 = <&fm_elna_suspend>;
};
};

View file

@ -0,0 +1,784 @@
/* 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 "blair-nopmi-moto-common-overlay.dtsi"
#include "holi-audio-wcd9370-aw882xx-acf-overlay.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
#include "holi-pmic-overlay-pm6125.dtsi"
#include "holi-thermal-overlay-pm6125.dtsi"
#include "display/holi-sde-display-mtp-pm6125.dtsi"
#include "display/blair-sde-display-mtp.dtsi"
#include "cypfr-fps-overlay.dtsi"
#include "cypfr-display.dtsi"
#include "cypfr-touchscreen.dtsi"
#include "camera/blair-camera-sensor-mot-cypfr-overlay.dtsi"
#include "discrete_charging.dtsi"
#include "sgm7220.dtsi"
#include "blair-cypfr-fmr-overlay.dtsi"
#include <dt-bindings/iio/qti_power_supply_iio.h>
#include "discrete-rt-pd-manger.dtsi"
#include "moto_therm_sys_temp.dtsi"
/* Primary USB port related QUSB2 PHY */
&usb2_phy0 {
qcom,param-override-seq =
<0xa6 0x6c /* override_x0 */
0x85 0x70 /* override_x1 */
0x0e 0x74>; /* override x2 */
};
&wcd937x_codec {
cdc-vdd-rxtx-supply = <&L9A>;
cdc-vddpx-supply = <&L9A>;
qcom,cdc-static-supplies = "cdc-vdd-rxtx",
"cdc-vddpx";
/*
* Overriding cdc-vdd-mic-bias-supply to dummy value
* to avoid compilation errors as BOB is not definied
* for pm6125
*/
cdc-vdd-mic-bias-supply = <>;
};
&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;
};
};
google_key_default: google_key_default {
mux {
pins = "gpio60";
function = "gpio";
};
config {
pins = "gpio60";
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";
function = "gpio";
};
config {
pins = "gpio48";
drive-strength = <2>; /* 2 MA */
bias-disable;
};
};
nfc_enable_suspend: nfc_enable_suspend {
mux {
/* 48: Enable, 8: Firmware */
pins = "gpio48";
function = "gpio";
};
config {
pins = "gpio48";
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;
};
};
};
vib_3v_active: vib_3v_active {
mux {
pins = "gpio102";
function = "gpio";
};
config {
pins = "gpio102";
drive-strength = <2>; /* 2 MA */
output-high;
};
};
vib_3v_suspend: vib_3v_suspend {
mux {
pins = "gpio102";
function = "gpio";
};
config {
pins = "gpio102";
drive-strength = <2>; /* 2 MA */
output-high;
};
};
chg_irq_default: chg_irq_default {
/* IRQ */
mux {
pins = "gpio12";
function = "gpio";
};
config {
pins = "gpio12";
bias-pull-up;
drive-strength = <2>; /* 2 MA */
input-enable;
};
};
};
&sgm4154x {
pinctrl-names = "default";
pinctrl-0 = <&gpio6_adc_default &chg_irq_default>;
/* enable dynamic adjust battery voltage */
enable_dynamic_adjust_batvol;
};
&mmi_charger {
mmi,hvdcp-power-max = <18000>;
};
&mmi_discrete_charger {
/delete-property/ mmi,bat-ocp-ua;
/delete-property/ mmi,usb-pd-supported;
mmi,max-fv-mv = <4400>;
mmi,chrg-iterm-ma = <150>;
mmi,max-fcc-ma = <2900>;
mmi,otg-cl-ua = <1200000>;
mmi,df-serialnum = "SB18C77591";
mmi,mmi-temp-zones = <0 4200 1000 0>,
<15 0 1000 1000>,
<45 0 2900 2900>,
<60 4200 2500 0>;
mmi,thermal-mitigation = <2900000 2500000
2000000 1500000
1200000 900000
600000 300000>;
};
&pmk8350_vadc {
pmk8350_ufs_therm {
reg = <PMK8350_ADC7_AMUX_THM2_100K_PU>;
label = "pmk8350_ufs_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pmk8350_chg_therm {
reg = <PMK8350_ADC7_AMUX_THM4_100K_PU>;
label = "pmk8350_chg_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pmk8350_adc_tm {
io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>,
<&pmk8350_vadc PMK8350_ADC7_AMUX_THM2_100K_PU>,
<&pmk8350_vadc PMK8350_ADC7_AMUX_THM4_100K_PU>;
ufs_therm {
reg = <PMK8350_ADC7_AMUX_THM2_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
chg_therm {
reg = <PMK8350_ADC7_AMUX_THM4_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
&pmr735a_gpios {
camera_therm {
camera_therm_default:camera_therm_default {
pins = "gpio3";
bias-high-impedance;
};
};
};
&pmr735a_vadc {
status = "ok"
pinctrl-names = "default";
pinctrl-0 = <&camera_therm_default>;
pmr735a_camera_therm {
reg = <ADC7_GPIO3_100K_PU>;
label = "pmr735a_camera_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pmr735a_4{
pmr735a_adc_tm_iio: adc_tm@3400 {
compatible = "qcom,adc-tm5-iio";
reg = <0x3400>;
#thermal-sensor-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
io-channels = <&pmr735a_vadc ADC7_GPIO3_100K_PU>;
pmr735a_camera_therm {
reg = <ADC7_GPIO3_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
};
&thermal_zones {
sdm-skin-therm-usr {
status = "disabled";
};
rear-cam-therm-usr {
status = "disabled";
};
camera-therm-usr {
status = "disabled";
};
quiet-therm-usr {
status = "disabled";
};
pa-therm0-usr {
status = "disabled";
};
pa-therm1-usr {
status = "disabled";
};
xo-therm-usr {
status = "disabled";
};
chg_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pmk8350_adc_tm PMK8350_ADC7_AMUX_THM4_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 = <&pm6125_adc_tm ADC5_AMUX_THM1_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
quiet_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_AMUX_THM2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
msm_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm_iio ADC5_GPIO1_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
ufs_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pmk8350_adc_tm PMK8350_ADC7_AMUX_THM2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
camera_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pmr735a_adc_tm_iio ADC7_GPIO3_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
pa_therm2 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_GPIO4_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
xo_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
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";
};
};
};
};
/* Dummy LDO reference */
&sdhc_1 {
status = "ok"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_on>;
pinctrl-1 = <&sdc1_off>;
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>;
};
&sdhc_2 {
status = "ok"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_on>;
pinctrl-1 = <&sdc2_off>;
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>;
cd-gpios = <&tlmm 94 GPIO_ACTIVE_HIGH>;
};
&ufsphy_mem {
compatible = "qcom,ufs-phy-qmp-v4-yupik";
vdda-phy-supply = <&L7A>;
vdda-pll-supply = <&L4A>;
vdda-phy-max-microamp = <85700>;
vdda-pll-max-microamp = <18300>;
status = "ok"
};
&ufshc_mem {
vdd-hba-supply = <&gcc_ufs_phy_gdsc>;
vdd-hba-fixed-regulator;
vcc-supply = <&L24A>;
vcc-voltage-level = <2950000 2960000>;
vcc-max-microamp = <800000>;
vccq2-supply = <&L11A>;
vccq2-max-microamp = <800000>;
vccq2-voltage-level = <1800000 1800000>;
qcom,vddp-ref-clk-supply = <&L4A>;
qcom,vddp-ref-clk-max-microamp = <100>;
status = "ok"
};
&qupv3_se8_i2c {
status = "okay";
cw2217: cw2217@64 {
compatible = "cellwise,cw2217";
reg = <0x64>;
status = "okay";
df-serialnum = "SB18C77591";
};
};
&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 = <&S6A>;
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>;
};
};
};
};
&pm8008_8 {
status = "disabled";
};
&pm8008_9 {
status = "disabled";
};
&soc {
gpio_keys {
compatible = "gpio-keys";
label = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&key_vol_up_default &google_key_default>;
vol_up {
label = "volume_up";
gpios = <&pmr735a_gpios 1 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
linux,code = <KEY_VOLUMEUP>;
gpio-key,wakeup;
debounce-interval = <15>;
linux,can-disable;
};
google_key {
label = "google_key";
gpios = <&tlmm 60 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
linux,code = <KEY_SEARCH>;
gpio-key,wakeup;
debounce-interval = <15>;
linux,can-disable;
};
};
};
&pm6125_l21 {
regulator-min-microvolt = <1800000>;
qcom,init-voltage = <3200000>;
};
&soc {
touch_avdd: touch_avdd_stub {
/*
* Touch eLDO controlled by gpio#53 is always ON.
* Using dummy regulator.
*/
compatible = "qcom,stub-regulator";
regulator-name = "touch_avdd_stub";
qcom,hpm-min-load = <10000>;
regulator-min-microvolt = <2700000>;
regulator-max-microvolt = <3544000>;
};
ext_vib {
compatible = "ext-vibrator-ldo";
vib_vcc-supply = <&L21A>;
vib,pwr-by-regulator-enable;
vib,short-vcc-voltage = <3200000>;
vib,long-vcc-voltage = <2800000>;
vib,long-play-threshold = <70>;
vib,vcc-current = <600000>;
};
};
&qupv3_se7_i2c {
status = "ok"
#qcom,clk-freq-out = <1000000>;
#address-cells = <1>;
#size-cells = <0>;
nq@28 {
compatible = "qcom,sn-nci";
reg = <0x28>;
qcom,sn-irq = <&tlmm 9 0x00>;
qcom,sn-ven = <&tlmm 48 0x00>;
qcom,sn-firm = <&tlmm 133 0x00>;
qcom,sn-clkreq = <&tlmm 7 0x00>;
interrupt-parent = <&tlmm>;
qcom,sn-vdd-1p8-supply = <&L9A>;
qcom,sn-vdd-1p8-voltage = <1800000 1800000>;
qcom,sn-vdd-1p8-current = <157000>;
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>;
};
};
&qupv3_se10_i2c_sleep {
config {
/delete-property/ bias-disable;
bias-pull-up;
input-enable;
};
};
&sx937x {
/*use PH5/6 as the reference sensor
set it to 0xff if the ref-phases-x is not used*/
Semtech,ref-phases-a = <5>;
Semtech,ref-phases-b = <6>;
Semtech,ref-phases-c = <0xff>;
Semtech,button-flag = <0x1f>;
Semtech,reg-num = <66>;
Semtech,reg-init = <
0x8024 0x7F00 /*PHEN, Disable all Phases*/
0x4004 0x70 /*irq mask*/
0x4008 0x8
0x8020 0x32
0x8028 0x85E /*AFE_PARAM_PH0*/
0x8034 0x85E /*AFE_PARAM_PH1*/
0x8040 0x85E /*AFE_PARAM_PH2*/
0x804C 0x85E /*AFE_PARAM_PH3*/
0x8058 0x85E /*AFE_PARAM_PH4*/
0x8064 0x85E /*AFE_PARAM_PH5*/
0x8070 0x85E /*AFE_PARAM_PH6*/
0x807C 0x85E /*AFE_PARAM_PH7*/
/*set CS3 to hiz, because it used as IRQ pin*/
0x8030 0xFFF9FD /*REG_AFEPH_PH0, CS0, ANT0, Bottom center*/
0x803C 0xBFF9FF /*REG_AFEPH_PH1, CS7, ANT8, Back center*/
0x8048 0xFFF97F /*REG_AFEPH_PH2, CS2, ANT1, Bottom Right*/
0x8054 0xFFD9FF /*REG_AFEPH_PH3, CS4, ANT4, Top Right*/
0x8060 0xF7F9FF /*REG_AFEPH_PH4, CS6, ANT5, Top center*/
0x806C 0xFFF9EF /*REG_AFEPH_PH5, CS1, REF*/
0x8078 0xFEF9FF /*REG_AFEPH_PH6, CS5, REF*/
0x8084 0xFFFFFF /*REG_AFEPH_PH7, NOT USE*/
0x8098 0x8440
0x80B8 0x372D
0x80D8 0x5A31
0x80F8 0x8348
0x8118 0x372D
0x8138 0xC8
0x8158 0xC8
0x8178 0xC8
0x80A0 0x202000E1
0x80C0 0x252500E2
0x80E0 0x202000E1
0x8100 0x141400E2
0x8120 0x1F1F00E2
0x8140 0x0
0x8160 0x0
0x8180 0x0
0x8188 0x8000015
0x818C 0x8000016
0x8190 0x0
0x8194 0x0
0x8090 0x1EE57000
0x80B0 0x14F67000
0x80D0 0x14F17000
0x80F0 0x22E57000
0x8110 0x18EA7000
0x8130 0x2AD67000
0x8150 0x2AD66000
0x8170 0x2AD66000
0x8088 0x300000
0x80A8 0x300000
0x80C8 0x300000
0x80E8 0x300000
0x8108 0x300000
0x8128 0x300000
0x8148 0x300000
0x8168 0x300000
0x808C 0x60200018
0x80AC 0x60200018
0x80CC 0x60200018
0x80EC 0x60200018
0x810C 0x60200018
0x812C 0x60200018
0x814C 0x60200018
0x816C 0x60200018
0x8024 0x7F7F
0x4280 0xF
>;
status = "ok"
};

View file

@ -0,0 +1,32 @@
/* 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 "blair-cypfr-common-overlay.dtsi"
/ {
model = "cypfr";
compatible = "qcom,blair-cypfr", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>;
qcom,board-id = <0x4B 0xB200>;
};
&sgm7220 {
sgm7220,pwr_gpio = <&tlmm 86 GPIO_ACTIVE_HIGH>;
};
&cw2217 {
sense_r_mohm = <5>;
#include "bat_setting/CW_jd50-atl-5000mah-5mohm-cypfr.dtsi"
};

View file

@ -0,0 +1,27 @@
/* 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 "blair-cypfr-common-overlay.dtsi"
/ {
model = "cypfr";
compatible = "qcom,blair-cypfr", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>;
qcom,board-id = <0x4B 0xA100>;
};
&cw2217 {
#include "bat_setting/CW_jd50-atl-5000mah-10mohm-cypfr.dtsi"
};

View file

@ -0,0 +1,31 @@
/* 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 "blair-cypfr-common-overlay.dtsi"
/ {
model = "cypfr";
compatible = "qcom,blair-cypfr", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>;
qcom,board-id = <0x4B 0xA200>;
};
&sgm7220 {
sgm7220,pwr_gpio = <&tlmm 86 GPIO_ACTIVE_HIGH>;
};
&cw2217 {
#include "bat_setting/CW_jd50-atl-5000mah-10mohm-cypfr.dtsi"
};

View file

@ -0,0 +1,48 @@
&tlmm {
fm_elna_default: fm_elna_default {
mux {
pins = "gpio47";
function = "gpio";
};
config {
pins = "gpio47";
drive_strength = <16>;
output-low;
};
};
fm_elna_active: fm_elna_active {
mux {
pins = "gpio47";
function = "gpio";
};
config {
pins = "gpio47";
drive_strength = <16>;
output-high;
};
};
fm_elna_suspend: fm_elna_suspend {
mux {
pins = "gpio47";
function = "gpio";
};
config {
pins = "gpio47";
drive_strength = <16>;
output-low;
};
};
};
&soc {
fmradio: fm_wcn39x0 {
status = "ok"
compatible = "moto,fmctrl";
pinctrl-names = "default", "elna_active", "elna_suspend";
pinctrl-0 = <&fm_elna_default>;
pinctrl-1 = <&fm_elna_active>;
pinctrl-2 = <&fm_elna_suspend>;
};
};

View file

@ -0,0 +1,610 @@
/* Copyright (c) 2023, 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 "fogo-audio-wcd9370-aw882xx-acf-dual-overlay.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
#include "holi-pmic-overlay-pm6125.dtsi"
#include "holi-thermal-overlay-pm6125.dtsi"
#include "display/holi-sde-display-mtp-pm6125.dtsi"
#include "display/blair-sde-display-mtp.dtsi"
#include "fogo-fps-overlay.dtsi"
#include "fogo-display.dtsi"
#include "fogo-touchscreen.dtsi"
#include "fogo-sensors.dtsi"
#include "camera/blair-camera-sensor-mot-fogo-overlay.dtsi"
#include "fogo-wl286xx.dtsi"
#include "moto_therm_sys_temp.dtsi"
#include "blair-fogo-fmr-overlay.dtsi"
&wcd937x_codec {
cdc-vdd-rxtx-supply = <&L9A>;
cdc-vddpx-supply = <&L9A>;
qcom,cdc-static-supplies = "cdc-vdd-rxtx",
"cdc-vddpx";
/*
* Overriding cdc-vdd-mic-bias-supply to dummy value
* to avoid compilation errors as BOB is not definied
* for pm6125
*/
cdc-vdd-mic-bias-supply = <>;
};
&pm7250b_vib {
qcom,vib-ldo-volt-uv = <3000000>;
qcom,vib-dis-short-long;
qcom,vib-dis-short-long-val = <70>;
qcom,vib-ldo-volt-uv-long = <3000000>;
};
&tlmm {
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 {
pins = "gpio48";
function = "gpio";
};
config {
pins = "gpio48";
drive-strength = <2>; /* 2 MA */
bias-disable;
};
};
nfc_enable_suspend: nfc_enable_suspend {
mux {
pins = "gpio6";
function = "gpio";
};
config {
pins = "gpio6";
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 = "gpio7";
function = "gpio";
};
config {
pins = "gpio7";
drive-strength = <2>; /* 2 MA */
bias-disable;
input-enable;
};
};
};
};
/* Dummy LDO reference */
&sdhc_1 {
status = "ok"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_on>;
pinctrl-1 = <&sdc1_off>;
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>;
};
&sdhc_2 {
status = "ok"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_on>;
pinctrl-1 = <&sdc2_off>;
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>;
cd-gpios = <&tlmm 94 GPIO_ACTIVE_HIGH>;
};
&ufsphy_mem {
compatible = "qcom,ufs-phy-qmp-v4-yupik";
vdda-phy-supply = <&L7A>;
vdda-pll-supply = <&L4A>;
vdda-phy-max-microamp = <85700>;
vdda-pll-max-microamp = <18300>;
status = "ok"
};
&ufshc_mem {
vdd-hba-supply = <&gcc_ufs_phy_gdsc>;
vdd-hba-fixed-regulator;
vcc-supply = <&L24A>;
vcc-voltage-level = <2950000 2960000>;
vcc-max-microamp = <800000>;
vccq2-supply = <&L11A>;
vccq2-max-microamp = <800000>;
vccq2-voltage-level = <1800000 1800000>;
qcom,vddp-ref-clk-supply = <&L4A>;
qcom,vddp-ref-clk-max-microamp = <100>;
status = "ok"
};
&pmk8350_vadc {
pmk8350_qtm_n_therm {
reg = <PMK8350_ADC7_AMUX_THM2_100K_PU>;
label = "pmk8350_qtm_n_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pmk8350_qtm_e_therm {
reg = <PMK8350_ADC7_AMUX_THM4_100K_PU>;
label = "pmk8350_qtm_e_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pmk8350_adc_tm {
io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>,
<&pmk8350_vadc PMK8350_ADC7_AMUX_THM2_100K_PU>,
<&pmk8350_vadc PMK8350_ADC7_AMUX_THM4_100K_PU>;
qtm_n__therm {
reg = <PMK8350_ADC7_AMUX_THM2_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
qtm_e_therm {
reg = <PMK8350_ADC7_AMUX_THM4_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
&pmr735a_gpios {
camera_therm {
camera_therm_default:camera_therm_default {
pins = "gpio3";
bias-high-impedance;
};
};
};
&pmr735a_vadc {
status = "ok"
pinctrl-names = "default";
pinctrl-0 = <&camera_therm_default>;
pmr735a_camera_therm {
reg = <ADC7_GPIO3_100K_PU>;
label = "pmr735a_camera_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pmr735a_4{
pmr735a_adc_tm_iio: adc_tm@3400 {
compatible = "qcom,adc-tm5-iio";
reg = <0x3400>;
#thermal-sensor-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
io-channels = <&pmr735a_vadc ADC7_GPIO3_100K_PU>;
pmr735a_camera_therm {
reg = <ADC7_GPIO3_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
};
&qupv3_se7_i2c {
status = "ok"
nq@28 {
compatible = "qcom,sn-nci";
reg = <0x28>;
qcom,sn-irq = <&tlmm 9 0x00>;
qcom,sn-ven = <&tlmm 6 0x00>;
qcom,sn-clkreq = <&tlmm 7 0x00>;
qcom,sn-vdd-1p8-supply = <&L9A>;
qcom,sn-vdd-1p8-voltage = <1800000 1800000>;
qcom,sn-vdd-1p8-current = <157000>;
interrupt-parent = <&tlmm>;
interrupts = <9 0>;
interrupt-names = "nfc_irq";
pinctrl-names = "nfc_active", "nfc_suspend";
pinctrl-0 = <&nfc_int_active &nfc_enable_active>;
pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>;
};
};
&pm6125_vadc {
pinctrl-0 = <
&pa_therm2_default
&msm_therm_default
&cam_flash_therm_default
&spk_therm_default>;
/delete-node/ rfc_cam_therm;
/delete-node/ rear_cam_flash_therm;
cam_flash_therm {
reg = <ADC5_GPIO2_100K_PU>;
label = "cam_flash_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
spk_therm {
reg = <ADC5_GPIO3_100K_PU>;
label = "spk_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pm6125_gpios {
/delete-node/ rfc_cam_therm;
/delete-node/ rear_cam_flash_therm;
cam_flash_therm {
cam_flash_therm_default: cam_flash_therm_default {
pins = "gpio4";
bias-high-impedance;
};
};
spk_therm {
spk_therm_default: spk_therm_default {
pins = "gpio6";
bias-high-impedance;
};
};
};
&pm6125_adc_tm {
/delete-node/ rear_cam_flash_therm;
spk_therm {
reg = <ADC5_GPIO3_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
&pm6125_adc_tm_iio {
/delete-node/ rfc_cam_therm;
cam_flash_therm {
reg = <ADC5_GPIO2_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
&thermal_zones {
/delete-node/ sdm-skin-therm-usr;
/delete-node/ rear-cam-therm-usr;
/delete-node/ camera-therm-usr;
sdm-skin-therm-usr {
status = "disabled";
};
rear-cam-therm-usr {
status = "disabled";
};
camera-therm-usr {
status = "disabled";
};
quiet-therm-usr {
status = "disabled";
};
pa-therm0-usr {
status = "disabled";
};
pa-therm1-usr {
status = "disabled";
};
xo-therm-usr {
status = "disabled";
};
chg-skin-therm-usr {
status = "disabled";
};
msm_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm_iio ADC5_GPIO1_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 = <&pm6125_adc_tm_iio ADC5_GPIO2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
tspk_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_GPIO3_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
pa_therm2 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_GPIO4_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 = <&pm6125_adc_tm ADC5_AMUX_THM1_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
quiet_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_AMUX_THM2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
active-config1 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
xo_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
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";
};
};
};
qtm_n_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pmk8350_adc_tm PMK8350_ADC7_AMUX_THM2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
qtm_e_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pmk8350_adc_tm PMK8350_ADC7_AMUX_THM4_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
soc_usr {
polling-delay-passive = <1000>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&bcl_soc>;
};
};
&soc {
gpio_keys {
compatible = "gpio-keys";
label = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&key_vol_up_default>;
vol_up {
label = "volume_up";
gpios = <&pmr735a_gpios 1 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
linux,code = <KEY_VOLUMEUP>;
gpio-key,wakeup;
debounce-interval = <15>;
linux,can-disable;
};
};
qcom,tz_gpio {
compatible = "qcom,tz_gpio";
tlmm-tz = <0>,
<13>,
<14>,
<15>,
<16>;
};
sys_temp_support {
mmi,need-uevent-sensors = "back_temp";
mmi,uevent-temp-threshold = <40000>;
};
};
/* Primary USB port related QUSB2 PHY */
&usb2_phy0 {
qcom,param-override-seq =
<0xa6 0x6c /* override_x0 */
0xca 0x70 /* override_x1 */
0x17 0x74>; /* override x2 */
qcom,host-param-override-seq =
<0xa7 0x6c /* override_x0 */
0xca 0x70 /* override_x1 */
0x17 0x74>; /* override_x2 */
};

View file

@ -0,0 +1,24 @@
/* Copyright (c) 2023, 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 "blair-pm6125-fogo-common-overlay.dtsi"
/ {
model = "fogo";
compatible = "qcom,blair-fogo", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>, <578 0x10000>;
qcom,board-id = <0x4E 0xA100>;
};

View file

@ -0,0 +1,48 @@
&tlmm {
fm_elna_default: fm_elna_default {
mux {
pins = "gpio47";
function = "gpio";
};
config {
pins = "gpio47";
drive_strength = <16>;
output-low;
};
};
fm_elna_active: fm_elna_active {
mux {
pins = "gpio47";
function = "gpio";
};
config {
pins = "gpio47";
drive_strength = <16>;
output-high;
};
};
fm_elna_suspend: fm_elna_suspend {
mux {
pins = "gpio47";
function = "gpio";
};
config {
pins = "gpio47";
drive_strength = <16>;
output-low;
};
};
};
&soc {
fmradio: fm_wcn39x0 {
status = "ok"
compatible = "moto,fmctrl";
pinctrl-names = "default", "elna_active", "elna_suspend";
pinctrl-0 = <&fm_elna_default>;
pinctrl-1 = <&fm_elna_active>;
pinctrl-2 = <&fm_elna_suspend>;
};
};

View file

@ -0,0 +1,590 @@
/* Copyright (c) 2023, 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-audio-fogor-overlay.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
#include "holi-pmic-overlay-pm6125.dtsi"
#include "holi-thermal-overlay-pm6125.dtsi"
#include "display/holi-sde-display-mtp-pm6125.dtsi"
#include "display/blair-sde-display-mtp.dtsi"
#include "fogor-fps-overlay.dtsi"
#include "fogor-display.dtsi"
#include "fogor-touchscreen.dtsi"
#include "fogor-sensors.dtsi"
#include "camera/blair-camera-sensor-mot-fogor-overlay.dtsi"
#include "fogor-wl286xx.dtsi"
#include "moto_therm_sys_temp.dtsi"
#include "blair-fogor-fmr-overlay.dtsi"
&wcd937x_codec {
cdc-vdd-rxtx-supply = <&L9A>;
cdc-vddpx-supply = <&L9A>;
qcom,cdc-static-supplies = "cdc-vdd-rxtx",
"cdc-vddpx";
/*
* Overriding cdc-vdd-mic-bias-supply to dummy value
* to avoid compilation errors as BOB is not definied
* for pm6125
*/
cdc-vdd-mic-bias-supply = <>;
};
&pm7250b_vib {
qcom,vib-ldo-volt-uv = <3000000>;
qcom,vib-dis-short-long;
qcom,vib-dis-short-long-val = <70>;
qcom,vib-ldo-volt-uv-long = <2600000>;
};
&tlmm {
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 {
pins = "gpio48";
function = "gpio";
};
config {
pins = "gpio48";
drive-strength = <2>; /* 2 MA */
bias-disable;
};
};
nfc_enable_suspend: nfc_enable_suspend {
mux {
pins = "gpio48";
function = "gpio";
};
config {
pins = "gpio48";
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 = "gpio7";
function = "gpio";
};
config {
pins = "gpio7";
drive-strength = <2>; /* 2 MA */
bias-disable;
input-enable;
};
};
};
};
/* Dummy LDO reference */
&sdhc_1 {
status = "disabled";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_on>;
pinctrl-1 = <&sdc1_off>;
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>;
};
&sdhc_2 {
status = "ok"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_on>;
pinctrl-1 = <&sdc2_off>;
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>;
cd-gpios = <&tlmm 94 GPIO_ACTIVE_HIGH>;
};
&ufsphy_mem {
compatible = "qcom,ufs-phy-qmp-v4-yupik";
vdda-phy-supply = <&L7A>;
vdda-pll-supply = <&L4A>;
vdda-phy-max-microamp = <85700>;
vdda-pll-max-microamp = <18300>;
status = "ok"
};
&ufshc_mem {
vdd-hba-supply = <&gcc_ufs_phy_gdsc>;
vdd-hba-fixed-regulator;
vcc-supply = <&L24A>;
vcc-voltage-level = <2950000 2960000>;
vcc-max-microamp = <800000>;
vccq2-supply = <&L11A>;
vccq2-max-microamp = <800000>;
vccq2-voltage-level = <1800000 1800000>;
qcom,vddp-ref-clk-supply = <&L4A>;
qcom,vddp-ref-clk-max-microamp = <100>;
status = "ok"
};
&pmk8350_vadc {
pmk8350_qtm_n_therm {
reg = <PMK8350_ADC7_AMUX_THM2_100K_PU>;
label = "pmk8350_qtm_n_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pmk8350_qtm_e_therm {
reg = <PMK8350_ADC7_AMUX_THM4_100K_PU>;
label = "pmk8350_qtm_e_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pmk8350_adc_tm {
io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>,
<&pmk8350_vadc PMK8350_ADC7_AMUX_THM2_100K_PU>,
<&pmk8350_vadc PMK8350_ADC7_AMUX_THM4_100K_PU>;
qtm_n__therm {
reg = <PMK8350_ADC7_AMUX_THM2_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
qtm_e_therm {
reg = <PMK8350_ADC7_AMUX_THM4_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
&pmr735a_gpios {
camera_therm {
camera_therm_default:camera_therm_default {
pins = "gpio3";
bias-high-impedance;
};
};
};
&pmr735a_vadc {
status = "ok"
pinctrl-names = "default";
pinctrl-0 = <&camera_therm_default>;
pmr735a_camera_therm {
reg = <ADC7_GPIO3_100K_PU>;
label = "pmr735a_camera_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pmr735a_4{
pmr735a_adc_tm_iio: adc_tm@3400 {
compatible = "qcom,adc-tm5-iio";
reg = <0x3400>;
#thermal-sensor-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
io-channels = <&pmr735a_vadc ADC7_GPIO3_100K_PU>;
pmr735a_camera_therm {
reg = <ADC7_GPIO3_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
};
&qupv3_se7_i2c {
status = "ok"
#address-cells = <1>;
#size-cells = <0>;
sec-nfc@27 {
compatible = "sec-nfc";
reg = <0x27>;
sec-nfc,ven-gpio = <&tlmm 48 0x00>;
sec-nfc,firm-gpio = <&tlmm 135 0x00>;
sec-nfc,irq-gpio = <&tlmm 9 0x00>;
sec-nfc,clk_req-gpio = <&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>;
clock-names = "OSC_NFC";
};
};
&pm7250b_vadc {
charger_skin_therm {
reg = <ADC5_AMUX_THM1_100K_PU>;
label = "charger_skin_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
conn_therm {
reg = <ADC5_AMUX_THM3_100K_PU>;
label = "conn_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
chg_therm@e {
reg = <ADC5_AMUX_THM2_100K_PU>;
label = "chg_therm";
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pm7250b_adc_tm {
io-channels = <&pm7250b_vadc ADC5_AMUX_THM1_100K_PU>,
<&pm7250b_vadc ADC5_AMUX_THM2_100K_PU>,
<&pm7250b_vadc ADC5_AMUX_THM3_100K_PU>;
charger_skin_therm {
reg = <ADC5_AMUX_THM1_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
chg_therm {
reg = <ADC5_AMUX_THM2_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
conn_therm {
reg = <ADC5_AMUX_THM3_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
&thermal_zones {
sdm-skin-therm-usr {
status = "disabled";
};
rear-cam-therm-usr {
status = "disabled";
};
camera-therm-usr {
status = "disabled";
};
quiet-therm-usr {
status = "disabled";
};
pa-therm0-usr {
status = "disabled";
};
pa-therm1-usr {
status = "disabled";
};
xo-therm-usr {
status = "disabled";
};
chg-skin-therm-usr {
status = "disabled";
};
conn-therm-usr {
status = "disabled";
};
msm_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm_iio ADC5_GPIO1_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 = <&pm6125_adc_tm_iio ADC5_GPIO2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
pa_therm2 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_GPIO4_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 = <&pm6125_adc_tm ADC5_AMUX_THM1_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
quiet_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_AMUX_THM2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
active-config1 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
xo_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
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";
};
};
};
chg_pump_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm7250b_adc_tm ADC5_AMUX_THM2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
conn_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";
};
};
};
tspk_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_GPIO3_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
};
&soc {
gpio_keys {
compatible = "gpio-keys";
label = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&key_vol_up_default>;
vol_up {
label = "volume_up";
gpios = <&pmr735a_gpios 1 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
linux,code = <KEY_VOLUMEUP>;
gpio-key,wakeup;
debounce-interval = <15>;
linux,can-disable;
};
};
ldo_vib {
compatible = "moto,vibrator-ldo";
moto,vib-ldo-gpio = <&tlmm 100 0x0>;
status = "disabled";
};
qcom,tz_gpio {
compatible = "qcom,tz_gpio";
tlmm-tz = <0>,
<13>,
<14>,
<15>,
<16>;
};
};
/* Primary USB port related QUSB2 PHY */
&usb2_phy0 {
qcom,param-override-seq =
<0xa6 0x6c /* override_x0 */
0x25 0x70 /* override_x1 */
0x16 0x74>; /* override x2 */
};

View file

@ -0,0 +1,24 @@
/* Copyright (c) 2023, 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 "blair-pm6125-fogor-common-overlay.dtsi"
/ {
model = "fogor";
compatible = "qcom,blair-fogor", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>, <578 0x10000>;
qcom,board-id = <0x47 0xA100>, <0x48 0xA100>;
};

View file

@ -0,0 +1,48 @@
&tlmm {
fm_elna_default: fm_elna_default {
mux {
pins = "gpio47";
function = "gpio";
};
config {
pins = "gpio47";
drive_strength = <16>;
output-low;
};
};
fm_elna_active: fm_elna_active {
mux {
pins = "gpio47";
function = "gpio";
};
config {
pins = "gpio47";
drive_strength = <16>;
output-high;
};
};
fm_elna_suspend: fm_elna_suspend {
mux {
pins = "gpio47";
function = "gpio";
};
config {
pins = "gpio47";
drive_strength = <16>;
output-low;
};
};
};
&soc {
fmradio: fm_wcn39x0 {
status = "ok"
compatible = "moto,fmctrl";
pinctrl-names = "default", "elna_active", "elna_suspend";
pinctrl-0 = <&fm_elna_default>;
pinctrl-1 = <&fm_elna_active>;
pinctrl-2 = <&fm_elna_suspend>;
};
};

View file

@ -0,0 +1,595 @@
/* Copyright (c) 2023, 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-audio-fogos-overlay.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
#include "holi-pmic-overlay-pm6125.dtsi"
#include "holi-thermal-overlay-pm6125.dtsi"
#include "display/holi-sde-display-mtp-pm6125.dtsi"
#include "display/blair-sde-display-mtp.dtsi"
#include "fogos-fps-overlay.dtsi"
#include "fogos-display.dtsi"
#include "fogos-touchscreen.dtsi"
#include "fogos-sensors.dtsi"
#include "camera/blair-camera-sensor-mot-fogos-overlay.dtsi"
#include "fogos-wl286xx.dtsi"
#include "moto_therm_sys_temp.dtsi"
#include "blair-fogos-fmr-overlay.dtsi"
&wcd937x_codec {
cdc-vdd-rxtx-supply = <&L9A>;
cdc-vddpx-supply = <&L9A>;
qcom,cdc-static-supplies = "cdc-vdd-rxtx",
"cdc-vddpx";
/*
* Overriding cdc-vdd-mic-bias-supply to dummy value
* to avoid compilation errors as BOB is not definied
* for pm6125
*/
cdc-vdd-mic-bias-supply = <>;
};
&pm7250b_vib {
qcom,vib-ldo-volt-uv = <3000000>;
qcom,vib-dis-short-long;
qcom,vib-dis-short-long-val = <70>;
qcom,vib-ldo-volt-uv-long = <2600000>;
};
&tlmm {
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 {
pins = "gpio48";
function = "gpio";
};
config {
pins = "gpio48";
drive-strength = <2>; /* 2 MA */
bias-disable;
};
};
nfc_enable_suspend: nfc_enable_suspend {
mux {
pins = "gpio48";
function = "gpio";
};
config {
pins = "gpio48";
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 = "gpio7";
function = "gpio";
};
config {
pins = "gpio7";
drive-strength = <2>; /* 2 MA */
bias-disable;
input-enable;
};
};
};
};
/* Dummy LDO reference */
&sdhc_1 {
status = "disabled";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_on>;
pinctrl-1 = <&sdc1_off>;
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>;
};
&sdhc_2 {
status = "ok"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_on>;
pinctrl-1 = <&sdc2_off>;
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>;
cd-gpios = <&tlmm 94 GPIO_ACTIVE_HIGH>;
};
&ufsphy_mem {
compatible = "qcom,ufs-phy-qmp-v4-yupik";
vdda-phy-supply = <&L7A>;
vdda-pll-supply = <&L4A>;
vdda-phy-max-microamp = <85700>;
vdda-pll-max-microamp = <18300>;
status = "ok"
};
&ufshc_mem {
vdd-hba-supply = <&gcc_ufs_phy_gdsc>;
vdd-hba-fixed-regulator;
vcc-supply = <&L24A>;
vcc-voltage-level = <2950000 2960000>;
vcc-max-microamp = <800000>;
vccq2-supply = <&L11A>;
vccq2-max-microamp = <800000>;
vccq2-voltage-level = <1800000 1800000>;
qcom,vddp-ref-clk-supply = <&L4A>;
qcom,vddp-ref-clk-max-microamp = <100>;
status = "ok"
};
&pmk8350_vadc {
pmk8350_qtm_n_therm {
reg = <PMK8350_ADC7_AMUX_THM2_100K_PU>;
label = "pmk8350_qtm_n_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pmk8350_qtm_e_therm {
reg = <PMK8350_ADC7_AMUX_THM4_100K_PU>;
label = "pmk8350_qtm_e_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pmk8350_adc_tm {
io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>,
<&pmk8350_vadc PMK8350_ADC7_AMUX_THM2_100K_PU>,
<&pmk8350_vadc PMK8350_ADC7_AMUX_THM4_100K_PU>;
qtm_n__therm {
reg = <PMK8350_ADC7_AMUX_THM2_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
qtm_e_therm {
reg = <PMK8350_ADC7_AMUX_THM4_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
&pmr735a_gpios {
camera_therm {
camera_therm_default:camera_therm_default {
pins = "gpio3";
bias-high-impedance;
};
};
};
&pmr735a_vadc {
status = "ok"
pinctrl-names = "default";
pinctrl-0 = <&camera_therm_default>;
pmr735a_camera_therm {
reg = <ADC7_GPIO3_100K_PU>;
label = "pmr735a_camera_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pmr735a_4{
pmr735a_adc_tm_iio: adc_tm@3400 {
compatible = "qcom,adc-tm5-iio";
reg = <0x3400>;
#thermal-sensor-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
io-channels = <&pmr735a_vadc ADC7_GPIO3_100K_PU>;
pmr735a_camera_therm {
reg = <ADC7_GPIO3_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
};
&qupv3_se7_i2c {
status = "ok"
#address-cells = <1>;
#size-cells = <0>;
sec-nfc@27 {
compatible = "sec-nfc";
reg = <0x27>;
sec-nfc,ven-gpio = <&tlmm 48 0x00>;
sec-nfc,firm-gpio = <&tlmm 135 0x00>;
sec-nfc,irq-gpio = <&tlmm 9 0x00>;
sec-nfc,clk_req-gpio = <&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>;
clock-names = "OSC_NFC";
};
};
&pm7250b_vadc {
charger_skin_therm {
reg = <ADC5_AMUX_THM1_100K_PU>;
label = "charger_skin_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
conn_therm {
reg = <ADC5_AMUX_THM3_100K_PU>;
label = "conn_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
chg_therm@e {
reg = <ADC5_AMUX_THM2_100K_PU>;
label = "chg_therm";
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pm7250b_adc_tm {
io-channels = <&pm7250b_vadc ADC5_AMUX_THM1_100K_PU>,
<&pm7250b_vadc ADC5_AMUX_THM2_100K_PU>,
<&pm7250b_vadc ADC5_AMUX_THM3_100K_PU>;
charger_skin_therm {
reg = <ADC5_AMUX_THM1_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
chg_therm {
reg = <ADC5_AMUX_THM2_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
conn_therm {
reg = <ADC5_AMUX_THM3_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
&thermal_zones {
sdm-skin-therm-usr {
status = "disabled";
};
rear-cam-therm-usr {
status = "disabled";
};
camera-therm-usr {
status = "disabled";
};
quiet-therm-usr {
status = "disabled";
};
pa-therm0-usr {
status = "disabled";
};
pa-therm1-usr {
status = "disabled";
};
xo-therm-usr {
status = "disabled";
};
chg-skin-therm-usr {
status = "disabled";
};
conn-therm-usr {
status = "disabled";
};
msm_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm_iio ADC5_GPIO1_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 = <&pm6125_adc_tm_iio ADC5_GPIO2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
pa_therm2 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_GPIO4_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 = <&pm6125_adc_tm ADC5_AMUX_THM1_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
quiet_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_AMUX_THM2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
active-config1 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
xo_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
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";
};
};
};
chg_pump_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm7250b_adc_tm ADC5_AMUX_THM2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
conn_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";
};
};
};
tspk_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_GPIO3_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
};
&soc {
gpio_keys {
compatible = "gpio-keys";
label = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&key_vol_up_default>;
vol_up {
label = "volume_up";
gpios = <&pmr735a_gpios 1 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
linux,code = <KEY_VOLUMEUP>;
gpio-key,wakeup;
debounce-interval = <15>;
linux,can-disable;
};
};
ldo_vib {
compatible = "moto,vibrator-ldo";
moto,vib-ldo-gpio = <&tlmm 100 0x0>;
status = "disabled";
};
qcom,tz_gpio {
compatible = "qcom,tz_gpio";
tlmm-tz = <0>,
<13>,
<14>,
<15>,
<16>;
};
sys_temp_support {
mmi,need-uevent-sensors = "back_temp";
mmi,uevent-temp-threshold = <40000>;
};
};
/* Primary USB port related QUSB2 PHY */
&usb2_phy0 {
qcom,param-override-seq =
<0xa6 0x6c /* override_x0 */
0x25 0x70 /* override_x1 */
0x16 0x74>; /* override x2 */
};

View file

@ -0,0 +1,24 @@
/* Copyright (c) 2023, 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 "blair-pm6125-fogos-common-overlay.dtsi"
/ {
model = "fogos";
compatible = "qcom,blair-fogos", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>, <578 0x10000>;
qcom,board-id = <0x47 0xB100>, <0x48 0xB100>;
};

View file

@ -0,0 +1,24 @@
/* Copyright (c) 2023, 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 "blair-pm6125-fogos-common-overlay.dtsi"
/ {
model = "fogos";
compatible = "qcom,blair-fogos", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>, <578 0x10000>;
qcom,board-id = <0x48 0xA200>;
};

View file

@ -0,0 +1,48 @@
&tlmm {
fm_elna_default: fm_elna_default {
mux {
pins = "gpio47";
function = "gpio";
};
config {
pins = "gpio47";
drive_strength = <16>;
output-low;
};
};
fm_elna_active: fm_elna_active {
mux {
pins = "gpio47";
function = "gpio";
};
config {
pins = "gpio47";
drive_strength = <16>;
output-high;
};
};
fm_elna_suspend: fm_elna_suspend {
mux {
pins = "gpio47";
function = "gpio";
};
config {
pins = "gpio47";
drive_strength = <16>;
output-low;
};
};
};
&soc {
fmradio: fm_wcn39x0 {
status = "ok"
compatible = "moto,fmctrl";
pinctrl-names = "default", "elna_active", "elna_suspend";
pinctrl-0 = <&fm_elna_default>;
pinctrl-1 = <&fm_elna_active>;
pinctrl-2 = <&fm_elna_suspend>;
};
};

View file

@ -0,0 +1,532 @@
#include <dt-bindings/clock/qcom,audio-ext-clk.h>
#include <dt-bindings/sound/qcom,bolero-clk-rsc.h>
#include <dt-bindings/sound/audio-codec-port-types.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/gpio/gpio.h>
&tlmm{
aw882xx_irq_default: aw882xx_irq_default {
mux {
pins = "gpio59";
function = "gpio";
};
config {
pins = "gpio59";
drive-strength = <2>; /* 2 MA */
bias-pull-up;
};
};
aw882xx_recv_irq_default: aw882xx_recv_irq_default {
mux {
pins = "gpio100";
function = "gpio";
};
config {
pins = "gpio100";
drive-strength = <2>; /* 2 MA */
bias-pull-up;
};
};
haptic_irq_default: haptic_irq_default {
mux {
pins = "gpio87";
function = "gpio";
};
config {
pins = "gpio87";
drive-strength = <2>; /* 2 MA */
bias-pull-up;
};
};
haptic_rst_high: haptic_rst_high {
mux {
pins = "gpio102";
function = "gpio";
};
config {
pins = "gpio102";
drive-strength = <2>; /* 2 MA */
output-high;
};
};
haptic_rst_low: haptic_rst_low {
mux {
pins = "gpio102";
function = "gpio";
};
config {
pins = "gpio102";
drive-strength = <2>; /* 2 MA */
output-low;
};
};
earpiece_dsense_high: earpiece_dsense_high {
mux {
pins = "gpio58";
function = "gpio";
};
config {
pins = "gpio58";
drive-strength = <2>; /* 2 MA */
output-high;
};
};
earpiece_dsense_low: earpiece_dsense_low {
mux {
pins = "gpio58";
function = "gpio";
};
config {
pins = "gpio58";
drive-strength = <2>; /* 2 MA */
output-low;
};
};
};
&cdc_dmic01_gpios {
status = "disabled";
};
&cdc_dmic23_gpios {
status = "disabled";
};
&rx_swr_gpios {
status = "okay";
};
&dai_mi2s0_rx {
status = "okay";
qcom,msm-mi2s-lines = <1>;
};
&dai_mi2s0_tx {
status = "okay";
qcom,msm-mi2s-lines = <0>;
};
&dai_mi2s1_rx {
status = "okay";
qcom,msm-mi2s-lines = <1>;
};
&dai_mi2s1_tx {
status = "okay";
qcom,msm-mi2s-lines = <2>;
};
&dai_mi2s2_rx {
status = "okay";
qcom,msm-mi2s-lines = <1>;
};
&dai_mi2s2_tx {
status = "okay";
qcom,msm-mi2s-lines = <0>;
};
&dai_mi2s3_rx {
status = "okay";
qcom,msm-mi2s-lines = <1>;
};
&dai_mi2s3_tx {
status = "okay";
qcom,msm-mi2s-lines = <0>;
};
&q6core {
cdc_sec_mi2s_gpios: cdc_sec_mi2s_gpios {
compatible = "qcom,msm-cdc-pinctrl";
pinctrl-names = "aud_active", "aud_sleep";
pinctrl-0 = <&lpi_i2s2_sck_active &lpi_i2s2_ws_active
&lpi_i2s2_sd0_active &lpi_i2s2_sd1_active>;
pinctrl-1 = <&lpi_i2s2_sck_sleep &lpi_i2s2_ws_sleep
&lpi_i2s2_sd0_sleep &lpi_i2s2_sd1_sleep>;
qcom,lpi-gpios;
#gpio-cells = <0>;
};
};
&bolero {
qcom,num-macros = <3>;
qcom,bolero-version = <5>;
#address-cells = <1>;
#size-cells = <1>;
bolero-clk-rsc-mngr {
compatible = "qcom,bolero-clk-rsc-mngr";
qcom,fs-gen-sequence = <0x3000 0x1 0x1>, <0x3004 0x3 0x3>,
<0x3004 0x3 0x1>, <0x3080 0x2 0x2>;
qcom,rx_mclk_mode_muxsel = <0x0A5640D8>;
qcom,va_mclk_mode_muxsel = <0x0A7A0000>;
clock-names = "tx_core_clk", "tx_npl_clk", "rx_core_clk", "rx_npl_clk",
"va_core_clk", "va_npl_clk";
clocks = <&clock_audio_tx_1 0>, <&clock_audio_tx_2 0>,
<&clock_audio_rx_1 0>, <&clock_audio_rx_2 0>,
<&clock_audio_va_1 0>, <&clock_audio_va_2 0>;
};
va_macro: va-macro@A730000 {
compatible = "qcom,va-macro";
reg = <0xA730000 0x0>;
clock-names = "lpass_audio_hw_vote";
clocks = <&lpass_audio_hw_vote 0>;
qcom,va-dmic-sample-rate = <600000>;
qcom,default-clk-id = <TX_CORE_CLK>;
qcom,is-used-swr-gpio = <1>;
qcom,va-swr-gpios = <&va_swr_gpios>;
swr0: va_swr_master {
compatible = "qcom,swr-mstr";
qcom,is_wcd937x = <1>;
#address-cells = <2>;
#size-cells = <0>;
clock-names = "lpass_audio_hw_vote";
clocks = <&lpass_audio_hw_vote 0>;
qcom,swr_master_id = <3>;
qcom,swrm-hctl-reg = <0x0A7EC100>;
qcom,mipi-sdw-block-packing-mode = <1>;
swrm-io-base = <0xA740000 0x0>;
interrupts-extended =
<&wakegic 5 IRQ_TYPE_LEVEL_HIGH>,
<&tlmm 128 GPIO_ACTIVE_HIGH>;
interrupt-names = "swr_master_irq", "swr_wake_irq";
qcom,swr-num-ports = <3>;
qcom,swr-port-mapping = <1 SWRM_TX1_CH1 0x1>,
<1 SWRM_TX1_CH2 0x2>,
<1 SWRM_TX1_CH3 0x4>, <1 SWRM_TX1_CH4 0x8>,
<2 SWRM_TX2_CH1 0x1>, <2 SWRM_TX2_CH2 0x2>,
<2 SWRM_TX2_CH3 0x4>, <2 SWRM_TX2_CH4 0x8>,
<3 SWRM_TX3_CH1 0x1>, <3 SWRM_TX3_CH2 0x2>,
<3 SWRM_TX3_CH3 0x4>, <3 SWRM_TX3_CH4 0x8>;
qcom,swr-num-dev = <1>;
qcom,swr-phy-dev-addr = <0x0A 0x01170223>,
<0x08 0x58350223>,
<0x08 0x58350222>,
<0x08 0x58350221>,
<0x08 0x58350220>;
qcom,swr-clock-stop-mode0 = <1>;
qcom,swr-mstr-irq-wakeup-capable = <1>;
qcom,is-always-on = <1>;
wcd937x_tx_slave: wcd937x-tx-slave {
compatible = "qcom,wcd937x-slave";
reg = <0x0A 0x01170223>;
};
};
};
tx_macro: tx-macro@A620000 {
compatible = "qcom,tx-macro";
reg = <0xA620000 0x0>;
clock-names = "tx_core_clk", "tx_npl_clk";
clocks = <&clock_audio_tx_1 0>,
<&clock_audio_tx_2 0>;
qcom,tx-dmic-sample-rate = <2400000>;
qcom,is-used-swr-gpio = <0>;
};
rx_macro: rx-macro@A600000 {
compatible = "qcom,rx-macro";
reg = <0xA600000 0x0>;
clock-names = "rx_core_clk", "rx_npl_clk";
clocks = <&clock_audio_rx_1 0>,
<&clock_audio_rx_2 0>;
qcom,rx-swr-gpios = <&rx_swr_gpios>;
qcom,rx_mclk_mode_muxsel = <0xA5640D8>;
qcom,rx-bcl-pmic-params = /bits/ 8 <0x00 0x03 0x48>;
qcom,default-clk-id = <TX_CORE_CLK>;
swr1: rx_swr_master {
compatible = "qcom,swr-mstr";
#address-cells = <2>;
#size-cells = <0>;
clock-names = "lpass_audio_hw_vote";
clocks = <&lpass_audio_hw_vote 0>;
qcom,swr_master_id = <2>;
qcom,swrm-hctl-reg = <0x0A6A9098>;
qcom,mipi-sdw-block-packing-mode = <1>;
swrm-io-base = <0xA610000 0x0>;
interrupts = <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "swr_master_irq";
qcom,swr-num-ports = <6>;
qcom,swr-port-mapping = <1 HPH_L 0x1>,
<1 HPH_R 0x2>, <2 CLSH 0x1>,
<3 COMP_L 0x1>, <3 COMP_R 0x2>,
<4 LO 0x1>, <5 DSD_L 0x1>,
<5 DSD_R 0x2>, <6 PCM_OUT1 0x01>;
qcom,swr-num-dev = <1>;
qcom,swr-clock-stop-mode0 = <1>;
wcd937x_rx_slave: wcd937x-rx-slave {
compatible = "qcom,wcd937x-slave";
reg = <0x0A 0x01170224>;
};
};
};
wcd937x_codec: wcd937x-codec {
compatible = "qcom,wcd937x-codec";
qcom,split-codec = <1>;
qcom,rx_swr_ch_map = <0 HPH_L 0x1 0 HPH_L>,
<0 HPH_R 0x2 0 HPH_R>, <1 CLSH 0x1 0 CLSH>,
<2 COMP_L 0x1 0 COMP_L>, <2 COMP_R 0x2 0 COMP_R>,
<3 LO 0x1 0 LO>, <4 DSD_L 0x1 0 DSD_L>,
<4 DSD_R 0x2 0 DSD_R>;
qcom,tx_swr_ch_map = <0 ADC1 0x1 0 SWRM_TX1_CH1>,
<1 ADC2 0x1 0 SWRM_TX2_CH1>,
<1 ADC3 0x2 0 SWRM_TX2_CH2>,
<2 DMIC0 0x1 0 SWRM_TX1_CH4>,
<2 DMIC1 0x2 0 SWRM_TX2_CH1>,
<2 MBHC 0x4 0 SWRM_TX2_CH2>,
<3 DMIC2 0x1 0 SWRM_TX2_CH3>,
<3 DMIC3 0x2 0 SWRM_TX2_CH4>,
<3 DMIC4 0x4 0 SWRM_TX3_CH1>,
<3 DMIC5 0x8 0 SWRM_TX3_CH2>;
qcom,wcd-rst-gpio-node = <&wcd937x_rst_gpio>;
qcom,rx-slave = <&wcd937x_rx_slave>;
qcom,tx-slave = <&wcd937x_tx_slave>;
cdc-vdd-rxtx-supply = <&L11A>;
qcom,cdc-vdd-rxtx-voltage = <1800000 1800000>;
qcom,cdc-vdd-rxtx-current = <30000>;
cdc-vddpx-supply = <&L11A>;
qcom,cdc-vddpx-voltage = <1800000 1800000>;
qcom,cdc-vddpx-current = <30000>;
cdc-vdd-buck-supply = <&L14A>;
qcom,cdc-vdd-buck-voltage = <1800000 1800000>;
qcom,cdc-vdd-buck-current = <650000>;
cdc-vdd-mic-bias-supply = <&BOB>;
qcom,cdc-vdd-mic-bias-voltage = <3296000 3296000>;
qcom,cdc-vdd-mic-bias-current = <45000>;
qcom,cdc-micbias1-mv = <2800>;
qcom,cdc-micbias2-mv = <2800>;
qcom,cdc-micbias3-mv = <2800>;
qcom,cdc-static-supplies = "cdc-vdd-rxtx",
"cdc-vddpx",
"cdc-vdd-mic-bias";
qcom,cdc-on-demand-supplies = "cdc-vdd-buck";
};
};
&qupv3_se10_i2c {
status = "ok"
fsa4480: fsa4480@42 {
compatible = "qcom,fsa4480-i2c";
reg = <0x42>;
io-channels = <&mmi_discrete_charger PSY_IIO_TYPEC_ACCESSORY_MODE>;
io-channel-names = "typec_accessory_mode";
qcom,use-power-supply = <1>;
};
};
&holi_snd {
qcom,model = "holi-9370_aw882xx-snd-card";
qcom,msm-mi2s-master = <1>, <1>, <1>, <1>;
qcom,wcn-btfm = <1>;
qcom,tdm-max-slots = <4>;
qcom,sec-mi2s-gpios = <&cdc_sec_mi2s_gpios>;
qcom,audio-routing =
"AMIC1", "Analog Mic1",
"Analog Mic1", "MIC BIAS1",
"AMIC2", "Analog Mic2",
"Analog Mic2", "MIC BIAS2",
"AMIC3", "Analog Mic3",
"Analog Mic3", "MIC BIAS3",
"Analog Mic4", "MIC BIAS3",
"TX DMIC0", "Digital Mic0",
"TX DMIC0", "MIC BIAS1",
"TX DMIC1", "Digital Mic1",
"TX DMIC1", "MIC BIAS1",
"TX DMIC2", "Digital Mic2",
"TX DMIC2", "MIC BIAS3",
"TX DMIC3", "Digital Mic3",
"TX DMIC3", "MIC BIAS3",
"IN1_HPHL", "HPHL_OUT",
"IN2_HPHR", "HPHR_OUT",
"IN3_AUX", "AUX_OUT",
"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 SWR_INPUT", "WCD_TX_OUTPUT",
"VA SWR_INPUT", "VA_SWR_CLK",
"VA SWR_INPUT", "WCD_TX_OUTPUT",
"VA_AIF1 CAP", "VA_SWR_CLK",
"VA_AIF2 CAP", "VA_SWR_CLK",
"VA_AIF3 CAP", "VA_SWR_CLK",
"VA DMIC0", "Digital Mic0",
"VA DMIC1", "Digital Mic1",
"VA DMIC2", "Digital Mic2",
"VA DMIC3", "Digital Mic3",
"VA DMIC4", "Digital Mic4",
"VA DMIC5", "Digital Mic5",
"VA DMIC0", "VA MIC BIAS1",
"VA DMIC1", "VA MIC BIAS1",
"VA DMIC2", "VA MIC BIAS3",
"VA DMIC3", "VA MIC BIAS3";
asoc-codec = <&stub_codec>, <&bolero>,
<&wcd937x_codec>,<&aw882xxacf>,<&aw882xxacf_recv>;
asoc-codec-names = "msm-stub-codec.1", "bolero_codec",
"wcd937x_codec", "aw882xxacf_smartpa.2-0034", "aw882xxacf_smartpa.2-0035";
qcom,msm_audio_ssr_devs = <&audio_apr>, <&q6core>, <&lpi_tlmm>,
<&bolero>;
qcom,msm-mbhc-hs-mic-max-threshold-mv = <2700>;
qcom,msm-mbhc-hs-mic-min-threshold-mv = <116>;
qcom,msm-mbhc-usbc-audio-supported = <1>;
qcom,msm-mbhc-hphl-swh = <0>;
qcom,msm-mbhc-gnd-swh = <0>;
fsa4480-i2c-handle = <&fsa4480>;
earpiece-dsense-enable = <&tlmm 58 0>;
};
&qupv3_se10_i2c {
status = "ok"
aw882xxacf: aw882xxacf_smartpa@34 {
compatible = "awinic,aw882xxacf_smartpa";
reg = <0x34>;
pinctrl-names = "default";
pinctrl-0 = <&aw882xx_irq_default>;
irq-gpio = <&tlmm 59 0x2008>;
dc-flag = <0>;
sound-channel = <0>;
aw-tx-topo-id = <0x1000ff00>;
aw-rx-topo-id = <0x1000ff01>;
aw-rx-port-id = <0x1002>;
aw-tx-port-id = <0x1003>;
aw-re-min = <4000>;
aw-re-max = <30000>;
aw-cali-mode = "aw_attr";
skt-prof-mode = <1>;
status = "okay";
};
aw882xxacf_recv: aw882xxacf_recv_smartpa@35 {
compatible = "awinic,aw882xxacf_smartpa";
reg = <0x35>;
pinctrl-names = "default";
pinctrl-0 = <&aw882xx_recv_irq_default>;
irq-gpio = <&tlmm 100 0x2008>;
dc-flag = <0>;
sync-flag = <0>;
sound-channel = <1>;
aw-tx-topo-id = <0x1000ff00>;
aw-rx-topo-id = <0x1000ff01>;
aw-rx-port-id = <0x1002>;
aw-tx-port-id = <0x1003>;
aw-re-min = <4000>;
aw-re-max = <30000>;
aw-cali-mode = "aw_attr";
skt-prof-mode = <1>;
status = "okay";
};
awinic_haptic@5a{
compatible = "awinic,haptic_nv";
reg = <0x5a>;
aw862xx_i2c_addr = <0x58>;
reset-gpio = <&tlmm 102 0>;
irq-gpio = <&tlmm 87 0>;
aw8622x_vib_lk_f0_cali = < 0 >;
aw8622x_vib_mode = < 0 >; /* mode: RAM mode->0; CONT mode->1 */
aw8622x_vib_f0_pre = < 2350 >;
aw8622x_vib_f0_cali_percen = < 7 >;
aw8622x_vib_cont_drv1_lvl = < 0x7F >;
aw8622x_vib_cont_drv2_lvl = < 0x36 >;
aw8622x_vib_cont_brk_time = < 0x0C >;
aw8622x_vib_cont_tset = < 0x06 >;
aw8622x_vib_cont_bemf_set = < 0x02 >;
aw8622x_vib_cont_drv_width = < 0x48 >;
aw8622x_vib_cont_wait_num = < 0x06 >;
aw8622x_vib_cont_brk_gain = < 0x0A >;
aw8622x_vib_cont_drv1_time = < 0x04 >;
aw8622x_vib_cont_drv2_time = < 0x14 >;
aw8622x_vib_cont_track_margin = < 0x12 >;
aw8622x_vib_sine_array = < 0x05 0xB2 0xFF 0xEF >; /* SIN_H SIN_L COS_H COS_L*/
aw8622x_vib_d2s_gain = < 0x07 >;
aw8622x_vib_prctmode = < 0x2D 0x3E 0x3F >;
aw8622x_vib_trig_config = < 0 0 0 1 0 2 0
0 0 0 1 0 2 0
0 0 0 1 0 2 0 >;
aw8622x_vib_duration_time = < 30 65 105 >;
pinctrl-names = "default";
pinctrl-0 = <&haptic_irq_default>;
status = "okay";
};
};
&va_cdc_dma_0_tx {
qcom,msm-dai-is-island-supported = <1>;
};
&soc {
wcd937x_rst_gpio: msm_cdc_pinctrl@32 {
compatible = "qcom,msm-cdc-pinctrl";
pinctrl-names = "aud_active", "aud_sleep";
pinctrl-0 = <&wcd937x_reset_active>;
pinctrl-1 = <&wcd937x_reset_sleep>;
};
clock_audio_rx_1: rx_core_clk {
compatible = "qcom,audio-ref-clk";
qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_4>;
qcom,codec-lpass-ext-clk-freq = <22579200>;
qcom,codec-lpass-clk-id = <0x30E>;
#clock-cells = <1>;
};
clock_audio_rx_2: rx_npl_clk {
compatible = "qcom,audio-ref-clk";
qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_5>;
qcom,codec-lpass-ext-clk-freq = <22579200>;
qcom,codec-lpass-clk-id = <0x30F>;
#clock-cells = <1>;
};
clock_audio_tx_1: tx_core_clk {
compatible = "qcom,audio-ref-clk";
qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_6>;
qcom,codec-lpass-ext-clk-freq = <19200000>;
qcom,codec-lpass-clk-id = <0x30C>;
#clock-cells = <1>;
};
clock_audio_tx_2: tx_npl_clk {
compatible = "qcom,audio-ref-clk";
qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_7>;
qcom,codec-lpass-ext-clk-freq = <19200000>;
qcom,codec-lpass-clk-id = <0x30D>;
#clock-cells = <1>;
};
clock_audio_va_1: va_core_clk {
compatible = "qcom,audio-ref-clk";
qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK>;
qcom,codec-lpass-ext-clk-freq = <19200000>;
qcom,codec-lpass-clk-id = <0x30B>;
#clock-cells = <1>;
};
clock_audio_va_2: va_npl_clk {
compatible = "qcom,audio-ref-clk";
qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_8>;
qcom,codec-lpass-ext-clk-freq = <19200000>;
qcom,codec-lpass-clk-id = <0x310>;
#clock-cells = <1>;
};
};
&adsp_loader {
nvmem-cells = <&adsp_variant>;
nvmem-cell-names = "adsp_variant";
adsp-fw-names = "adsp2";
adsp-fw-bit-values = <0x1>;
};

View file

@ -0,0 +1,666 @@
/* 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 "blair-nopmi-moto-common-overlay.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
#include "holi-pmic-overlay-pm6125.dtsi"
#include "holi-thermal-overlay-pm6125.dtsi"
#include "display/holi-sde-display-mtp-pm6125.dtsi"
#include "display/blair-sde-display-mtp.dtsi"
#include "miami-fps-overlay.dtsi"
#include "miami-display.dtsi"
#include "miami-touchscreen.dtsi"
#include "camera/blair-camera-sensor-mot-miami-overlay.dtsi"
#include "miami-wl2864c.dtsi"
#include "tcpc_config.dtsi"
#include "discrete_charging_miami.dtsi"
#include "discrete-rt-pd-manger.dtsi"
#include "blair-miami-audio-overlay.dtsi"
#include "moto_therm_sys_temp.dtsi"
&wcd937x_codec {
cdc-vdd-rxtx-supply = <&L9A>;
cdc-vddpx-supply = <&L9A>;
qcom,cdc-static-supplies = "cdc-vdd-rxtx",
"cdc-vddpx";
/*
* Overriding cdc-vdd-mic-bias-supply to dummy value
* to avoid compilation errors as BOB is not definied
* for pm6125
*/
cdc-vdd-mic-bias-supply = <>;
};
&pm6125_l9 {
regulator-always-on; //SAR interrupt power
qcom,init-voltage = <1800000>;
};
&tlmm {
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 {
pins = "gpio48";
function = "gpio";
};
config {
pins = "gpio48";
drive-strength = <2>; /* 2 MA */
bias-disable;
};
};
nfc_enable_suspend: nfc_enable_suspend {
mux {
pins = "gpio48";
function = "gpio";
};
config {
pins = "gpio48";
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;
};
};
};
};
/* Dummy LDO reference */
&sdhc_1 {
status = "ok"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_on>;
pinctrl-1 = <&sdc1_off>;
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>;
};
&sdhc_2 {
status = "ok"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_on>;
pinctrl-1 = <&sdc2_off>;
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>;
cd-gpios = <&tlmm 94 GPIO_ACTIVE_HIGH>;
};
&ufsphy_mem {
compatible = "qcom,ufs-phy-qmp-v4-yupik";
vdda-phy-supply = <&L7A>;
vdda-pll-supply = <&L4A>;
vdda-phy-max-microamp = <85700>;
vdda-pll-max-microamp = <18300>;
status = "ok"
};
&ufshc_mem {
vdd-hba-supply = <&gcc_ufs_phy_gdsc>;
vdd-hba-fixed-regulator;
vcc-supply = <&L24A>;
vcc-voltage-level = <2950000 2960000>;
vcc-max-microamp = <800000>;
vccq2-supply = <&L11A>;
vccq2-max-microamp = <800000>;
vccq2-voltage-level = <1800000 1800000>;
qcom,vddp-ref-clk-supply = <&L4A>;
qcom,vddp-ref-clk-max-microamp = <100>;
status = "ok"
};
&sx937x {
status = "disabled";
};
&qupv3_se7_i2c_sleep {
config {
/delete-property/ bias-disable;
bias-pull-up;
input-enable;
};
};
&qupv3_se7_i2c {
status = "ok"
#address-cells = <1>;
#size-cells = <0>;
st21nfc@8 {
status = "disabled";
};
nq@28 {
compatible = "qcom,sn-nci";
mmi,status = "/chosen", "mmi,nfc", "nxp"
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>;
};
};
&qupv3_se2_i2c {
status = "ok"
sx937x@2c {
compatible = "Semtech,sx937x";
reg = <0x2c>;
pinctrl-names = "default","sleep";
pinctrl-0 = <&sar_int_default>;
pinctrl-1 = <&sar_int_sleep>;
interrupt-parent = <&tlmm>;
interrupts = <24 0x02>;
interrupt-names = "sx937x_irq";
Semtech,nirq-gpio = <&tlmm 24 0x02>;
//please fix me
cap_vdd-supply = <&pm6125_l9>;
/*use PH4/5/6 as the reference sensor
set it to 0xff if the ref-phases-x is not used*/
Semtech,ref-phases-a = <5>;
Semtech,ref-phases-b = <6>;
Semtech,ref-phases-c = <0xff>;
Semtech,button-flag = <0x1f>;
Semtech,reg-num = <59>;
Semtech,reg-init = <
0x8024 0x7F00
0x4004 0x70
0x4008 0x8
0x8020 0x32
0x8028 0x666
0x8034 0x466
0x8040 0x466
0x804C 0x466
0x8058 0x466
0x8064 0x466
0x8070 0x466
0x807C 0x85E
0x8030 0xFFF9FD
0x803C 0xBFF9FF
0x8048 0xF7F9FF
0x8054 0xFEF9FF
0x8060 0xFFD9FF
0x806C 0xFFF9EF
0x8078 0xFFF97F
0x8084 0xFFF9FF
0x8098 0x6039
0x80B8 0x6531
0x80D8 0x1A1A
0x80F8 0x4C4C
0x8118 0x1919
0x8138 0xFF
0x8158 0xFF
0x8178 0x5A40
0x80A0 0x141400E1
0x80C0 0xE0E00E2
0x80E0 0x1C1C00E2
0x8100 0x30300FA
0x8120 0x212100E2
0x8188 0x8000015
0x818C 0x8000016
0x8090 0x50DE5000
0x80B0 0x48D45000
0x80D0 0x3CCA5000
0x80F0 0x3CD35000
0x8110 0x28DD5000
0x8130 0x54AC5000
0x8150 0x54AC5000
0x8170 0x54AC5000
0x8088 0x300000
0x80A8 0x300000
0x80C8 0x300000
0x80E8 0x300000
0x8108 0x300000
0x8128 0x3600000
0x8148 0x3600000
0x8168 0x300000
0x808C 0x60200030
0x80AC 0x60200030
0x80CC 0x60200030
0x80EC 0x60200030
0x810C 0x60200030
0x812C 0x60200030
0x814C 0x60200030
0x816C 0x60200030
>;
status = "ok"
};
};
&pmk8350_vadc {
pinctrl-names = "default";
pinctrl-0 = <&pmk8350_gpio3_adc_default>;
pmk8350_batt_therm {
reg = <PMK8350_ADC7_AMUX_THM2_100K_PU>;
label = "pmk8350_batt_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pmk8350_qtm_e_therm {
reg = <PMK8350_ADC7_AMUX_THM4_100K_PU>;
label = "pmk8350_qtm_e_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pmk8350_gpios {
pmk8350_gpio1_adc {
pmk8350_gpio1_adc_default: pmk8350_gpio1_adc_default {
pins = "gpio1"; /* GPIO 1 */
function = "normal"; /* normal */
bias-high-impedance; /* DISABLE GPIO1 for ADC*/
};
};
pmk8350_gpio3_adc {
pmk8350_gpio3_adc_default: pmk8350_gpio3_adc_default {
pins = "gpio3"; /* GPIO 3 */
function = "normal"; /* normal */
bias-high-impedance; /* DISABLE GPIO3 for ADC*/
};
};
};
&pmk8350_adc_tm {
io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>,
<&pmk8350_vadc PMK8350_ADC7_AMUX_THM2_100K_PU>,
<&pmk8350_vadc PMK8350_ADC7_AMUX_THM4_100K_PU>;
batt_therm {
reg = <PMK8350_ADC7_AMUX_THM2_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
qtm_e_therm {
reg = <PMK8350_ADC7_AMUX_THM4_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
&pmr735a_gpios {
camera_therm {
camera_therm_default:camera_therm_default {
pins = "gpio3";
bias-high-impedance;
};
};
};
&pmr735a_vadc {
status = "ok"
pinctrl-names = "default";
pinctrl-0 = <&camera_therm_default>;
pmr735a_camera_therm {
reg = <ADC7_GPIO3_100K_PU>;
label = "pmr735a_camera_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pmr735a_4{
pmr735a_adc_tm_iio: adc_tm@3400 {
compatible = "qcom,adc-tm5-iio";
reg = <0x3400>;
#thermal-sensor-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
io-channels = <&pmr735a_vadc ADC7_GPIO3_100K_PU>;
pmr735a_camera_therm {
reg = <ADC7_GPIO3_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
};
&thermal_zones {
sdm-skin-therm-usr {
status = "disabled";
};
rear-cam-therm-usr {
status = "disabled";
};
camera-therm-usr {
status = "disabled";
};
quiet-therm-usr {
status = "disabled";
};
pa-therm0-usr {
status = "disabled";
};
pa-therm1-usr {
status = "disabled";
};
xo-therm-usr {
status = "disabled";
};
msm_therm {
polling-delay-passive = <3000>;
polling-delay = <5000>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm_iio ADC5_GPIO1_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
chg_therm {
polling-delay-passive = <3000>;
polling-delay = <5000>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm_iio ADC5_GPIO2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
pa_therm2 {
polling-delay-passive = <5000>;
polling-delay = <20000>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_GPIO4_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
pa_therm1 {
polling-delay-passive = <5000>;
polling-delay = <20000>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_AMUX_THM1_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 = <&pm6125_adc_tm ADC5_AMUX_THM2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
cam_flash_therm {
polling-delay-passive = <3000>;
polling-delay = <5000>;
thermal-governor = "user_space";
thermal-sensors = <&pmr735a_adc_tm_iio ADC7_GPIO3_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";
};
};
};
chg_pump_therm {
polling-delay-passive = <3000>;
polling-delay = <5000>;
thermal-governor = "user_space";
thermal-sensors = <&pmk8350_adc_tm PMK8350_ADC7_AMUX_THM4_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
};
&soc {
gpio_keys {
compatible = "gpio-keys";
label = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&key_vol_up_default>;
vol_up {
label = "volume_up";
gpios = <&pmr735a_gpios 1 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
linux,code = <KEY_VOLUMEUP>;
gpio-key,wakeup;
debounce-interval = <15>;
linux,can-disable;
};
};
};
&tlmm {
ps_vled_en_default: ps_vled_en_default {
mux {
pins = "gpio50";
function = "gpio";
};
config {
pins = "gpio50";
bias-pull-up; /* NO PULL */
drive-strength = <2>; /* 2 MA */
output-high;
};
};
};
&soc {
ps_vled: gpio-regulator@0 {
compatible = "regulator-fixed";
regulator-name = "ps_vled";
gpio = <&tlmm 50 0>;
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-enable-ramp-delay = <233>;
enable-active-high;
regulator-boot-on;
regulator-always-on;
pinctrl-names = "default";
pinctrl-0 = <&ps_vled_en_default>;
};
};
&qupv3_se10_i2c_sleep {
config {
/delete-property/ bias-disable;
bias-pull-up;
input-enable;
};
};
&qupv3_se10_i2c {
status = "ok"
aw2033@45 {
compatible = "awinic,aw2033_led";
reg = <0x45>;
aw2033,red {
aw2033,name = "red_moto";
aw2033,id = <0>;
aw2033,imax = <1>;
aw2033,led-current = <15>;
aw2033,max-brightness = <255>;
aw2033,rise-time-ms = <6>;
aw2033,hold-time-ms = <0>;
aw2033,fall-time-ms = <6>;
aw2033,off-time-ms = <4>;
};
aw2033,charging {
aw2033,name = "charging";
aw2033,id = <0>;
aw2033,imax = <1>;
aw2033,led-current = <15>;
aw2033,max-brightness = <255>;
aw2033,rise-time-ms = <6>;
aw2033,hold-time-ms = <0>;
aw2033,fall-time-ms = <6>;
aw2033,off-time-ms = <4>;
};
};
};

View file

@ -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 "blair-miami-common-overlay.dtsi"
/ {
model = "miami";
compatible = "qcom,blair-miami", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>;
qcom,board-id = <0x4D 0xB100>;
};

View file

@ -0,0 +1,25 @@
/* 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 "blair-miami-common-overlay.dtsi"
#include "camera/blair-camera-sensor-mot-miami-overlay.dtsi"
/ {
model = "miami";
compatible = "qcom,blair-miami", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>;
qcom,board-id = <0x4D 0xB200>;
};

View file

@ -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 "blair-miami-common-overlay.dtsi"
/ {
model = "miami";
compatible = "qcom,blair-miami", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>;
qcom,board-id = <0x4A 0xA100>;
};

View file

@ -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 "blair-miami-common-overlay.dtsi"
/ {
model = "miami";
compatible = "qcom,blair-miami", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>;
qcom,board-id = <0x4D 0xA200>;
};

View file

@ -0,0 +1,500 @@
/* 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-audio-milanf-overlay.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
#include "holi-pmic-overlay-pm6125.dtsi"
#include "holi-thermal-overlay-pm6125.dtsi"
#include "display/holi-sde-display-mtp-pm6125.dtsi"
#include "display/blair-sde-display-mtp.dtsi"
#include "milanf-fps-overlay.dtsi"
#include "milanf-display.dtsi"
#include "milanf-touchscreen.dtsi"
#include "milanf-sensors.dtsi"
#include "camera/blair-camera-sensor-mot-milanf-overlay.dtsi"
#include "milanf-wl286xx.dtsi"
#include "moto_therm_sys_temp.dtsi"
&wcd937x_codec {
cdc-vdd-rxtx-supply = <&L9A>;
cdc-vddpx-supply = <&L9A>;
qcom,cdc-static-supplies = "cdc-vdd-rxtx",
"cdc-vddpx";
/*
* Overriding cdc-vdd-mic-bias-supply to dummy value
* to avoid compilation errors as BOB is not definied
* for pm6125
*/
cdc-vdd-mic-bias-supply = <>;
};
&tlmm {
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 {
pins = "gpio6";
function = "gpio";
};
config {
pins = "gpio6";
drive-strength = <2>; /* 2 MA */
bias-disable;
};
};
nfc_enable_suspend: nfc_enable_suspend {
mux {
pins = "gpio6";
function = "gpio";
};
config {
pins = "gpio6";
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;
};
};
};
};
/* Dummy LDO reference */
&sdhc_1 {
status = "ok"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_on>;
pinctrl-1 = <&sdc1_off>;
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>;
};
&sdhc_2 {
status = "ok"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_on>;
pinctrl-1 = <&sdc2_off>;
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>;
cd-gpios = <&tlmm 94 GPIO_ACTIVE_HIGH>;
};
&ufsphy_mem {
compatible = "qcom,ufs-phy-qmp-v4-yupik";
vdda-phy-supply = <&L7A>;
vdda-pll-supply = <&L4A>;
vdda-phy-max-microamp = <85700>;
vdda-pll-max-microamp = <18300>;
status = "ok"
};
&ufshc_mem {
vdd-hba-supply = <&gcc_ufs_phy_gdsc>;
vdd-hba-fixed-regulator;
vcc-supply = <&L24A>;
vcc-voltage-level = <2950000 2960000>;
vcc-max-microamp = <800000>;
vccq2-supply = <&L11A>;
vccq2-max-microamp = <800000>;
vccq2-voltage-level = <1800000 1800000>;
qcom,vddp-ref-clk-supply = <&L4A>;
qcom,vddp-ref-clk-max-microamp = <100>;
status = "ok"
};
&pmk8350_vadc {
pmk8350_qtm_n_therm {
reg = <PMK8350_ADC7_AMUX_THM2_100K_PU>;
label = "pmk8350_qtm_n_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pmk8350_qtm_e_therm {
reg = <PMK8350_ADC7_AMUX_THM4_100K_PU>;
label = "pmk8350_qtm_e_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pmk8350_adc_tm {
io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>,
<&pmk8350_vadc PMK8350_ADC7_AMUX_THM2_100K_PU>,
<&pmk8350_vadc PMK8350_ADC7_AMUX_THM4_100K_PU>;
qtm_n__therm {
reg = <PMK8350_ADC7_AMUX_THM2_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
qtm_e_therm {
reg = <PMK8350_ADC7_AMUX_THM4_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
&pmr735a_gpios {
camera_therm {
camera_therm_default:camera_therm_default {
pins = "gpio3";
bias-high-impedance;
};
};
};
&pmr735a_vadc {
status = "ok"
pinctrl-names = "default";
pinctrl-0 = <&camera_therm_default>;
pmr735a_camera_therm {
reg = <ADC7_GPIO3_100K_PU>;
label = "pmr735a_camera_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pmr735a_4{
pmr735a_adc_tm_iio: adc_tm@3400 {
compatible = "qcom,adc-tm5-iio";
reg = <0x3400>;
#thermal-sensor-cells = <1>;
#address-cells = <1>;
#size-cells = <0>;
io-channels = <&pmr735a_vadc ADC7_GPIO3_100K_PU>;
pmr735a_camera_therm {
reg = <ADC7_GPIO3_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
};
&qupv3_se7_i2c {
status = "ok"
#address-cells = <1>;
#size-cells = <0>;
st21nfc@8 {
compatible = "st,st21nfc";
mmi,status = "/chosen", "mmi,nfc", "st"
status = "ok"
reg = <0x08>;
st,irq_gpio = <&tlmm 9 0x00>;
st,reset_gpio = <&tlmm 6 0x00>;
st,clkreq_gpio = <&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>;
};
};
&thermal_zones {
sdm-skin-therm-usr {
status = "disabled";
};
rear-cam-therm-usr {
status = "disabled";
};
camera-therm-usr {
status = "disabled";
};
quiet-therm-usr {
status = "disabled";
};
pa-therm0-usr {
status = "disabled";
};
pa-therm1-usr {
status = "disabled";
};
xo-therm-usr {
status = "disabled";
};
msm_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm_iio ADC5_GPIO1_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
chg_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm_iio ADC5_GPIO2_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 = <&pmr735a_adc_tm_iio ADC7_GPIO3_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
pa_therm2 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_GPIO4_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 = <&pm6125_adc_tm ADC5_AMUX_THM1_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
quiet_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_AMUX_THM2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
active-config1 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
xo_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
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";
};
};
};
qtm_n_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pmk8350_adc_tm PMK8350_ADC7_AMUX_THM2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
qtm_e_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pmk8350_adc_tm PMK8350_ADC7_AMUX_THM4_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
};
&soc {
gpio_keys {
compatible = "gpio-keys";
label = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&key_vol_up_default>;
vol_up {
label = "volume_up";
gpios = <&pmr735a_gpios 1 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
linux,code = <KEY_VOLUMEUP>;
gpio-key,wakeup;
debounce-interval = <15>;
linux,can-disable;
};
};
ldo_vib {
compatible = "moto,vibrator-ldo";
moto,vib-ldo-gpio = <&tlmm 100 0x0>;
status = "ok"
};
};
/* Primary USB port related QUSB2 PHY */
&usb2_phy0 {
qcom,param-override-seq =
<0xa6 0x6c /* override_x0 */
0x25 0x70 /* override_x1 */
0x16 0x74>; /* override x2 */
};

View file

@ -0,0 +1,203 @@
/* 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 "blair-nopmi-milanf-common-overlay.dtsi"
/ {
model = "milanf";
compatible = "qcom,blair-milanf", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>;
qcom,board-id = <0x49 0xB100>;
};
&rt9426a {
interrupts-extended = <&tlmm 38 IRQ_TYPE_LEVEL_LOW>;
};
&rt9426a_alert {
mux {
pins = "gpio38";
function = "gpio";
};
config {
pins = "gpio38";
drive-strength = <2>;
bias-pull-up;
};
};
&tlmm {
ets_vcc_high {
mux {
pins = "gpio6";
};
config {
pins = "gpio6";
};
};
ets_vcc_low {
mux {
pins = "gpio6";
};
config {
pins = "gpio6";
};
};
nfc_enable_active {
mux {
pins = "gpio48";
};
config {
pins = "gpio48";
};
};
nfc_enable_suspend {
mux {
pins = "gpio48";
};
config {
pins = "gpio48";
};
};
sgm7220_en_n: sgm7220_en_n {
mux {
pins = "gpio58";
function = "gpio";
};
config {
pins = "gpio58";
drive-strength = <2>;
bias-pull-down;
input-enable;
};
};
};
&sgm7220 {
pinctrl-names = "default";
pinctrl-0 = <&sgm7220_int_n &sgm7220_en_n>;
};
&et528 {
egistec,gpio_vcc_en = <&tlmm 6 0x0>;
};
&silead {
avdd-gpios = <&tlmm 6 0x0>;
};
&qupv3_se7_i2c {
st21nfc@8 {
status = "diabled"
};
nq@28 {
compatible = "qcom,sn-nci";
mmi,status = "/chosen", "mmi,nfc", "nxp"
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>;
};
};
&sx937x {
Semtech,ref-phases-a = <5>;
Semtech,ref-phases-b = <6>;
Semtech,ref-phases-c = <0xff>;
Semtech,button-flag = <0x1f>;
Semtech,reg-num = <58>;
Semtech,reg-init = <
0x8024 0x7F00
0x4004 0x70
0x4008 0x8
0x8020 0x32
0x8028 0x886 /*AFE_PARAM_PH0*/
0x8034 0x886 /*AFE_PARAM_PH1*/
0x8040 0x886 /*AFE_PARAM_PH2*/
0x804C 0x8BE /*AFE_PARAM_PH3*/
0x8058 0x866 /*AFE_PARAM_PH4*/
0x8064 0x86E /*AFE_PARAM_PH5*/
0x8070 0x86E /*AFE_PARAM_PH6*/
0x807C 0x85E /*AFE_PARAM_PH7*/
/*set CS3 to hiz, because it used as IRQ pin*/
0x8030 0xFFF9FD /*REG_AFEPH_PH0, CS0, ANT1, Bottom center*/
0x803C 0xFFD9FF /*REG_AFEPH_PH1, CS4, ANT2, Top right*/
0x8048 0xFEF9FF /*REG_AFEPH_PH2, CS5, ANT7, Bottom Right*/
0x8054 0xF7F9FF /*REG_AFEPH_PH3, CS6, ANT4, Top Right*/
0x8060 0xFFF97F /*REG_AFEPH_PH4, CS2, ANT5, Top center*/
0x806C 0xFFF9EF /*REG_AFEPH_PH5, CS1, ANT1/7_REF, Bottom_Ref*/
0x8078 0xBFF9FF /*REG_AFEPH_PH6, CS7, ANT4 REF, Middle*/
0x8084 0xFFF9FF /*REG_AFEPH_PH7, NOT USE*/
0x8098 0x7A36
0x80B8 0x7636
0x80D8 0x5959
0x80F8 0x3939
0x8118 0x2C2C
0x8138 0xFF
0x8158 0xFF
0x8178 0x5A40
0x80A0 0x1E1E00E1
0x80C0 0x404000E2
0x80E0 0x222200E1
0x8100 0x161600E2
0x8188 0x8000015
0x818C 0x8000016
0x8090 0x41DB3000
0x80B0 0x7FB33000
0x80D0 0x40CD3000
0x80F0 0x68BD3000
0x8110 0x30DD3000
0x8130 0x2AD67000
0x8150 0x2AD67000
0x8170 0x2AD67000
0x8088 0x300005
0x80A8 0x300005
0x80C8 0x300005
0x80E8 0x300005
0x8108 0x300005
0x8128 0x3600000
0x8148 0x3600000
0x8168 0x300000
0x808C 0x60200060
0x80AC 0x60200060
0x80CC 0x60200060
0x80EC 0x60200060
0x810C 0x60200060
0x812C 0x60200018
0x814C 0x60200018
0x816C 0x60200018
>;
status = "ok"
};

View file

@ -0,0 +1,133 @@
/* 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 "blair-nopmi-milanf-common-overlay.dtsi"
/ {
model = "milanf";
compatible = "qcom,blair-milanf", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>;
qcom,board-id = <0x49 0xB200>;
};
&rt9426a {
interrupts-extended = <&tlmm 38 IRQ_TYPE_LEVEL_LOW>;
};
&rt9426a_alert {
mux {
pins = "gpio38";
function = "gpio";
};
config {
pins = "gpio38";
drive-strength = <2>;
bias-pull-up;
};
};
&tlmm {
ets_vcc_high {
mux {
pins = "gpio6";
};
config {
pins = "gpio6";
};
};
ets_vcc_low {
mux {
pins = "gpio6";
};
config {
pins = "gpio6";
};
};
nfc_enable_active {
mux {
pins = "gpio48";
};
config {
pins = "gpio48";
};
};
nfc_enable_suspend {
mux {
pins = "gpio48";
};
config {
pins = "gpio48";
};
};
sgm7220_en_n: sgm7220_en_n {
mux {
pins = "gpio58";
function = "gpio";
};
config {
pins = "gpio58";
drive-strength = <2>;
bias-pull-down;
input-enable;
};
};
};
&sgm7220 {
pinctrl-names = "default";
pinctrl-0 = <&sgm7220_int_n &sgm7220_en_n>;
};
&et528 {
egistec,gpio_vcc_en = <&tlmm 6 0x0>;
};
&silead {
avdd-gpios = <&tlmm 6 0x0>;
};
&qupv3_se7_i2c {
st21nfc@8 {
status = "diabled"
};
nq@28 {
compatible = "qcom,sn-nci";
mmi,status = "/chosen", "mmi,nfc", "nxp"
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>;
};
};

View file

@ -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 "blair-pm6125-milanf-common-overlay.dtsi"
/ {
model = "milanf";
compatible = "qcom,blair-milanf", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>;
qcom,board-id = <0x49 0xA100>;
};

View file

@ -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 "blair-nopmi-milanf-common-overlay.dtsi"
/ {
model = "milanf";
compatible = "qcom,blair-milanf", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>;
qcom,board-id = <0x49 0xA200>;
};

View file

@ -0,0 +1,45 @@
/* Copyright (c) 2023, 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 "blair.dtsi"
/ {
qcom,board-id = <0 0>;
channel-id-map = "";
/*
* Some nodes need labels assigned to appear in __symbols__
*/
chosen: chosen { };
aliases: aliases { };
reserved_memory: reserved-memory { };
mot_batterydata: qcom,battery-data { };
utags: utags { };
hw: hw { };
};
&reserved_memory {
/delete-node/ ramoops;
};
&tlmm {
/delete-node/ nfc;
};
&firmware {
/delete-node/ android;
};
&mdss_dsi_phy0 {
/delete-property/ qcom,dsi-pll-ssc-en;
};

View file

@ -0,0 +1,41 @@
/* 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/;
#include "blair.dtsi"
/ {
qcom,board-id = <0 0>;
channel-id-map = "";
/*
* Some nodes need labels assigned to appear in __symbols__
*/
chosen: chosen { };
aliases: aliases { };
reserved_memory: reserved-memory { };
mot_batterydata: qcom,battery-data { };
utags: utags { };
hw: hw { };
};
&reserved_memory {
/delete-node/ ramoops;
};
&tlmm {
/delete-node/ nfc;
};
&firmware {
/delete-node/ android;
};

View file

@ -0,0 +1,45 @@
/* Copyright (c) 2023, 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 "blair.dtsi"
/ {
qcom,board-id = <0 0>;
channel-id-map = "";
/*
* Some nodes need labels assigned to appear in __symbols__
*/
chosen: chosen { };
aliases: aliases { };
reserved_memory: reserved-memory { };
mot_batterydata: qcom,battery-data { };
utags: utags { };
hw: hw { };
};
&reserved_memory {
/delete-node/ ramoops;
};
&tlmm {
/delete-node/ nfc;
};
&firmware {
/delete-node/ android;
};
&mdss_dsi_phy0 {
/delete-property/ qcom,dsi-pll-ssc-en;
};

View file

@ -0,0 +1,45 @@
/* Copyright (c) 2023, 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 "blair.dtsi"
/ {
qcom,board-id = <0 0>;
channel-id-map = "";
/*
* Some nodes need labels assigned to appear in __symbols__
*/
chosen: chosen { };
aliases: aliases { };
reserved_memory: reserved-memory { };
mot_batterydata: qcom,battery-data { };
utags: utags { };
hw: hw { };
};
&reserved_memory {
/delete-node/ ramoops;
};
&tlmm {
/delete-node/ nfc;
};
&firmware {
/delete-node/ android;
};
&mdss_dsi_phy0 {
/delete-property/ qcom,dsi-pll-ssc-en;
};

View file

@ -0,0 +1,45 @@
/* Copyright (c) 2023, 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 "blair.dtsi"
/ {
qcom,board-id = <0 0>;
channel-id-map = "";
/*
* Some nodes need labels assigned to appear in __symbols__
*/
chosen: chosen { };
aliases: aliases { };
reserved_memory: reserved-memory { };
mot_batterydata: qcom,battery-data { };
utags: utags { };
hw: hw { };
};
&reserved_memory {
/delete-node/ ramoops;
};
&tlmm {
/delete-node/ nfc;
};
&firmware {
/delete-node/ android;
};
&mdss_dsi_phy0 {
/delete-property/ qcom,dsi-pll-ssc-en;
};

View file

@ -0,0 +1,45 @@
/* 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/;
#include "blair.dtsi"
/ {
qcom,board-id = <0 0>;
channel-id-map = "";
/*
* Some nodes need labels assigned to appear in __symbols__
*/
chosen: chosen { };
aliases: aliases { };
reserved_memory: reserved-memory { };
mot_batterydata: qcom,battery-data { };
utags: utags { };
hw: hw { };
};
&reserved_memory {
/delete-node/ ramoops;
};
&tlmm {
/delete-node/ nfc;
};
&firmware {
/delete-node/ android;
};
&mdss_dsi_phy0 {
/delete-property/ qcom,dsi-pll-ssc-en;
};

View file

@ -0,0 +1,45 @@
/* 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/;
#include "blair.dtsi"
/ {
qcom,board-id = <0 0>;
channel-id-map = "";
/*
* Some nodes need labels assigned to appear in __symbols__
*/
chosen: chosen { };
aliases: aliases { };
reserved_memory: reserved-memory { };
mot_batterydata: qcom,battery-data { };
utags: utags { };
hw: hw { };
};
&reserved_memory {
/delete-node/ ramoops;
};
&tlmm {
/delete-node/ nfc;
};
&firmware {
/delete-node/ android;
};
&mdss_dsi_phy0 {
/delete-property/ qcom,dsi-pll-ssc-en;
};

View file

@ -0,0 +1,52 @@
/* 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/;
#include "blair.dtsi"
/ {
qcom,board-id = <0 0>;
channel-id-map = "";
/*
* Some nodes need labels assigned to appear in __symbols__
*/
chosen: chosen { };
aliases: aliases { };
reserved_memory: reserved-memory { };
mot_batterydata: qcom,battery-data { };
utags: utags { };
hw: hw { };
};
&reserved_memory {
/delete-node/ ramoops;
};
&tlmm {
/delete-node/ nfc;
};
&firmware {
/delete-node/ android;
};
&mdss_dsi_phy0 {
/delete-property/ qcom,dsi-pll-ssc-en;
};
&soc {
icnss: qcom,icnss@C800000 {
/delete-property/ vdd-3.3-ch1-supply;
/delete-property/ qcom,vdd-3.3-ch1-config;
};
};

View file

@ -0,0 +1,52 @@
/* 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/;
#include "blair.dtsi"
/ {
qcom,board-id = <0 0>;
channel-id-map = "";
/*
* Some nodes need labels assigned to appear in __symbols__
*/
chosen: chosen { };
aliases: aliases { };
reserved_memory: reserved-memory { };
mot_batterydata: qcom,battery-data { };
utags: utags { };
hw: hw { };
};
&reserved_memory {
/delete-node/ ramoops;
};
&tlmm {
/delete-node/ nfc;
};
&firmware {
/delete-node/ android;
};
&mdss_dsi_phy0 {
/delete-property/ qcom,dsi-pll-ssc-en;
};
&soc {
icnss: qcom,icnss@C800000 {
/delete-property/ vdd-3.3-ch1-supply;
/delete-property/ qcom,vdd-3.3-ch1-config;
};
};

View file

@ -0,0 +1,38 @@
/* 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 "blair-milanf-common-overlay.dtsi"
#include "blair-nopmi-moto-common-overlay.dtsi"
#include "tcpc_config.dtsi"
#include "discrete-rt-pd-manger.dtsi"
#include "sgm7220.dtsi"
#include "rt9426a.dtsi"
#include "discrete_charging.dtsi"
&qupv3_se8_i2c {
status = "okay";
oz8806@2f {
compatible = "o2micro,oz8806";
reg = <0x2f>;
status = "okay";
};
cw2217@64 {
compatible = "cellwise,cw2217";
reg = <0x64>;
status = "okay";
df-serialnum = "SB18D33989";
#include "bat_setting/CW_md50-scud-5000mah.dtsi"
#include "bat_setting/CW_md50-amperex-5000mah.dtsi"
};
};

View file

@ -0,0 +1,188 @@
/* 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.
*/
#include "carrier-channel-ids.dtsi"
#include <dt-bindings/moto/moto-mem-reserve.h>
&utags {
compatible = "mmi,utags";
mmi,main-utags = "/dev/block/bootdevice/by-name/utags";
mmi,backup-utags = "/dev/block/bootdevice/by-name/utagsBackup";
};
&hw {
compatible = "mmi,utags";
mmi,dir-name = "hw";
mmi,main-utags = "/dev/block/bootdevice/by-name/hw";
};
&reserved_memory {
ramoops_mem {
compatible = "ramoops";
no-map;
reg = <0x0 RAMOOPS_BASE_ADDR 0x0 RAMOOPS_SIZE>;
console-size = <RAMOOPS_CONSOLE_SIZE>;
pmsg-size = <RAMOOPS_PMSG_SIZE>;
record-size = <RAMOOPS_RECORD_SIZE>;
no-dump-oops;
};
wdog_cpuctx_mem: wdog_cpuctx_region {
no-map;
reg = <0x0 WDOG_CPUCTX_BASE
0x0 WDOG_CPUCTX_SIZE>;
};
tzlog_dump_mem: tzlog_dump_mem_region {
no-map;
reg = <0x0 TZLOG_BCK_BASE
0x0 TZLOG_BCK_SIZE>;
};
mmi_annotate_mem: mmi_annotate_mem_region {
no-map;
reg = <0x0 MMI_ANNOTATE_BASE
0x0 MMI_ANNOTATE_SIZE>;
};
};
&soc {
mmi_annotate {
compatible = "mmi,annotate";
memory-region = <&mmi_annotate_mem>;
mem-size = <0x20000>;
};
};
&tlmm {
sar_int_default: sar_int_default {
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
num-grp-pins = <1>;
drive-strength = <2>;
bias-pull-up;
};
};
sar_int_sleep: sar_int_sleep {
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
num-grp-pins = <1>;
drive-strength = <2>;
bias-pull-up;
};
};
};
&qupv3_se10_i2c {
status = "okay";
sx937x:sx937x@2c {
compatible = "Semtech,sx937x";
reg = <0x2c>;
pinctrl-names = "default","sleep";
pinctrl-0 = <&sar_int_default>;
pinctrl-1 = <&sar_int_sleep>;
interrupt-parent = <&tlmm>;
interrupts = <24 0x02>;
interrupt-names = "sx937x_irq";
Semtech,nirq-gpio = <&tlmm 24 0x02>;
cap_vdd-supply = <&pm6125_l9>;
/*use PH4/5/6 as the reference sensor
set it to 0xff if the ref-phases-x is not used*/
Semtech,ref-phases-a = <5>;
Semtech,ref-phases-b = <6>;
Semtech,ref-phases-c = <2>;
Semtech,button-flag = <0x1B>;
Semtech,reg-num = <58>;
Semtech,reg-init = <
0x8024 0x7F00
0x4004 0x70
0x4008 0x8
0x8020 0x32
0x8028 0x886 /*AFE_PARAM_PH0*/
0x8034 0x886 /*AFE_PARAM_PH1*/
0x8040 0x886 /*AFE_PARAM_PH2*/
0x804C 0x8BE /*AFE_PARAM_PH3*/
0x8058 0x866 /*AFE_PARAM_PH4*/
0x8064 0x86E /*AFE_PARAM_PH5*/
0x8070 0x86E /*AFE_PARAM_PH6*/
0x807C 0x85E /*AFE_PARAM_PH7*/
/*set CS3 to hiz, because it used as IRQ pin*/
0x8030 0xFFF9FD /*REG_AFEPH_PH0, CS0, ANT1, Bottom center*/
0x803C 0xFFD9FF /*REG_AFEPH_PH1, CS4, ANT2, Top right*/
0x8048 0xFEF9FF /*REG_AFEPH_PH2, CS5, ANT7, Bottom Right*/
0x8054 0xF7F9FF /*REG_AFEPH_PH3, CS6, ANT4, Top Right*/
0x8060 0xFFF97F /*REG_AFEPH_PH4, CS2, ANT5, Top center*/
0x806C 0xFFF9EF /*REG_AFEPH_PH5, CS1, ANT1/7_REF, Bottom_Ref*/
0x8078 0xBFF9FF /*REG_AFEPH_PH6, CS7, ANT4 REF, Middle*/
0x8084 0xFFF9FF /*REG_AFEPH_PH7, NOT USE*/
0x8098 0x7A36
0x80B8 0x7636
0x80D8 0xFF
0x80F8 0x3939
0x8118 0x2C2C
0x8138 0xFF
0x8158 0xFF
0x8178 0x5A40
0x80A0 0x1E1E00E1
0x80C0 0x404000E2
0x80E0 0x222200E1
0x8100 0x161600E2
0x8188 0x8000015
0x818C 0x8000016
0x8090 0x41DB3000
0x80B0 0x7FB33000
0x80D0 0x40CD3000
0x80F0 0x68BD3000
0x8110 0x30DD3000
0x8130 0x2AD67000
0x8150 0x2AD67000
0x8170 0x2AD67000
0x8088 0x300005
0x80A8 0x300005
0x80C8 0x2300005
0x80E8 0x300005
0x8108 0x300005
0x8128 0x3600000
0x8148 0x3600000
0x8168 0x300000
0x808C 0x60200060
0x80AC 0x60200060
0x80CC 0x60200060
0x80EC 0x60200060
0x810C 0x60200060
0x812C 0x60200018
0x814C 0x60200018
0x816C 0x60200018
>;
status = "ok"
};
};
&ufshc_mem {
spm-level = <3>;
};
&qupv3_se8_i2c_sleep {
config {
input-enable;
};
};

View file

@ -0,0 +1,22 @@
/* Copyright (c) 2023, 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 "blair-pm6125-moto-common-overlay.dtsi"
#include "blair-bangkk-common-overlay.dtsi"
#include "bangkk-charger.dtsi"
&pm7250b_charger {
dpdm-supply = <&usb2_phy0>;
};
&smb1394 {
status = "disabled";
};

View file

@ -0,0 +1,22 @@
/* Copyright (c) 2023, 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 "blair-pm6125-moto-common-overlay.dtsi"
#include "blair-fogo-common-overlay.dtsi"
#include "fogo-charger.dtsi"
&pm7250b_charger {
dpdm-supply = <&usb2_phy0>;
};
&smb1394 {
status = "disabled";
};

View file

@ -0,0 +1,22 @@
/* Copyright (c) 2023, 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 "blair-pm6125-moto-common-overlay.dtsi"
#include "blair-fogor-common-overlay.dtsi"
#include "fogor-charger.dtsi"
&pm7250b_charger {
dpdm-supply = <&usb2_phy0>;
};
&smb1394 {
status = "disabled";
};

View file

@ -0,0 +1,22 @@
/* Copyright (c) 2023, 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 "blair-pm6125-moto-common-overlay.dtsi"
#include "blair-fogos-common-overlay.dtsi"
#include "fogos-charger.dtsi"
&pm7250b_charger {
dpdm-supply = <&usb2_phy0>;
};
&smb1394 {
status = "disabled";
};

View file

@ -0,0 +1,21 @@
/* 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 "blair-milanf-common-overlay.dtsi"
#include "blair-pm6125-moto-common-overlay.dtsi"
&pm7250b_charger {
dpdm-supply = <&usb2_phy0>;
};
&smb1394 {
status = "disabled";
};

View file

@ -0,0 +1,331 @@
/* 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.
*/
#include "holi-mtp-pm7250b.dtsi"
#include "carrier-channel-ids.dtsi"
#include <dt-bindings/moto/moto-mem-reserve.h>
&utags {
compatible = "mmi,utags";
mmi,main-utags = "/dev/block/bootdevice/by-name/utags";
mmi,backup-utags = "/dev/block/bootdevice/by-name/utagsBackup";
};
&hw {
compatible = "mmi,utags";
mmi,dir-name = "hw";
mmi,main-utags = "/dev/block/bootdevice/by-name/hw";
};
&reserved_memory {
ramoops_mem {
compatible = "ramoops";
no-map;
reg = <0x0 RAMOOPS_BASE_ADDR 0x0 RAMOOPS_SIZE>;
console-size = <RAMOOPS_CONSOLE_SIZE>;
pmsg-size = <RAMOOPS_PMSG_SIZE>;
record-size = <RAMOOPS_RECORD_SIZE>;
no-dump-oops;
};
wdog_cpuctx_mem: wdog_cpuctx_region {
no-map;
reg = <0x0 WDOG_CPUCTX_BASE
0x0 WDOG_CPUCTX_SIZE>;
};
tzlog_dump_mem: tzlog_dump_mem_region {
no-map;
reg = <0x0 TZLOG_BCK_BASE
0x0 TZLOG_BCK_SIZE>;
};
mmi_annotate_mem: mmi_annotate_mem_region {
no-map;
reg = <0x0 MMI_ANNOTATE_BASE
0x0 MMI_ANNOTATE_SIZE>;
};
};
&soc {
mmi_annotate {
compatible = "mmi,annotate";
memory-region = <&mmi_annotate_mem>;
mem-size = <0x20000>;
};
};
&tlmm {
sar_int_default: sar_int_default {
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
num-grp-pins = <1>;
drive-strength = <2>;
bias-pull-up;
};
};
sar_int_sleep: sar_int_sleep {
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
num-grp-pins = <1>;
drive-strength = <2>;
bias-pull-up;
};
};
};
&pm6125_l12 {
regulator-always-on;
qcom,init-voltage = <1800000>;
};
&qupv3_se8_i2c {
status = "okay";
sx937x:sx937x@2c {
compatible = "Semtech,sx937x";
reg = <0x2c>;
pinctrl-names = "default","sleep";
pinctrl-0 = <&sar_int_default>;
pinctrl-1 = <&sar_int_sleep>;
interrupt-parent = <&tlmm>;
interrupts = <24 0x02>;
interrupt-names = "sx937x_irq";
Semtech,nirq-gpio = <&tlmm 24 0x02>;
cap_vdd-supply = <&pm6125_l12>;
/*use PH5/6 as the reference sensor
set it to 0xff if the ref-phases-x is not used*/
Semtech,ref-phases-a = <5>;
Semtech,ref-phases-b = <6>;
Semtech,ref-phases-c = <0xff>;
Semtech,button-flag = <0x1f>;
Semtech,reg-num = <75>;
Semtech,reg-init = <
0x8024 0x7F00 /*PHEN, Disable all Phases*/
0x4004 0x70 /*irq mask*/
0x8008 0x0
0x4280 0x0
0x8020 0x32
0x8028 0x25E /*AFE_PARAM_PH0*/
0x8034 0x25E /*AFE_PARAM_PH1*/
0x8040 0x25E /*AFE_PARAM_PH2*/
0x804C 0x25E /*AFE_PARAM_PH3*/
0x8058 0x25E /*AFE_PARAM_PH4*/
0x8064 0x25E /*AFE_PARAM_PH5*/
0x8070 0x25E /*AFE_PARAM_PH6*/
0x807C 0x25E /*AFE_PARAM_PH7*/
/*set CS3 to hiz, because it used as IRQ pin*/
0x8030 0xFFF9FD /*REG_AFEPH_PH0, CS0, ANT0, Bottom center*/
0x803C 0xBFF9FF /*REG_AFEPH_PH1, CS7, ANT6, Top Left*/
0x8048 0xFFF97F /*REG_AFEPH_PH2, CS2, ANT1, Bottom Right*/
0x8054 0xFFD9FF /*REG_AFEPH_PH3, CS4, ANT4, Right*/
0x8060 0xF7F9FF /*REG_AFEPH_PH4, CS6, ANT5, Back center*/
0x806C 0xFFF9EF /*REG_AFEPH_PH5, CS1, REF*/
0x8078 0xFEF9FF /*REG_AFEPH_PH6, CS5, REF*/
0x8084 0xFFF9FF /*REG_AFEPH_PH7, NOT USE*/
0x802C 0x0
0x8038 0x0
0x8044 0x0
0x8050 0x0
0x805C 0x0
0x8068 0x0
0x8074 0x0
0x8080 0x0
0x8098 0xC8644D2C
0x80B8 0xC8644D2C
0x80D8 0xC8644D2C
0x80F8 0xC8644D2C
0x8118 0xC8644D2C
0x8138 0xC8644D2C
0x8158 0xC8644D2C
0x8178 0xC8644D2C
0x80A0 0x0
0x80C0 0x0
0x80E0 0x0
0x8100 0x0
0x8120 0x0
0x8140 0x0
0x8160 0x0
0x8180 0x0
0x8188 0x0
0x818C 0x0
0x8190 0x0
0x8194 0x0
0x8090 0x2AD67000
0x80B0 0x2AD67000
0x80D0 0x2AD67000
0x80F0 0x2AD67000
0x8110 0x2AD67000
0x8130 0x2AD67000
0x8150 0x2AD67000
0x8170 0x2AD67000
0x8088 0x300000
0x80A8 0x300000
0x80C8 0x300000
0x80E8 0x300000
0x8108 0x300000
0x8128 0x300000
0x8148 0x300000
0x8168 0x300000
0x808C 0x60200018
0x80AC 0x60200018
0x80CC 0x60200018
0x80EC 0x60200018
0x810C 0x60200018
0x812C 0x60200018
0x814C 0x60200018
0x816C 0x60200018
0x8024 0x7F7F
0x4280 0xe
>;
status = "ok"
};
};
&soc {
mot_batterydata: qcom,battery-data {
df-serialnum = "SB18D00294";
qcom,batt-id-range-pct = <15>;
#include "qg-batterydata-md50-amperex-5000mah.dtsi"
};
};
&pm7250b_charger {
status = "ok"
qcom,battery-data = <&mot_batterydata>;
qcom,sec-charger-config = <0>;
qcom,auto-recharge-soc = <98>;
qcom,charger-temp-max = <800>;
qcom,smb-temp-max = <800>;
qcom,suspend-input-on-debug-batt;
qcom,hvdcp3-standalone-config;
qcom,fcc-max-ua = <4000000>;
qcom,fv-max-uv = <4450000>;
qcom,usb-icl-ua = <3000000>;
qcom,hvdcp2-max-icl-ua = <1500000>;
qcom,thermal-mitigation = <4000000 3500000
3000000 2500000
2000000 1500000
1200000 900000
600000 300000>;
qcom,pd-voltage-max-uv = <9000000>;
qcom,usbpd-phandle = <&pm7250b_pdphy>;
};
&spmi_bus {
qcom,pm7250b@2 {
pm7250b_mmi: qcom,qpnp-smb5-mmi {
status = "ok"
compatible = "qcom,mmi-pm7250b-smb5";
#io-channel-cells = <1>;
io-channels = <&pm7250b_charger PSY_IIO_CTM_CURRENT_MAX>,
<&pm7250b_charger PSY_IIO_CURRENT_MAX>,
<&pm7250b_charger PSY_IIO_TYPEC_MODE>,
<&pm7250b_charger PSY_IIO_DP_DM>,
<&pm7250b_charger PSY_IIO_PD_ACTIVE>,
<&pm7250b_charger PSY_IIO_USB_REAL_TYPE>,
<&pm7250b_charger PSY_IIO_HW_CURRENT_MAX>,
<&pm7250b_charger PSY_IIO_USB_INPUT_CURRENT_SETTLED>,
<&pm7250b_charger PSY_IIO_RERUN_AICL>,
<&pm7250b_charger PSY_IIO_SW_JEITA_ENABLED>,
<&pm7250b_charger PSY_IIO_PD_CURRENT_MAX>,
<&pm7250b_qg PSY_IIO_VOLTAGE_NOW>,
<&pm7250b_qg PSY_IIO_CURRENT_NOW>,
<&pm7250b_qg PSY_IIO_TEMP>,
<&pm7250b_qg PSY_IIO_CAPACITY>,
<&pm7250b_qg PSY_IIO_CHARGE_FULL>,
<&pm7250b_qg PSY_IIO_BATT_FULL_CURRENT>,
<&pm7250b_qg PSY_IIO_CHARGE_FULL_DESIGN>;
io-channel-names = "usb_ctm_current_max",
"main_current_max",
"usb_typec_mode",
"battery_dp_dm",
"usb_pd_active",
"usb_real_type",
"usb_hw_current_max",
"usb_input_current_settled",
"battery_rerun_aicl",
"battery_sw_jeita_enabled",
"usb_pd_current_max",
"voltage_now",
"current_now",
"temp",
"capacity",
"charge_full",
"batt_full_current",
"charge_full_design";
qcom,enable-charging-limit;
qcom,upper-limit-capacity = <65>;
qcom,lower-limit-capacity = <60>;
qcom,mmi-temp-zones = <0 4200 970 0>,
<10 4200 2500 970>,
<15 0 2500 2500>,
<45 0 4000 4000>,
<60 4200 2500 0>;
qcom,iterm-ma = <242>;
qcom,force-hvdcp-5v;
qcom,usbpd-phandle = <&pm7250b_pdphy>;
};
};
};
&pm7250b_qg {
status = "ok"
qcom,battery-data = <&mot_batterydata>;
qcom,qg-iterm-ma = <150>;
qcom,hold-soc-while-full;
qcom,linearize-soc;
qcom,vbatt-cutoff-mv = <3400>;
qcom,vbatt-low-mv = <3500>;
qcom,vbatt-empty-mv = <3200>;
qcom,vbatt-empty-cold-mv = <3200>;
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 = <35000>;
qcom,s3-exit-ibat-ua = <50000>;
};
&pm7250b_pdphy {
qcom,default-sink-caps = <5000 3000>, /*5V @ 3A*/
<9000 2000>; /*9V @ 2A*/
};
&bcl_soc {
io-channels = <&pm7250b_charger PSY_IIO_HW_CURRENT_MAX>;
io-channel-names = "usb_hw_current_max";
qcom,bcl-not-mitigate-icl = <2500>;
};
&socd_trip {
temperature = <95>;
};
&ufshc_mem {
spm-level = <3>;
};

View file

@ -0,0 +1,526 @@
/* 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 "blair-nopmi-moto-common-overlay.dtsi"
#include "holi-audio-wcd9370-aw882xx-acf-dual-overlay.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
#include "holi-pmic-overlay-pm6125.dtsi"
#include "holi-thermal-overlay-pm6125.dtsi"
#include "display/holi-sde-display-mtp-pm6125.dtsi"
#include "display/blair-sde-display-mtp.dtsi"
#include "rhodei-fps-overlay.dtsi"
#include "rhodei-display.dtsi"
#include "rhodei-touchscreen.dtsi"
#include "camera-legacy/rhodei/blair-camera-sensor-mot-rhodei-overlay.dtsi"
#include "rhodei-wl2868c.dtsi"
#include "discrete_charging_rhodei.dtsi"
#include "moto_therm_sys_temp.dtsi"
&wcd937x_codec {
cdc-vdd-rxtx-supply = <&L9A>;
cdc-vddpx-supply = <&L9A>;
qcom,cdc-static-supplies = "cdc-vdd-rxtx",
"cdc-vddpx";
/*
* Overriding cdc-vdd-mic-bias-supply to dummy value
* to avoid compilation errors as BOB is not definied
* for pm6125
*/
cdc-vdd-mic-bias-supply = <>;
};
&holi_snd {
qcom,msm-hs-linein-threshold = <4000>;
};
&tlmm {
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 {
pins = "gpio48";
function = "gpio";
};
config {
pins = "gpio48";
drive-strength = <2>; /* 2 MA */
bias-disable;
};
};
nfc_enable_suspend: nfc_enable_suspend {
mux {
pins = "gpio48";
function = "gpio";
};
config {
pins = "gpio48";
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;
};
};
};
};
/* Dummy LDO reference */
&sdhc_1 {
status = "ok"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_on>;
pinctrl-1 = <&sdc1_off>;
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>;
};
&sdhc_2 {
status = "ok"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_on>;
pinctrl-1 = <&sdc2_off>;
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>;
cd-gpios = <&tlmm 94 GPIO_ACTIVE_HIGH>;
};
&ufsphy_mem {
compatible = "qcom,ufs-phy-qmp-v4-yupik";
vdda-phy-supply = <&L7A>;
vdda-pll-supply = <&L4A>;
vdda-phy-max-microamp = <85700>;
vdda-pll-max-microamp = <18300>;
status = "ok"
};
&ufshc_mem {
vdd-hba-supply = <&gcc_ufs_phy_gdsc>;
vdd-hba-fixed-regulator;
vcc-supply = <&L24A>;
vcc-voltage-level = <2950000 2960000>;
vcc-max-microamp = <800000>;
vccq2-supply = <&L11A>;
vccq2-max-microamp = <800000>;
vccq2-voltage-level = <1800000 1800000>;
qcom,vddp-ref-clk-supply = <&L4A>;
qcom,vddp-ref-clk-max-microamp = <100>;
status = "ok"
};
&qupv3_se7_i2c_sleep {
config {
/delete-property/ bias-disable;
bias-pull-up;
input-enable;
};
};
&qupv3_se7_i2c {
status = "ok"
#address-cells = <1>;
#size-cells = <0>;
sec-nfc@27 {
compatible = "sec-nfc";
reg = <0x27>;
mmi,status = "/chosen", "mmi,nfc", "samsung"
sec-nfc,ven-gpio = <&tlmm 48 0x00>;
sec-nfc,firm-gpio = <&tlmm 8 0x00>;
sec-nfc,irq-gpio = <&tlmm 9 0x00>;
sec-nfc,clk_req-gpio = <&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>;
};
};
&sx937x {
/*use PH5/6 as the reference sensor
set it to 0xff if the ref-phases-x is not used*/
Semtech,ref-phases-a = <5>;
Semtech,ref-phases-b = <6>;
Semtech,ref-phases-c = <0xff>;
Semtech,button-flag = <0x1f>;
Semtech,reg-num = <61>;
Semtech,reg-init = <
0x8024 0x7F00
0x4004 0x70
0x4008 0x8
0x8020 0x32
0x8028 0x8A6
0x8034 0x88E
0x8040 0x8A6
0x804C 0x88E
0x8058 0x88E
0x8064 0x88E
0x8070 0x88E
0x807C 0x88E
0x8030 0xFFD9FF
0x803C 0xBFF9FF
0x8048 0xFFF9FD
0x8054 0xFEF9FF
0x8060 0xF7F9FF
0x806C 0xFFF97F
0x8078 0xFFF9EF
0x8084 0xBFF9FF
0x8098 0x693E
0x80B8 0x3131
0x80D8 0x6833
0x80F8 0x2929
0x8118 0x4C4C
0x8138 0x8E
0x8158 0x8E
0x8178 0x5A40
0x80A0 0x22220001
0x80C0 0x1F1F0001
0x80E0 0x48540002
0x8100 0x1D1D001A
0x8120 0x1A1A0002
0x8188 0x8000015
0x818C 0x8000016
0x8190 0x10
0x8194 0x12
0x8090 0x64B45000
0x80B0 0x3CD05000
0x80D0 0x32D87000
0x80F0 0x3CD45000
0x8110 0x2CD87000
0x8130 0x54AC5000
0x8150 0x54AC5000
0x8170 0x54AC5000
0x8088 0x300000
0x80A8 0x300000
0x80C8 0x300000
0x80E8 0x300000
0x8108 0x300000
0x8128 0x600000
0x8148 0x600000
0x8168 0x300000
0x808C 0x60200030
0x80AC 0x60200030
0x80CC 0x60200018
0x80EC 0x60200030
0x810C 0x60200018
0x812C 0x60200030
0x814C 0x60200030
0x816C 0x60200030
>;
status = "ok"
};
&pmk8350_vadc {
pmk8350_chg_therm {
reg = <PMK8350_ADC7_AMUX_THM2_100K_PU>;
label = "pmk8350_chg_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pmk8350_usb_conn_therm {
reg = <PMK8350_ADC7_AMUX_THM4_100K_PU>;
label = "pmk8350_ufs_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pmk8350_adc_tm {
io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>,
<&pmk8350_vadc PMK8350_ADC7_AMUX_THM2_100K_PU>,
<&pmk8350_vadc PMK8350_ADC7_AMUX_THM4_100K_PU>;
chg_therm {
reg = <PMK8350_ADC7_AMUX_THM2_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
usb_conn_therm {
reg = <PMK8350_ADC7_AMUX_THM4_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
&thermal_zones {
sdm-skin-therm-usr {
status = "disabled";
};
rear-cam-therm-usr {
status = "disabled";
};
camera-therm-usr {
status = "disabled";
};
quiet-therm-usr {
status = "disabled";
};
pa-therm0-usr {
status = "disabled";
};
pa-therm1-usr {
status = "disabled";
};
xo-therm-usr {
status = "disabled";
};
cam_flash_therm {
polling-delay-passive = <5000>;
polling-delay = <20000>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm_iio ADC5_GPIO1_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 = <&pm6125_adc_tm_iio ADC5_GPIO2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
pa_therm2 {
polling-delay-passive = <5000>;
polling-delay = <20000>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_GPIO4_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
pa_therm1 {
polling-delay-passive = <5000>;
polling-delay = <20000>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_AMUX_THM1_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 = <&pm6125_adc_tm ADC5_AMUX_THM2_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";
};
};
};
qtm_n_therm {
polling-delay-passive = <5000>;
polling-delay = <20000>;
thermal-governor = "user_space";
thermal-sensors = <&pmk8350_adc_tm PMK8350_ADC7_AMUX_THM2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
qtm_e_therm {
polling-delay-passive = <5000>;
polling-delay = <20000>;
thermal-governor = "user_space";
thermal-sensors = <&pmk8350_adc_tm PMK8350_ADC7_AMUX_THM4_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
};
&soc {
gpio_keys {
compatible = "gpio-keys";
label = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&key_vol_up_default>;
vol_up {
label = "volume_up";
gpios = <&pmr735a_gpios 1 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
linux,code = <KEY_VOLUMEUP>;
gpio-key,wakeup;
debounce-interval = <15>;
linux,can-disable;
};
};
ldo_vib {
compatible = "moto,vibrator-ldo";
moto,vib-ldo-gpio = <&tlmm 100 0x0>;
status = "ok"
};
};
&L21A {
regulator-always-on; //typec and LEDA power
regulator-min-microvolt = <3300000>;
qcom,init-voltage = <3300000>;
status = "okay";
};
&L9A {
regulator-always-on; //SAR interrupt power
qcom,init-voltage = <1800000>;
status = "okay";
};

View file

@ -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 "blair-rhodei-common-overlay.dtsi"
/ {
model = "rhodei";
compatible = "qcom,blair-rhodei", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>;
qcom,board-id = <0x4D 0xB100>;
};

View file

@ -0,0 +1,25 @@
/* 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 "blair-rhodei-common-overlay.dtsi"
#include "camera-legacy/rhodei/blair-camera-sensor-mot-rhodei-dvt2-overlay.dtsi"
/ {
model = "rhodei";
compatible = "qcom,blair-rhodei", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>;
qcom,board-id = <0x4D 0xB200>;
};

View file

@ -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 "blair-rhodei-common-overlay.dtsi"
/ {
model = "rhodei";
compatible = "qcom,blair-rhodei", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>;
qcom,board-id = <0x42 0xA100>;
};

View file

@ -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 "blair-rhodei-common-overlay.dtsi"
/ {
model = "rhodei";
compatible = "qcom,blair-rhodei", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>;
qcom,board-id = <0x4D 0xA200>;
};

View file

@ -0,0 +1,575 @@
/* 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 "blair-nopmi-moto-common-overlay.dtsi"
#include "rhodep-audio-wcd9370-aw882xx-acf-dual-overlay.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
#include "holi-pmic-overlay-pm6125.dtsi"
#include "holi-thermal-overlay-pm6125.dtsi"
#include "display/holi-sde-display-mtp-pm6125.dtsi"
#include "display/blair-sde-display-mtp.dtsi"
#include "rhodep-fps-overlay.dtsi"
#include "rhodep-display.dtsi"
#include "rhodep-touchscreen.dtsi"
#include "camera-legacy/rhodep/blair-camera-sensor-mot-rhodep-overlay.dtsi"
#include "rhodep-wl2868c.dtsi"
#include "tcpc_config.dtsi"
#include "sgm7220.dtsi"
#include "discrete_charging_rhodep.dtsi"
#include "discrete-rt-pd-manger.dtsi"
#include "moto_therm_sys_temp.dtsi"
&qupv3_se8_i2c {
status = "okay";
cw2217@64 {
compatible = "cellwise,cw2217";
reg = <0x64>;
status = "okay";
sense_r_mohm = <5>;
factory_mode_ntc_exist = <0>;
df-serialnum = "SB18D38324";
#include "bat_setting/CW_ng50-ATL-5000mah-rhodep.dtsi"
#include "bat_setting/CW_ng50-SWD-5000mah-rhodep.dtsi"
};
sm5602@71 {
compatible = "sm,sm5602";
reg = <0x71>;
//interrupt-parent = <&tlmm>;
//interrupts = <38 2>;
//qcom,irq-gpio = <&tlmm 38 0x0>;
sm,en_temp_ex;
//sm,en_temp_in;
sm,en_batt_det;
//sm,iocv_man_mode;
sm,misc = <0x0800>;
sm,aging_ctrl = <0x0125>;
sm,cycle_cfg = <0x7000>;
sm,rsns = <0>;
factory_mode_ntc_exist = <0>;
sm,fg_irq_set = <0x07FF>;
sm,low_soc1 = <1>;
sm,low_soc2 = <15>;
sm,v_l_alarm = <3400>;
sm,v_h_alarm = <4450>;
sm,battery_table_num = <0>;
sm,param_version = <2>;
sm,t_l_alarm_in = <54>;
sm,t_h_alarm_in = <1>;
sm,t_l_alarm_ex = <0xD3D8>;
sm,t_h_alarm_ex = <0x9245>;
df-serialnum = "SB18D38324";
#include "bat_setting/SM5602_NE50_ATL_Rhodep.dtsi"
#include "bat_setting/SM5602_NE50_SWD_Rhodep.dtsi"
};
};
&wcd937x_codec {
cdc-vdd-rxtx-supply = <&L9A>;
cdc-vddpx-supply = <&L9A>;
qcom,cdc-static-supplies = "cdc-vdd-rxtx",
"cdc-vddpx";
/*
* Overriding cdc-vdd-mic-bias-supply to dummy value
* to avoid compilation errors as BOB is not definied
* for pm6125
*/
cdc-vdd-mic-bias-supply = <>;
};
&tlmm {
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 {
pins = "gpio48";
function = "gpio";
};
config {
pins = "gpio48";
drive-strength = <2>; /* 2 MA */
bias-disable;
};
};
nfc_enable_suspend: nfc_enable_suspend {
mux {
pins = "gpio48";
function = "gpio";
};
config {
pins = "gpio48";
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;
};
};
};
};
/* Dummy LDO reference */
&sdhc_1 {
status = "ok"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc1_on>;
pinctrl-1 = <&sdc1_off>;
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>;
};
&sdhc_2 {
status = "ok"
pinctrl-names = "default", "sleep";
pinctrl-0 = <&sdc2_on>;
pinctrl-1 = <&sdc2_off>;
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>;
cd-gpios = <&tlmm 94 GPIO_ACTIVE_HIGH>;
};
&ufsphy_mem {
compatible = "qcom,ufs-phy-qmp-v4-yupik";
vdda-phy-supply = <&L7A>;
vdda-pll-supply = <&L4A>;
vdda-phy-max-microamp = <85700>;
vdda-pll-max-microamp = <18300>;
status = "ok"
};
&ufshc_mem {
vdd-hba-supply = <&gcc_ufs_phy_gdsc>;
vdd-hba-fixed-regulator;
vcc-supply = <&L24A>;
vcc-voltage-level = <2950000 2960000>;
vcc-max-microamp = <800000>;
vccq2-supply = <&L11A>;
vccq2-max-microamp = <800000>;
vccq2-voltage-level = <1800000 1800000>;
qcom,vddp-ref-clk-supply = <&L4A>;
qcom,vddp-ref-clk-max-microamp = <100>;
status = "ok"
};
&sx937x {
status = "disabled";
};
&qupv3_se7_i2c_sleep {
config {
/delete-property/ bias-disable;
bias-pull-up;
input-enable;
};
};
&qupv3_se7_i2c {
status = "ok"
#address-cells = <1>;
#size-cells = <0>;
qcom,leica-used-i2c;
sec-nfc@27 {
compatible = "sec-nfc";
reg = <0x27>;
mmi,status = "/chosen", "mmi,nfc", "samsung"
sec-nfc,ven-gpio = <&tlmm 48 0x00>;
sec-nfc,firm-gpio = <&tlmm 8 0x00>;
sec-nfc,irq-gpio = <&tlmm 9 0x00>;
sec-nfc,clk_req-gpio = <&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>;
};
sx937x_se7:sx937x@2c {
compatible = "Semtech,sx937x";
reg = <0x2c>;
pinctrl-names = "default","sleep";
pinctrl-0 = <&sar_int_default>;
pinctrl-1 = <&sar_int_sleep>;
interrupt-parent = <&tlmm>;
interrupts = <24 0x02>;
interrupt-names = "sx937x_irq";
Semtech,nirq-gpio = <&tlmm 24 0x02>;
cap_vdd-supply = <&pm6125_l9>;
/*use PH4/5/6 as the reference sensor
set it to 0xff if the ref-phases-x is not used*/
Semtech,ref-phases-a = <5>;
Semtech,ref-phases-b = <6>;
Semtech,ref-phases-c = <0xff>;
Semtech,button-flag = <0x1f>;
Semtech,reg-num = <54>;
Semtech,reg-init = <
0x8024 0x7F00
0x4004 0x70
0x4008 0x8
0x8020 0x32
0x8028 0x886 /*AFE_PARAM_PH0*/
0x8034 0x886 /*AFE_PARAM_PH1*/
0x8040 0x886 /*AFE_PARAM_PH2*/
0x804C 0x886 /*AFE_PARAM_PH3*/
0x8058 0x886 /*AFE_PARAM_PH4*/
0x8064 0x886 /*AFE_PARAM_PH5*/
0x8070 0x886 /*AFE_PARAM_PH6*/
0x807C 0x85C /*AFE_PARAM_PH7*/
/*set CS3 to hiz, because it used as IRQ pin*/
0x8030 0xFEF9FF /*REG_AFEPH_PH0, CS5, ANT0, Bottom center*/
0x803C 0xFFF9FD /*REG_AFEPH_PH1, CS0, ANT1/6, Top right*/
0x8048 0xFFD9FF /*REG_AFEPH_PH2, CS4, ANT2, Top center*/
0x8054 0xF7F9FF /*REG_AFEPH_PH3, CS6, ANT5, Bottom Right*/
0x8060 0xBFF9FF /*REG_AFEPH_PH4, CS7, ANT8, Top Left*/
0x806C 0xFFF97F /*REG_AFEPH_PH5, CS2, ANT0/5_REF, Bottom_Ref*/
0x8078 0xFFF9EF /*REG_AFEPH_PH6, CS1, ANT8 REF, Middle*/
0x8084 0xFFF9FF /*REG_AFEPH_PH7, NOT USE*/
0x8098 0x693F
0x80B8 0x6932
0x80D8 0x3737
0x80F8 0x3C3C
0x8118 0x4242
0x8138 0xFE
0x8158 0xFE
0x8188 0x8000015
0x818C 0x8000016
0x8090 0x64B45000
0x80B0 0x3CD05000
0x80D0 0x32D87000
0x80F0 0x3CD45000
0x8110 0x3CD47000
0x8130 0x54AC5000
0x8150 0x54AC5000
0x8170 0x54AC5000
0x8088 0x300000
0x80A8 0x300000
0x80C8 0x300000
0x80E8 0x300000
0x8108 0x300000
0x8128 0x600000
0x8148 0x600000
0x808C 0x60200030
0x80AC 0x60200030
0x80CC 0x60200018
0x80EC 0x60200030
0x810C 0x60200018
0x812C 0x60200030
0x814C 0x60200030
0x816C 0x60200030
0x8024 0x7F7F
0x4280 0xF
>;
status = "ok"
};
};
&pmk8350_vadc {
pmk8350_chg_therm {
reg = <PMK8350_ADC7_AMUX_THM2_100K_PU>;
label = "pmk8350_chg_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
pmk8350_usb_conn_therm {
reg = <PMK8350_ADC7_AMUX_THM4_100K_PU>;
label = "pmk8350_ufs_therm";
qcom,ratiometric;
qcom,hw-settle-time = <200>;
qcom,pre-scaling = <1 1>;
};
};
&pmk8350_adc_tm {
io-channels = <&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>,
<&pmk8350_vadc PMK8350_ADC7_AMUX_THM2_100K_PU>,
<&pmk8350_vadc PMK8350_ADC7_AMUX_THM4_100K_PU>;
chg_therm {
reg = <PMK8350_ADC7_AMUX_THM2_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
usb_conn_therm {
reg = <PMK8350_ADC7_AMUX_THM4_100K_PU>;
qcom,ratiometric;
qcom,hw-settle-time = <200>;
};
};
&thermal_zones {
sdm-skin-therm-usr {
status = "disabled";
};
rear-cam-therm-usr {
status = "disabled";
};
camera-therm-usr {
status = "disabled";
};
quiet-therm-usr {
status = "disabled";
};
pa-therm0-usr {
status = "disabled";
};
pa-therm1-usr {
status = "disabled";
};
xo-therm-usr {
status = "disabled";
};
chg_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pmk8350_adc_tm PMK8350_ADC7_AMUX_THM2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
usb_conn_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pmk8350_adc_tm PMK8350_ADC7_AMUX_THM4_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
msm_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm_iio ADC5_GPIO1_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
rfc_camera_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm_iio ADC5_GPIO2_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 = <&pm6125_adc_tm ADC5_GPIO3_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 = <&pm6125_adc_tm ADC5_GPIO4_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
pa_therm2 {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_AMUX_THM1_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
quiet_therm {
polling-delay-passive = <0>;
polling-delay = <0>;
thermal-governor = "user_space";
thermal-sensors = <&pm6125_adc_tm ADC5_AMUX_THM2_100K_PU>;
wake-capable-sensor;
trips {
active-config0 {
temperature = <125000>;
hysteresis = <1000>;
type = "passive";
};
};
};
};
&gcc {
qcom,critical-devices = <&qupv3_se10_i2c>, <&qupv3_se7_i2c>;
};
&soc {
gpio_keys {
compatible = "gpio-keys";
label = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&key_vol_up_default>;
vol_up {
label = "volume_up";
gpios = <&pmr735a_gpios 1 GPIO_ACTIVE_LOW>;
linux,input-type = <1>;
linux,code = <KEY_VOLUMEUP>;
gpio-key,wakeup;
debounce-interval = <15>;
linux,can-disable;
};
};
ldo_vib {
compatible = "moto,vibrator-ldo";
moto,vib-ldo-gpio = <&tlmm 100 0x0>;
status = "ok"
};
};

View file

@ -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 "blair-rhodep-common-overlay.dtsi"
/ {
model = "rhodep";
compatible = "qcom,blair-rhodep", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>;
qcom,board-id = <0x4D 0xB100>;
};

View file

@ -0,0 +1,25 @@
/* 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 "blair-rhodep-common-overlay.dtsi"
#include "camera-legacy/rhodep/blair-camera-sensor-mot-rhodep-dvt2-overlay.dtsi"
/ {
model = "rhodep";
compatible = "qcom,blair-rhodep", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>;
qcom,board-id = <0x4D 0xB200>;
};

View file

@ -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 "blair-rhodep-common-overlay.dtsi"
/ {
model = "rhodep";
compatible = "qcom,blair-rhodep", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>;
qcom,board-id = <0x4D 0xA100>;
};

View file

@ -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 "blair-rhodep-common-overlay.dtsi"
/ {
model = "rhodep";
compatible = "qcom,blair-rhodep", "qcom,blair-moto", "qcom,blair";
qcom,msm-id = <507 0x10000>;
qcom,board-id = <0x4D 0xA200>;
};

View file

@ -141,8 +141,8 @@
device_type = "cpu";
compatible = "qcom,kryo";
reg = <0x0 0x400>;
enable-method = "psci";
cpu-idle-states = <&SLVR_PC &SLVR_RAIL_OFF>;
enable-method = "psci";
capacity-dmips-mhz = <1024>;
dynamic-power-coefficient = <100>;
cpu-release-addr = <0x0 0x50000000>;
@ -159,8 +159,8 @@
device_type = "cpu";
compatible = "qcom,kryo";
reg = <0x0 0x500>;
enable-method = "psci";
cpu-idle-states = <&SLVR_PC &SLVR_RAIL_OFF>;
enable-method = "psci";
capacity-dmips-mhz = <1024>;
dynamic-power-coefficient = <100>;
cpu-release-addr = <0x0 0x50000000>;
@ -309,11 +309,6 @@
reg = <0x0 0x80b00000 0x0 0x100000>;
};
cdsp_secure_heap_mem: cdsp_secure_heap_mem@80c00000 {
no-map;
reg = <0x0 0x80c00000 0x0 0x1e00000>;
};
pil_wlan_mem: wlan@86500000 {
no-map;
reg = <0x0 0x86500000 0x0 0x200000>;
@ -356,7 +351,7 @@
removed_mem: removed_region@c0000000 {
no-map;
reg = <0x0 0xc0000000 0x0 0x5100000>;
reg = <0x0 0xc0000000 0x0 0x7100000>;
};
secure_display_memory: secure_display_region {
@ -422,7 +417,7 @@
alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
reusable;
alignment = <0x0 0x400000>;
size = <0x0 0x1400000>;
size = <0x0 0x2000000>;
};
qseecom_ta_mem: qseecom_ta_region {
@ -430,7 +425,7 @@
alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
reusable;
alignment = <0x0 0x400000>;
size = <0x0 0x1000000>;
size = <0x0 0x3000000>;
};
memshare_mem: memshare_region {
@ -2286,6 +2281,8 @@
qcom,intents = <0x800 5
0x2000 3
0x4400 2>;
qcom,non-wake-svc = <0x51
0x190>;
};
qcom,adsp_glink_ssr {
@ -3122,6 +3119,21 @@
compatible = "qcom,smcinvoke";
};
mcd {
compatible = "qcom,mcd";
qcom,ce-hw-instance = <0>;
qcom,ce-device = <0>;
interrupts = <0 472 0>;
interrupt-names = "mcd_irq";
clock-names = "core_clk_src", "core_clk", "iface_clk", "bus_clk";
clocks =
<&rpmcc RPM_SMD_CE1_CLK>,
<&rpmcc RPM_SMD_CE1_CLK>,
<&rpmcc RPM_SMD_CE1_CLK>,
<&rpmcc RPM_SMD_CE1_CLK>;
qcom,ce-opp-freq = <192000000>;
};
eud: qcom,msm-eud@1628000 {
compatible = "qcom,msm-eud";
interrupt-names = "eud_irq";

View file

@ -0,0 +1,273 @@
/* Copyright (c) 2013, The Linux Foundation. All rights reserved.
* Copyright (c) 2016 Motorola Mobility LLC
*
* 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.
*/
/ {
channel-id-map =
"acg", /* 0 - Engineering or ACG */
"amxbr", /* 1 - LatAm */
"amxpr", /* 2 */
"amxmx", /* 3 */
"amxcl", /* 4 */
"amxar", /* 5 */
"amxla", /* 6 */
"amxpe", /* 7 */
"amxco", /* 8 */
"tefbr", /* 9 */
"tefmx", /* 10 */
"tefar", /* 11 */
"tefcl", /* 12 */
"tefpe", /* 13 */
"tefco", /* 14 */
"perar", /* 15 */
"entcl", /* 16 */
"iusmx", /* 17 */
"niibr", /* 18 */
"niicl", /* 19 */
"niimx", /* 20 */
"niipe", /* 21 */
"oibr", /* 22 */
"timbr", /* 23 */
"tigco", /* 24 */
"retbr", /* 25 */
"retar", /* 26 */
"retla", /* 27 */
"retcl", /* 28 */
"tefla", /* 29 */
"retla1st", /* 30 */
"tefunl", /* 31 */
"tigca", /* 32 */
"tigca1st", /* 33 */
"retmx", /* 34 */
"attmx", /* 35 */
"womcl", /* 36 */
"avaco", /* 37 */
"retpe", /* 38 */
"openla", /* 39 */
"opencl", /* 40 */
"openmx", /* 41 */
"altmx", /* 42 */
"openpe", /* 43 */
"openpub", /* 44 */
"undefined", /* 45 */
"undefined", /* 46 */
"undefined", /* 47 */
"undefined", /* 48 */
"undefined", /* 49 */
"undefined", /* 50 */
"undefined", /* 51 */
"undefined", /* 52 */
"undefined", /* 53 */
"undefined", /* 54 */
"undefined", /* 55 */
"undefined", /* 56 */
"undefined", /* 57 */
"undefined", /* 58 */
"undefined", /* 59 */
"undefined", /* 60 */
"undefined", /* 61 */
"undefined", /* 62 */
"undefined", /* 63 */
"reteu", /* 64 - Europe, Middle East & Africa */
"retgb", /* 65 */
"retfr", /* 66 */
"retes", /* 67 */
"retie", /* 68 */
"retde", /* 69 */
"vfgb", /* 70 */
"vfde", /* 71 */
"vffr", /* 72 */
"o2gb", /* 73 */
"o2de", /* 74 */
"orafr", /* 75 */
"bouyfr", /* 76 */
"eegb", /* 77 */
"tescogb", /* 78 */
"yoigo", /* 79 */
"oraes", /* 80 */
"retapac", /* 81 */
"retmea", /* 82 */
"vfit", /* 83 */
"vfes", /* 84 */
"vfeu", /* 85 */
"3gb", /* 86 */
"tescoie", /* 87 */
"altfr", /* 88 */
"3ie", /* 89 */
"altpt", /* 90 */
"timit", /* 91 */
"retma", /* 92 */
"windit", /* 93 */
"vfhu", /* 94 */
"vfro", /* 95 */
"telhu", /* 96 */
"playpl", /* 97 */
"oraeu", /* 98 */
"dteu", /* 99 */
"teleu", /* 100 */
"pluspl", /* 101 */
"dtpl", /* 102 */
"tefes", /* 103 */
"altice", /* 104 */
"vipeu", /* 105 */
"veoneu", /* 106 */
"openeu", /* 107 */
"reteu2", /* 108 */
"demogb", /* 109 */
"retdemo", /* 110 */
"undefined", /* 111 */
"undefined", /* 112 */
"undefined", /* 113 */
"undefined", /* 114 */
"undefined", /* 115 */
"undefined", /* 116 */
"undefined", /* 117 */
"undefined", /* 118 */
"undefined", /* 119 */
"undefined", /* 120 */
"undefined", /* 121 */
"undefined", /* 122 */
"undefined", /* 123 */
"undefined", /* 124 */
"undefined", /* 125 */
"undefined", /* 126 */
"undefined", /* 127 */
"retca", /* 128 - North America */
"bwaca", /* 129 */
"tkpca", /* 130 */
"vzw", /* 131 */
"att", /* 132 */
"tmo", /* 133 */
"sprint", /* 134 */
"repw", /* 135 */
"attpre", /* 136 */
"cricket", /* 137 */
"cc", /* 138 */
"usc", /* 139 */
"tracfone", /* 140 */
"retus", /* 141 */
"metropcs", /* 142 */
"rcica", /* 143 */
"wndca", /* 144 */
"dmc", /* 145 */
"bby", /* 146 */
"amz", /* 147 */
"acg", /* 148 */
"lra", /* 149 */
"comcast", /* 150 */
"fi", /* 151 */
"vzwpre", /* 152 */
"boost", /* 153 */
"spectrum", /* 154 */
"undefined", /* 155 */
"undefined", /* 156 */
"undefined", /* 157 */
"undefined", /* 158 */
"undefined", /* 159 */
"undefined", /* 160 */
"undefined", /* 161 */
"undefined", /* 162 */
"undefined", /* 163 */
"undefined", /* 164 */
"undefined", /* 165 */
"undefined", /* 166 */
"undefined", /* 167 */
"undefined", /* 168 */
"undefined", /* 169 */
"undefined", /* 170 */
"undefined", /* 171 */
"undefined", /* 172 */
"undefined", /* 173 */
"undefined", /* 174 */
"undefined", /* 175 */
"undefined", /* 176 */
"undefined", /* 177 */
"undefined", /* 178 */
"undefined", /* 179 */
"undefined", /* 180 */
"undefined", /* 181 */
"undefined", /* 182 */
"undefined", /* 183 */
"undefined", /* 184 */
"undefined", /* 185 */
"undefined", /* 186 */
"undefined", /* 187 */
"undefined", /* 188 */
"undefined", /* 189 */
"undefined", /* 190 */
"undefined", /* 191 */
"retin", /* 192 - Asia & Oceania */
"retcn", /* 193 */
"telstra", /* 194 */
"vfau", /* 195 */
"amzin", /* 196 */
"jioin", /* 197 */
"airin", /* 198 */
"retid", /* 199 */
"cmcc", /* 200 */
"ctcn", /* 201 */
"cucn", /* 202 */
"retmm", /* 203 */
"gt4gtw", /* 204 */
"retth", /* 205 */
"retru", /* 206 */
"trueth", /* 207 */
"smarthk", /* 208 */
"mobilpk", /* 209 */
"retsea", /* 210 */
"retjp", /* 211 */
"softbank", /* 212 */
"optus", /* 213 */
"retkr", /* 214 */
"retjio", /* 215 */
"ymobile", /* 216 */
"lguplus", /* 217 */
"docomo", /* 218 */
"retanz", /* 219 */
"cbncn", /* 220 */
"undefined", /* 221 */
"undefined", /* 222 */
"undefined", /* 223 */
"undefined", /* 224 */
"undefined", /* 225 */
"undefined", /* 226 */
"undefined", /* 227 */
"undefined", /* 228 */
"undefined", /* 229 */
"undefined", /* 230 */
"undefined", /* 231 */
"undefined", /* 232 */
"undefined", /* 233 */
"undefined", /* 234 */
"undefined", /* 235 */
"undefined", /* 236 */
"undefined", /* 237 */
"undefined", /* 238 */
"undefined", /* 239 */
"undefined", /* 240 */
"undefined", /* 241 */
"undefined", /* 242 */
"undefined", /* 243 */
"undefined", /* 244 */
"undefined", /* 245 */
"undefined", /* 246 */
"undefined", /* 247 */
"undefined", /* 248 */
"undefined", /* 249 */
"undefined", /* 250 */
"undefined", /* 251 */
"undefined", /* 252 */
"undefined", /* 253 */
"undefined", /* 254 */
"undefined"; /* 255 */
};

View file

@ -0,0 +1,247 @@
#include <dt-bindings/iio/qti_power_supply_iio.h>
&mot_batterydata {
df-serialnum = "SB18D17151";
qcom,batt-id-range-pct = <15>;
#include "qg-batterydata-ng50-atl-5000mah.dtsi"
#include "qg-batterydata-ng50-swd-5000mah.dtsi"
};
&pm7250b_charger {
#io-channel-cells = <1>;
io-channels = <&pm7250b_vadc ADC5_USB_IN_V_16>,
<&pm7250b_vadc ADC5_USB_IN_I>,
<&pm7250b_vadc ADC5_CHG_TEMP>,
<&pm7250b_vadc ADC5_DIE_TEMP>,
<&pm7250b_vadc ADC5_AMUX_THM3_100K_PU>,
<&pm7250b_vadc ADC5_SBUx>,
<&pm7250b_vadc ADC5_VPH_PWR>,
<&pm7250b_vadc ADC5_AMUX_THM1_100K_PU>,
<&pm7250b_qg PSY_IIO_RESISTANCE_ID>,
<&pm7250b_qg PSY_IIO_VOLTAGE_NOW>,
<&pm7250b_qg PSY_IIO_TEMP>,
<&pm7250b_qg PSY_IIO_CAPACITY>,
<&pm7250b_qg PSY_IIO_VOLTAGE_OCV>,
<&pm7250b_qg PSY_IIO_VOLTAGE_AVG>,
<&pm7250b_qg PSY_IIO_DEBUG_BATTERY>,
<&pm7250b_qg PSY_IIO_REAL_CAPACITY>,
<&pm7250b_qg PSY_IIO_CC_SOC>,
<&pm7250b_qg PSY_IIO_CURRENT_NOW>,
<&pm7250b_qg PSY_IIO_VOLTAGE_MAX>,
<&pm7250b_qg PSY_IIO_CHARGE_FULL>,
<&pm7250b_qg PSY_IIO_CHARGE_COUNTER>,
<&pm7250b_qg PSY_IIO_CYCLE_COUNT>,
<&pm7250b_qg PSY_IIO_CHARGE_FULL_DESIGN>,
<&pm7250b_qg PSY_IIO_TIME_TO_FULL_NOW>,
<&sc8549 PSY_IIO_MMI_CP_INPUT_VOLTAGE_NOW>;
io-channel-names = "usb_in_voltage",
"usb_in_current",
"chg_temp",
"die_temp",
"conn_temp",
"sbux_res",
"vph_voltage",
"skin_temp",
"resistance_id",
"voltage_now",
"temp",
"capacity",
"voltage_ocv",
"voltage_avg",
"debug_battery",
"real_capacity",
"cc_soc",
"current_now",
"voltage_max",
"charge_full",
"charge_counter",
"cycle_count",
"charge_full_design",
"time_to_full_now",
"cp_input_voltage_now";
qcom,fcc-max-ua = <3000000>;
qcom,fv-max-uv = <4480000>;
qcom,dcp-curr-max = <1500000>;
qcom,otg-cl-ua = <1000000>;
qcom,thermal-mitigation = <3000000 2500000
2000000 1500000
1200000 900000
600000>;
mmi,qc3p-support;
/delete-property/ qcom,fcc-stepping-enable;
};
&pm7250b_mmi {
qcom,mmi-temp-zones = <0 4200 1000 0>,
<10 4250 3000 1000>,
<15 0 3000 3000>,
<25 0 4000 4000>,
<35 0 4000 4000>,
<45 0 4000 4000>,
<60 4200 4000 0>;
qcom,mmi-ffc-zones = <4450 243 575>,
<4450 243 575>,
<4450 243 575>,
<4480 575 939>,
<4480 635 1038>,
<4480 661 1086>,
<4450 243 575>;
qcom,iterm-ma = <243>;
mmi,enable-factory-mode-aicl;
};
&pm7250b_qg {
#io-channel-cells = <1>;
io-channels = <&pm7250b_vadc ADC5_BAT_THERM_100K_PU>,
<&pm7250b_vadc ADC5_BAT_ID_100K_PU>,
<&pm7250b_charger PSY_IIO_INPUT_CURRENT_LIMITED>,
<&pm7250b_charger PSY_IIO_RECHARGE_SOC>,
<&pm7250b_charger PSY_IIO_FORCE_RECHARGE>,
<&pm7250b_charger PSY_IIO_CHARGE_DONE>,
<&mmi_chrg PSY_IIO_CP_ENABLE>;
io-channel-names = "batt-therm",
"batt-id",
"input_current_limited",
"recharge_soc",
"force_recharge",
"charge_done",
"cp_charging_enabled";
mmi,cp-use-internal-qg;
qcom,qg-iterm-ma = <500>;
};
&tlmm {
sc8549_int {
sc8549_int_default: sc8549_int_default {
mux {
pins = "gpio84";
function = "gpio";
};
config {
pins = "gpio84";
bias-pull-up; /* PULL UP */
input-enable;
};
};
};
};
&qupv3_se8_i2c {
status = "okay";
sc8549: sc8549-charger@6F{
compatible = "sc,sc8549-standalone";
#io-channel-cells = <1>;
reg = <0x6F>;
interrupt-parent = <&tlmm>;
interrupts = <84 0>;
pinctrl-names = "default";
pinctrl-0 = <&sc8549_int_default>;
/*sc,sc8549,bat-ovp-disable;
sc,sc8549,bat-ocp-disable;
sc,sc8549,bus-ocp-disable;
sc,sc8549,bus-ovp-disable;*/
sc,sc8549,bat-therm-disable;
sc,sc8549,bus-therm-disable;
sc,sc8549,bat-ovp-threshold = <4575>;
sc,sc8549,bat-ocp-threshold = <7000>;
sc,sc8549,bus-ovp-threshold = <11000>;
sc,sc8549,bus-ocp-threshold = <3500>;
sc,sc8549,ac-ovp-threshold = <17>;
sc,sc8549,sense-resistor-mohm = <5>;
};
};
&soc {
mmi_chrg: mmi_chrg_manager {
compatible = "mmi,chrg-manager";
#io-channel-cells = <1>;
io-channels = <&pm7250b_charger PSY_IIO_HW_CURRENT_MAX>,
<&pm7250b_charger PSY_IIO_CHARGING_ENABLED>,
<&pm7250b_charger PSY_IIO_TYPEC_MODE>,
<&pm7250b_charger PSY_IIO_USB_INPUT_CURRENT_SETTLED>,
<&pm7250b_charger PSY_IIO_PD_ACTIVE>,
/*qc3p start*/
<&pm7250b_charger PSY_IIO_USB_REAL_TYPE>,
<&pm7250b_charger PSY_IIO_DP_DM>,
<&pm7250b_charger PSY_IIO_MMI_QC3P_POWER>,
/*qc3p end*/
<&sc8549 PSY_IIO_CP_ENABLE>,
<&sc8549 PSY_IIO_MMI_CP_INPUT_CURRENT_NOW>,
<&sc8549 PSY_IIO_MMI_CP_INPUT_VOLTAGE_NOW>,
<&sc8549 PSY_IIO_CP_STATUS1>,
<&sc8549 PSY_IIO_MMI_CP_CLEAR_ERROR>,
<&pm7250b_mmi PSY_IIO_CP_ENABLE>;
io-channel-names = "usb_hw_current_max",
"charging_enabled",
"usb_typec_mode",
"usb_input_current_settled",
"usb_pd_active",
/*qc3p start*/
"usb_real_type",
"battery_dp_dm",
"usb_qc3p_power",
/*qc3p end*/
"cp_enable",
"cp_input_current_now",
"cp_input_voltage_now",
"cp_status1",
"cp_clear_error",
"mmi_cp_enabled_status";
qcom,usbpd-phandle = <&pm7250b_pdphy>;
mmi,pps-volt-steps = <20000>;
mmi,pps-curr-steps = <100000>;
mmi,pd-volt-max = <10000000>;
mmi,pd-curr-max = <3000000>;
mmi,batt-curr-boost = <300000>;
mmi,batt-ovp-lmt = <4550000>;
mmi,pl-chrg-vbatt-min = <3600000>;
mmi,typec-middle-current = <2000000>;
mmi,pd-allow-min-current = <1000000>;
mmi,step-first-current-comp = <0>;
mmi,dont-rerun-aicl;
/*qc3p start*/
mmi,qc3p-max-ibus-ma = <3000>;
mmi,qc3p-volt-steps = <20000>;
mmi,qc3p-volt-max = <10000000>;
/*qc3p end*/
mmi,chrg-temp-zones-num = <5>;
mmi,mmi-chrg-temp-zones =
<0 4200 1000 0 0>,
<10 4250 3000 4450 1000>,
<15 4450 3000 0 0>,
<45 4350 5800 4480 4000>,
<60 4200 4000 0 0>;
mmi,thermal-mitigation =
<5800000>,
<5000000>,
<4000000>,
<3500000>,
<3000000>,
<2000000>,
<1000000>;
charger_device_0 {
chrg-name = "pmic-sw";
psy-name = "battery";
charging-curr-limited = <500000>;
};
charger_device_1 {
chrg-name = "cp-master";
psy-name = "cp-standalone";
charging-curr-min = <2000000>;
};
};
};

Some files were not shown because too many files have changed in this diff Show more