Path: blob/master/include/dt-bindings/mailbox/tegra186-hsp.h
26285 views
/* SPDX-License-Identifier: GPL-2.0 */1/*2* This header provides constants for binding nvidia,tegra186-hsp.3*/45#ifndef _DT_BINDINGS_MAILBOX_TEGRA186_HSP_H6#define _DT_BINDINGS_MAILBOX_TEGRA186_HSP_H78/*9* These define the type of mailbox that is to be used (doorbell, shared10* mailbox, shared semaphore or arbitrated semaphore).11*/12#define TEGRA_HSP_MBOX_TYPE_DB 0x013#define TEGRA_HSP_MBOX_TYPE_SM 0x114#define TEGRA_HSP_MBOX_TYPE_SS 0x215#define TEGRA_HSP_MBOX_TYPE_AS 0x31617/*18* These define the types of shared mailbox supported based on data size.19*/20#define TEGRA_HSP_MBOX_TYPE_SM_128BIT (1 << 8)2122/*23* These defines represent the bit associated with the given master ID in the24* doorbell registers.25*/26#define TEGRA_HSP_DB_MASTER_CCPLEX 1727#define TEGRA_HSP_DB_MASTER_BPMP 192829/*30* Shared mailboxes are unidirectional, so the direction needs to be specified31* in the device tree.32*/33#define TEGRA_HSP_SM_MASK 0x00ffffff34#define TEGRA_HSP_SM_FLAG_RX (0 << 31)35#define TEGRA_HSP_SM_FLAG_TX (1 << 31)3637#define TEGRA_HSP_SM_RX(x) (TEGRA_HSP_SM_FLAG_RX | ((x) & TEGRA_HSP_SM_MASK))38#define TEGRA_HSP_SM_TX(x) (TEGRA_HSP_SM_FLAG_TX | ((x) & TEGRA_HSP_SM_MASK))3940#endif414243