1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
2 | /* |
3 | * Copyright (C) 2019-2022 Bootlin |
4 | * Author: Paul Kocialkowski <paul.kocialkowski@bootlin.com> |
5 | */ |
6 | |
7 | #ifndef _LOGICVC_OF_H_ |
8 | #define _LOGICVC_OF_H_ |
9 | |
10 | enum logicvc_of_property_index { |
11 | LOGICVC_OF_PROPERTY_DISPLAY_INTERFACE = 0, |
12 | LOGICVC_OF_PROPERTY_DISPLAY_COLORSPACE, |
13 | LOGICVC_OF_PROPERTY_DISPLAY_DEPTH, |
14 | LOGICVC_OF_PROPERTY_ROW_STRIDE, |
15 | LOGICVC_OF_PROPERTY_DITHERING, |
16 | LOGICVC_OF_PROPERTY_BACKGROUND_LAYER, |
17 | LOGICVC_OF_PROPERTY_LAYERS_CONFIGURABLE, |
18 | LOGICVC_OF_PROPERTY_LAYERS_COUNT, |
19 | LOGICVC_OF_PROPERTY_LAYER_DEPTH, |
20 | LOGICVC_OF_PROPERTY_LAYER_COLORSPACE, |
21 | LOGICVC_OF_PROPERTY_LAYER_ALPHA_MODE, |
22 | LOGICVC_OF_PROPERTY_LAYER_BASE_OFFSET, |
23 | LOGICVC_OF_PROPERTY_LAYER_BUFFER_OFFSET, |
24 | LOGICVC_OF_PROPERTY_LAYER_PRIMARY, |
25 | LOGICVC_OF_PROPERTY_MAXIMUM, |
26 | }; |
27 | |
28 | struct logicvc_of_property_sv { |
29 | const char *string; |
30 | u32 value; |
31 | }; |
32 | |
33 | struct logicvc_of_property { |
34 | char *name; |
35 | bool optional; |
36 | struct logicvc_of_property_sv *sv; |
37 | u32 range[2]; |
38 | }; |
39 | |
40 | int logicvc_of_property_parse_u32(struct device_node *of_node, |
41 | unsigned int index, u32 *target); |
42 | void logicvc_of_property_parse_bool(struct device_node *of_node, |
43 | unsigned int index, bool *target); |
44 | bool logicvc_of_node_is_layer(struct device_node *of_node); |
45 | |
46 | #endif |
47 | |