#pragma once
#include <stdbool.h>

enum ncn8025_sim_voltage {
	SIM_VOLT_3V0 = 0,
	SIM_VOLT_5V0 = 2,
	SIM_VOLT_1V8 = 3
};

enum ncn8025_sim_clkdiv {
	SIM_CLKDIV_1 = 1,
	SIM_CLKDIV_2 = 3,
	SIM_CLKDIV_4 = 2,
	SIM_CLKDIV_8 = 0,
};

struct ncn8025_settings {
	bool rstin;	/* Reset signal (true: asserted low) */
	bool cmdvcc;	/* Command VCC pin. Activation sequence Enable (true: active low) */
	bool simpres;	/* high: active */
	bool led;	/* high: active */
	bool interrupt;	/* high: active */
	enum ncn8025_sim_clkdiv clkdiv;	/* raw 2bit value */
	enum ncn8025_sim_voltage vsel;	/* raw 2bit value */
};

int ncn8025_set(uint8_t slot, const struct ncn8025_settings *set);
int ncn8025_get(uint8_t slot, struct ncn8025_settings *set);
bool ncn8025_interrupt_level(uint8_t slot);
int ncn8025_init(unsigned int slot);
void ncn8025_dump(const struct ncn8025_settings *set);
