1744d9859SSimon Glass /* 2744d9859SSimon Glass * Copyright (c) 2011 The Chromium OS Authors. 3744d9859SSimon Glass * 41a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 5744d9859SSimon Glass */ 6744d9859SSimon Glass 7a733b06bSSimon Glass #ifndef __SANDBOX_ASM_IO_H 8a733b06bSSimon Glass #define __SANDBOX_ASM_IO_H 9a733b06bSSimon Glass 10744d9859SSimon Glass /* 11744d9859SSimon Glass * Given a physical address and a length, return a virtual address 12744d9859SSimon Glass * that can be used to access the memory range with the caching 13744d9859SSimon Glass * properties specified by "flags". 14744d9859SSimon Glass */ 15744d9859SSimon Glass #define MAP_NOCACHE (0) 16744d9859SSimon Glass #define MAP_WRCOMBINE (0) 17744d9859SSimon Glass #define MAP_WRBACK (0) 18744d9859SSimon Glass #define MAP_WRTHROUGH (0) 19744d9859SSimon Glass 20744d9859SSimon Glass void *map_physmem(phys_addr_t paddr, unsigned long len, unsigned long flags); 21744d9859SSimon Glass 22744d9859SSimon Glass /* 23744d9859SSimon Glass * Take down a mapping set up by map_physmem(). 24744d9859SSimon Glass */ 25744d9859SSimon Glass static inline void unmap_physmem(void *vaddr, unsigned long flags) 26744d9859SSimon Glass { 27744d9859SSimon Glass 28744d9859SSimon Glass } 294213fc29SSimon Glass 304213fc29SSimon Glass /* For sandbox, we want addresses to point into our RAM buffer */ 314213fc29SSimon Glass static inline void *map_sysmem(phys_addr_t paddr, unsigned long len) 324213fc29SSimon Glass { 334213fc29SSimon Glass return map_physmem(paddr, len, MAP_WRBACK); 344213fc29SSimon Glass } 354213fc29SSimon Glass 364213fc29SSimon Glass static inline void unmap_sysmem(const void *vaddr) 374213fc29SSimon Glass { 384213fc29SSimon Glass } 39781adb57SSimon Glass 40781adb57SSimon Glass /* Map from a pointer to our RAM buffer */ 41*ed072b96SSimon Glass phys_addr_t map_to_sysmem(const void *ptr); 42a733b06bSSimon Glass 43a733b06bSSimon Glass #endif 44