Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0+ */
0002 /*
0003  * Copyright (C) 2019-2022 Bootlin
0004  * Author: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
0005  */
0006 
0007 #ifndef _LOGICVC_OF_H_
0008 #define _LOGICVC_OF_H_
0009 
0010 enum logicvc_of_property_index {
0011     LOGICVC_OF_PROPERTY_DISPLAY_INTERFACE = 0,
0012     LOGICVC_OF_PROPERTY_DISPLAY_COLORSPACE,
0013     LOGICVC_OF_PROPERTY_DISPLAY_DEPTH,
0014     LOGICVC_OF_PROPERTY_ROW_STRIDE,
0015     LOGICVC_OF_PROPERTY_DITHERING,
0016     LOGICVC_OF_PROPERTY_BACKGROUND_LAYER,
0017     LOGICVC_OF_PROPERTY_LAYERS_CONFIGURABLE,
0018     LOGICVC_OF_PROPERTY_LAYERS_COUNT,
0019     LOGICVC_OF_PROPERTY_LAYER_DEPTH,
0020     LOGICVC_OF_PROPERTY_LAYER_COLORSPACE,
0021     LOGICVC_OF_PROPERTY_LAYER_ALPHA_MODE,
0022     LOGICVC_OF_PROPERTY_LAYER_BASE_OFFSET,
0023     LOGICVC_OF_PROPERTY_LAYER_BUFFER_OFFSET,
0024     LOGICVC_OF_PROPERTY_LAYER_PRIMARY,
0025     LOGICVC_OF_PROPERTY_MAXIMUM,
0026 };
0027 
0028 struct logicvc_of_property_sv {
0029     const char *string;
0030     u32 value;
0031 };
0032 
0033 struct logicvc_of_property {
0034     char *name;
0035     bool optional;
0036     struct logicvc_of_property_sv *sv;
0037     u32 range[2];
0038 };
0039 
0040 int logicvc_of_property_parse_u32(struct device_node *of_node,
0041                   unsigned int index, u32 *target);
0042 void logicvc_of_property_parse_bool(struct device_node *of_node,
0043                     unsigned int index, bool *target);
0044 bool logicvc_of_node_is_layer(struct device_node *of_node);
0045 
0046 #endif