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

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

		pm8941_gpios: gpios@c000 {
			compatible = "qcom,pm8941-gpio", "qcom,spmi-gpio";
			reg = <0xc000>;
			gpio-controller;
			#gpio-cells = <2>;
			interrupts = <0 0xc0 0 IRQ_TYPE_NONE>,
				     <0 0xc1 0 IRQ_TYPE_NONE>,
				     <0 0xc2 0 IRQ_TYPE_NONE>,
				     <0 0xc3 0 IRQ_TYPE_NONE>,
				     <0 0xc4 0 IRQ_TYPE_NONE>,
				     <0 0xc5 0 IRQ_TYPE_NONE>,
				     <0 0xc6 0 IRQ_TYPE_NONE>,
				     <0 0xc7 0 IRQ_TYPE_NONE>,
				     <0 0xc8 0 IRQ_TYPE_NONE>,
				     <0 0xc9 0 IRQ_TYPE_NONE>,
				     <0 0xca 0 IRQ_TYPE_NONE>,
				     <0 0xcb 0 IRQ_TYPE_NONE>,
				     <0 0xcc 0 IRQ_TYPE_NONE>,
				     <0 0xcd 0 IRQ_TYPE_NONE>,
				     <0 0xce 0 IRQ_TYPE_NONE>,
				     <0 0xcf 0 IRQ_TYPE_NONE>,
				     <0 0xd0 0 IRQ_TYPE_NONE>,
				     <0 0xd1 0 IRQ_TYPE_NONE>,
				     <0 0xd2 0 IRQ_TYPE_NONE>,
				     <0 0xd3 0 IRQ_TYPE_NONE>,
				     <0 0xd4 0 IRQ_TYPE_NONE>,
				     <0 0xd5 0 IRQ_TYPE_NONE>,
				     <0 0xd6 0 IRQ_TYPE_NONE>,
				     <0 0xd7 0 IRQ_TYPE_NONE>,
				     <0 0xd8 0 IRQ_TYPE_NONE>,
				     <0 0xd9 0 IRQ_TYPE_NONE>,
				     <0 0xda 0 IRQ_TYPE_NONE>,
				     <0 0xdb 0 IRQ_TYPE_NONE>,
				     <0 0xdc 0 IRQ_TYPE_NONE>,
				     <0 0xdd 0 IRQ_TYPE_NONE>,
				     <0 0xde 0 IRQ_TYPE_NONE>,
				     <0 0xdf 0 IRQ_TYPE_NONE>,
				     <0 0xe0 0 IRQ_TYPE_NONE>,
				     <0 0xe1 0 IRQ_TYPE_NONE>,
				     <0 0xe2 0 IRQ_TYPE_NONE>,
				     <0 0xe3 0 IRQ_TYPE_NONE>;

			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>;
			interrupts = <0 0xa0 0 IRQ_TYPE_NONE>,
				     <0 0xa1 0 IRQ_TYPE_NONE>,
				     <0 0xa2 0 IRQ_TYPE_NONE>,
				     <0 0xa3 0 IRQ_TYPE_NONE>,
				     <0 0xa4 0 IRQ_TYPE_NONE>,
				     <0 0xa5 0 IRQ_TYPE_NONE>,
				     <0 0xa6 0 IRQ_TYPE_NONE>,
				     <0 0xa7 0 IRQ_TYPE_NONE>;
		};

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

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

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