sensor: bmc150_magn: Convert to DTS
Convert bmc150_magn sensor driver to utilize device tree. Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
This commit is contained in:
parent
62f5ac1ad4
commit
36c94ddd36
6 changed files with 32 additions and 40 deletions
|
@ -11,26 +11,6 @@ menuconfig BMC150_MAGN
|
||||||
|
|
||||||
if BMC150_MAGN
|
if BMC150_MAGN
|
||||||
|
|
||||||
config BMC150_MAGN_DEV_NAME
|
|
||||||
string "BMC150_MAGN device name"
|
|
||||||
default "bmc150_magn"
|
|
||||||
|
|
||||||
config BMC150_MAGN_I2C_ADDR
|
|
||||||
hex "BMC150_MAGN I2C slave address"
|
|
||||||
default 0x12
|
|
||||||
help
|
|
||||||
Specify the I2C slave address for the BMC150_MAGN.
|
|
||||||
|
|
||||||
0x12: GND
|
|
||||||
0x13: VCC
|
|
||||||
|
|
||||||
config BMC150_MAGN_I2C_MASTER_DEV_NAME
|
|
||||||
string "I2C master where BMC150_MAGN is connected"
|
|
||||||
default "I2C_0"
|
|
||||||
help
|
|
||||||
Specify the device name of the I2C master device to which BMC150_MAGN
|
|
||||||
is connected.
|
|
||||||
|
|
||||||
menu "Attributes"
|
menu "Attributes"
|
||||||
|
|
||||||
choice
|
choice
|
||||||
|
@ -90,19 +70,4 @@ config BMC150_MAGN_TRIGGER_DRDY
|
||||||
help
|
help
|
||||||
Enable data ready interrupt for BMC150 magnetometer
|
Enable data ready interrupt for BMC150 magnetometer
|
||||||
|
|
||||||
config BMC150_MAGN_GPIO_DRDY_DEV_NAME
|
|
||||||
string "GPIO device where BMC150_MAGN data ready interrupt is connected"
|
|
||||||
depends on BMC150_MAGN_TRIGGER_DRDY
|
|
||||||
default "GPIO_0"
|
|
||||||
help
|
|
||||||
Specify the device name of the GPIO controller the BMC150_MAGN interrupt
|
|
||||||
is connected to.
|
|
||||||
|
|
||||||
config BMC150_MAGN_GPIO_DRDY_INT_PIN
|
|
||||||
int "GPIO pin number for the data ready interrupt pin"
|
|
||||||
default 3
|
|
||||||
depends on BMC150_MAGN_TRIGGER_DRDY
|
|
||||||
help
|
|
||||||
GPIO pin number for the data ready interrupt pin.
|
|
||||||
|
|
||||||
endif # BMC150_MAGN
|
endif # BMC150_MAGN
|
||||||
|
|
|
@ -594,16 +594,16 @@ static int bmc150_magn_init(struct device *dev)
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct bmc150_magn_config bmc150_magn_config = {
|
static const struct bmc150_magn_config bmc150_magn_config = {
|
||||||
.i2c_master_dev_name = CONFIG_BMC150_MAGN_I2C_MASTER_DEV_NAME,
|
.i2c_master_dev_name = DT_INST_0_BOSCH_BMC150_MAGN_BUS_NAME,
|
||||||
.i2c_slave_addr = BMC150_MAGN_I2C_ADDR,
|
.i2c_slave_addr = BMC150_MAGN_I2C_ADDR,
|
||||||
#if defined(CONFIG_BMC150_MAGN_TRIGGER_DRDY)
|
#if defined(CONFIG_BMC150_MAGN_TRIGGER_DRDY)
|
||||||
.gpio_drdy_dev_name = CONFIG_BMC150_MAGN_GPIO_DRDY_DEV_NAME,
|
.gpio_drdy_dev_name = DT_INST_0_BOSCH_BMC150_MAGN_DRDY_GPIOS_CONTROLLER,
|
||||||
.gpio_drdy_int_pin = CONFIG_BMC150_MAGN_GPIO_DRDY_INT_PIN,
|
.gpio_drdy_int_pin = DT_INST_0_BOSCH_BMC150_MAGN_DRDY_GPIOS_PIN,
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct bmc150_magn_data bmc150_magn_data;
|
static struct bmc150_magn_data bmc150_magn_data;
|
||||||
|
|
||||||
DEVICE_AND_API_INIT(bmc150_magn, CONFIG_BMC150_MAGN_DEV_NAME, bmc150_magn_init,
|
DEVICE_AND_API_INIT(bmc150_magn, DT_INST_0_BOSCH_BMC150_MAGN_LABEL, bmc150_magn_init,
|
||||||
&bmc150_magn_data, &bmc150_magn_config, POST_KERNEL,
|
&bmc150_magn_data, &bmc150_magn_config, POST_KERNEL,
|
||||||
CONFIG_SENSOR_INIT_PRIORITY, &bmc150_magn_api_funcs);
|
CONFIG_SENSOR_INIT_PRIORITY, &bmc150_magn_api_funcs);
|
||||||
|
|
|
@ -73,7 +73,7 @@
|
||||||
#define BMC150_MAGN_MASK_DRDY_LATCHING BIT(1)
|
#define BMC150_MAGN_MASK_DRDY_LATCHING BIT(1)
|
||||||
#define BMC150_MAGN_MASK_DRDY_INT3_POLARITY BIT(0)
|
#define BMC150_MAGN_MASK_DRDY_INT3_POLARITY BIT(0)
|
||||||
|
|
||||||
#define BMC150_MAGN_I2C_ADDR CONFIG_BMC150_MAGN_I2C_ADDR
|
#define BMC150_MAGN_I2C_ADDR DT_INST_0_BOSCH_BMC150_MAGN_BASE_ADDRESS
|
||||||
|
|
||||||
#if defined(CONFIG_BMC150_MAGN_SAMPLING_REP_XY) || \
|
#if defined(CONFIG_BMC150_MAGN_SAMPLING_REP_XY) || \
|
||||||
defined(CONFIG_BMC150_MAGN_SAMPLING_REP_Z)
|
defined(CONFIG_BMC150_MAGN_SAMPLING_REP_Z)
|
||||||
|
|
17
dts/bindings/sensor/bosch,bmc150_magn.yaml
Normal file
17
dts/bindings/sensor/bosch,bmc150_magn.yaml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
# Copyright (c) 2019, Linaro Limited
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
title: Bosch BMC150 Magnetometer
|
||||||
|
|
||||||
|
description: |
|
||||||
|
Bosch BMC150 Magnetometer. See more info at:
|
||||||
|
https://www.bosch-sensortec.com/bst/products/all_products/bmc150
|
||||||
|
|
||||||
|
compatible: "bosch,bmc150_magn"
|
||||||
|
|
||||||
|
include: i2c-device.yaml
|
||||||
|
|
||||||
|
properties:
|
||||||
|
drdy-gpios:
|
||||||
|
type: phandle-array
|
||||||
|
required: false
|
|
@ -5,3 +5,4 @@ tests:
|
||||||
harness: sensor
|
harness: sensor
|
||||||
tags: sensors
|
tags: sensors
|
||||||
depends_on: i2c gpio
|
depends_on: i2c gpio
|
||||||
|
filter: dt_compat_enabled("bosch,bmc150_magn")
|
||||||
|
|
|
@ -390,6 +390,15 @@
|
||||||
#define DT_INST_0_BOSCH_BMG160_INT_GPIOS_PIN 0
|
#define DT_INST_0_BOSCH_BMG160_INT_GPIOS_PIN 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef DT_INST_0_BOSCH_BMC150_MAGN_LABEL
|
||||||
|
#define DT_INST_0_BOSCH_BMC150_MAGN_LABEL ""
|
||||||
|
#define DT_INST_0_BOSCH_BMC150_MAGN_BASE_ADDRESS 0
|
||||||
|
#define DT_INST_0_BOSCH_BMC150_MAGN_BUS_NAME ""
|
||||||
|
#define DT_INST_0_BOSCH_BMC150_MAGN_DRDY_GPIOS_CONTROLLER ""
|
||||||
|
#define DT_INST_0_BOSCH_BMC150_MAGN_DRDY_GPIOS_FLAGS 0
|
||||||
|
#define DT_INST_0_BOSCH_BMC150_MAGN_DRDY_GPIOS_PIN 0
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* CONFIG_HAS_DTS_I2C */
|
#endif /* CONFIG_HAS_DTS_I2C */
|
||||||
|
|
||||||
#ifndef DT_ADXL372_DEV_NAME
|
#ifndef DT_ADXL372_DEV_NAME
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue