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 */
14extern const struct pinmux_resource pinmuxes[];
15extern const int pinmuxes_size;
16
17extern const struct lpsc_resource lpsc[];
18extern 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
28void da850_lpc_transition(unsigned char pscnum, unsigned char module,
29		unsigned char domain, unsigned char state);
30void da850_psc_init(void);
31void da850_pinmux_ctl(unsigned long offset, unsigned long mask,
32	unsigned long value);
33
34#endif /* #ifndef __DA850_LOWLEVEL_H */
35