#
# Copyright (c) 2016 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#

menuconfig HMC5883L
	bool
	prompt "HMC5883L magnetometer"
	depends on SENSOR && I2C
	default n
	help
	Enable driver for HMC5883L I2C-based magnetometer.

config HMC5883L_NAME
	string
	prompt "Driver name"
	default "HMC5883L"
	depends on HMC5883L
	help
	Device name with which the HMC5883L sensor is identified.

config HMC5883L_I2C_MASTER_DEV_NAME
	string
	prompt "I2C master where HMC5883L is connected"
	depends on HMC5883L
	default "I2C_0"
	help
	Specify the device name of the I2C master device to which HMC5883L
	is connected.

choice
	prompt "Trigger mode"
	depends on HMC5883L
	default HMC5883L_TRIGGER_GLOBAL_THREAD
	help
	Specify the type of triggering to be used by the driver.

config HMC5883L_TRIGGER_NONE
	bool
	prompt "No trigger"

config HMC5883L_TRIGGER_GLOBAL_THREAD
	bool
	prompt "Use global thread"
	depends on GPIO
	select HMC5883L_TRIGGER

config HMC5883L_TRIGGER_OWN_THREAD
	bool
	prompt "Use own thread"
	depends on GPIO
	select HMC5883L_TRIGGER

endchoice

config HMC5883L_TRIGGER
	bool
	depends on HMC5883L

config HMC5883L_GPIO_DEV_NAME
	string
	prompt "GPIO device"
	default "GPIO_0"
	depends on HMC5883L && HMC5883L_TRIGGER
	help
	The device name of the GPIO device to which the HMC5883L interrupt
	pin is connected.

config HMC5883L_GPIO_PIN_NUM
	int
	prompt "Interrupt GPIO pin number"
	default 0
	depends on HMC5883L && HMC5883L_TRIGGER
	help
	The number of the GPIO on which the interrupt signal from the
	HMC5883L chip will be received.

config HMC5883L_THREAD_PRIORITY
	int
	prompt "Thread priority"
	depends on HMC5883L && HMC5883L_TRIGGER_OWN_THREAD
	default 10
	help
	Priority of thread used by the driver to handle interrupts.

config HMC5883L_THREAD_STACK_SIZE
	int
	prompt "Thread stack size"
	depends on HMC5883L && HMC5883L_TRIGGER_OWN_THREAD
	default 1024
	help
	Stack size of thread used by the driver to handle interrupts.

config HMC5883L_ODR
	string
	prompt "Output data rate"
	depends on HMC5883L
	default "15"
	help
	Magnetometer output data rate expressed in samples per second.
	Data rates supported by the chip are 0.75, 1.5, 3, 7.5, 15, 30
	and 75.

config HMC5883L_FS
	string
	prompt "Full-scale range"
	depends on HMC5883L
	default "1.3"
	help
	Magnetometer full-scale range.
	An X value for the config represents a range of +/- X gauss. Valid
	values are 0.88, 1.3, 1.9, 2.5, 4, 4.7, 5.6 and 8.1.
