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