Commit fdcf6bbb authored by Nuno Sá's avatar Nuno Sá Committed by Jonathan Cameron
Browse files

iio: imu: adis: Add self_test_reg variable



This patch adds a dedicated self_test_reg variable. This is also a step
to let new drivers make use of `adis_initial_startup()`. Some devices
use MSG_CTRL reg to request a self_test command while others use the
GLOB_CMD register.

Signed-off-by: default avatarNuno Sá <nuno.sa@analog.com>
Signed-off-by: default avatarAlexandru Ardelean <alexandru.ardelean@analog.com>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 3f17ada8
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -246,6 +246,7 @@ static const struct adis_data adis16201_data = {
	.diag_stat_reg = ADIS16201_DIAG_STAT_REG,

	.self_test_mask = ADIS16201_MSC_CTRL_SELF_TEST_EN,
	.self_test_reg = ADIS16201_MSC_CTRL_REG,
	.self_test_no_autoclear = true,
	.timeouts = &adis16201_timeouts,

+1 −0
Original line number Diff line number Diff line
@@ -256,6 +256,7 @@ static const struct adis_data adis16209_data = {
	.diag_stat_reg = ADIS16209_STAT_REG,

	.self_test_mask = ADIS16209_MSC_CTRL_SELF_TEST_EN,
	.self_test_reg = ADIS16209_MSC_CTRL_REG,
	.self_test_no_autoclear = true,
	.timeouts = &adis16209_timeouts,

+1 −0
Original line number Diff line number Diff line
@@ -471,6 +471,7 @@ static const char * const adis16136_status_error_msgs[] = {
	.diag_stat_reg = ADIS16136_REG_DIAG_STAT,			\
	.glob_cmd_reg = ADIS16136_REG_GLOB_CMD,				\
	.msc_ctrl_reg = ADIS16136_REG_MSC_CTRL,				\
	.self_test_reg = ADIS16136_REG_MSC_CTRL,			\
	.self_test_mask = ADIS16136_MSC_CTRL_SELF_TEST,			\
	.read_delay = 10,						\
	.write_delay = 10,						\
+1 −0
Original line number Diff line number Diff line
@@ -346,6 +346,7 @@ static const struct adis_data adis16260_data = {
	.diag_stat_reg = ADIS16260_DIAG_STAT,

	.self_test_mask = ADIS16260_MSC_CTRL_MEM_TEST,
	.self_test_reg = ADIS16260_MSC_CTRL,
	.timeouts = &adis16260_timeouts,

	.status_error_msgs = adis1620_status_error_msgs,
+3 −3
Original line number Diff line number Diff line
@@ -346,7 +346,7 @@ static int adis_self_test(struct adis *adis)
	int ret;
	const struct adis_timeout *timeouts = adis->data->timeouts;

	ret = __adis_write_reg_16(adis, adis->data->msc_ctrl_reg,
	ret = __adis_write_reg_16(adis, adis->data->self_test_reg,
				  adis->data->self_test_mask);
	if (ret) {
		dev_err(&adis->spi->dev, "Failed to initiate self test: %d\n",
@@ -359,7 +359,7 @@ static int adis_self_test(struct adis *adis)
	ret = __adis_check_status(adis);

	if (adis->data->self_test_no_autoclear)
		__adis_write_reg_16(adis, adis->data->msc_ctrl_reg, 0x00);
		__adis_write_reg_16(adis, adis->data->self_test_reg, 0x00);

	return ret;
}
Loading