mirror of
https://github.com/torvalds/linux.git
synced 2024-12-21 02:21:36 +00:00
ce443ab5fd
change from original version -- by advice of Paul Mundt 1. remove videomemorysize definitions 2. remove unifb_enable and unifb_setup 3. use dev_warn instead of printk in fb driver 4. remove judgement for FB_ACCEL_PUV3_UNIGFX 5. adjust clk_get and clk_set_rate calls 6. add resources definitions 7. remove unifb_option 8. adjust register for platform_device 9. adjust unifb_ops position and unifb_regs assignment position Signed-off-by: Guan Xuetao <gxt@mprc.pku.edu.cn> Acked-by: Arnd Bergmann <arnd@arndb.de>
59 lines
1.7 KiB
C
59 lines
1.7 KiB
C
/*
|
|
* linux/arch/unicore32/include/mach/memory.h
|
|
*
|
|
* Code specific to PKUnity SoC and UniCore ISA
|
|
*
|
|
* Copyright (C) 2001-2010 GUAN Xue-tao
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
#ifndef __MACH_PUV3_MEMORY_H__
|
|
#define __MACH_PUV3_MEMORY_H__
|
|
|
|
#include <mach/hardware.h>
|
|
|
|
/* Physical DRAM offset. */
|
|
#define PHYS_OFFSET UL(0x00000000)
|
|
/* The base address of exception vectors. */
|
|
#define VECTORS_BASE UL(0xffff0000)
|
|
/* The base address of kuser area. */
|
|
#define KUSER_BASE UL(0x80000000)
|
|
|
|
#ifdef __ASSEMBLY__
|
|
/* The byte offset of the kernel image in RAM from the start of RAM. */
|
|
#define KERNEL_IMAGE_START 0x00408000
|
|
#endif
|
|
|
|
#if !defined(__ASSEMBLY__) && defined(CONFIG_PCI)
|
|
|
|
void puv3_pci_adjust_zones(unsigned long *size, unsigned long *holes);
|
|
|
|
#define arch_adjust_zones(size, holes) \
|
|
puv3_pci_adjust_zones(size, holes)
|
|
|
|
#endif
|
|
|
|
/*
|
|
* PCI controller in PKUnity-3 masks highest 5-bit for upstream channel,
|
|
* so we must limit the DMA allocation within 128M physical memory for
|
|
* supporting PCI devices.
|
|
*/
|
|
#define PCI_DMA_THRESHOLD (PHYS_OFFSET + SZ_128M - 1)
|
|
|
|
#define is_pcibus_device(dev) (dev && \
|
|
(strncmp(dev->bus->name, "pci", 3) == 0))
|
|
|
|
#define __virt_to_pcibus(x) (__virt_to_phys(x) + PKUNITY_PCIAHB_BASE)
|
|
#define __pcibus_to_virt(x) __phys_to_virt((x) - PKUNITY_PCIAHB_BASE)
|
|
|
|
/* kuser area */
|
|
#define KUSER_VECPAGE_BASE (KUSER_BASE + UL(0x3fff0000))
|
|
#define KUSER_UNIGFX_BASE (PAGE_OFFSET + PKUNITY_UNIGFX_MMAP_BASE)
|
|
/* kuser_vecpage (0xbfff0000) is ro, and vectors page (0xffff0000) is rw */
|
|
#define kuser_vecpage_to_vectors(x) ((x) - (KUSER_VECPAGE_BASE) \
|
|
+ (VECTORS_BASE))
|
|
|
|
#endif
|