1 /*
2  * Copyright 2022 NXP
3  * All rights reserved.
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  */
7 
8 #ifndef CIS_TABLE_H
9 #define CIS_TABLE_H
10 
11 #include <stdint.h>
12 
13 #define REG8(x)  ((*(volatile uint8_t *)(x)))
14 #define REG16(x) ((*(volatile uint16_t *)(x)))
15 #define REG32(x) ((*(volatile uint32_t *)(x)))
16 
17 void rmw2(volatile uint32_t *addr, uint32_t mask, uint32_t shift, uint32_t val);
18 void rmwb(uint32_t addr, uint32_t hi, uint32_t lo, uint32_t val);
19 void set_iomux(uint32_t hi, uint32_t lo);
20 
21 void emit1(uint32_t *p_cis_addr, uint8_t x);
22 void emit2(uint32_t *p_cis_addr, uint16_t x);
23 void emit4(uint32_t *p_cis_addr, uint32_t x);
24 void emitvers(uint32_t *p_cis_addr, uint8_t *s, uint32_t subs);
25 void emitvidpid(uint32_t *p_cis_addr, uint32_t vid, uint32_t pid);
26 void emitfuncid(uint32_t *p_cis_addr);
27 void emitfunce(uint32_t *p_cis_addr);
28 void emitfunce_extended(uint32_t *p_cis_addr, uint32_t fn);
29 
30 #endif
31