aboutsummaryrefslogtreecommitdiffstats
path: root/dashboard/Yardstick-TC012-1456495966540
blob: c170897f53378c7b03af90219876bb595918f1b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
@media only all and (prefers-color-scheme: dark) {
.highlight .hll { background-color: #49483e }
.highlight .c { color: #75715e } /* Comment */
.highlight .err { color: #960050; background-color: #1e0010 } /* Error */
.highlight .k { color: #66d9ef } /* Keyword */
.highlight .l { color: #ae81ff } /* Literal */
.highlight .n { color: #f8f8f2 } /* Name */
.highlight .o { color: #f92672 } /* Operator */
.highlight .p { color: #f8f8f2 } /* Punctuation */
.highlight .ch { color: #75715e } /* Comment.Hashbang */
.highlight .cm { color: #75715e } /* Comment.Multiline */
.highlight .cp { color: #75715e } /* Comment.Preproc */
.highlight .cpf { color: #75715e } /* Comment.PreprocFile */
.highlight .c1 { color: #75715e } /* Comment.Single */
.highlight .cs { color: #75715e } /* Comment.Special */
.highlight .gd { color: #f92672 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gi { color: #a6e22e } /* Generic.Inserted */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #75715e } /* Generic.Subheading */
.highlight .kc { color: #66d9ef } /* Keyword.Constant */
.highlight .kd { color: #66d9ef } /* Keyword.Declaration */
.highlight .kn { color: #f92672 } /* Keyword.Namespace */
.highlight .kp { color: #66d9ef } /* Keyword.Pseudo */
.highlight .kr { color: #66d9ef } /* Keyword.Reserved */
.highlight .kt { color: #66d9ef } /* Keyword.Type */
.highlight .ld { color: #e6db74 } /* Literal.Date */
.highlight .m { color: #ae81ff } /* Literal.Number */
.highlight .s { color: #e6db74 } /* Literal.String */
.highlight .na { color: #a6e22e } /* Name.Attribute */
.highlight .nb { color: #f8f8f2 } /* Name.Builtin */
.highlight .nc { color: #a6e22e } /* Name.Class */
.highlight .no { color: #66d9ef } /* Name.Constant */
.highlight .nd { color: #a6e22e } /* Name.Decorator */
.highlight .ni { color: #f8f8f2 } /* Name.Entity */
.highlight .ne { color: #a6e22e } /* Name.Exception */
.highlight .nf { color: #a6e22e } /* Name.Function */
.highlight .nl { color: #f8f8f2 } /* Name.Label */
.highlight .nn { color: #f8f8f2 } /* Name.Namespace */
.highlight .nx { color: #a6e22e } /* Name.Other */
.highlight .py { color: #f8f8f2 } /* Name.Property */
.highlight .nt { color: #f92672 } /* Name.Tag */
.highlight .nv { color: #f8f8f2 } /* Name.Variable */
.highlight .ow { color: #f92672 } /* Operator.Word */
.highlight .w { color: #f8f8f2 } /* Text.Whitespace */
.highlight .mb { color: #ae81ff } /* Literal.Number.Bin */
.highlight .mf { color: #ae81ff } /* Literal.Number.Float */
.highlight .mh { color: #ae81ff } /* Literal.Number.Hex */
.highlight .mi { color: #ae81ff } /* Literal.Number.Integer */
.highlight .mo { color: #ae81ff } /* Literal.Number.Oct */
.highlight .sa { color: #e6db74 } /* Literal.String.Affix */
.highlight .sb { color: #e6db74 } /* Literal.String.Backtick */
.highlight .sc { color: #e6db74 } /* Literal.String.Char */
.highlight .dl { color: #e6db74 } /* Literal.String.Delimiter */
.highlight .sd { color: #e6db74 } /* Literal.String.Doc */
.highlight .s2 { color: #e6db74 } /* Literal.String.Double */
.highlight .se { color: #ae81ff } /* Literal.String.Escape */
.highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */
.highlight .si { color: #e6db74 } /* Literal.String.Interpol */
.highlight .sx { color: #e6db74 } /* Literal.String.Other */
.highlight .sr { color: #e6db74 } /* Literal.String.Regex */
.highlight .s1 { color: #e6db74 } /* Literal.String.Single */
.highlight .ss { color: #e6db74 } /* Literal.String.Symbol */
.highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #a6e22e } /* Name.Function.Magic */
.highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */
.highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */
.highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */
.highlight .vm { color: #f8f8f2 } /* Name.Variable.Magic */
.highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */
}
@media (prefers-color-scheme: light) {
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
}
/*
 * Marvell Berlin2 ADC driver
 *
 * Copyright (C) 2015 Marvell Technology Group Ltd.
 *
 * Antoine Tenart <antoine.tenart@free-electrons.com>
 *
 * This file is licensed under the terms of the GNU General Public
 * License version 2. This program is licensed "as is" without any
 * warranty of any kind, whether express or implied.
 */

#include <linux/iio/iio.h>
#include <linux/iio/driver.h>
#include <linux/iio/machine.h>
#include <linux/interrupt.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/mfd/syscon.h>
#include <linux/regmap.h>
#include <linux/sched.h>
#include <linux/wait.h>

#define BERLIN2_SM_CTRL				0x14
#define  BERLIN2_SM_CTRL_SM_SOC_INT		BIT(1)
#define  BERLIN2_SM_CTRL_SOC_SM_INT		BIT(2)
#define  BERLIN2_SM_CTRL_ADC_SEL(x)		((x) << 5)	/* 0-15 */
#define  BERLIN2_SM_CTRL_ADC_SEL_MASK		GENMASK(8, 5)
#define  BERLIN2_SM_CTRL_ADC_POWER		BIT(9)
#define  BERLIN2_SM_CTRL_ADC_CLKSEL_DIV2	(0x0 << 10)
#define  BERLIN2_SM_CTRL_ADC_CLKSEL_DIV3	(0x1 << 10)
#define  BERLIN2_SM_CTRL_ADC_CLKSEL_DIV4	(0x2 << 10)
#define  BERLIN2_SM_CTRL_ADC_CLKSEL_DIV8	(0x3 << 10)
#define  BERLIN2_SM_CTRL_ADC_CLKSEL_MASK	GENMASK(11, 10)
#define  BERLIN2_SM_CTRL_ADC_START		BIT(12)
#define  BERLIN2_SM_CTRL_ADC_RESET		BIT(13)
#define  BERLIN2_SM_CTRL_ADC_BANDGAP_RDY	BIT(14)
#define  BERLIN2_SM_CTRL_ADC_CONT_SINGLE	(0x0 << 15)
#define  BERLIN2_SM_CTRL_ADC_CONT_CONTINUOUS	(0x1 << 15)
#define  BERLIN2_SM_CTRL_ADC_BUFFER_EN		BIT(16)
#define  BERLIN2_SM_CTRL_ADC_VREF_EXT		(0x0 << 17)
#define  BERLIN2_SM_CTRL_ADC_VREF_INT		(0x1 << 17)
#define  BERLIN2_SM_CTRL_ADC_ROTATE		BIT(19)
#define  BERLIN2_SM_CTRL_TSEN_EN		BIT(20)
#define  BERLIN2_SM_CTRL_TSEN_CLK_SEL_125	(0x0 << 21)	/* 1.25 MHz */
#define  BERLIN2_SM_CTRL_TSEN_CLK_SEL_250	(0x1 << 21)	/* 2.5 MHz */
#define  BERLIN2_SM_CTRL_TSEN_MODE_0_125	(0x0 << 22)	/* 0-125 C */
#define  BERLIN2_SM_CTRL_TSEN_MODE_10_50	(0x1 << 22)	/* 10-50 C */
#define  BERLIN2_SM_CTRL_TSEN_RESET		BIT(29)
#define BERLIN2_SM_ADC_DATA			0x20
#define  BERLIN2_SM_ADC_MASK			GENMASK(9, 0)
#define BERLIN2_SM_ADC_STATUS			0x1c
#define  BERLIN2_SM_ADC_STATUS_DATA_RDY(x)	BIT(x)		/* 0-15 */
#define  BERLIN2_SM_ADC_STATUS_DATA_RDY_MASK	GENMASK(15, 0)
#define  BERLIN2_SM_ADC_STATUS_INT_EN(x)	(BIT(x) << 16)	/* 0-15 */
#define  BERLIN2_SM_ADC_STATUS_INT_EN_MASK	GENMASK(31, 16)
#define BERLIN2_SM_TSEN_STATUS			0x24
#define  BERLIN2_SM_TSEN_STATUS_DATA_RDY	BIT(0)
#define  BERLIN2_SM_TSEN_STATUS_INT_EN		BIT(1)
#define BERLIN2_SM_TSEN_DATA			0x28
#define  BERLIN2_SM_TSEN_MASK			GENMASK(9, 0)
#define BERLIN2_SM_TSEN_CTRL			0x74
#define  BERLIN2_SM_TSEN_CTRL_START		BIT(8)
#define  BERLIN2_SM_TSEN_CTRL_SETTLING_4	(0x0 << 21)	/* 4 us */
#define  BERLIN2_SM_TSEN_CTRL_SETTLING_12	(0x1 << 21)	/* 12 us */
#define  BERLIN2_SM_TSEN_CTRL_SETTLING_MASK	BIT(21)
#define  BERLIN2_SM_TSEN_CTRL_TRIM(x)		((x) << 22)
#define  BERLIN2_SM_TSEN_CTRL_TRIM_MASK		GENMASK(25, 22)

struct berlin2_adc_priv {
	struct regmap		*regmap;
	struct mutex		lock;
	wait_queue_head_t	wq;
	bool			data_available;
	int			data;
};

#define BERLIN2_ADC_CHANNEL(n, t)					\
	{								\
		.channel		= n,				\
		.datasheet_name		= "channel"#n,			\
		.type			= t,				\
		.indexed		= 1,				\
		.info_mask_separate	= BIT(IIO_CHAN_INFO_RAW),	\
	}

static const struct iio_chan_spec berlin2_adc_channels[] = {
	BERLIN2_ADC_CHANNEL(0, IIO_VOLTAGE),	/* external input */
	BERLIN2_ADC_CHANNEL(1, IIO_VOLTAGE),	/* external input */
	BERLIN2_ADC_CHANNEL(2, IIO_VOLTAGE),	/* external input */
	BERLIN2_ADC_CHANNEL(3, IIO_VOLTAGE),	/* external input */
	BERLIN2_ADC_CHANNEL(4, IIO_VOLTAGE),	/* reserved */
	BERLIN2_ADC_CHANNEL(5, IIO_VOLTAGE),	/* reserved */
	{					/* temperature sensor */
		.channel		= 6,
		.datasheet_name		= "channel6",
		.type			= IIO_TEMP,
		.indexed		= 0,
		.info_mask_separate	= BIT(IIO_CHAN_INFO_PROCESSED),
	},
	BERLIN2_ADC_CHANNEL(7, IIO_VOLTAGE),	/* reserved */
	IIO_CHAN_SOFT_TIMESTAMP(8),		/* timestamp */
};

static int berlin2_adc_read(struct iio_dev *indio_dev, int channel)
{
	struct berlin2_adc_priv *priv = iio_priv(indio_dev);
	int data, ret;

	mutex_lock(&priv->lock);

	/* Enable the interrupts */
	regmap_write(priv->regmap, BERLIN2_SM_ADC_STATUS,
		     BERLIN2_SM_ADC_STATUS_INT_EN(channel));

	/* Configure the ADC */
	regmap_update_bits(priv->regmap, BERLIN2_SM_CTRL,
			   BERLIN2_SM_CTRL_ADC_RESET |
			   BERLIN2_SM_CTRL_ADC_SEL_MASK |
			   BERLIN2_SM_CTRL_ADC_START,
			   BERLIN2_SM_CTRL_ADC_SEL(channel) |
			   BERLIN2_SM_CTRL_ADC_START);

	ret = wait_event_interruptible_timeout(priv->wq, priv->data_available,
					       msecs_to_jiffies(1000));

	/* Disable the interrupts */
	regmap_update_bits(priv->regmap, BERLIN2_SM_ADC_STATUS,
			   BERLIN2_SM_ADC_STATUS_INT_EN(channel), 0);

	if (ret == 0)
		ret = -ETIMEDOUT;
	if (ret < 0) {
		mutex_unlock(&priv->lock);
		return ret;
	}

	regmap_update_bits(priv->regmap, BERLIN2_SM_CTRL,
			   BERLIN2_SM_CTRL_ADC_START, 0);

	data = priv->data;
	priv->data_available = false;

	mutex_unlock(&priv->lock);

	return data;
}

static int berlin2_adc_tsen_read(struct iio_dev *indio_dev)
{
	struct berlin2_adc_priv *priv = iio_priv(indio_dev);
	int data, ret;

	mutex_lock(&priv->lock);

	/* Enable interrupts */
	regmap_write(priv->regmap, BERLIN2_SM_TSEN_STATUS,
		     BERLIN2_SM_TSEN_STATUS_INT_EN);

	/* Configure the ADC */
	regmap_update_bits(priv->regmap, BERLIN2_SM_CTRL,
			   BERLIN2_SM_CTRL_TSEN_RESET |
			   BERLIN2_SM_CTRL_ADC_ROTATE,
			   BERLIN2_SM_CTRL_ADC_ROTATE);

	/* Configure the temperature sensor */
	regmap_update_bits(priv->regmap, BERLIN2_SM_TSEN_CTRL,
			   BERLIN2_SM_TSEN_CTRL_TRIM_MASK |
			   BERLIN2_SM_TSEN_CTRL_SETTLING_MASK |
			   BERLIN2_SM_TSEN_CTRL_START,
			   BERLIN2_SM_TSEN_CTRL_TRIM(3) |
			   BERLIN2_SM_TSEN_CTRL_SETTLING_12 |
			   BERLIN2_SM_TSEN_CTRL_START);

	ret = wait_event_interruptible_timeout(priv->wq, priv->data_available,
					       msecs_to_jiffies(1000));

	/* Disable interrupts */
	regmap_update_bits(priv->regmap, BERLIN2_SM_TSEN_STATUS,
			   BERLIN2_SM_TSEN_STATUS_INT_EN, 0);

	if (ret == 0)
		ret = -ETIMEDOUT;
	if (ret < 0) {
		mutex_unlock(&priv->lock);
		return ret;
	}

	regmap_update_bits(priv->regmap, BERLIN2_SM_TSEN_CTRL,
			   BERLIN2_SM_TSEN_CTRL_START, 0);

	data = priv->data;
	priv->data_available = false;

	mutex_unlock(&priv->lock);

	return data;
}

static int berlin2_adc_read_raw(struct iio_dev *indio_dev,
				struct iio_chan_spec const *chan, int *val,
				int *val2, long mask)
{
	int temp;

	switch (mask) {
	case IIO_CHAN_INFO_RAW:
		if (chan->type != IIO_VOLTAGE)
			return -EINVAL;

		*val = berlin2_adc_read(indio_dev, chan->channel);
		if (*val < 0)
			return *val;

		return IIO_VAL_INT;
	case IIO_CHAN_INFO_PROCESSED:
		if (chan->type != IIO_TEMP)
			return -EINVAL;

		temp = berlin2_adc_tsen_read(indio_dev);
		if (temp < 0)
			return temp;

		if (temp > 2047)
			temp -= 4096;

		/* Convert to milli Celsius */
		*val = ((temp * 100000) / 264 - 270000);
		return IIO_VAL_INT;
	default:
		break;
	}

	return -EINVAL;
}

static irqreturn_t berlin2_adc_irq(int irq, void *private)
{
	struct berlin2_adc_priv *priv = iio_priv(private);
	unsigned val;

	regmap_read(priv->regmap, BERLIN2_SM_ADC_STATUS, &val);
	if (val & BERLIN2_SM_ADC_STATUS_DATA_RDY_MASK) {
		regmap_read(priv->regmap, BERLIN2_SM_ADC_DATA, &priv->data);
		priv->data &= BERLIN2_SM_ADC_MASK;

		val &= ~BERLIN2_SM_ADC_STATUS_DATA_RDY_MASK;
		regmap_write(priv->regmap, BERLIN2_SM_ADC_STATUS, val);

		priv->data_available = true;
		wake_up_interruptible(&priv->wq);
	}

	return IRQ_HANDLED;
}

static irqreturn_t berlin2_adc_tsen_irq(int irq, void *private)
{
	struct berlin2_adc_priv *priv = iio_priv(private);
	unsigned val;

	regmap_read(priv->regmap, BERLIN2_SM_TSEN_STATUS, &val);
	if (val & BERLIN2_SM_TSEN_STATUS_DATA_RDY) {
		regmap_read(priv->regmap, BERLIN2_SM_TSEN_DATA, &priv->data);
		priv->data &= BERLIN2_SM_TSEN_MASK;

		val &= ~BERLIN2_SM_TSEN_STATUS_DATA_RDY;
		regmap_write(priv->regmap, BERLIN2_SM_TSEN_STATUS, val);

		priv->data_available = true;
		wake_up_interruptible(&priv->wq);
	}

	return IRQ_HANDLED;
}

static const struct iio_info berlin2_adc_info = {
	.driver_module	= THIS_MODULE,
	.read_raw	= berlin2_adc_read_raw,
};

static int berlin2_adc_probe(struct platform_device *pdev)
{
	struct iio_dev *indio_dev;
	struct berlin2_adc_priv *priv;
	struct device_node *parent_np = of_get_parent(pdev->dev.of_node);
	int irq, tsen_irq;
	int ret;

	indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*priv));
	if (!indio_dev)
		return -ENOMEM;

	priv = iio_priv(indio_dev);
	platform_set_drvdata(pdev, indio_dev);

	priv->regmap = syscon_node_to_regmap(parent_np);
	of_node_put(parent_np);
	if (IS_ERR(priv->regmap))
		return PTR_ERR(priv->regmap);

	irq = platform_get_irq_byname(pdev, "adc");
	if (irq < 0)
		return irq;

	tsen_irq = platform_get_irq_byname(pdev, "tsen");
	if (tsen_irq < 0)
		return tsen_irq;

	ret = devm_request_irq(&pdev->dev, irq, berlin2_adc_irq, 0,
			       pdev->dev.driver->name, indio_dev);
	if (ret)
		return ret;

	ret = devm_request_irq(&pdev->dev, tsen_irq, berlin2_adc_tsen_irq,
			       0, pdev->dev.driver->name, indio_dev);
	if (ret)
		return ret;

	init_waitqueue_head(&priv->wq);
	mutex_init(&priv->lock);

	indio_dev->dev.parent = &pdev->dev;
	indio_dev->name = dev_name(&pdev->dev);
	indio_dev->modes = INDIO_DIRECT_MODE;
	indio_dev->info = &berlin2_adc_info;

	indio_dev->channels = berlin2_adc_channels;
	indio_dev->num_channels = ARRAY_SIZE(berlin2_adc_channels);

	/* Power up the ADC */
	regmap_update_bits(priv->regmap, BERLIN2_SM_CTRL,
			   BERLIN2_SM_CTRL_ADC_POWER,
			   BERLIN2_SM_CTRL_ADC_POWER);

	ret = iio_device_register(indio_dev);
	if (ret) {
		/* Power down the ADC */
		regmap_update_bits(priv->regmap, BERLIN2_SM_CTRL,
				   BERLIN2_SM_CTRL_ADC_POWER, 0);
		return ret;
	}

	return 0;
}

static int berlin2_adc_remove(struct platform_device *pdev)
{
	struct iio_dev *indio_dev = platform_get_drvdata(pdev);
	struct berlin2_adc_priv *priv = iio_priv(indio_dev);

	iio_device_unregister(indio_dev);

	/* Power down the ADC */
	regmap_update_bits(priv->regmap, BERLIN2_SM_CTRL,
			   BERLIN2_SM_CTRL_ADC_POWER, 0);

	return 0;
}

static const struct of_device_id berlin2_adc_match[] = {
	{ .compatible = "marvell,berlin2-adc", },
	{ },
};
MODULE_DEVICE_TABLE(of, berlin2_adc_match);

static struct platform_driver berlin2_adc_driver = {
	.driver	= {
		.name		= "berlin2-adc",
		.of_match_table	= berlin2_adc_match,
	},
	.probe	= berlin2_adc_probe,
	.remove	= berlin2_adc_remove,
};
module_platform_driver(berlin2_adc_driver);

MODULE_AUTHOR("Antoine Tenart <antoine.tenart@free-electrons.com>");
MODULE_DESCRIPTION("Marvell Berlin2 ADC driver");
MODULE_LICENSE("GPL v2");
1860' href='#n1860'>1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896
{
  "id": 8,
  "title": "Yardstick-TC012",
  "originalTitle": "Yardstick-TC012",
  "tags": [
    "yardstick-tc"
  ],
  "style": "dark",
  "timezone": "browser",
  "editable": true,
  "hideControls": false,
  "sharedCrosshair": false,
  "rows": [
    {
      "collapse": false,
      "editable": true,
      "height": "100px",
      "panels": [
        {
          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><center>OPNFV_Yardstick_TC012 - Memory read and write bandwidth</center> </a></h5>\n<center>\n<p>Visualisation of memory read and write bandwidth using lmbench as the measurement tool.\nFor more information see <a style=\"color:#31A7D3\"; href=\"http://artifacts.opnfv.org/yardstick/brahmaputra/docs/userguide/opnfv_yardstick_tc012.html\">TC012</a></p>\n</center>",
          "editable": true,
          "error": false,
          "id": 2,
          "isNew": true,
          "links": [],
          "mode": "html",
          "span": 12,
          "style": {},
          "title": "",
          "type": "text"
        }
      ],
      "title": "New row"
    },
    {
      "collapse": false,
      "editable": true,
      "height": "250px",
      "panels": [
        {
          "aliasColors": {},
          "bars": false,
          "datasource": "yardstick-vtc",
          "editable": true,
          "error": false,
          "fill": 0,
          "grid": {
            "leftLogBase": 1,
            "leftMax": null,
            "leftMin": 0,
            "rightLogBase": 1,
            "rightMax": null,
            "rightMin": null,
            "threshold1": null,
            "threshold1Color": "rgba(216, 200, 27, 0.27)",
            "threshold2": null,
            "threshold2Color": "rgba(234, 112, 112, 0.22)"
          },
          "id": 3,
          "isNew": true,
          "leftYAxisLabel": "BW (MB/s)",
          "legend": {
            "alignAsTable": true,
            "avg": false,
            "current": false,
            "max": false,
            "min": false,
            "show": true,
            "total": false,
            "values": false
          },
          "lines": true,
          "linewidth": 2,
          "links": [],
          "nullPointMode": "connected",
          "percentage": false,
          "pointradius": 2,
          "points": true,
          "renderer": "flot",
          "seriesOverrides": [],
          "span": 12,
          "stack": false,
          "steppedLine": false,
          "targets": [
            {
              "alias": "$tag_pod_name - $tag_deploy_scenario - mean bw",
              "dsType": "influxdb",
              "groupBy": [
                {
                  "params": [
                    "pod_name"
                  ],
                  "type": "tag"
                },
                {
                  "params": [
                    "deploy_scenario"
                  ],
                  "type": "tag"
                }
              ],
              "measurement": "opnfv_yardstick_tc012",
              "query": "SELECT \"bandwidth(MBps)\" FROM \"opnfv_yardstick_tc012\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\"",
              "refId": "A",
              "resultFormat": "time_series",
              "select": [
                [
                  {
                    "params": [
                      "bandwidth(MBps)"
                    ],
                    "type": "field"
                  }
                ]
              ],
              "tags": [
                {
                  "key": "pod_name",
                  "operator": "=~",
                  "value": "/$POD$/"
                },
                {
                  "condition": "AND",
                  "key": "deploy_scenario",
                  "operator": "=~",
                  "value": "/$SCENARIO$/"
                }
              ]
            }
          ],
          "timeFrom": "14d",
          "timeShift": null,
          "title": "Memory read/write bandwidth trend",
          "tooltip": {
            "shared": true,
            "value_type": "cumulative"
          },
          "type": "graph",
          "x-axis": true,
          "y-axis": true,
          "y_formats": [
            "short",
            "short"
          ]
        }
      ],
      "title": "New row"
    },
    {
      "title": "New row",
      "height": "250px",
      "editable": true,
      "collapse": false,
      "panels": [
        {
          "title": "Daily Averages",
          "error": false,
          "span": 12,
          "editable": true,
          "type": "text",
          "isNew": true,
          "id": 4,
          "mode": "markdown",
          "content": "",
          "style": {},
          "links": [],
          "height": "0"
        },
        {
          "title": "$POD",
          "error": false,
          "span": 2,
          "editable": true,
          "type": "table",
          "isNew": true,
          "id": 5,
          "styles": [
            {
              "type": "date",
              "pattern": "Time",
              "dateFormat": "YYYY-MM-DD HH:mm:ss"
            },
            {
              "unit": "short",
              "type": "number",
              "decimals": 2,
              "colors": [
                "rgba(245, 54, 54, 0.9)",
                "rgba(237, 129, 40, 0.89)",
                "rgba(50, 172, 45, 0.97)"
              ],
              "colorMode": null,
              "pattern": "",
              "thresholds": []
            }
          ],
          "targets": [
            {
              "refId": "A",
              "dsType": "influxdb",
              "resultFormat": "time_series",
              "tags": [
                {
                  "key": "pod_name",
                  "operator": "=~",
                  "value": "/$POD$/"
                },
                {
                  "condition": "AND",
                  "key": "deploy_scenario",
                  "operator": "=~",
                  "value": "/$SCENARIO$/"
                }
              ],
              "groupBy": [
                {
                  "type": "tag",
                  "params": [
                    "deploy_scenario"
                  ]
                }
              ],
              "select": [
                [
                  {
                    "type": "field",
                    "params": [
                      "bandwidth(MBps)"
                    ]
                  }
                ]
              ],
              "measurement": "opnfv_yardstick_tc012",
              "query": "SELECT \"bandwidth(MBps)\" FROM \"opnfv_yardstick_tc012\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\""
            },
            {
              "refId": "B",
              "dsType": "influxdb",
              "resultFormat": "time_series",
              "tags": [
                {
                  "key": "pod_name",
                  "operator": "=~",
                  "value": "/$POD$/"
                },
                {
                  "condition": "AND",
                  "key": "deploy_scenario",
                  "operator": "=~",
                  "value": "/$SCENARIO$/"
                }
              ],
              "groupBy": [
                {
                  "type": "tag",
                  "params": [
                    "deploy_scenario"
                  ]
                }
              ],
              "select": [
                [
                  {
                    "type": "field",
                    "params": [
                      "bandwidth(MBps)"
                    ]
                  }
                ]
              ],
              "measurement": "opnfv_yardstick_tc012",
              "query": "SELECT \"bandwidth(MBps)\" FROM \"opnfv_yardstick_tc012\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\""
            }
          ],
          "transform": "timeseries_to_rows",
          "pageSize": null,
          "showHeader": true,
          "columns": [],
          "scroll": true,
          "fontSize": "100%",
          "sort": {
            "col": 0,
            "desc": true
          },
          "links": [],
          "repeat": "POD",
          "minSpan": 2,
          "datasource": "yardstick-vtc",
          "timeFrom": "14d",
          "scopedVars": {
            "POD": {
              "text": "ericsson-pod2",
              "value": "ericsson\\-pod2",
              "selected": true
            }
          }
        },
        {
          "title": "$POD",
          "error": false,
          "span": 2,
          "editable": true,
          "type": "table",
          "isNew": true,
          "id": 6,
          "styles": [
            {
              "type": "date",
              "pattern": "Time",
              "dateFormat": "YYYY-MM-DD HH:mm:ss"
            },
            {
              "unit": "short",
              "type": "number",
              "decimals": 2,
              "colors": [
                "rgba(245, 54, 54, 0.9)",
                "rgba(237, 129, 40, 0.89)",
                "rgba(50, 172, 45, 0.97)"
              ],
              "colorMode": null,
              "pattern": "",
              "thresholds": []
            }
          ],
          "targets": [
            {
              "refId": "A",
              "dsType": "influxdb",
              "resultFormat": "time_series",
              "tags": [
                {
                  "key": "pod_name",
                  "operator": "=~",
                  "value": "/$POD$/"
                },
                {
                  "condition": "AND",
                  "key": "deploy_scenario",
                  "operator": "=~",
                  "value": "/$SCENARIO$/"
                }
              ],
              "groupBy": [
                {
                  "type": "tag",
                  "params": [
                    "deploy_scenario"
                  ]
                }
              ],
              "select": [
                [
                  {
                    "type": "field",
                    "params": [
                      "bandwidth(MBps)"
                    ]
                  }
                ]
              ],
              "measurement": "opnfv_yardstick_tc012",
              "query": "SELECT \"bandwidth(MBps)\" FROM \"opnfv_yardstick_tc012\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\""
            },
            {
              "refId": "B",
              "dsType": "influxdb",
              "resultFormat": "time_series",
              "tags": [
                {
                  "key": "pod_name",
                  "operator": "=~",
                  "value": "/$POD$/"
                },
                {
                  "condition": "AND",
                  "key": "deploy_scenario",
                  "operator": "=~",
                  "value": "/$SCENARIO$/"
                }
              ],
              "groupBy": [
                {
                  "type": "tag",
                  "params": [
                    "deploy_scenario"
                  ]
                }
              ],
              "select": [
                [
                  {
                    "type": "field",
                    "params": [
                      "bandwidth(MBps)"
                    ]
                  }
                ]
              ],
              "measurement": "opnfv_yardstick_tc012",
              "query": "SELECT \"bandwidth(MBps)\" FROM \"opnfv_yardstick_tc012\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\""
            }
          ],
          "transform": "timeseries_to_rows",
          "pageSize": null,
          "showHeader": true,
          "columns": [],
          "scroll": true,
          "fontSize": "100%",
          "sort": {
            "col": 0,
            "desc": true
          },
          "links": [],
          "repeat": null,
          "minSpan": 2,
          "datasource": "yardstick-vtc",
          "timeFrom": "14d",
          "scopedVars": {
            "POD": {
              "text": "huawei-pod1",
              "value": "huawei\\-pod1",
              "selected": true
            }
          },
          "repeatIteration": 1468305923981,
          "repeatPanelId": 5
        },
        {
          "title": "$POD",
          "error": false,
          "span": 2,
          "editable": true,
          "type": "table",
          "isNew": true,
          "id": 7,
          "styles": [
            {
              "type": "date",
              "pattern": "Time",
              "dateFormat": "YYYY-MM-DD HH:mm:ss"
            },
            {
              "unit": "short",
              "type": "number",
              "decimals": 2,
              "colors": [
                "rgba(245, 54, 54, 0.9)",
                "rgba(237, 129, 40, 0.89)",
                "rgba(50, 172, 45, 0.97)"
              ],
              "colorMode": null,
              "pattern": "",
              "thresholds": []
            }
          ],
          "targets": [
            {
              "refId": "A",
              "dsType": "influxdb",
              "resultFormat": "time_series",
              "tags": [
                {
                  "key": "pod_name",
                  "operator": "=~",
                  "value": "/$POD$/"
                },
                {
                  "condition": "AND",
                  "key": "deploy_scenario",
                  "operator": "=~",
                  "value": "/$SCENARIO$/"
                }
              ],
              "groupBy": [
                {
                  "type": "tag",
                  "params": [
                    "deploy_scenario"
                  ]
                }
              ],
              "select": [
                [
                  {
                    "type": "field",
                    "params": [
                      "bandwidth(MBps)"
                    ]
                  }
                ]
              ],
              "measurement": "opnfv_yardstick_tc012",
              "query": "SELECT \"bandwidth(MBps)\" FROM \"opnfv_yardstick_tc012\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\""
            },
            {
              "refId": "B",
              "dsType": "influxdb",
              "resultFormat": "time_series",
              "tags": [
                {
                  "key": "pod_name",
                  "operator": "=~",
                  "value": "/$POD$/"
                },
                {
                  "condition": "AND",
                  "key": "deploy_scenario",
                  "operator": "=~",
                  "value": "/$SCENARIO$/"
                }
              ],
              "groupBy": [
                {
                  "type": "tag",
                  "params": [
                    "deploy_scenario"
                  ]
                }
              ],
              "select": [
                [
                  {
                    "type": "field",
                    "params": [
                      "bandwidth(MBps)"
                    ]
                  }
                ]
              ],
              "measurement": "opnfv_yardstick_tc012",
              "query": "SELECT \"bandwidth(MBps)\" FROM \"opnfv_yardstick_tc012\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\""
            }
          ],
          "transform": "timeseries_to_rows",
          "pageSize": null,
          "showHeader": true,
          "columns": [],
          "scroll": true,
          "fontSize": "100%",
          "sort": {
            "col": 0,
            "desc": true
          },
          "links": [],
          "repeat": null,
          "minSpan": 2,
          "datasource": "yardstick-vtc",
          "timeFrom": "14d",
          "scopedVars": {
            "POD": {
              "text": "huawei-pod2",
              "value": "huawei\\-pod2",
              "selected": true
            }
          },
          "repeatIteration": 1468305923981,
          "repeatPanelId": 5
        },
        {
          "title": "$POD",
          "error": false,
          "span": 2,
          "editable": true,
          "type": "table",
          "isNew": true,
          "id": 8,
          "styles": [
            {
              "type": "date",
              "pattern": "Time",
              "dateFormat": "YYYY-MM-DD HH:mm:ss"
            },
            {
              "unit": "short",
              "type": "number",
              "decimals": 2,
              "colors": [
                "rgba(245, 54, 54, 0.9)",
                "rgba(237, 129, 40, 0.89)",
                "rgba(50, 172, 45, 0.97)"
              ],
              "colorMode": null,
              "pattern": "",
              "thresholds": []
            }
          ],
          "targets": [
            {
              "refId": "A",
              "dsType": "influxdb",
              "resultFormat": "time_series",
              "tags": [
                {
                  "key": "pod_name",
                  "operator": "=~",
                  "value": "/$POD$/"
                },
                {
                  "condition": "AND",
                  "key": "deploy_scenario",
                  "operator": "=~",
                  "value": "/$SCENARIO$/"
                }
              ],
              "groupBy": [
                {
                  "type": "tag",
                  "params": [
                    "deploy_scenario"
                  ]
                }
              ],
              "select": [
                [
                  {
                    "type": "field",
                    "params": [
                      "bandwidth(MBps)"
                    ]
                  }
                ]
              ],
              "measurement": "opnfv_yardstick_tc012",
              "query": "SELECT \"bandwidth(MBps)\" FROM \"opnfv_yardstick_tc012\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\""
            },
            {
              "refId": "B",
              "dsType": "influxdb",
              "resultFormat": "time_series",
              "tags": [
                {
                  "key": "pod_name",
                  "operator": "=~",
                  "value": "/$POD$/"
                },
                {
                  "condition": "AND",
                  "key": "deploy_scenario",
                  "operator": "=~",
                  "value": "/$SCENARIO$/"
                }
              ],
              "groupBy": [
                {
                  "type": "tag",
                  "params": [
                    "deploy_scenario"
                  ]
                }
              ],
              "select": [
                [
                  {
                    "type": "field",
                    "params": [
                      "bandwidth(MBps)"
                    ]
                  }
                ]
              ],
              "measurement": "opnfv_yardstick_tc012",
              "query": "SELECT \"bandwidth(MBps)\" FROM \"opnfv_yardstick_tc012\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\""
            }
          ],
          "transform": "timeseries_to_rows",
          "pageSize": null,
          "showHeader": true,
          "columns": [],
          "scroll": true,
          "fontSize": "100%",
          "sort": {
            "col": 0,
            "desc": true
          },
          "links": [],
          "repeat": null,
          "minSpan": 2,
          "datasource": "yardstick-vtc",
          "timeFrom": "14d",
          "scopedVars": {
            "POD": {
              "text": "intel-pod6",
              "value": "intel\\-pod6",
              "selected": true
            }
          },
          "repeatIteration": 1468305923981,
          "repeatPanelId": 5
        },
        {
          "title": "$POD",
          "error": false,
          "span": 2,
          "editable": true,
          "type": "table",
          "isNew": true,
          "id": 15,
          "styles": [
            {
              "type": "date",
              "pattern": "Time",
              "dateFormat": "YYYY-MM-DD HH:mm:ss"
            },
            {
              "unit": "short",
              "type": "number",
              "decimals": 2,
              "colors": [
                "rgba(245, 54, 54, 0.9)",
                "rgba(237, 129, 40, 0.89)",
                "rgba(50, 172, 45, 0.97)"
              ],
              "colorMode": null,
              "pattern": "",
              "thresholds": []
            }
          ],
          "targets": [
            {
              "refId": "A",
              "dsType": "influxdb",
              "resultFormat": "time_series",
              "tags": [
                {
                  "key": "pod_name",
                  "operator": "=~",
                  "value": "/$POD$/"
                },
                {
                  "condition": "AND",
                  "key": "deploy_scenario",
                  "operator": "=~",
                  "value": "/$SCENARIO$/"
                }
              ],
              "groupBy": [
                {
                  "type": "tag",
                  "params": [
                    "deploy_scenario"
                  ]
                }
              ],
              "select": [
                [
                  {
                    "type": "field",
                    "params": [
                      "bandwidth(MBps)"
                    ]
                  }
                ]
              ],
              "measurement": "opnfv_yardstick_tc012",
              "query": "SELECT \"bandwidth(MBps)\" FROM \"opnfv_yardstick_tc012\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\""
            },
            {
              "refId": "B",
              "dsType": "influxdb",
              "resultFormat": "time_series",
              "tags": [
                {
                  "key": "pod_name",
                  "operator": "=~",
                  "value": "/$POD$/"
                },
                {
                  "condition": "AND",
                  "key": "deploy_scenario",
                  "operator": "=~",
                  "value": "/$SCENARIO$/"
                }
              ],
              "groupBy": [
                {
                  "type": "tag",
                  "params": [
                    "deploy_scenario"
                  ]
                }
              ],
              "select": [
                [
                  {
                    "type": "field",
                    "params": [
                      "bandwidth(MBps)"
                    ]
                  }
                ]
              ],
              "measurement": "opnfv_yardstick_tc012",
              "query": "SELECT \"bandwidth(MBps)\" FROM \"opnfv_yardstick_tc012\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\""
            }
          ],
          "transform": "timeseries_to_rows",
          "pageSize": null,
          "showHeader": true,
          "columns": [],
          "scroll": true,
          "fontSize": "100%",
          "sort": {
            "col": 0,
            "desc": true
          },
          "links": [],
          "repeat": null,
          "minSpan": 2,
          "datasource": "yardstick-vtc",
          "timeFrom": "14d",
          "scopedVars": {
            "POD": {
              "text": "lf-pod2",
              "value": "lf\\-pod2",
              "selected": true
            }
          },
          "repeatIteration": 1468305923981,
          "repeatPanelId": 5
        },
        {
          "title": "$POD",
          "error": false,
          "span": 2,
          "editable": true,
          "type": "table",
          "isNew": true,
          "id": 22,
          "styles": [
            {
              "type": "date",
              "pattern": "Time",
              "dateFormat": "YYYY-MM-DD HH:mm:ss"
            },
            {
              "unit": "short",
              "type": "number",
              "decimals": 2,
              "colors": [
                "rgba(245, 54, 54, 0.9)",
                "rgba(237, 129, 40, 0.89)",
                "rgba(50, 172, 45, 0.97)"
              ],
              "colorMode": null,
              "pattern": "",
              "thresholds": []
            }
          ],
          "targets": [
            {
              "refId": "A",
              "dsType": "influxdb",
              "resultFormat": "time_series",
              "tags": [
                {
                  "key": "pod_name",
                  "operator": "=~",
                  "value": "/$POD$/"
                },
                {
                  "condition": "AND",
                  "key": "deploy_scenario",
                  "operator": "=~",
                  "value": "/$SCENARIO$/"
                }
              ],
              "groupBy": [
                {
                  "type": "tag",
                  "params": [
                    "deploy_scenario"
                  ]
                }
              ],
              "select": [
                [
                  {
                    "type": "field",
                    "params": [
                      "bandwidth(MBps)"
                    ]
                  }
                ]
              ],
              "measurement": "opnfv_yardstick_tc012",
              "query": "SELECT \"bandwidth(MBps)\" FROM \"opnfv_yardstick_tc012\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\""
            },
            {
              "refId": "B",
              "dsType": "influxdb",
              "resultFormat": "time_series",
              "tags": [
                {
                  "key": "pod_name",
                  "operator": "=~",
                  "value": "/$POD$/"
                },
                {
                  "condition": "AND",
                  "key": "deploy_scenario",
                  "operator": "=~",
                  "value": "/$SCENARIO$/"
                }
              ],
              "groupBy": [
                {
                  "type": "tag",
                  "params": [
                    "deploy_scenario"
                  ]
                }
              ],
              "select": [
                [
                  {
                    "type": "field",
                    "params": [
                      "bandwidth(MBps)"
                    ]
                  }
                ]
              ],
              "measurement": "opnfv_yardstick_tc012",
              "query": "SELECT \"bandwidth(MBps)\" FROM \"opnfv_yardstick_tc012\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\""
            }
          ],
          "transform": "timeseries_to_rows",
          "pageSize": null,
          "showHeader": true,
          "columns": [],
          "scroll": true,
          "fontSize": "100%",
          "sort": {
            "col": 0,
            "desc": true
          },
          "links": [],
          "repeat": null,
          "minSpan": 2,
          "datasource": "yardstick-vtc",
          "timeFrom": "14d",
          "scopedVars": {
            "POD": {
              "text": "zte-pod1",
              "value": "zte\\-pod1",
              "selected": true
            }
          },
          "repeatIteration": 1468305923981,
          "repeatPanelId": 5
        }
      ]
    },
    {
      "title": "New row",
      "height": "250px",
      "editable": true,
      "collapse": false,
      "panels": [
        {
          "title": "$POD",
          "error": false,
          "span": 2,
          "editable": true,
          "type": "graph",
          "isNew": true,
          "id": 17,
          "datasource": "yardstick-vtc",
          "renderer": "flot",
          "x-axis": true,
          "y-axis": true,
          "y_formats": [
            "short",
            "short"
          ],
          "grid": {
            "leftLogBase": 1,
            "leftMax": null,
            "rightMax": null,
            "leftMin": null,
            "rightMin": null,
            "rightLogBase": 1,
            "threshold1": null,
            "threshold2": null,
            "threshold1Color": "rgba(216, 200, 27, 0.27)",
            "threshold2Color": "rgba(234, 112, 112, 0.22)"
          },
          "lines": true,
          "fill": 1,
          "linewidth": 2,
          "points": false,
          "pointradius": 5,
          "bars": false,
          "stack": false,
          "percentage": false,
          "legend": {
            "show": true,
            "values": false,
            "min": false,
            "max": false,
            "current": false,
            "total": false,
            "avg": false
          },
          "nullPointMode": "connected",
          "steppedLine": false,
          "tooltip": {
            "value_type": "cumulative",
            "shared": true
          },
          "timeFrom": "14d",
          "timeShift": null,
          "targets": [
            {
              "refId": "A",
              "dsType": "influxdb",
              "resultFormat": "time_series",
              "tags": [
                {
                  "key": "pod_name",
                  "operator": "=~",
                  "value": "/$POD$/"
                },
                {
                  "condition": "AND",
                  "key": "deploy_scenario",
                  "operator": "=~",
                  "value": "/$SCENARIO$/"
                }
              ],
              "groupBy": [
                {
                  "type": "tag",
                  "params": [
                    "deploy_scenario"
                  ]
                },
                {
                  "type": "tag",
                  "params": [
                    "installer"
                  ]
                }
              ],
              "select": [
                [
                  {
                    "type": "field",
                    "params": [
                      "bandwidth(MBps)"
                    ]
                  }
                ]
              ],
              "measurement": "opnfv_yardstick_tc012",
              "query": "SELECT \"bandwidth(MBps)\" FROM \"opnfv_yardstick_tc012\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
              "alias": "$tag_deploy_scenario - mean bw"
            }
          ],
          "aliasColors": {},
          "seriesOverrides": [],
          "links": [],
          "repeat": "POD",
          "minSpan": 2,
          "scopedVars": {
            "POD": {
              "text": "ericsson-pod2",
              "value": "ericsson\\-pod2",
              "selected": true
            }
          }
        },
        {
          "title": "$POD",
          "error": false,
          "span": 2,
          "editable": true,
          "type": "graph",
          "isNew": true,
          "id": 18,
          "datasource": "yardstick-vtc",
          "renderer": "flot",
          "x-axis": true,
          "y-axis": true,
          "y_formats": [
            "short",
            "short"
          ],
          "grid": {
            "leftLogBase": 1,
            "leftMax": null,
            "rightMax": null,
            "leftMin": null,
            "rightMin": null,
            "rightLogBase": 1,
            "threshold1": null,
            "threshold2": null,
            "threshold1Color": "rgba(216, 200, 27, 0.27)",
            "threshold2Color": "rgba(234, 112, 112, 0.22)"
          },
          "lines": true,
          "fill": 1,
          "linewidth": 2,
          "points": false,
          "pointradius": 5,
          "bars": false,
          "stack": false,
          "percentage": false,
          "legend": {
            "show": true,
            "values": false,
            "min": false,
            "max": false,
            "current": false,
            "total": false,
            "avg": false
          },
          "nullPointMode": "connected",
          "steppedLine": false,
          "tooltip": {
            "value_type": "cumulative",
            "shared": true
          },
          "timeFrom": "14d",
          "timeShift": null,
          "targets": [
            {
              "refId": "A",
              "dsType": "influxdb",
              "resultFormat": "time_series",
              "tags": [
                {
                  "key": "pod_name",
                  "operator": "=~",
                  "value": "/$POD$/"
                },
                {
                  "condition": "AND",
                  "key": "deploy_scenario",
                  "operator": "=~",
                  "value": "/$SCENARIO$/"
                }
              ],
              "groupBy": [
                {
                  "type": "tag",
                  "params": [
                    "deploy_scenario"
                  ]
                },
                {
                  "type": "tag",
                  "params": [
                    "installer"
                  ]
                }
              ],
              "select": [
                [
                  {
                    "type": "field",
                    "params": [
                      "bandwidth(MBps)"
                    ]
                  }
                ]
              ],
              "measurement": "opnfv_yardstick_tc012",
              "query": "SELECT \"bandwidth(MBps)\" FROM \"opnfv_yardstick_tc012\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
              "alias": "$tag_deploy_scenario - mean bw"
            }
          ],
          "aliasColors": {},
          "seriesOverrides": [],
          "links": [],
          "repeat": null,
          "minSpan": 2,
          "scopedVars": {
            "POD": {
              "text": "huawei-pod1",
              "value": "huawei\\-pod1",
              "selected": true
            }
          },
          "repeatIteration": 1468305923981,
          "repeatPanelId": 17
        },
        {
          "title": "$POD",
          "error": false,
          "span": 2,
          "editable": true,
          "type": "graph",
          "isNew": true,
          "id": 19,
          "datasource": "yardstick-vtc",
          "renderer": "flot",
          "x-axis": true,
          "y-axis": true,
          "y_formats": [
            "short",
            "short"
          ],
          "grid": {
            "leftLogBase": 1,
            "leftMax": null,
            "rightMax": null,
            "leftMin": null,
            "rightMin": null,
            "rightLogBase": 1,
            "threshold1": null,
            "threshold2": null,
            "threshold1Color": "rgba(216, 200, 27, 0.27)",
            "threshold2Color": "rgba(234, 112, 112, 0.22)"
          },
          "lines": true,
          "fill": 1,
          "linewidth": 2,
          "points": false,
          "pointradius": 5,
          "bars": false,
          "stack": false,
          "percentage": false,
          "legend": {
            "show": true,
            "values": false,
            "min": false,
            "max": false,
            "current": false,
            "total": false,
            "avg": false
          },
          "nullPointMode": "connected",
          "steppedLine": false,
          "tooltip": {
            "value_type": "cumulative",
            "shared": true
          },
          "timeFrom": "14d",
          "timeShift": null,
          "targets": [
            {
              "refId": "A",
              "dsType": "influxdb",
              "resultFormat": "time_series",
              "tags": [
                {
                  "key": "pod_name",
                  "operator": "=~",
                  "value": "/$POD$/"
                },
                {
                  "condition": "AND",
                  "key": "deploy_scenario",
                  "operator": "=~",
                  "value": "/$SCENARIO$/"
                }
              ],
              "groupBy": [
                {
                  "type": "tag",
                  "params": [
                    "deploy_scenario"
                  ]
                },
                {
                  "type": "tag",
                  "params": [
                    "installer"
                  ]
                }
              ],
              "select": [
                [
                  {
                    "type": "field",
                    "params": [
                      "bandwidth(MBps)"
                    ]
                  }
                ]
              ],
              "measurement": "opnfv_yardstick_tc012",
              "query": "SELECT \"bandwidth(MBps)\" FROM \"opnfv_yardstick_tc012\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
              "alias": "$tag_deploy_scenario - mean bw"
            }
          ],
          "aliasColors": {},
          "seriesOverrides": [],
          "links": [],
          "repeat": null,
          "minSpan": 2,
          "scopedVars": {
            "POD": {
              "text": "huawei-pod2",
              "value": "huawei\\-pod2",
              "selected": true
            }
          },
          "repeatIteration": 1468305923981,
          "repeatPanelId": 17
        },
        {
          "title": "$POD",
          "error": false,
          "span": 2,
          "editable": true,
          "type": "graph",
          "isNew": true,
          "id": 20,
          "datasource": "yardstick-vtc",
          "renderer": "flot",
          "x-axis": true,
          "y-axis": true,
          "y_formats": [
            "short",
            "short"
          ],
          "grid": {
            "leftLogBase": 1,
            "leftMax": null,
            "rightMax": null,
            "leftMin": null,
            "rightMin": null,
            "rightLogBase": 1,
            "threshold1": null,
            "threshold2": null,
            "threshold1Color": "rgba(216, 200, 27, 0.27)",
            "threshold2Color": "rgba(234, 112, 112, 0.22)"
          },
          "lines": true,
          "fill": 1,
          "linewidth": 2,
          "points": false,
          "pointradius": 5,
          "bars": false,
          "stack": false,
          "percentage": false,
          "legend": {
            "show": true,
            "values": false,
            "min": false,
            "max": false,
            "current": false,
            "total": false,
            "avg": false
          },
          "nullPointMode": "connected",
          "steppedLine": false,
          "tooltip": {
            "value_type": "cumulative",
            "shared": true
          },
          "timeFrom": "14d",
          "timeShift": null,
          "targets": [
            {
              "refId": "A",
              "dsType": "influxdb",
              "resultFormat": "time_series",
              "tags": [
                {
                  "key": "pod_name",
                  "operator": "=~",
                  "value": "/$POD$/"
                },
                {
                  "condition": "AND",
                  "key": "deploy_scenario",
                  "operator": "=~",
                  "value": "/$SCENARIO$/"
                }
              ],
              "groupBy": [
                {
                  "type": "tag",
                  "params": [
                    "deploy_scenario"
                  ]
                },
                {
                  "type": "tag",
                  "params": [
                    "installer"
                  ]
                }
              ],
              "select": [
                [
                  {
                    "type": "field",
                    "params": [
                      "bandwidth(MBps)"
                    ]
                  }
                ]
              ],
              "measurement": "opnfv_yardstick_tc012",
              "query": "SELECT \"bandwidth(MBps)\" FROM \"opnfv_yardstick_tc012\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
              "alias": "$tag_deploy_scenario - mean bw"
            }
          ],
          "aliasColors": {},
          "seriesOverrides": [],
          "links": [],
          "repeat": null,
          "minSpan": 2,
          "scopedVars": {
            "POD": {
              "text": "intel-pod6",
              "value": "intel\\-pod6",
              "selected": true
            }
          },
          "repeatIteration": 1468305923981,
          "repeatPanelId": 17
        },
        {
          "title": "$POD",
          "error": false,
          "span": 2,
          "editable": true,
          "type": "graph",
          "isNew": true,
          "id": 21,
          "datasource": "yardstick-vtc",
          "renderer": "flot",
          "x-axis": true,
          "y-axis": true,
          "y_formats": [
            "short",
            "short"
          ],
          "grid": {
            "leftLogBase": 1,
            "leftMax": null,
            "rightMax": null,
            "leftMin": null,
            "rightMin": null,
            "rightLogBase": 1,
            "threshold1": null,
            "threshold2": null,
            "threshold1Color": "rgba(216, 200, 27, 0.27)",
            "threshold2Color": "rgba(234, 112, 112, 0.22)"
          },
          "lines": true,
          "fill": 1,
          "linewidth": 2,
          "points": false,
          "pointradius": 5,
          "bars": false,
          "stack": false,
          "percentage": false,
          "legend": {
            "show": true,
            "values": false,
            "min": false,
            "max": false,
            "current": false,
            "total": false,
            "avg": false
          },
          "nullPointMode": "connected",
          "steppedLine": false,
          "tooltip": {
            "value_type": "cumulative",
            "shared": true
          },
          "timeFrom": "14d",
          "timeShift": null,
          "targets": [
            {
              "refId": "A",
              "dsType": "influxdb",
              "resultFormat": "time_series",
              "tags": [
                {
                  "key": "pod_name",
                  "operator": "=~",
                  "value": "/$POD$/"
                },
                {
                  "condition": "AND",
                  "key": "deploy_scenario",
                  "operator": "=~",
                  "value": "/$SCENARIO$/"
                }
              ],
              "groupBy": [
                {
                  "type": "tag",
                  "params": [
                    "deploy_scenario"
                  ]
                },
                {
                  "type": "tag",
                  "params": [
                    "installer"
                  ]
                }
              ],
              "select": [
                [
                  {
                    "type": "field",
                    "params": [
                      "bandwidth(MBps)"
                    ]
                  }
                ]
              ],
              "measurement": "opnfv_yardstick_tc012",
              "query": "SELECT \"bandwidth(MBps)\" FROM \"opnfv_yardstick_tc012\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
              "alias": "$tag_deploy_scenario - mean bw"
            }
          ],
          "aliasColors": {},
          "seriesOverrides": [],
          "links": [],
          "repeat": null,
          "minSpan": 2,
          "scopedVars": {
            "POD": {
              "text": "lf-pod2",
              "value": "lf\\-pod2",
              "selected": true
            }
          },
          "repeatIteration": 1468305923981,
          "repeatPanelId": 17
        },
        {
          "title": "$POD",
          "error": false,
          "span": 2,
          "editable": true,
          "type": "graph",
          "isNew": true,
          "id": 32,
          "datasource": "yardstick-vtc",
          "renderer": "flot",
          "x-axis": true,
          "y-axis": true,
          "y_formats": [
            "short",
            "short"
          ],
          "grid": {
            "leftLogBase": 1,
            "leftMax": null,
            "rightMax": null,
            "leftMin": null,
            "rightMin": null,
            "rightLogBase": 1,
            "threshold1": null,
            "threshold2": null,
            "threshold1Color": "rgba(216, 200, 27, 0.27)",
            "threshold2Color": "rgba(234, 112, 112, 0.22)"
          },
          "lines": true,
          "fill": 1,
          "linewidth": 2,
          "points": false,
          "pointradius": 5,
          "bars": false,
          "stack": false,
          "percentage": false,
          "legend": {
            "show": true,
            "values": false,
            "min": false,
            "max": false,
            "current": false,
            "total": false,
            "avg": false
          },
          "nullPointMode": "connected",
          "steppedLine": false,
          "tooltip": {
            "value_type": "cumulative",
            "shared": true
          },
          "timeFrom": "14d",
          "timeShift": null,
          "targets": [
            {
              "refId": "A",
              "dsType": "influxdb",
              "resultFormat": "time_series",
              "tags": [
                {
                  "key": "pod_name",
                  "operator": "=~",
                  "value": "/$POD$/"
                },
                {
                  "condition": "AND",
                  "key": "deploy_scenario",
                  "operator": "=~",
                  "value": "/$SCENARIO$/"
                }
              ],
              "groupBy": [
                {
                  "type": "tag",
                  "params": [
                    "deploy_scenario"
                  ]
                },
                {
                  "type": "tag",
                  "params": [
                    "installer"
                  ]
                }
              ],
              "select": [
                [
                  {
                    "type": "field",
                    "params": [
                      "bandwidth(MBps)"
                    ]
                  }
                ]
              ],
              "measurement": "opnfv_yardstick_tc012",
              "query": "SELECT \"bandwidth(MBps)\" FROM \"opnfv_yardstick_tc012\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
              "alias": "$tag_deploy_scenario - mean bw"
            }
          ],
          "aliasColors": {},
          "seriesOverrides": [],
          "links": [],
          "repeat": null,
          "minSpan": 2,
          "scopedVars": {
            "POD": {
              "text": "zte-pod1",
              "value": "zte\\-pod1",
              "selected": true
            }
          },
          "repeatIteration": 1468305923981,
          "repeatPanelId": 17
        }
      ]
    }
  ],
  "time": {
    "from": "now-7d",
    "to": "now"
  },
  "timepicker": {
    "now": true,
    "refresh_intervals": [
      "5s",
      "10s",
      "30s",
      "1m",
      "5m",
      "15m",
      "30m",
      "1h",
      "2h",
      "1d"
    ],
    "time_options": [
      "5m",
      "15m",
      "1h",
      "6h",
      "12h",
      "24h",
      "2d",
      "7d",
      "30d"
    ]
  },
  "templating": {
    "list": [
      {
        "allFormat": "regex values",
        "current": {
          "tags": [],
          "text": "ericsson-pod2 + huawei-pod1 + huawei-pod2 + intel-pod6 + lf-pod2 + zte-pod1",
          "value": [
            "ericsson\\-pod2",
            "huawei\\-pod1",
            "huawei\\-pod2",
            "intel\\-pod6",
            "lf\\-pod2",
            "zte\\-pod1"
          ]
        },
        "datasource": "yardstick-vtc",
        "includeAll": true,
        "multi": true,
        "multiFormat": "regex values",
        "name": "POD",
        "options": [
          {
            "text": "All",
            "value": "(elxg482ls42|ericsson\\-pod1|ericsson\\-pod2|huawei\\-pod1|huawei\\-pod2|huawei\\-us\\-deploy\\-bare\\-1|intel\\-pod5|intel\\-pod6|lf\\-pod1|lf\\-pod2|opnfv\\-jump\\-1|opnfv\\-jump\\-2|orange\\-fr\\-pod2|unknown|zte\\-pod1)",
            "selected": false
          },
          {
            "text": "elxg482ls42",
            "value": "elxg482ls42",
            "selected": false
          },
          {
            "text": "ericsson-pod1",
            "value": "ericsson\\-pod1",
            "selected": false
          },
          {
            "text": "ericsson-pod2",
            "value": "ericsson\\-pod2",
            "selected": true
          },
          {
            "text": "huawei-pod1",
            "value": "huawei\\-pod1",
            "selected": true
          },
          {
            "text": "huawei-pod2",
            "value": "huawei\\-pod2",
            "selected": true
          },
          {
            "text": "huawei-us-deploy-bare-1",
            "value": "huawei\\-us\\-deploy\\-bare\\-1",
            "selected": false
          },
          {
            "text": "intel-pod5",
            "value": "intel\\-pod5",
            "selected": false
          },
          {
            "text": "intel-pod6",
            "value": "intel\\-pod6",
            "selected": true
          },
          {
            "text": "lf-pod1",
            "value": "lf\\-pod1",
            "selected": false
          },
          {
            "text": "lf-pod2",
            "value": "lf\\-pod2",
            "selected": true
          },
          {
            "text": "opnfv-jump-1",
            "value": "opnfv\\-jump\\-1",
            "selected": false
          },
          {
            "text": "opnfv-jump-2",
            "value": "opnfv\\-jump\\-2",
            "selected": false
          },
          {
            "text": "orange-fr-pod2",
            "value": "orange\\-fr\\-pod2",
            "selected": false
          },
          {
            "text": "unknown",
            "value": "unknown",
            "selected": false
          },
          {
            "text": "zte-pod1",
            "value": "zte\\-pod1",
            "selected": true
          }
        ],
        "query": "SHOW TAG VALUES WITH KEY = \"pod_name\" ",
        "refresh": false,
        "type": "query"
      },
      {
        "allFormat": "regex values",
        "current": {
          "text": "All",
          "value": "(os\\-no_sdn\\-ovs\\-ha|os\\-nosdn\\-kvm\\-ha|os\\-nosdn\\-nofeature\\-ha|os\\-nosdn\\-nofeature\\-noha|os\\-nosdn\\-ovs\\-ha|os\\-ocl\\-nofeature\\-ha|os\\-odl_l2\\-bgpvpn\\-ha|os\\-odl_l2\\-nofeature\\-ha|os\\-odl_l2\\-nofeature\\-noha|os\\-odl_l2\\-sfc\\-ha|os\\-odl_l3\\-nofeature\\-ha|os\\-onos\\-nofeature\\-ha|os\\-onos\\-sfc\\-ha|os\\-ovs\\-nofeature\\-ha|unknown)",
          "tags": []
        },
        "datasource": "yardstick-vtc",
        "includeAll": true,
        "multi": true,
        "multiFormat": "regex values",
        "name": "SCENARIO",
        "options": [
          {
            "text": "All",
            "value": "(os\\-no_sdn\\-ovs\\-ha|os\\-nosdn\\-kvm\\-ha|os\\-nosdn\\-nofeature\\-ha|os\\-nosdn\\-nofeature\\-noha|os\\-nosdn\\-ovs\\-ha|os\\-ocl\\-nofeature\\-ha|os\\-odl_l2\\-bgpvpn\\-ha|os\\-odl_l2\\-nofeature\\-ha|os\\-odl_l2\\-nofeature\\-noha|os\\-odl_l2\\-sfc\\-ha|os\\-odl_l3\\-nofeature\\-ha|os\\-onos\\-nofeature\\-ha|os\\-onos\\-sfc\\-ha|os\\-ovs\\-nofeature\\-ha|unknown)",
            "selected": true
          },
          {
            "text": "os-no_sdn-ovs-ha",
            "value": "os\\-no_sdn\\-ovs\\-ha",
            "selected": false
          },
          {
            "text": "os-nosdn-kvm-ha",
            "value": "os\\-nosdn\\-kvm\\-ha",
            "selected": false
          },
          {
            "text": "os-nosdn-nofeature-ha",
            "value": "os\\-nosdn\\-nofeature\\-ha",
            "selected": false
          },
          {
            "text": "os-nosdn-nofeature-noha",
            "value": "os\\-nosdn\\-nofeature\\-noha",
            "selected": false
          },
          {
            "text": "os-nosdn-ovs-ha",
            "value": "os\\-nosdn\\-ovs\\-ha",
            "selected": false
          },
          {
            "text": "os-ocl-nofeature-ha",
            "value": "os\\-ocl\\-nofeature\\-ha",
            "selected": false
          },
          {
            "text": "os-odl_l2-bgpvpn-ha",
            "value": "os\\-odl_l2\\-bgpvpn\\-ha",
            "selected": false
          },
          {
            "text": "os-odl_l2-nofeature-ha",
            "value": "os\\-odl_l2\\-nofeature\\-ha",
            "selected": false
          },
          {
            "text": "os-odl_l2-nofeature-noha",
            "value": "os\\-odl_l2\\-nofeature\\-noha",
            "selected": false
          },
          {
            "text": "os-odl_l2-sfc-ha",
            "value": "os\\-odl_l2\\-sfc\\-ha",
            "selected": false
          },
          {
            "text": "os-odl_l3-nofeature-ha",
            "value": "os\\-odl_l3\\-nofeature\\-ha",
            "selected": false
          },
          {
            "text": "os-onos-nofeature-ha",
            "value": "os\\-onos\\-nofeature\\-ha",
            "selected": false
          },
          {
            "text": "os-onos-sfc-ha",
            "value": "os\\-onos\\-sfc\\-ha",
            "selected": false
          },
          {
            "text": "os-ovs-nofeature-ha",
            "value": "os\\-ovs\\-nofeature\\-ha",
            "selected": false
          },
          {
            "text": "unknown",
            "value": "unknown",
            "selected": false
          }
        ],
        "query": "SHOW TAG VALUES WITH KEY = \"deploy_scenario\" ",
        "refresh": false,
        "type": "query"
      }
    ]
  },
  "annotations": {
    "list": []
  },
  "refresh": "30m",
  "schemaVersion": 8,
  "version": 3,
  "links": []
}