1# BMM150 Geomagnetic sensor configuration options
2
3# Copyright (c) 2017 Intel Corporation
4# SPDX-License-Identifier: Apache-2.0
5
6menuconfig BMM150
7	bool "BMM150 I2C Geomagnetic Chip"
8	default y
9	depends on DT_HAS_BOSCH_BMM150_ENABLED
10	select I2C
11	help
12	  Enable driver for BMM150 I2C-based Geomagnetic sensor.
13if BMM150
14
15choice
16	prompt "Default preset"
17	default BMM150_PRESET_REGULAR
18	help
19	  Specify the default preset (x/y oversampling, z oversampling, sampling
20	  frequency).
21
22config BMM150_PRESET_LOW_POWER
23	bool "Low power (3, 3, 10)"
24
25config BMM150_PRESET_REGULAR
26	bool "Regular (9, 15, 10)"
27
28config BMM150_PRESET_ENHANCED_REGULAR
29	bool "Enhanced regular (15, 27, 10)"
30
31config BMM150_PRESET_HIGH_ACCURACY
32	bool "High accuracy (47, 83, 20)"
33
34endchoice
35
36choice BMM150_TRIGGER_MODE
37	prompt "Trigger mode"
38	default BMM150_TRIGGER_NONE
39	help
40	  Specify the type of triggering to be used by the driver.
41
42config BMM150_TRIGGER_NONE
43	bool "No trigger"
44
45config BMM150_TRIGGER_GLOBAL_THREAD
46	bool "Use global thread"
47	select BMM150_TRIGGER
48
49config BMM150_TRIGGER_OWN_THREAD
50	bool "Use own thread"
51	select BMM150_TRIGGER
52
53config BMM150_TRIGGER_DIRECT
54	bool "Use IRQ handler"
55	select BMM150_TRIGGER
56endchoice
57
58config BMM150_TRIGGER
59	bool
60
61config BMM150_SAMPLING_RATE_RUNTIME
62	bool "Dynamic sampling rate"
63	help
64	  Enable alteration of sampling rate attribute at runtime.
65
66config BMM150_SAMPLING_REP_XY
67	bool "Dynamic XY oversampling"
68	help
69	  Enable alteration of XY oversampling at runtime.
70
71config BMM150_SAMPLING_REP_Z
72	bool "Dynamic Z oversampling"
73	help
74	  Enable alteration of Z oversampling at runtime.
75
76config BMM150_THREAD_PRIORITY
77	int "Own thread priority"
78	depends on BMM150_TRIGGER_OWN_THREAD
79	default 10
80	help
81	  Priority of the thread used by the driver to handle interrupts.
82
83config BMM150_THREAD_STACK_SIZE
84	int "Own thread stack size"
85	depends on BMM150_TRIGGER_OWN_THREAD
86	default 1024
87	help
88	  Stack size of thread used by the driver to handle interrupts.
89
90endif # BMM150
91