0001
0002
0003
0004
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