1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * SoC-specific lowlevel code for DA850
4  *
5  * Copyright (C) 2011
6  * Heiko Schocher, DENX Software Engineering, hs@denx.de.
7  */
8 #ifndef __DA850_LOWLEVEL_H
9 #define __DA850_LOWLEVEL_H
10 
11 #include <asm/arch/pinmux_defs.h>
12 
13 /* pinmux_resource[] vector is defined in the board specific file */
14 extern const struct pinmux_resource pinmuxes[];
15 extern const int pinmuxes_size;
16 
17 extern const struct lpsc_resource lpsc[];
18 extern const int lpsc_size;
19 
20 /* NOR Boot Configuration Word Field Descriptions */
21 #define DA850_NORBOOT_COPY_XK(X)	((X - 1) << 8)
22 #define DA850_NORBOOT_METHOD_DIRECT	(1 << 4)
23 #define DA850_NORBOOT_16BIT		(1 << 0)
24 
25 #define dv_maskbits(addr, val) \
26 	writel((readl(addr) & val), addr)
27 
28 void da850_lpc_transition(unsigned char pscnum, unsigned char module,
29 		unsigned char domain, unsigned char state);
30 void da850_psc_init(void);
31 void da850_pinmux_ctl(unsigned long offset, unsigned long mask,
32 	unsigned long value);
33 
34 #endif /* #ifndef __DA850_LOWLEVEL_H */
35