initial version
[glsdk/dra7xx-umlo.git] / common.h
1 /*
2  * (C) Copyright 2017
3  * Texas Instruments Incorporated, <www.ti.com>
4  *
5  * Venkateswara Rao Mandela <venkat.mandela@ti.com>
6  *
7  * SPDX-License-Identifier:     BSD-3-Clause
8  */
9 #ifndef __COMMON_H
10 #define __COMMON_H
11 #include <stdint.h>
13 typedef uint32_t u32;
14 typedef uint16_t u16;
15 typedef  int16_t s16;
16 typedef uint8_t u8;
18 #define FLD_MASK(start, end)    (((1 << ((start) - (end) + 1)) - 1) << (end))
19 #define FLD_VAL(val, start, end) (((val) << (end)) & FLD_MASK(start, end))
20 #define FLD_GET(val, start, end) (((val) & FLD_MASK(start, end)) >> (end))
21 #define FLD_MOD(orig, val, start, end) (((orig) & ~FLD_MASK(start, end)) | FLD_VAL(val, start, end))
23 static inline u32 reg_read32(u32 addr) {
24         u32 reg;
25         reg = *((volatile u32 *) addr);
26         return reg;
27 }
29 static inline void reg_write32(u32 addr, u32 val) {
30         *((volatile u32 *) addr) = val;
31 }
33 static inline u16 reg_read16(u32 addr) {
34         u16 reg;
35         reg = *((volatile u16 *) addr);
36         return reg;
37 }
39 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
41 #endif