zephyr/drivers
Mario Tesi 5d8834bee4 driver: sensor: Add support for LIS2MDL Mag sensor
Added support to LIS2MDL Magnetometer sensor provided
with following features:
	- I2C interface
	- Mag data
	- Temperature data
	- ODR configurable by config or at runtime
	- Trigger mode selectable by menuconfig
	- IRQ pin configurable (by dts or Kconfig)
	- Hard Iron offset setting at runtime
	- Include yaml file

Tested on ST MEMS IKS01A2 + NUCLEO STM32F411RE board.
LIS2MDL connected to I2C master interface (SPI 3 wire not
supported yet).
Test run with all ODR {10, 20, 50, 100} Hz in poll and
trigger mode.

GPIO IRQ dts configuration has been tested by adding
to boards/arm/nucleo_f411re/nucleo_f411re.dts file
this patch:

&i2c1 {
        status = "ok";
        clock-frequency = <I2C_BITRATE_FAST>;
+
+       /* ST Microelectronics LIS2MDL mag sensor */
+       lis2mdl-magn@1e {
+               compatible = "st,lis2mdl-magn";
+               reg = <0x1e>;
+               irq-gpios = <&gpioa 4 0>;
+               label = "LIS2MDL";
+               status = "ok";
+       };
};

and adding boards/arm/nucleo_f411re/dts.fixup with following
content:

	ST_STM32_I2C_V1_40005400_ST_LIS2MDL_MAGN_1E_LABEL
	ST_STM32_I2C_V1_40005400_ST_LIS2MDL_MAGN_1E_BASE_ADDRESS
	ST_STM32_I2C_V1_40005400_ST_LIS2MDL_MAGN_1E_BUS_NAME
	ST_STM32_I2C_V1_40005400_ST_LIS2MDL_MAGN_1E_IRQ_GPIOS_CONTROLLER
	ST_STM32_I2C_V1_40005400_ST_LIS2MDL_MAGN_1E_IRQ_GPIOS_PIN

For more info on this LIS2MDL please follow this link:
http://www.st.com/en/mems-and-sensors/lis2mdl.html

Signed-off-by: Mario Tesi <mario.tesi@st.com>
2018-10-12 14:13:50 -05:00
..
adc drivers: adc: move to new logger 2018-10-08 17:49:12 -04:00
aio
audio drivers: audio: move to new logger 2018-10-08 17:49:12 -04:00
bluetooth
can drivers: can: move to new logger 2018-10-08 17:49:12 -04:00
clock_control drivers: usb: Add nRF52840 USBD driver 2018-10-12 13:14:12 +02:00
console lib: ring_buffer: Rename sys_ring_buf_ to ring_buf_item_ 2018-10-09 13:58:44 -04:00
counter
crypto drivers: crypto: move to new logger 2018-10-08 17:49:12 -04:00
display drivers: display: define DISPLAY log level 2018-10-08 17:49:12 -04:00
dma drivers: dma_cavs: Correct typo for logger 2018-10-12 07:52:17 -04:00
entropy drivers: entropy: remove unused logger kconfig 2018-10-08 17:49:12 -04:00
ethernet driver: ethernet: e1000: Use correct return for device init() 2018-10-12 10:26:42 -04:00
flash drivers: soc_flash_nios2_qspi: fix logging formatting 2018-10-10 15:46:52 -04:00
gpio gpio: silabs gecko: Add device tree support for GPIO 2018-10-09 22:34:56 -04:00
grove
i2c drivers: i2c: enable logging for drivers loading i2c-priv.h 2018-10-10 13:26:58 -04:00
i2s drivers: i2s: Add support for I2S stm32 2018-10-11 16:55:00 +02:00
ieee802154
interrupt_controller
ipm
led driver: led: move to new logger 2018-10-10 10:22:01 -04:00
led_strip drivers: led_strip: move to new logger 2018-10-10 10:22:01 -04:00
modem drivers: modem: move to new logger 2018-10-10 10:22:01 -04:00
net
pci drivers: pci: pci_show: Add missing space in output 2018-10-12 11:05:59 -04:00
pinmux
ptp_clock
pwm driver: pwm: use new logger 2018-10-08 17:49:12 -04:00
rtc drivers: rtc: move to new logger 2018-10-10 10:22:01 -04:00
sensor driver: sensor: Add support for LIS2MDL Mag sensor 2018-10-12 14:13:50 -05:00
serial drivers: usart_sam: fix usart2 device config informations 2018-10-12 06:07:21 -05:00
spi drivers: add spi support for atmel sam series soc 2018-10-10 11:29:49 -05:00
timer drivers: timer: native_posix: Support SYSTEM_CLOCK_DISABLE 2018-10-09 16:15:45 -04:00
usb drivers: usb: Add nRF52840 USBD driver 2018-10-12 13:14:12 +02:00
watchdog drivers: watchdog: Migrate to new logging subsys 2018-10-08 17:49:12 -04:00
wifi drivers: wifi: simplelink: Implement offloaded getaddrinfo() 2018-10-12 13:06:53 +03:00
CMakeLists.txt
Kconfig