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

&spmi_bus {
	pmi8998_lsid0: pmic@2 {
		compatible = "qcom,pmi8998", "qcom,spmi-pmic";
		reg = <0x2 SPMI_USID>;
		#address-cells = <1>;
		#size-cells = <0>;

		pmi8998_charger: charger@1000 {
			compatible = "qcom,pmi8998-charger";
			reg = <0x1000>;

			interrupts = <0x2 0x13 0x4 IRQ_TYPE_EDGE_BOTH>,
				     <0x2 0x12 0x2 IRQ_TYPE_EDGE_BOTH>,
				     <0x2 0x16 0x1 IRQ_TYPE_EDGE_RISING>,
				     <0x2 0x13 0x6 IRQ_TYPE_EDGE_RISING>;
			interrupt-names = "usb-plugin",
					  "bat-ov",
					  "wdog-bark",
					  "usbin-icl-change";

			io-channels = <&pmi8998_rradc 3>,
				      <&pmi8998_rradc 4>;
			io-channel-names = "usbin_i", "usbin_v";

			status = "disabled";
		};

		pmi8998_gpios: gpio@c000 {
			compatible = "qcom,pmi8998-gpio", "qcom,spmi-gpio";
			reg = <0xc000>;
			gpio-controller;
			gpio-ranges = <&pmi8998_gpios 0 0 14>;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <2>;
		};

		pmi8998_rradc: adc@4500 {
			compatible = "qcom,pmi8998-rradc";
			reg = <0x4500>;
			#io-channel-cells = <1>;
		};
	};

	pmi8998_lsid1: pmic@3 {
		compatible = "qcom,pmi8998", "qcom,spmi-pmic";
		reg = <0x3 SPMI_USID>;
		#address-cells = <1>;
		#size-cells = <0>;

		labibb {
			compatible = "qcom,pmi8998-lab-ibb";

			ibb: ibb {
				interrupts = <0x3 0xdc 0x2 IRQ_TYPE_EDGE_RISING>,
					     <0x3 0xdc 0x0 IRQ_TYPE_LEVEL_HIGH>;
				interrupt-names = "sc-err", "ocp";
			};

			lab: lab {
				interrupts = <0x3 0xde 0x1 IRQ_TYPE_EDGE_RISING>,
					     <0x3 0xde 0x0 IRQ_TYPE_LEVEL_LOW>;
				interrupt-names = "sc-err", "ocp";
			};
		};

		pmi8998_lpg: pwm {
			compatible = "qcom,pmi8998-lpg";

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

			status = "disabled";
		};

		pmi8998_flash: led-controller@d300 {
			compatible = "qcom,pmi8998-flash-led", "qcom,spmi-flash-led";
			reg = <0xd300>;
			status = "disabled";
		};

		pmi8998_wled: leds@d800 {
			compatible = "qcom,pmi8998-wled";
			reg = <0xd800>, <0xd900>;
			interrupts = <0x3 0xd8 0x1 IRQ_TYPE_EDGE_RISING>,
				     <0x3 0xd8 0x2 IRQ_TYPE_EDGE_RISING>;
			interrupt-names = "ovp", "short";
			label = "backlight";

			status = "disabled";
		};
	};
};
