1*6fcd047bSJit Loon Lim /* 2*6fcd047bSJit Loon Lim * Copyright (c) 2025, Altera Corporation. All rights reserved. 3*6fcd047bSJit Loon Lim * 4*6fcd047bSJit Loon Lim * SPDX-License-Identifier: BSD-3-Clause 5*6fcd047bSJit Loon Lim */ 6*6fcd047bSJit Loon Lim 7*6fcd047bSJit Loon Lim 8*6fcd047bSJit Loon Lim #include <arch_helpers.h> 9*6fcd047bSJit Loon Lim #include <common/debug.h> 10*6fcd047bSJit Loon Lim #include <lib/mmio.h> 11*6fcd047bSJit Loon Lim 12*6fcd047bSJit Loon Lim #include "alignment_utils.h" 13*6fcd047bSJit Loon Lim #include "socfpga_mailbox.h" 14*6fcd047bSJit Loon Lim is_size_4_bytes_aligned(uint32_t size)15*6fcd047bSJit Loon Limbool is_size_4_bytes_aligned(uint32_t size) 16*6fcd047bSJit Loon Lim { 17*6fcd047bSJit Loon Lim if ((size % MBOX_WORD_BYTE) != 0U) { 18*6fcd047bSJit Loon Lim return false; 19*6fcd047bSJit Loon Lim } else { 20*6fcd047bSJit Loon Lim return true; 21*6fcd047bSJit Loon Lim } 22*6fcd047bSJit Loon Lim } 23*6fcd047bSJit Loon Lim is_8_bytes_aligned(uint32_t data)24*6fcd047bSJit Loon Limbool is_8_bytes_aligned(uint32_t data) 25*6fcd047bSJit Loon Lim { 26*6fcd047bSJit Loon Lim if ((data % (MBOX_WORD_BYTE * 2U)) != 0U) { 27*6fcd047bSJit Loon Lim return false; 28*6fcd047bSJit Loon Lim } else { 29*6fcd047bSJit Loon Lim return true; 30*6fcd047bSJit Loon Lim } 31*6fcd047bSJit Loon Lim } 32*6fcd047bSJit Loon Lim 33*6fcd047bSJit Loon Lim /* As of now used on only Agilex5 platform. */ is_16_bytes_aligned(uint32_t data)34*6fcd047bSJit Loon Limbool is_16_bytes_aligned(uint32_t data) 35*6fcd047bSJit Loon Lim { 36*6fcd047bSJit Loon Lim if ((data % (MBOX_WORD_BYTE * 4U)) != 0U) 37*6fcd047bSJit Loon Lim return false; 38*6fcd047bSJit Loon Lim else 39*6fcd047bSJit Loon Lim return true; 40*6fcd047bSJit Loon Lim } 41*6fcd047bSJit Loon Lim is_32_bytes_aligned(uint32_t data)42*6fcd047bSJit Loon Limbool is_32_bytes_aligned(uint32_t data) 43*6fcd047bSJit Loon Lim { 44*6fcd047bSJit Loon Lim if ((data % (8U * MBOX_WORD_BYTE)) != 0U) { 45*6fcd047bSJit Loon Lim return false; 46*6fcd047bSJit Loon Lim } else { 47*6fcd047bSJit Loon Lim return true; 48*6fcd047bSJit Loon Lim } 49*6fcd047bSJit Loon Lim } 50