/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ /* * RP1 PiSP common definitions. * * Copyright (C) 2021 - Raspberry Pi Ltd. *
*/ #ifndef _UAPI_PISP_COMMON_H_ #define _UAPI_PISP_COMMON_H_
#include <linux/types.h>
struct pisp_image_format_config { /* size in pixels */
__u16 width;
__u16 height; /* must match struct pisp_image_format below */
__u32 format;
__s32 stride; /* some planar image formats will need a second stride */
__s32 stride2;
} __attribute__((packed));
enum pisp_bayer_order { /* * Note how bayer_order&1 tells you if G is on the even pixels of the * checkerboard or not, and bayer_order&2 tells you if R is on the even * rows or is swapped with B. Note that if the top (of the 8) bits is * set, this denotes a monochrome or greyscale image, and the lower bits * should all be ignored.
*/
PISP_BAYER_ORDER_RGGB = 0,
PISP_BAYER_ORDER_GBRG = 1,
PISP_BAYER_ORDER_BGGR = 2,
PISP_BAYER_ORDER_GRBG = 3,
PISP_BAYER_ORDER_GREYSCALE = 128
};
enum pisp_image_format { /* * Precise values are mostly tbd. Generally these will be portmanteau * values comprising bit fields and flags. This format must be shared * throughout the PiSP.
*/
PISP_IMAGE_FORMAT_BPS_8 = 0x00000000,
PISP_IMAGE_FORMAT_BPS_10 = 0x00000001,
PISP_IMAGE_FORMAT_BPS_12 = 0x00000002,
PISP_IMAGE_FORMAT_BPS_16 = 0x00000003,
PISP_IMAGE_FORMAT_BPS_MASK = 0x00000003,
/* Lastly a few specific instantiations of the above. */
PISP_IMAGE_FORMAT_SINGLE_16 = PISP_IMAGE_FORMAT_BPS_16,
PISP_IMAGE_FORMAT_THREE_16 = PISP_IMAGE_FORMAT_BPS_16 |
PISP_IMAGE_FORMAT_THREE_CHANNEL
};
enum pisp_axi_flags { /* * round down bursts to end at a 32-byte boundary, to align following * bursts
*/
PISP_AXI_FLAG_ALIGN = 128, /* for FE writer: force WSTRB high, to pad output to 16-byte boundary */
PISP_AXI_FLAG_PAD = 64, /* for FE writer: Use Output FIFO level to trigger "panic" */
PISP_AXI_FLAG_PANIC = 32,
};
struct pisp_axi_config { /* * burst length minus one, which must be in the range 0:15; OR'd with * flags
*/
__u8 maxlen_flags; /* { prot[2:0], cache[3:0] } fields, echoed on AXI bus */
__u8 cache_prot; /* QoS field(s) (4x4 bits for FE writer; 4 bits for other masters) */
__u16 qos;
} __attribute__((packed));
#endif/* _UAPI_PISP_COMMON_H_ */
Messung V0.5
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.