]> git.ipfire.org Git - people/ms/u-boot.git/blame - arch/sandbox/include/asm/io.h
test/dm/core.c: Make pre-reloc test use pre-reloc struct
[people/ms/u-boot.git] / arch / sandbox / include / asm / io.h
CommitLineData
744d9859
SG
1/*
2 * Copyright (c) 2011 The Chromium OS Authors.
3 *
3765b3e7 4 * SPDX-License-Identifier: GPL-2.0+
744d9859
SG
5 */
6
a733b06b
SG
7#ifndef __SANDBOX_ASM_IO_H
8#define __SANDBOX_ASM_IO_H
9
744d9859
SG
10/*
11 * Given a physical address and a length, return a virtual address
12 * that can be used to access the memory range with the caching
13 * properties specified by "flags".
14 */
15#define MAP_NOCACHE (0)
16#define MAP_WRCOMBINE (0)
17#define MAP_WRBACK (0)
18#define MAP_WRTHROUGH (0)
19
20void *map_physmem(phys_addr_t paddr, unsigned long len, unsigned long flags);
21
22/*
23 * Take down a mapping set up by map_physmem().
24 */
9569c406 25void unmap_physmem(const void *vaddr, unsigned long flags);
4213fc29
SG
26
27/* For sandbox, we want addresses to point into our RAM buffer */
28static inline void *map_sysmem(phys_addr_t paddr, unsigned long len)
29{
30 return map_physmem(paddr, len, MAP_WRBACK);
31}
32
9569c406 33/* Remove a previous mapping */
4213fc29
SG
34static inline void unmap_sysmem(const void *vaddr)
35{
9569c406 36 unmap_physmem(vaddr, MAP_WRBACK);
4213fc29 37}
781adb57
SG
38
39/* Map from a pointer to our RAM buffer */
ed072b96 40phys_addr_t map_to_sysmem(const void *ptr);
a733b06b 41
42d3b29d
SG
42/* Define nops for sandbox I/O access */
43#define readb(addr) 0
44#define readw(addr) 0
45#define readl(addr) 0
46#define writeb(v, addr)
47#define writew(v, addr)
48#define writel(v, addr)
49
9569c406
SG
50/* I/O access functions */
51int inl(unsigned int addr);
52int inw(unsigned int addr);
53int inb(unsigned int addr);
54
55void outl(unsigned int value, unsigned int addr);
56void outw(unsigned int value, unsigned int addr);
57void outb(unsigned int value, unsigned int addr);
58
42d3b29d
SG
59#include <iotrace.h>
60
a733b06b 61#endif