Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b6a82471 authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Merge a66eb860 on remote branch

Change-Id: I816c01d7e1693c68228c2d4778cfb417b0d97c68
parents 248e2876 a66eb860
Loading
Loading
Loading
Loading
+16 −9
Original line number Diff line number Diff line
@@ -18,13 +18,15 @@ Properties:
  Value type:	<string>
  Definition: 	It can be one of following:
		"qcom,hv-haptics",
		"qcom,pm8350b-haptics".
		"qcom,pm8350b-haptics",
		"qcom,pm5100-haptics".

- reg:
  Usage:	required
  Value type:	<prop-encoded-array>
  Definition:	Register base for following haptics modules: HAPTICS_CFG,
		HAPTICS_PATTERN, HAPTICS_BOOST.
		HAPTICS_PATTERN, HAPTICS_BOOST. HAPTICS_BOOST register base
		is not applicable for PM5100.

- interrupts:
  Usage:	required
@@ -76,9 +78,11 @@ Properties:
  Value type:	<u32>
  Definition:	Specifies the FIFO empty threshold. The "fifo-empty" IRQ will be
		triggered when the number of the samples in the FIFO is less
		than the threshold. For PM8350B v1, allowed value is 1 - 103
		and the default value is 48. For PM8350B v2, allowed value is
		1 - 639 and the default value is 280.
		than the threshold. For PM8350B v1, allowed value is 0 - 104
		in multiple of 4 and the default value is 48. For PM8350B v2,
		allowed value is 0 - 640 in multiple of 40 and the default
		value is 280. For PM5100, allowed value is 0 - 1024 in multiple
		of 32 and the default value is 288.

- qcom,use-erm:
  Usage:	optional
@@ -91,33 +95,36 @@ Properties:
  Value type:	<string>
  Definition:	The nvmem cell name of the SDAM module where the closed-loop
		brake calibration settings can be stored. It must be
		"hap_cl_brake".
		"hap_cl_brake". Not applicable for PM5100.

- nvmem-cells:
  Usage:	optional
  Value type:	<phandle>
  Definition:	Phandle of the nvmem cell to store the closed-loop brake
		calibration settings. Please refer to nvmem bindings as
		described in bindings/nvmem/nvmem.txt.
		described in bindings/nvmem/nvmem.txt. Not applicable
		for PM5100.

- nvmem-names:
  Usage:	optional
  Value type:	<string>
  Definition:	The nvmem device name of the SDAM module used for haptics
		configuration. It must be "hap_cfg_sdam".
		configuration. It must be "hap_cfg_sdam". Not applicable for
		PM5100.

- nvmem:
  Usage:	optional
  Value type:	<phandle>
  Definition:	Phandle of the nvmem device used for haptics configuration.
		Please refer to nvmem bindings as described in bindings/nvmem/nvmem.txt.
		Not applicable for PM5100.

- qcom,pbs-client:
  Usage:	optional
  Value type:	<phandle>
  Definition:	Phandle of the PBS client used for triggering PBS to configure
		haptics ISC (short circuit current) config during LRA impedance
		detection.
		detection. Not applicable for PM5100.

- qcom,hpwr-supply:
  Usage:	optional
+20 −0
Original line number Diff line number Diff line
@@ -6,17 +6,37 @@ if it is going to cross its own threshold. If all clients are going to cross
their thresholds then Cx ipeak hw module will raise an interrupt to cDSP block
to throttle cDSP's fmax.

There are SOC like SCUBA where Cx ipeak HW module raised interrupt will
throttle frequency of other victim clients.

Required properties:

- #size-cells : Must be 1

- compatible : name of the component used for driver matching, should be one
	       "qcom,cx-ipeak-v1", "qcom,cx-ipeak-v2"

- reg : physical base address and length of the register set(s), SRAM and XPU
	of the component.

Optional properties:

- interrupts : Danger and Safe interrupts details having interrupt number and
	type of interrupt.

- interrupt-names : Identifier names for Danger and Safe interrupts.

- victims_table : Victim clients details having client ID, victim ID and
	limit frequency to be applied in case of danger interrupt.

Example:

	cx_ipeak_lm: cx_ipeak@1fe5040 {
		#size-cells = <1>;
		compatible = "qcom,cx-ipeak-v1";
		reg = <0x01fe5040 0x28>;
		interrupts = <0 415 IRQ_TYPE_EDGE_RISING>,
					 <0 416 IRQ_TYPE_EDGE_RISING>;
		interrupt-names = "cx_ipeak_danger", "cx_ipeak_safe";
		victims_table = <1 0 844800000>;
	};
+11 −2
Original line number Diff line number Diff line
@@ -144,19 +144,28 @@ dtbo-$(CONFIG_ARCH_BLAIR) += blair-rumi-overlay.dtbo \
	blair-mtp-overlay.dtbo \
	blair-cdp-overlay.dtbo \
	blair-atp-overlay.dtbo \
	blair-qrd-overlay.dtbo
	blair-qrd-overlay.dtbo \
	blair-mtp-usbc-overlay.dtbo \
	blair-mtp-nopmi-overlay.dtbo \
	blair-qrd-nopmi-overlay.dtbo

blair-rumi-overlay.dtbo-base := blair.dtb
blair-mtp-overlay.dtbo-base := blair.dtb
blair-cdp-overlay.dtbo-base := blair.dtb
blair-atp-overlay.dtbo-base := blair.dtb
blair-qrd-overlay.dtbo-base := blair.dtb
blair-mtp-usbc-overlay.dtbo-base := blair.dtb
blair-mtp-nopmi-overlay.dtbo-base := blair.dtb
blair-qrd-nopmi-overlay.dtbo-base := blair.dtb
else
dtb-$(CONFIG_ARCH_BLAIR) += blair-rumi.dtb \
	blair-mtp.dtb \
	blair-cdp.dtb \
	blair-atp.dtb \
	blair-qrd.dtb
	blair-qrd.dtb \
	blair-mtp-usbc.dtb \
	blair-mtp-nopmi.dtb \
	blair-qrd-nopmi.dtb
endif

ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y)
+5 −0
Original line number Diff line number Diff line
@@ -9,3 +9,8 @@
	qcom,msm-id = <507 0x10000>;
	qcom,board-id = <1 0>;
};

&wsa881x_analog_reset_gpio {
	pinctrl-0 = <&spkr_1_sd_n_active>;
	pinctrl-1 = <&spkr_1_sd_n_sleep>;
};
+359 −7
Original line number Diff line number Diff line
#include "holi-cdp-pm6125.dtsi"
#include "holi-audio-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-cdp-pm6125.dtsi"
#include <dt-bindings/iio/qti_power_supply_iio.h>
#include "display/blair-sde-display-cdp.dtsi"
/ {

&pm6125_pwm {
	status = "ok";
};

&wcd938x_codec {
	cdc-vdd-rxtx-supply = <&L9A>;
	cdc-vddio-supply = <&L9A>;
	qcom,cdc-static-supplies = "cdc-vdd-rxtx",
				   "cdc-vddio";
	/*
	 * 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 = <>;
};

&wcd937x_codec {
	cdc-vdd-rxtx-supply = <&L9A>;
	cdc-vddio-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 = <>;
};

&wsa881x_i2c_e {
	cdc-vdd-1p8-supply = <&L9A>;
};

&wsa881x_i2c_f {
	cdc-vdd-1p8-supply = <&L9A>;
};

/* 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_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";
};

&pm6125_pwm {
&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 {
&qupv3_se0_i2c {
	status = "ok";
	#address-cells = <1>;
	#size-cells = <0>;
	nq@28 {
		compatible = "qcom,sn-nci";
		reg = <0x28>;
		qcom,sn-irq = <&tlmm 9 0x00>;
		qcom,sn-ven = <&tlmm 6 0x00>;
		qcom,sn-firm = <&tlmm 8 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>;
	};
};

&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;
		};
	};
};

&pm7250b_charger {
	status = "ok";
	#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>;
	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";
	qcom,batteryless-platform;
	qcom,sec-charger-config = <0>;
	qcom,auto-recharge-soc = <98>;
	qcom,step-charging-enable;
	qcom,sw-jeita-enable;
	qcom,charger-temp-max = <800>;
	qcom,smb-temp-max = <800>;
	qcom,suspend-input-on-debug-batt;
};

&pm7250b_qg {
	status = "ok";
	#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>;
	io-channel-names = "batt-therm",
			   "batt-id",
			   "input_current_limited",
			   "recharge_soc",
			   "force_recharge",
			   "charge_done";
	qcom,qg-iterm-ma = <100>;
	qcom,hold-soc-while-full;
	qcom,linearize-soc;
	qcom,cl-feedback-on;
	qcom,vbatt-cutoff-mv = <3400>;
	qcom,vbatt-empty-mv = <3200>;
	qcom,vbatt-empty-cold-mv = <3100>;
	qcom,vbatt-low-mv = <3500>;
	qcom,fvss-vbatt-mv = <3500>;
};

&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>;
	};
};

&qupv3_se8_i2c {
	#address-cells = <1>;
	#size-cells = <0>;
	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 = <&L9A>;
		avdd-supply = <&touch_avdd>;
		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>;
	};

	focaltech@38 {
		compatible = "focaltech,fts_ts";
		reg = <0x38>;
		interrupt-parent = <&tlmm>;
		interrupts = <22 0x2008>;
		focaltech,reset-gpio = <&tlmm 21 0x00>;
		focaltech,irq-gpio = <&tlmm 22 0x2008>;
		focaltech,max-touch-number = <5>;
		focaltech,display-coords = <0 0 1080 2340>;

		vdd-supply = <&touch_avdd>;

		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>;
	};

	novatek@62 {
		compatible = "novatek,NVT-ts";
@@ -40,3 +332,63 @@
			&dsi_nt36672e_fhd_plus_144_video>;
	};
};

#include "camera/blair-camera-sensor-cdp.dtsi"

&pm7250b_charger {
	dpdm-supply = <&qusb_phy0>;

	smb5_vbus: qcom,smb5-vbus {
		regulator-name = "smb5-vbus";
	};

	smb5_vconn: qcom,smb5-vconn {
		regulator-name = "smb5-vconn";
	};
};

&pm7250b_pdphy {
	vdd-pdphy-supply = <&L3A>;
	vbus-supply = <&smb5_vbus>;
	vconn-supply = <&smb5_vconn>;

	#io-channel-cells = <1>;
	io-channels = <&pm7250b_charger PSY_IIO_PD_ACTIVE>,
		      <&pm7250b_charger PSY_IIO_TYPEC_CC_ORIENTATION>,
		      <&pm7250b_charger PSY_IIO_CONNECTOR_TYPE>,
		      <&pm7250b_charger PSY_IIO_TYPEC_POWER_ROLE>,
		      <&pm7250b_charger PSY_IIO_PD_USB_SUSPEND_SUPPORTED>,
		      <&pm7250b_charger PSY_IIO_TYPEC_SRC_RP>,
		      <&pm7250b_charger PSY_IIO_PD_IN_HARD_RESET>,
		      <&pm7250b_charger PSY_IIO_PD_CURRENT_MAX>,
		      <&pm7250b_charger PSY_IIO_PR_SWAP>,
		      <&pm7250b_charger PSY_IIO_PD_VOLTAGE_MIN>,
		      <&pm7250b_charger PSY_IIO_PD_VOLTAGE_MAX>,
		      <&pm7250b_charger PSY_IIO_USB_REAL_TYPE>,
		      <&pm7250b_charger PSY_IIO_TYPEC_MODE>,
		      <&pm7250b_charger PSY_IIO_PE_START>;
	io-channel-names = "pd_active",
			   "typec_cc_orientation",
			   "connector_type",
			   "typec_power_role",
			   "pd_usb_suspend_supported",
			   "typec_src_rp",
			   "pd_in_hard_reset",
			   "pr_current_max",
			   "pr_swap",
			   "pd_voltage_min",
			   "pd_voltage_max",
			   "real_type",
			   "typec_mode",
			   "pe_start";
};

&usb0 {
	extcon = <&pm7250b_pdphy>, <&pm7250b_charger>, <&eud>;

	#io-channel-cells = <1>;
	io-channels= <&pm7250b_charger PSY_IIO_USB_REAL_TYPE>;
	io-channel-names = "chg_type";
};

Loading