/*
 * Copyright (C) 2023 Nordic Semiconductor ASA
 * SPDX-License-Identifier: Apache-2.0
 */

&arduino_i2c {
	npm1300_ek_pmic: pmic@6b {
		compatible = "nordic,npm1300";
		reg = <0x6b>;

		npm1300_ek_gpio: gpio-controller {
			compatible = "nordic,npm1300-gpio";
			gpio-controller;
			#gpio-cells = <2>;
			ngpios = <5>;
		};

		npm1300_ek_regulators: regulators {
			compatible = "nordic,npm1300-regulator";

			/* limits are set to min/max allowed values */
			npm1300_ek_buck1: BUCK1 {
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
			};

			npm1300_ek_buck2: BUCK2 {
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <3300000>;
				regulator-init-microvolt = <3300000>;
				retention-microvolt = <2500000>;
				enable-gpios = <&npm1300_ek_gpio 1 GPIO_ACTIVE_LOW>;
				retention-gpios = <&npm1300_ek_gpio 2 GPIO_ACTIVE_HIGH>;
				pwm-gpios = <&npm1300_ek_gpio 2 GPIO_ACTIVE_LOW>;
			};

			npm1300_ek_ldo1: LDO1 {
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <3300000>;
				enable-gpios = <&npm1300_ek_gpio 2 GPIO_ACTIVE_LOW>;
			};

			npm1300_ek_ldo2: LDO2 {
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <3300000>;
				enable-gpios = <&npm1300_ek_gpio 2 GPIO_ACTIVE_LOW>;
			};
		};

		npm1300_ek_charger: charger {
			compatible = "nordic,npm1300-charger";
			term-microvolt = <4150000>;
			term-warm-microvolt = <4000000>;
			current-microamp = <150000>;
			dischg-limit-microamp = <1000000>;
			vbus-limit-microamp = <500000>;
			thermistor-ohms = <10000>;
			thermistor-beta = <3380>;
			charging-enable;
		};

		npm1300_ek_buttons: buttons {
			compatible = "gpio-keys";
			pmic_button0: pmic_button_0 {
				gpios = < &npm1300_ek_gpio 0 GPIO_ACTIVE_HIGH>;
				label = "Pmic button switch 0";
			};
		};
	};
};
