112 lines
3.8 KiB
C
112 lines
3.8 KiB
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* rzg2l-cru-regs.h--RZ/G2L (and alike SoCs) CRU Registers Definitions
|
|
*
|
|
* Copyright (C) 2024 Renesas Electronics Corp.
|
|
*/
|
|
|
|
#ifndef __RZG2L_CRU_REGS_H__
|
|
#define __RZG2L_CRU_REGS_H__
|
|
|
|
/* HW CRU Registers Definition */
|
|
|
|
#define CRUnCTRL_VINSEL(x) ((x) << 0)
|
|
|
|
#define CRUnIE_EFE BIT(17)
|
|
|
|
#define CRUnIE2_FSxE(x) BIT(((x) * 3))
|
|
#define CRUnIE2_FExE(x) BIT(((x) * 3) + 1)
|
|
|
|
#define CRUnINTS_SFS BIT(16)
|
|
|
|
#define CRUnINTS2_FSxS(x) BIT(((x) * 3))
|
|
|
|
#define CRUnRST_VRESETN BIT(0)
|
|
|
|
/* Memory Bank Base Address (Lower) Register for CRU Image Data */
|
|
#define AMnMBxADDRL(x) (AMnMB1ADDRL + (x) * 2)
|
|
|
|
/* Memory Bank Base Address (Higher) Register for CRU Image Data */
|
|
#define AMnMBxADDRH(x) (AMnMB1ADDRH + (x) * 2)
|
|
|
|
#define AMnMBVALID_MBVALID(x) GENMASK(x, 0)
|
|
|
|
#define AMnMBS_MBSTS 0x7
|
|
|
|
#define AMnAXIATTR_AXILEN_MASK GENMASK(3, 0)
|
|
#define AMnAXIATTR_AXILEN (0xf)
|
|
|
|
#define AMnFIFOPNTR_FIFOWPNTR GENMASK(7, 0)
|
|
#define AMnFIFOPNTR_FIFOWPNTR_B0 AMnFIFOPNTR_FIFOWPNTR
|
|
#define AMnFIFOPNTR_FIFOWPNTR_B1 GENMASK(15, 8)
|
|
#define AMnFIFOPNTR_FIFORPNTR_Y GENMASK(23, 16)
|
|
#define AMnFIFOPNTR_FIFORPNTR_B0 AMnFIFOPNTR_FIFORPNTR_Y
|
|
#define AMnFIFOPNTR_FIFORPNTR_B1 GENMASK(31, 24)
|
|
|
|
#define AMnIS_IS_MASK GENMASK(14, 7)
|
|
#define AMnIS_IS(x) ((x) << 7)
|
|
|
|
#define AMnAXISTP_AXI_STOP BIT(0)
|
|
|
|
#define AMnAXISTPACK_AXI_STOP_ACK BIT(0)
|
|
|
|
#define ICnEN_ICEN BIT(0)
|
|
|
|
#define ICnSVC_SVC0(x) (x)
|
|
#define ICnSVC_SVC1(x) ((x) << 4)
|
|
#define ICnSVC_SVC2(x) ((x) << 8)
|
|
#define ICnSVC_SVC3(x) ((x) << 12)
|
|
|
|
#define ICnMC_CSCTHR BIT(5)
|
|
#define ICnMC_INF(x) ((x) << 16)
|
|
#define ICnMC_VCSEL(x) ((x) << 22)
|
|
#define ICnMC_INF_MASK GENMASK(21, 16)
|
|
|
|
#define ICnMS_IA BIT(2)
|
|
|
|
#define ICnDMR_YCMODE_UYVY (1 << 4)
|
|
|
|
enum rzg2l_cru_common_regs {
|
|
CRUnCTRL, /* CRU Control */
|
|
CRUnIE, /* CRU Interrupt Enable */
|
|
CRUnIE2, /* CRU Interrupt Enable(2) */
|
|
CRUnINTS, /* CRU Interrupt Status */
|
|
CRUnINTS2, /* CRU Interrupt Status(2) */
|
|
CRUnRST, /* CRU Reset */
|
|
AMnMB1ADDRL, /* Bank 1 Address (Lower) for CRU Image Data */
|
|
AMnMB1ADDRH, /* Bank 1 Address (Higher) for CRU Image Data */
|
|
AMnMB2ADDRL, /* Bank 2 Address (Lower) for CRU Image Data */
|
|
AMnMB2ADDRH, /* Bank 2 Address (Higher) for CRU Image Data */
|
|
AMnMB3ADDRL, /* Bank 3 Address (Lower) for CRU Image Data */
|
|
AMnMB3ADDRH, /* Bank 3 Address (Higher) for CRU Image Data */
|
|
AMnMB4ADDRL, /* Bank 4 Address (Lower) for CRU Image Data */
|
|
AMnMB4ADDRH, /* Bank 4 Address (Higher) for CRU Image Data */
|
|
AMnMB5ADDRL, /* Bank 5 Address (Lower) for CRU Image Data */
|
|
AMnMB5ADDRH, /* Bank 5 Address (Higher) for CRU Image Data */
|
|
AMnMB6ADDRL, /* Bank 6 Address (Lower) for CRU Image Data */
|
|
AMnMB6ADDRH, /* Bank 6 Address (Higher) for CRU Image Data */
|
|
AMnMB7ADDRL, /* Bank 7 Address (Lower) for CRU Image Data */
|
|
AMnMB7ADDRH, /* Bank 7 Address (Higher) for CRU Image Data */
|
|
AMnMB8ADDRL, /* Bank 8 Address (Lower) for CRU Image Data */
|
|
AMnMB8ADDRH, /* Bank 8 Address (Higher) for CRU Image Data */
|
|
AMnMBVALID, /* Memory Bank Enable for CRU Image Data */
|
|
AMnMBS, /* Memory Bank Status for CRU Image Data */
|
|
AMnMADRSL, /* VD Memory Address Lower Status Register */
|
|
AMnMADRSH, /* VD Memory Address Higher Status Register */
|
|
AMnAXIATTR, /* AXI Master Transfer Setting Register for CRU Image Data */
|
|
AMnFIFOPNTR, /* AXI Master FIFO Pointer for CRU Image Data */
|
|
AMnAXISTP, /* AXI Master Transfer Stop for CRU Image Data */
|
|
AMnAXISTPACK, /* AXI Master Transfer Stop Status for CRU Image Data */
|
|
AMnIS, /* Image Stride Setting Register */
|
|
ICnEN, /* CRU Image Processing Enable */
|
|
ICnSVCNUM, /* CRU SVC Number Register */
|
|
ICnSVC, /* CRU VC Select Register */
|
|
ICnMC, /* CRU Image Processing Main Control */
|
|
ICnIPMC_C0, /* CRU Image Converter Main Control 0 */
|
|
ICnMS, /* CRU Module Status */
|
|
ICnDMR, /* CRU Data Output Mode */
|
|
RZG2L_CRU_MAX_REG,
|
|
};
|
|
|
|
#endif /* __RZG2L_CRU_REGS_H__ */
|