]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - arch/unicore32/include/mach/memory.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
[mirror_ubuntu-jammy-kernel.git] / arch / unicore32 / include / mach / memory.h
CommitLineData
d2912cb1 1/* SPDX-License-Identifier: GPL-2.0-only */
b50f1704
G
2/*
3 * linux/arch/unicore32/include/mach/memory.h
4 *
5 * Code specific to PKUnity SoC and UniCore ISA
6 *
7 * Copyright (C) 2001-2010 GUAN Xue-tao
b50f1704
G
8 */
9#ifndef __MACH_PUV3_MEMORY_H__
10#define __MACH_PUV3_MEMORY_H__
11
12#include <mach/hardware.h>
13
14/* Physical DRAM offset. */
15#define PHYS_OFFSET UL(0x00000000)
16/* The base address of exception vectors. */
17#define VECTORS_BASE UL(0xffff0000)
18/* The base address of kuser area. */
19#define KUSER_BASE UL(0x80000000)
20
21#ifdef __ASSEMBLY__
22/* The byte offset of the kernel image in RAM from the start of RAM. */
23#define KERNEL_IMAGE_START 0x00408000
24#endif
25
26#if !defined(__ASSEMBLY__) && defined(CONFIG_PCI)
27
28void puv3_pci_adjust_zones(unsigned long *size, unsigned long *holes);
29
30#define arch_adjust_zones(size, holes) \
31 puv3_pci_adjust_zones(size, holes)
32
33#endif
34
35/*
36 * PCI controller in PKUnity-3 masks highest 5-bit for upstream channel,
37 * so we must limit the DMA allocation within 128M physical memory for
38 * supporting PCI devices.
39 */
40#define PCI_DMA_THRESHOLD (PHYS_OFFSET + SZ_128M - 1)
41
42#define is_pcibus_device(dev) (dev && \
43 (strncmp(dev->bus->name, "pci", 3) == 0))
44
1cf46c42
G
45#define __virt_to_pcibus(x) (__virt_to_phys((x) + PKUNITY_PCIAHB_BASE))
46#define __pcibus_to_virt(x) (__phys_to_virt(x) - PKUNITY_PCIAHB_BASE)
b50f1704
G
47
48/* kuser area */
49#define KUSER_VECPAGE_BASE (KUSER_BASE + UL(0x3fff0000))
b50f1704
G
50/* kuser_vecpage (0xbfff0000) is ro, and vectors page (0xffff0000) is rw */
51#define kuser_vecpage_to_vectors(x) ((x) - (KUSER_VECPAGE_BASE) \
52 + (VECTORS_BASE))
53
54#endif