// 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: usb-detect@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: gpio@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-state {
				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: adc@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>;


			adc-chan@6 {
				reg = <VADC_VBAT_SNS>;
			};

			adc-chan@8 {
				reg = <VADC_DIE_TEMP>;
			};

			adc-chan@9 {
				reg = <VADC_REF_625MV>;
			};

			adc-chan@a {
				reg = <VADC_REF_1250MV>;
			};

			adc-chan@e {
				reg = <VADC_GND_REF>;
			};

			adc-chan@f {
				reg = <VADC_VDD_VADC>;
			};

			adc-chan@30 {
				reg = <VADC_LR_MUX1_BAT_THERM>;
			};
		};

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

		pm8941_coincell: charger@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_lpg: pwm {
			compatible = "qcom,pm8941-lpg";

			#address-cells = <1>;
			#size-cells = <0>;
			#pwm-cells = <2>;

			status = "disabled";
		};

		pm8941_vib: vibrator@c000 {
			compatible = "qcom,pm8916-vib";
			reg = <0xc000>;
			status = "disabled";
		};

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