blob: b9565bf3dc5d5731d3ada0c80cc9ab76d15aa59e [file] [log] [blame]
/* SPDX-License-Identifier: BSD-2-Clause */
/*
* Copyright 2018-2019 NXP
*
* Brief CCB Registers
*/
#ifndef __CCB_REGS_H__
#define __CCB_REGS_H__
/* CCB CHA Control Register */
#define CCTRL_ULOAD_PKHA_B BIT32(27)
/* CCB NFIFO */
#define NFIFO_CLASS(cla) SHIFT_U32(NFIFO_CLASS_##cla & 0x3, 30)
#define NFIFO_CLASS_DECO 0x0
#define NFIFO_CLASS_C1 0x1
#define NFIFO_LC1 BIT32(28)
#define NFIFO_FC1 BIT32(26)
#define NFIFO_STYPE(src) SHIFT_U32(NFIFO_STYPE_##src & 0x3, 24)
#define NFIFO_STYPE_IFIFO 0x0
#define NFIFO_STYPE_PAD 0x2
#define NFIFO_DTYPE(data) SHIFT_U32(NFIFO_DTYPE_##data & 0xF, 20)
#define NFIFO_DTYPE_MSG 0xF
#define NFIFO_DTYPE_PKHA_N 0x8
#define NFIFO_DTYPE_PKHA_A 0xC
#define NFIFO_PTYPE(pad) SHIFT_U32(NFIFO_PTYPE_##pad & 0x7, 16)
#define NFIFO_PTYPE_ZERO 0x0
#define NFIFO_PTYPE_RND 0x3
#define NFIFO_DATA_LENGTH(len) SHIFT_U32((len) & 0xFFF, 0)
#define NFIFO_PAD_LENGTH(len) SHIFT_U32((len) & 0x7F, 0)
/*
* CCB NFIFO Entry to pad data with pad type
*/
#define NFIFO_PAD(cla, options, data, pad, len) \
(NFIFO_CLASS(cla) | (options) | NFIFO_STYPE(PAD) | NFIFO_DTYPE(data) | \
NFIFO_PTYPE(pad) | NFIFO_PAD_LENGTH(len))
/*
* CCB NFIFO Entry to move data from src to data
*/
#define NFIFO_NOPAD(cla, options, src, data, len) \
(NFIFO_CLASS(cla) | (options) | NFIFO_STYPE(src) | NFIFO_DTYPE(data) | \
NFIFO_PTYPE(ZERO) | NFIFO_DATA_LENGTH(len))
#endif /* __CCB_REGS_H__ */