blob: e3912e31d0319fbdc4792b01163a41e6e3bfe0da [file] [log] [blame]
Jeenu Viswambharan5c503042017-05-26 14:15:40 +01001/*
Antonio Nino Diazfeacba32018-08-21 16:12:29 +01002 * Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved.
Jeenu Viswambharan5c503042017-05-26 14:15:40 +01003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef __SMMU_V3_H__
8#define __SMMU_V3_H__
9
Antonio Nino Diazfeacba32018-08-21 16:12:29 +010010#include <utils_def.h>
Jeenu Viswambharan5c503042017-05-26 14:15:40 +010011#include <stdint.h>
12
13/* SMMUv3 register offsets from device base */
Antonio Nino Diazfeacba32018-08-21 16:12:29 +010014#define SMMU_S_IDR1 U(0x8004)
15#define SMMU_S_INIT U(0x803c)
Jeenu Viswambharan5c503042017-05-26 14:15:40 +010016
17/* SMMU_S_IDR1 register fields */
18#define SMMU_S_IDR1_SECURE_IMPL_SHIFT 31
Antonio Nino Diazfeacba32018-08-21 16:12:29 +010019#define SMMU_S_IDR1_SECURE_IMPL_MASK U(0x1)
Jeenu Viswambharan5c503042017-05-26 14:15:40 +010020
21/* SMMU_S_INIT register fields */
Antonio Nino Diazfeacba32018-08-21 16:12:29 +010022#define SMMU_S_INIT_INV_ALL_MASK U(0x1)
Jeenu Viswambharan5c503042017-05-26 14:15:40 +010023
24
25int smmuv3_init(uintptr_t smmu_base);
26
27#endif /* __SMMU_V3_H__ */