Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/media/platform/broadcom/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 6 kB image not shown  

Quelle  bcm2835-unicam-regs.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-only */

/*
 * Copyright (C) 2017-2020 Raspberry Pi Trading.
 * Dave Stevenson <dave.stevenson@raspberrypi.com>
 */


#ifndef VC4_REGS_UNICAM_H
#define VC4_REGS_UNICAM_H

#include <linux/bits.h>

/*
 * The following values are taken from files found within the code drop
 * made by Broadcom for the BCM21553 Graphics Driver, predominantly in
 * brcm_usrlib/dag/vmcsx/vcinclude/hardware_vc4.h.
 * They have been modified to be only the register offset.
 */

#define UNICAM_CTRL  0x000
#define UNICAM_STA  0x004
#define UNICAM_ANA  0x008
#define UNICAM_PRI  0x00c
#define UNICAM_CLK  0x010
#define UNICAM_CLT  0x014
#define UNICAM_DAT0  0x018
#define UNICAM_DAT1  0x01c
#define UNICAM_DAT2  0x020
#define UNICAM_DAT3  0x024
#define UNICAM_DLT  0x028
#define UNICAM_CMP0  0x02c
#define UNICAM_CMP1  0x030
#define UNICAM_CAP0  0x034
#define UNICAM_CAP1  0x038
#define UNICAM_ICTL  0x100
#define UNICAM_ISTA  0x104
#define UNICAM_IDI0  0x108
#define UNICAM_IPIPE  0x10c
#define UNICAM_IBSA0  0x110
#define UNICAM_IBEA0  0x114
#define UNICAM_IBLS  0x118
#define UNICAM_IBWP  0x11c
#define UNICAM_IHWIN  0x120
#define UNICAM_IHSTA  0x124
#define UNICAM_IVWIN  0x128
#define UNICAM_IVSTA  0x12c
#define UNICAM_ICC  0x130
#define UNICAM_ICS  0x134
#define UNICAM_IDC  0x138
#define UNICAM_IDPO  0x13c
#define UNICAM_IDCA  0x140
#define UNICAM_IDCD  0x144
#define UNICAM_IDS  0x148
#define UNICAM_DCS  0x200
#define UNICAM_DBSA0  0x204
#define UNICAM_DBEA0  0x208
#define UNICAM_DBWP  0x20c
#define UNICAM_DBCTL  0x300
#define UNICAM_IBSA1  0x304
#define UNICAM_IBEA1  0x308
#define UNICAM_IDI1  0x30c
#define UNICAM_DBSA1  0x310
#define UNICAM_DBEA1  0x314
#define UNICAM_MISC  0x400

/*
 * The following bitmasks are from the kernel released by Broadcom
 * for Android - https://android.googlesource.com/kernel/bcm/
 * The Rhea, Hawaii, and Java chips all contain the same VideoCore4
 * Unicam block as BCM2835, as defined in eg
 * arch/arm/mach-rhea/include/mach/rdb_A0/brcm_rdb_cam.h and similar.
 * Values reworked to use the kernel BIT and GENMASK macros.
 *
 * Some of the bit mnenomics have been amended to match the datasheet.
 */

/* UNICAM_CTRL Register */
#define UNICAM_CPE  BIT(0)
#define UNICAM_MEM  BIT(1)
#define UNICAM_CPR  BIT(2)
#define UNICAM_CPM_MASK  GENMASK(3, 3)
#define UNICAM_CPM_CSI2  0
#define UNICAM_CPM_CCP2  1
#define UNICAM_SOE  BIT(4)
#define UNICAM_DCM_MASK  GENMASK(5, 5)
#define UNICAM_DCM_STROBE 0
#define UNICAM_DCM_DATA  1
#define UNICAM_SLS  BIT(6)
#define UNICAM_PFT_MASK  GENMASK(11, 8)
#define UNICAM_OET_MASK  GENMASK(20, 12)

/* UNICAM_STA Register */
#define UNICAM_SYN  BIT(0)
#define UNICAM_CS  BIT(1)
#define UNICAM_SBE  BIT(2)
#define UNICAM_PBE  BIT(3)
#define UNICAM_HOE  BIT(4)
#define UNICAM_PLE  BIT(5)
#define UNICAM_SSC  BIT(6)
#define UNICAM_CRCE  BIT(7)
#define UNICAM_OES  BIT(8)
#define UNICAM_IFO  BIT(9)
#define UNICAM_OFO  BIT(10)
#define UNICAM_BFO  BIT(11)
#define UNICAM_DL  BIT(12)
#define UNICAM_PS  BIT(13)
#define UNICAM_IS  BIT(14)
#define UNICAM_PI0  BIT(15)
#define UNICAM_PI1  BIT(16)
#define UNICAM_FSI_S  BIT(17)
#define UNICAM_FEI_S  BIT(18)
#define UNICAM_LCI_S  BIT(19)
#define UNICAM_BUF0_RDY  BIT(20)
#define UNICAM_BUF0_NO  BIT(21)
#define UNICAM_BUF1_RDY  BIT(22)
#define UNICAM_BUF1_NO  BIT(23)
#define UNICAM_DI  BIT(24)

#define UNICAM_STA_MASK_ALL \
 (UNICAM_SBE  | UNICAM_PBE | UNICAM_HOE | UNICAM_PLE | UNICAM_SSC | \
  UNICAM_CRCE | UNICAM_IFO | UNICAM_OFO | UNICAM_DL  | UNICAM_PS  | \
  UNICAM_PI0  | UNICAM_PI1)

/* UNICAM_ANA Register */
#define UNICAM_APD  BIT(0)
#define UNICAM_BPD  BIT(1)
#define UNICAM_AR  BIT(2)
#define UNICAM_DDL  BIT(3)
#define UNICAM_CTATADJ_MASK GENMASK(7, 4)
#define UNICAM_PTATADJ_MASK GENMASK(11, 8)

/* UNICAM_PRI Register */
#define UNICAM_PE  BIT(0)
#define UNICAM_PT_MASK  GENMASK(2, 1)
#define UNICAM_NP_MASK  GENMASK(7, 4)
#define UNICAM_PP_MASK  GENMASK(11, 8)
#define UNICAM_BS_MASK  GENMASK(15, 12)
#define UNICAM_BL_MASK  GENMASK(17, 16)

/* UNICAM_CLK Register */
#define UNICAM_CLE  BIT(0)
#define UNICAM_CLPD  BIT(1)
#define UNICAM_CLLPE  BIT(2)
#define UNICAM_CLHSE  BIT(3)
#define UNICAM_CLTRE  BIT(4)
#define UNICAM_CLAC_MASK GENMASK(8, 5)
#define UNICAM_CLSTE  BIT(29)

/* UNICAM_CLT Register */
#define UNICAM_CLT1_MASK GENMASK(7, 0)
#define UNICAM_CLT2_MASK GENMASK(15, 8)

/* UNICAM_DATn Registers */
#define UNICAM_DLE  BIT(0)
#define UNICAM_DLPD  BIT(1)
#define UNICAM_DLLPE  BIT(2)
#define UNICAM_DLHSE  BIT(3)
#define UNICAM_DLTRE  BIT(4)
#define UNICAM_DLSM  BIT(5)
#define UNICAM_DLFO  BIT(28)
#define UNICAM_DLSTE  BIT(29)

#define UNICAM_DAT_MASK_ALL (UNICAM_DLSTE | UNICAM_DLFO)

/* UNICAM_DLT Register */
#define UNICAM_DLT1_MASK GENMASK(7, 0)
#define UNICAM_DLT2_MASK GENMASK(15, 8)
#define UNICAM_DLT3_MASK GENMASK(23, 16)

/* UNICAM_ICTL Register */
#define UNICAM_FSIE  BIT(0)
#define UNICAM_FEIE  BIT(1)
#define UNICAM_IBOB  BIT(2)
#define UNICAM_FCM  BIT(3)
#define UNICAM_TFC  BIT(4)
#define UNICAM_LIP_MASK  GENMASK(6, 5)
#define UNICAM_LCIE_MASK GENMASK(28, 16)

/* UNICAM_IDI0/1 Register */
#define UNICAM_ID0_MASK  GENMASK(7, 0)
#define UNICAM_ID1_MASK  GENMASK(15, 8)
#define UNICAM_ID2_MASK  GENMASK(23, 16)
#define UNICAM_ID3_MASK  GENMASK(31, 24)

/* UNICAM_ISTA Register */
#define UNICAM_FSI  BIT(0)
#define UNICAM_FEI  BIT(1)
#define UNICAM_LCI  BIT(2)

#define UNICAM_ISTA_MASK_ALL (UNICAM_FSI | UNICAM_FEI | UNICAM_LCI)

/* UNICAM_IPIPE Register */
#define UNICAM_PUM_MASK  GENMASK(2, 0)
/* Unpacking modes */
#define UNICAM_PUM_NONE  0
#define UNICAM_PUM_UNPACK6 1
#define UNICAM_PUM_UNPACK7 2
#define UNICAM_PUM_UNPACK8 3
#define UNICAM_PUM_UNPACK10 4
#define UNICAM_PUM_UNPACK12 5
#define UNICAM_PUM_UNPACK14 6
#define UNICAM_PUM_UNPACK16 7
#define UNICAM_DDM_MASK  GENMASK(6, 3)
#define UNICAM_PPM_MASK  GENMASK(9, 7)
/* Packing modes */
#define UNICAM_PPM_NONE  0
#define UNICAM_PPM_PACK8 1
#define UNICAM_PPM_PACK10 2
#define UNICAM_PPM_PACK12 3
#define UNICAM_PPM_PACK14 4
#define UNICAM_PPM_PACK16 5
#define UNICAM_DEM_MASK  GENMASK(11, 10)
#define UNICAM_DEBL_MASK GENMASK(14, 12)
#define UNICAM_ICM_MASK  GENMASK(16, 15)
#define UNICAM_IDM_MASK  GENMASK(17, 17)

/* UNICAM_ICC Register */
#define UNICAM_ICFL_MASK GENMASK(4, 0)
#define UNICAM_ICFH_MASK GENMASK(9, 5)
#define UNICAM_ICST_MASK GENMASK(12, 10)
#define UNICAM_ICLT_MASK GENMASK(15, 13)
#define UNICAM_ICLL_MASK GENMASK(31, 16)

/* UNICAM_DCS Register */
#define UNICAM_DIE  BIT(0)
#define UNICAM_DIM  BIT(1)
#define UNICAM_DBOB  BIT(3)
#define UNICAM_FDE  BIT(4)
#define UNICAM_LDP  BIT(5)
#define UNICAM_EDL_MASK  GENMASK(15, 8)

/* UNICAM_DBCTL Register */
#define UNICAM_DBEN  BIT(0)
#define UNICAM_BUF0_IE  BIT(1)
#define UNICAM_BUF1_IE  BIT(2)

/* UNICAM_CMP[0,1] register */
#define UNICAM_PCE  BIT(31)
#define UNICAM_GI  BIT(9)
#define UNICAM_CPH  BIT(8)
#define UNICAM_PCVC_MASK GENMASK(7, 6)
#define UNICAM_PCDT_MASK GENMASK(5, 0)

/* UNICAM_MISC register */
#define UNICAM_FL0  BIT(6)
#define UNICAM_FL1  BIT(9)

#endif

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.