Linux Audio

Check our new training course

Loading...
v3.1
 
 1/*
 2 *  arch/arm/include/asm/map.h
 3 *
 4 *  Copyright (C) 1999-2000 Russell King
 5 *
 6 * This program is free software; you can redistribute it and/or modify
 7 * it under the terms of the GNU General Public License version 2 as
 8 * published by the Free Software Foundation.
 9 *
10 *  Page table mapping constructs and function prototypes
11 */
 
 
 
12#include <asm/io.h>
13
14struct map_desc {
15	unsigned long virtual;
16	unsigned long pfn;
17	unsigned long length;
18	unsigned int type;
19};
20
21/* types 0-3 are defined in asm/io.h */
22#define MT_UNCACHED		4
23#define MT_CACHECLEAN		5
24#define MT_MINICLEAN		6
25#define MT_LOW_VECTORS		7
26#define MT_HIGH_VECTORS		8
27#define MT_MEMORY		9
28#define MT_ROM			10
29#define MT_MEMORY_NONCACHED	11
30#define MT_MEMORY_DTCM		12
31#define MT_MEMORY_ITCM		13
 
 
 
 
 
32
33#ifdef CONFIG_MMU
34extern void iotable_init(struct map_desc *, int);
 
 
 
 
 
 
 
 
 
 
 
35
36struct mem_type;
37extern const struct mem_type *get_mem_type(unsigned int type);
38/*
39 * external interface to remap single page with appropriate type
40 */
41extern int ioremap_page(unsigned long virt, unsigned long phys,
42			const struct mem_type *mtype);
43#else
44#define iotable_init(map,num)	do { } while (0)
 
 
 
45#endif
v5.4
 1/* SPDX-License-Identifier: GPL-2.0-only */
 2/*
 3 *  arch/arm/include/asm/map.h
 4 *
 5 *  Copyright (C) 1999-2000 Russell King
 6 *
 
 
 
 
 7 *  Page table mapping constructs and function prototypes
 8 */
 9#ifndef __ASM_MACH_MAP_H
10#define __ASM_MACH_MAP_H
11
12#include <asm/io.h>
13
14struct map_desc {
15	unsigned long virtual;
16	unsigned long pfn;
17	unsigned long length;
18	unsigned int type;
19};
20
21/* types 0-3 are defined in asm/io.h */
22enum {
23	MT_UNCACHED = 4,
24	MT_CACHECLEAN,
25	MT_MINICLEAN,
26	MT_LOW_VECTORS,
27	MT_HIGH_VECTORS,
28	MT_MEMORY_RWX,
29	MT_MEMORY_RW,
30	MT_ROM,
31	MT_MEMORY_RWX_NONCACHED,
32	MT_MEMORY_RW_DTCM,
33	MT_MEMORY_RWX_ITCM,
34	MT_MEMORY_RW_SO,
35	MT_MEMORY_DMA_READY,
36};
37
38#ifdef CONFIG_MMU
39extern void iotable_init(struct map_desc *, int);
40extern void vm_reserve_area_early(unsigned long addr, unsigned long size,
41				  void *caller);
42extern void create_mapping_late(struct mm_struct *mm, struct map_desc *md,
43				bool ng);
44
45#ifdef CONFIG_DEBUG_LL
46extern void debug_ll_addr(unsigned long *paddr, unsigned long *vaddr);
47extern void debug_ll_io_init(void);
48#else
49static inline void debug_ll_io_init(void) {}
50#endif
51
52struct mem_type;
53extern const struct mem_type *get_mem_type(unsigned int type);
54/*
55 * external interface to remap single page with appropriate type
56 */
57extern int ioremap_page(unsigned long virt, unsigned long phys,
58			const struct mem_type *mtype);
59#else
60#define iotable_init(map,num)	do { } while (0)
61#define vm_reserve_area_early(a,s,c)	do { } while (0)
62#endif
63
64#endif