// SPDX-License-Identifier: GPL-2.0
#include <dt-bindings/iio/qcom,spmi-vadc.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/spmi/spmi.h>

&spmi_bus {

	pm8941_0: pm8941@0 {
		compatible = "qcom,pm8941", "qcom,spmi-pmic";
		reg = <0x0 SPMI_USID>;
		#address-cells = <1>;
		#size-cells = <0>;

		rtc@6000 {
			compatible = "qcom,pm8941-rtc";
			reg = <0x6000>,
			      <0x6100>;
			reg-names = "rtc", "alarm";
			interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
		};

		pwrkey@800 {
			compatible = "qcom,pm8941-pwrkey";
			reg = <0x800>;
			interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
			debounce = <15625>;
			bias-pull-up;
		};

		usb_id: misc@900 {
			compatible = "qcom,pm8941-misc";
			reg = <0x900>;
			interrupts = <0x0 0x9 0 IRQ_TYPE_EDGE_BOTH>;
			interrupt-names = "usb_id";
		};

		smbb: charger@1000 {
			compatible = "qcom,pm8941-charger";
			reg = <0x1000>;
			interrupts = <0x0 0x10 7 IRQ_TYPE_EDGE_BOTH>,
				     <0x0 0x10 5 IRQ_TYPE_EDGE_BOTH>,
				     <0x0 0x10 4 IRQ_TYPE_EDGE_BOTH>,
				     <0x0 0x12 1 IRQ_TYPE_EDGE_BOTH>,
				     <0x0 0x12 0 IRQ_TYPE_EDGE_BOTH>,
				     <0x0 0x13 2 IRQ_TYPE_EDGE_BOTH>,
				     <0x0 0x13 1 IRQ_TYPE_EDGE_BOTH>,
				     <0x0 0x14 1 IRQ_TYPE_EDGE_BOTH>;
			interrupt-names = "chg-done",
					  "chg-fast",
					  "chg-trkl",
					  "bat-temp-ok",
					  "bat-present",
					  "chg-gone",
					  "usb-valid",
					  "dc-valid";

			usb-otg-in-supply = <&pm8941_5vs1>;

			chg_otg: otg-vbus { };
		};

		pm8941_gpios: gpios@c000 {
			compatible = "qcom,pm8941-gpio", "qcom,spmi-gpio";
			reg = <0xc000>;
			gpio-controller;
			gpio-ranges = <&pm8941_gpios 0 0 36>;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <2>;

			boost_bypass_n_pin: boost-bypass {
				pins = "gpio21";
				function = "normal";
			};
		};

		pm8941_mpps: mpps@a000 {
			compatible = "qcom,pm8941-mpp", "qcom,spmi-mpp";
			reg = <0xa000>;
			gpio-controller;
			#gpio-cells = <2>;
			gpio-ranges = <&pm8941_mpps 0 0 8>;
			interrupt-controller;
			#interrupt-cells = <2>;
		};

		pm8941_temp: temp-alarm@2400 {
			compatible = "qcom,spmi-temp-alarm";
			reg = <0x2400>;
			interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>;
			io-channels = <&pm8941_vadc VADC_DIE_TEMP>;
			io-channel-names = "thermal";
			#thermal-sensor-cells = <0>;
		};

		pm8941_vadc: vadc@3100 {
			compatible = "qcom,spmi-vadc";
			reg = <0x3100>;
			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
			#address-cells = <1>;
			#size-cells = <0>;
			#io-channel-cells = <1>;

			bat_temp {
				reg = <VADC_LR_MUX1_BAT_THERM>;
			};
			die_temp {
				reg = <VADC_DIE_TEMP>;
			};
			ref_625mv {
				reg = <VADC_REF_625MV>;
			};
			ref_1250v {
				reg = <VADC_REF_1250MV>;
			};
			ref_gnd {
				reg = <VADC_GND_REF>;
			};
			ref_vdd {
				reg = <VADC_VDD_VADC>;
			};
			vbat_sns {
				reg = <VADC_VBAT_SNS>;
			};
		};

		pm8941_iadc: iadc@3600 {
			compatible = "qcom,pm8941-iadc", "qcom,spmi-iadc";
			reg = <0x3600>;
			interrupts = <0x0 0x36 0x0 IRQ_TYPE_EDGE_RISING>;
			qcom,external-resistor-micro-ohms = <10000>;
		};

		coincell@2800 {
			compatible = "qcom,pm8941-coincell";
			reg = <0x2800>;
			status = "disabled";
		};
	};

	pm8941_1: pm8941@1 {
		compatible = "qcom,pm8941", "qcom,spmi-pmic";
		reg = <0x1 SPMI_USID>;
		#address-cells = <1>;
		#size-cells = <0>;

		pm8941_wled: wled@d800 {
			compatible = "qcom,pm8941-wled";
			reg = <0xd800>;
			label = "backlight";

			status = "disabled";
		};

		regulators {
			compatible = "qcom,pm8941-regulators";
			interrupts = <0x1 0x83 0x2 0>, <0x1 0x84 0x2 0>;
			interrupt-names = "ocp-5vs1", "ocp-5vs2";
			vin_5vs-supply = <&pm8941_5v>;

			pm8941_5v: s4 {
				regulator-min-microvolt = <5000000>;
				regulator-max-microvolt = <5000000>;
				regulator-enable-ramp-delay = <500>;
			};

			pm8941_5vs1: 5vs1 {
				regulator-enable-ramp-delay = <1000>;
				regulator-pull-down;
				regulator-over-current-protection;
				qcom,ocp-max-retries = <10>;
				qcom,ocp-retry-delay = <30>;
				qcom,vs-soft-start-strength = <0>;
				regulator-initial-mode = <1>;
			};

			pm8941_5vs2: 5vs2 {
				regulator-enable-ramp-delay = <1000>;
				regulator-pull-down;
				regulator-over-current-protection;
				qcom,ocp-max-retries = <10>;
				qcom,ocp-retry-delay = <30>;
				qcom,vs-soft-start-strength = <0>;
				regulator-initial-mode = <1>;
			};
		};
	};
};
