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

#include <dt-bindings/regulator/npm1300.h>
#include <zephyr/dt-bindings/input/input-event-codes.h>

&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 = <1000000>;
				regulator-max-microvolt = <3300000>;
			};

			npm1300_ek_buck2: BUCK2 {
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <3300000>;
			};

			npm1300_ek_ldo1: LDO1 {
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <3300000>;
			};

			npm1300_ek_ldo2: LDO2 {
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <3300000>;
			};
		};

		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";
			zephyr,code = <INPUT_KEY_0>;
			};
		};

		npm1300_ek_leds: leds {
			compatible = "nordic,npm1300-led";
			nordic,led0-mode = "error";
			nordic,led1-mode = "charging";
			nordic,led2-mode = "host";
		};
	};
};
