MIPS: Move headfiles to new location below arch/mips/include
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
13
arch/mips/include/asm/mach-generic/cpu-feature-overrides.h
Normal file
13
arch/mips/include/asm/mach-generic/cpu-feature-overrides.h
Normal file
@@ -0,0 +1,13 @@
|
||||
/*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*
|
||||
* Copyright (C) 2003 Ralf Baechle
|
||||
*/
|
||||
#ifndef __ASM_MACH_GENERIC_CPU_FEATURE_OVERRIDES_H
|
||||
#define __ASM_MACH_GENERIC_CPU_FEATURE_OVERRIDES_H
|
||||
|
||||
/* Intentionally empty file ... */
|
||||
|
||||
#endif /* __ASM_MACH_GENERIC_CPU_FEATURE_OVERRIDES_H */
|
45
arch/mips/include/asm/mach-generic/dma-coherence.h
Normal file
45
arch/mips/include/asm/mach-generic/dma-coherence.h
Normal file
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*
|
||||
* Copyright (C) 2006 Ralf Baechle <ralf@linux-mips.org>
|
||||
*
|
||||
*/
|
||||
#ifndef __ASM_MACH_GENERIC_DMA_COHERENCE_H
|
||||
#define __ASM_MACH_GENERIC_DMA_COHERENCE_H
|
||||
|
||||
struct device;
|
||||
|
||||
static inline dma_addr_t plat_map_dma_mem(struct device *dev, void *addr,
|
||||
size_t size)
|
||||
{
|
||||
return virt_to_phys(addr);
|
||||
}
|
||||
|
||||
static inline dma_addr_t plat_map_dma_mem_page(struct device *dev,
|
||||
struct page *page)
|
||||
{
|
||||
return page_to_phys(page);
|
||||
}
|
||||
|
||||
static inline unsigned long plat_dma_addr_to_phys(dma_addr_t dma_addr)
|
||||
{
|
||||
return dma_addr;
|
||||
}
|
||||
|
||||
static inline void plat_unmap_dma_mem(dma_addr_t dma_addr)
|
||||
{
|
||||
}
|
||||
|
||||
static inline int plat_device_is_coherent(struct device *dev)
|
||||
{
|
||||
#ifdef CONFIG_DMA_COHERENT
|
||||
return 1;
|
||||
#endif
|
||||
#ifdef CONFIG_DMA_NONCOHERENT
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif /* __ASM_MACH_GENERIC_DMA_COHERENCE_H */
|
139
arch/mips/include/asm/mach-generic/floppy.h
Normal file
139
arch/mips/include/asm/mach-generic/floppy.h
Normal file
@@ -0,0 +1,139 @@
|
||||
/*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*
|
||||
* Copyright (C) 1996, 1997, 1998, 2003 by Ralf Baechle
|
||||
*/
|
||||
#ifndef __ASM_MACH_GENERIC_FLOPPY_H
|
||||
#define __ASM_MACH_GENERIC_FLOPPY_H
|
||||
|
||||
#include <linux/delay.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/linkage.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/mm.h>
|
||||
|
||||
#include <asm/bootinfo.h>
|
||||
#include <asm/cachectl.h>
|
||||
#include <asm/dma.h>
|
||||
#include <asm/floppy.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/pgtable.h>
|
||||
|
||||
/*
|
||||
* How to access the FDC's registers.
|
||||
*/
|
||||
static inline unsigned char fd_inb(unsigned int port)
|
||||
{
|
||||
return inb_p(port);
|
||||
}
|
||||
|
||||
static inline void fd_outb(unsigned char value, unsigned int port)
|
||||
{
|
||||
outb_p(value, port);
|
||||
}
|
||||
|
||||
/*
|
||||
* How to access the floppy DMA functions.
|
||||
*/
|
||||
static inline void fd_enable_dma(void)
|
||||
{
|
||||
enable_dma(FLOPPY_DMA);
|
||||
}
|
||||
|
||||
static inline void fd_disable_dma(void)
|
||||
{
|
||||
disable_dma(FLOPPY_DMA);
|
||||
}
|
||||
|
||||
static inline int fd_request_dma(void)
|
||||
{
|
||||
return request_dma(FLOPPY_DMA, "floppy");
|
||||
}
|
||||
|
||||
static inline void fd_free_dma(void)
|
||||
{
|
||||
free_dma(FLOPPY_DMA);
|
||||
}
|
||||
|
||||
static inline void fd_clear_dma_ff(void)
|
||||
{
|
||||
clear_dma_ff(FLOPPY_DMA);
|
||||
}
|
||||
|
||||
static inline void fd_set_dma_mode(char mode)
|
||||
{
|
||||
set_dma_mode(FLOPPY_DMA, mode);
|
||||
}
|
||||
|
||||
static inline void fd_set_dma_addr(char *addr)
|
||||
{
|
||||
set_dma_addr(FLOPPY_DMA, (unsigned long) addr);
|
||||
}
|
||||
|
||||
static inline void fd_set_dma_count(unsigned int count)
|
||||
{
|
||||
set_dma_count(FLOPPY_DMA, count);
|
||||
}
|
||||
|
||||
static inline int fd_get_dma_residue(void)
|
||||
{
|
||||
return get_dma_residue(FLOPPY_DMA);
|
||||
}
|
||||
|
||||
static inline void fd_enable_irq(void)
|
||||
{
|
||||
enable_irq(FLOPPY_IRQ);
|
||||
}
|
||||
|
||||
static inline void fd_disable_irq(void)
|
||||
{
|
||||
disable_irq(FLOPPY_IRQ);
|
||||
}
|
||||
|
||||
static inline int fd_request_irq(void)
|
||||
{
|
||||
return request_irq(FLOPPY_IRQ, floppy_interrupt,
|
||||
IRQF_DISABLED, "floppy", NULL);
|
||||
}
|
||||
|
||||
static inline void fd_free_irq(void)
|
||||
{
|
||||
free_irq(FLOPPY_IRQ, NULL);
|
||||
}
|
||||
|
||||
#define fd_free_irq() free_irq(FLOPPY_IRQ, NULL);
|
||||
|
||||
|
||||
static inline unsigned long fd_getfdaddr1(void)
|
||||
{
|
||||
return 0x3f0;
|
||||
}
|
||||
|
||||
static inline unsigned long fd_dma_mem_alloc(unsigned long size)
|
||||
{
|
||||
unsigned long mem;
|
||||
|
||||
mem = __get_dma_pages(GFP_KERNEL, get_order(size));
|
||||
|
||||
return mem;
|
||||
}
|
||||
|
||||
static inline void fd_dma_mem_free(unsigned long addr, unsigned long size)
|
||||
{
|
||||
free_pages(addr, get_order(size));
|
||||
}
|
||||
|
||||
static inline unsigned long fd_drive_type(unsigned long n)
|
||||
{
|
||||
if (n == 0)
|
||||
return 4; /* 3,5", 1.44mb */
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* __ASM_MACH_GENERIC_FLOPPY_H */
|
21
arch/mips/include/asm/mach-generic/gpio.h
Normal file
21
arch/mips/include/asm/mach-generic/gpio.h
Normal file
@@ -0,0 +1,21 @@
|
||||
#ifndef __ASM_MACH_GENERIC_GPIO_H
|
||||
#define __ASM_MACH_GENERIC_GPIO_H
|
||||
|
||||
#ifdef CONFIG_GPIOLIB
|
||||
#define gpio_get_value __gpio_get_value
|
||||
#define gpio_set_value __gpio_set_value
|
||||
#define gpio_cansleep __gpio_cansleep
|
||||
#else
|
||||
int gpio_request(unsigned gpio, const char *label);
|
||||
void gpio_free(unsigned gpio);
|
||||
int gpio_direction_input(unsigned gpio);
|
||||
int gpio_direction_output(unsigned gpio, int value);
|
||||
int gpio_get_value(unsigned gpio);
|
||||
void gpio_set_value(unsigned gpio, int value);
|
||||
#endif
|
||||
int gpio_to_irq(unsigned gpio);
|
||||
int irq_to_gpio(unsigned irq);
|
||||
|
||||
#include <asm-generic/gpio.h> /* cansleep wrappers */
|
||||
|
||||
#endif /* __ASM_MACH_GENERIC_GPIO_H */
|
167
arch/mips/include/asm/mach-generic/ide.h
Normal file
167
arch/mips/include/asm/mach-generic/ide.h
Normal file
@@ -0,0 +1,167 @@
|
||||
/*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*
|
||||
* Copyright (C) 1994-1996 Linus Torvalds & authors
|
||||
*
|
||||
* Copied from i386; many of the especially older MIPS or ISA-based platforms
|
||||
* are basically identical. Using this file probably implies i8259 PIC
|
||||
* support in a system but the very least interrupt numbers 0 - 15 need to
|
||||
* be put aside for legacy devices.
|
||||
*/
|
||||
#ifndef __ASM_MACH_GENERIC_IDE_H
|
||||
#define __ASM_MACH_GENERIC_IDE_H
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#include <linux/pci.h>
|
||||
#include <linux/stddef.h>
|
||||
#include <asm/processor.h>
|
||||
|
||||
static __inline__ int ide_probe_legacy(void)
|
||||
{
|
||||
#ifdef CONFIG_PCI
|
||||
struct pci_dev *dev;
|
||||
/*
|
||||
* This can be called on the ide_setup() path, super-early in
|
||||
* boot. But the down_read() will enable local interrupts,
|
||||
* which can cause some machines to crash. So here we detect
|
||||
* and flag that situation and bail out early.
|
||||
*/
|
||||
if (no_pci_devices())
|
||||
return 0;
|
||||
dev = pci_get_class(PCI_CLASS_BRIDGE_EISA << 8, NULL);
|
||||
if (dev)
|
||||
goto found;
|
||||
dev = pci_get_class(PCI_CLASS_BRIDGE_ISA << 8, NULL);
|
||||
if (dev)
|
||||
goto found;
|
||||
return 0;
|
||||
found:
|
||||
pci_dev_put(dev);
|
||||
return 1;
|
||||
#elif defined(CONFIG_EISA) || defined(CONFIG_ISA)
|
||||
return 1;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* MIPS port and memory-mapped I/O string operations. */
|
||||
static inline void __ide_flush_prologue(void)
|
||||
{
|
||||
#ifdef CONFIG_SMP
|
||||
if (cpu_has_dc_aliases)
|
||||
preempt_disable();
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline void __ide_flush_epilogue(void)
|
||||
{
|
||||
#ifdef CONFIG_SMP
|
||||
if (cpu_has_dc_aliases)
|
||||
preempt_enable();
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline void __ide_flush_dcache_range(unsigned long addr, unsigned long size)
|
||||
{
|
||||
if (cpu_has_dc_aliases) {
|
||||
unsigned long end = addr + size;
|
||||
|
||||
while (addr < end) {
|
||||
local_flush_data_cache_page((void *)addr);
|
||||
addr += PAGE_SIZE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* insw() and gang might be called with interrupts disabled, so we can't
|
||||
* send IPIs for flushing due to the potencial of deadlocks, see the comment
|
||||
* above smp_call_function() in arch/mips/kernel/smp.c. We work around the
|
||||
* problem by disabling preemption so we know we actually perform the flush
|
||||
* on the processor that actually has the lines to be flushed which hopefully
|
||||
* is even better for performance anyway.
|
||||
*/
|
||||
static inline void __ide_insw(unsigned long port, void *addr,
|
||||
unsigned int count)
|
||||
{
|
||||
__ide_flush_prologue();
|
||||
insw(port, addr, count);
|
||||
__ide_flush_dcache_range((unsigned long)addr, count * 2);
|
||||
__ide_flush_epilogue();
|
||||
}
|
||||
|
||||
static inline void __ide_insl(unsigned long port, void *addr, unsigned int count)
|
||||
{
|
||||
__ide_flush_prologue();
|
||||
insl(port, addr, count);
|
||||
__ide_flush_dcache_range((unsigned long)addr, count * 4);
|
||||
__ide_flush_epilogue();
|
||||
}
|
||||
|
||||
static inline void __ide_outsw(unsigned long port, const void *addr,
|
||||
unsigned long count)
|
||||
{
|
||||
__ide_flush_prologue();
|
||||
outsw(port, addr, count);
|
||||
__ide_flush_dcache_range((unsigned long)addr, count * 2);
|
||||
__ide_flush_epilogue();
|
||||
}
|
||||
|
||||
static inline void __ide_outsl(unsigned long port, const void *addr,
|
||||
unsigned long count)
|
||||
{
|
||||
__ide_flush_prologue();
|
||||
outsl(port, addr, count);
|
||||
__ide_flush_dcache_range((unsigned long)addr, count * 4);
|
||||
__ide_flush_epilogue();
|
||||
}
|
||||
|
||||
static inline void __ide_mm_insw(void __iomem *port, void *addr, u32 count)
|
||||
{
|
||||
__ide_flush_prologue();
|
||||
readsw(port, addr, count);
|
||||
__ide_flush_dcache_range((unsigned long)addr, count * 2);
|
||||
__ide_flush_epilogue();
|
||||
}
|
||||
|
||||
static inline void __ide_mm_insl(void __iomem *port, void *addr, u32 count)
|
||||
{
|
||||
__ide_flush_prologue();
|
||||
readsl(port, addr, count);
|
||||
__ide_flush_dcache_range((unsigned long)addr, count * 4);
|
||||
__ide_flush_epilogue();
|
||||
}
|
||||
|
||||
static inline void __ide_mm_outsw(void __iomem *port, void *addr, u32 count)
|
||||
{
|
||||
__ide_flush_prologue();
|
||||
writesw(port, addr, count);
|
||||
__ide_flush_dcache_range((unsigned long)addr, count * 2);
|
||||
__ide_flush_epilogue();
|
||||
}
|
||||
|
||||
static inline void __ide_mm_outsl(void __iomem * port, void *addr, u32 count)
|
||||
{
|
||||
__ide_flush_prologue();
|
||||
writesl(port, addr, count);
|
||||
__ide_flush_dcache_range((unsigned long)addr, count * 4);
|
||||
__ide_flush_epilogue();
|
||||
}
|
||||
|
||||
/* ide_insw calls insw, not __ide_insw. Why? */
|
||||
#undef insw
|
||||
#undef insl
|
||||
#undef outsw
|
||||
#undef outsl
|
||||
#define insw(port, addr, count) __ide_insw(port, addr, count)
|
||||
#define insl(port, addr, count) __ide_insl(port, addr, count)
|
||||
#define outsw(port, addr, count) __ide_outsw(port, addr, count)
|
||||
#define outsl(port, addr, count) __ide_outsl(port, addr, count)
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#endif /* __ASM_MACH_GENERIC_IDE_H */
|
34
arch/mips/include/asm/mach-generic/ioremap.h
Normal file
34
arch/mips/include/asm/mach-generic/ioremap.h
Normal file
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
* include/asm-mips/mach-generic/ioremap.h
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version
|
||||
* 2 of the License, or (at your option) any later version.
|
||||
*/
|
||||
#ifndef __ASM_MACH_GENERIC_IOREMAP_H
|
||||
#define __ASM_MACH_GENERIC_IOREMAP_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/*
|
||||
* Allow physical addresses to be fixed up to help peripherals located
|
||||
* outside the low 32-bit range -- generic pass-through version.
|
||||
*/
|
||||
static inline phys_t fixup_bigphys_addr(phys_t phys_addr, phys_t size)
|
||||
{
|
||||
return phys_addr;
|
||||
}
|
||||
|
||||
static inline void __iomem *plat_ioremap(phys_t offset, unsigned long size,
|
||||
unsigned long flags)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static inline int plat_iounmap(const volatile void __iomem *addr)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* __ASM_MACH_GENERIC_IOREMAP_H */
|
45
arch/mips/include/asm/mach-generic/irq.h
Normal file
45
arch/mips/include/asm/mach-generic/irq.h
Normal file
@@ -0,0 +1,45 @@
|
||||
/*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*
|
||||
* Copyright (C) 2003 by Ralf Baechle
|
||||
*/
|
||||
#ifndef __ASM_MACH_GENERIC_IRQ_H
|
||||
#define __ASM_MACH_GENERIC_IRQ_H
|
||||
|
||||
#ifndef NR_IRQS
|
||||
#define NR_IRQS 128
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_I8259
|
||||
#ifndef I8259A_IRQ_BASE
|
||||
#define I8259A_IRQ_BASE 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_IRQ_CPU
|
||||
|
||||
#ifndef MIPS_CPU_IRQ_BASE
|
||||
#ifdef CONFIG_I8259
|
||||
#define MIPS_CPU_IRQ_BASE 16
|
||||
#else
|
||||
#define MIPS_CPU_IRQ_BASE 0
|
||||
#endif /* CONFIG_I8259 */
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_IRQ_CPU_RM7K
|
||||
#ifndef RM7K_CPU_IRQ_BASE
|
||||
#define RM7K_CPU_IRQ_BASE (MIPS_CPU_IRQ_BASE+8)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_IRQ_CPU_RM9K
|
||||
#ifndef RM9K_CPU_IRQ_BASE
|
||||
#define RM9K_CPU_IRQ_BASE (MIPS_CPU_IRQ_BASE+12)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif /* CONFIG_IRQ_CPU */
|
||||
|
||||
#endif /* __ASM_MACH_GENERIC_IRQ_H */
|
25
arch/mips/include/asm/mach-generic/kernel-entry-init.h
Normal file
25
arch/mips/include/asm/mach-generic/kernel-entry-init.h
Normal file
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*
|
||||
* Copyright (C) 2005 Embedded Alley Solutions, Inc
|
||||
* Copyright (C) 2005 Ralf Baechle (ralf@linux-mips.org)
|
||||
*/
|
||||
#ifndef __ASM_MACH_GENERIC_KERNEL_ENTRY_H
|
||||
#define __ASM_MACH_GENERIC_KERNEL_ENTRY_H
|
||||
|
||||
/* Intentionally empty macro, used in head.S. Override in
|
||||
* arch/mips/mach-xxx/kernel-entry-init.h when necessary.
|
||||
*/
|
||||
.macro kernel_entry_setup
|
||||
.endm
|
||||
|
||||
/*
|
||||
* Do SMP slave processor setup necessary before we can savely execute C code.
|
||||
*/
|
||||
.macro smp_slave_setup
|
||||
.endm
|
||||
|
||||
|
||||
#endif /* __ASM_MACH_GENERIC_KERNEL_ENTRY_H */
|
13
arch/mips/include/asm/mach-generic/kmalloc.h
Normal file
13
arch/mips/include/asm/mach-generic/kmalloc.h
Normal file
@@ -0,0 +1,13 @@
|
||||
#ifndef __ASM_MACH_GENERIC_KMALLOC_H
|
||||
#define __ASM_MACH_GENERIC_KMALLOC_H
|
||||
|
||||
|
||||
#ifndef CONFIG_DMA_COHERENT
|
||||
/*
|
||||
* Total overkill for most systems but need as a safe default.
|
||||
* Set this one if any device in the system might do non-coherent DMA.
|
||||
*/
|
||||
#define ARCH_KMALLOC_MINALIGN 128
|
||||
#endif
|
||||
|
||||
#endif /* __ASM_MACH_GENERIC_KMALLOC_H */
|
52
arch/mips/include/asm/mach-generic/mangle-port.h
Normal file
52
arch/mips/include/asm/mach-generic/mangle-port.h
Normal file
@@ -0,0 +1,52 @@
|
||||
/*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*
|
||||
* Copyright (C) 2003, 2004 Ralf Baechle
|
||||
*/
|
||||
#ifndef __ASM_MACH_GENERIC_MANGLE_PORT_H
|
||||
#define __ASM_MACH_GENERIC_MANGLE_PORT_H
|
||||
|
||||
#define __swizzle_addr_b(port) (port)
|
||||
#define __swizzle_addr_w(port) (port)
|
||||
#define __swizzle_addr_l(port) (port)
|
||||
#define __swizzle_addr_q(port) (port)
|
||||
|
||||
/*
|
||||
* Sane hardware offers swapping of PCI/ISA I/O space accesses in hardware;
|
||||
* less sane hardware forces software to fiddle with this...
|
||||
*
|
||||
* Regardless, if the host bus endianness mismatches that of PCI/ISA, then
|
||||
* you can't have the numerical value of data and byte addresses within
|
||||
* multibyte quantities both preserved at the same time. Hence two
|
||||
* variations of functions: non-prefixed ones that preserve the value
|
||||
* and prefixed ones that preserve byte addresses. The latters are
|
||||
* typically used for moving raw data between a peripheral and memory (cf.
|
||||
* string I/O functions), hence the "__mem_" prefix.
|
||||
*/
|
||||
#if defined(CONFIG_SWAP_IO_SPACE)
|
||||
|
||||
# define ioswabb(a, x) (x)
|
||||
# define __mem_ioswabb(a, x) (x)
|
||||
# define ioswabw(a, x) le16_to_cpu(x)
|
||||
# define __mem_ioswabw(a, x) (x)
|
||||
# define ioswabl(a, x) le32_to_cpu(x)
|
||||
# define __mem_ioswabl(a, x) (x)
|
||||
# define ioswabq(a, x) le64_to_cpu(x)
|
||||
# define __mem_ioswabq(a, x) (x)
|
||||
|
||||
#else
|
||||
|
||||
# define ioswabb(a, x) (x)
|
||||
# define __mem_ioswabb(a, x) (x)
|
||||
# define ioswabw(a, x) (x)
|
||||
# define __mem_ioswabw(a, x) cpu_to_le16(x)
|
||||
# define ioswabl(a, x) (x)
|
||||
# define __mem_ioswabl(a, x) cpu_to_le32(x)
|
||||
# define ioswabq(a, x) (x)
|
||||
# define __mem_ioswabq(a, x) cpu_to_le32(x)
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* __ASM_MACH_GENERIC_MANGLE_PORT_H */
|
36
arch/mips/include/asm/mach-generic/mc146818rtc.h
Normal file
36
arch/mips/include/asm/mach-generic/mc146818rtc.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*
|
||||
* Copyright (C) 1998, 2001, 03 by Ralf Baechle
|
||||
*
|
||||
* RTC routines for PC style attached Dallas chip.
|
||||
*/
|
||||
#ifndef __ASM_MACH_GENERIC_MC146818RTC_H
|
||||
#define __ASM_MACH_GENERIC_MC146818RTC_H
|
||||
|
||||
#include <asm/io.h>
|
||||
|
||||
#define RTC_PORT(x) (0x70 + (x))
|
||||
#define RTC_IRQ 8
|
||||
|
||||
static inline unsigned char CMOS_READ(unsigned long addr)
|
||||
{
|
||||
outb_p(addr, RTC_PORT(0));
|
||||
return inb_p(RTC_PORT(1));
|
||||
}
|
||||
|
||||
static inline void CMOS_WRITE(unsigned char data, unsigned long addr)
|
||||
{
|
||||
outb_p(addr, RTC_PORT(0));
|
||||
outb_p(data, RTC_PORT(1));
|
||||
}
|
||||
|
||||
#define RTC_ALWAYS_BCD 1
|
||||
|
||||
#ifndef mc146818_decode_year
|
||||
#define mc146818_decode_year(year) ((year) < 70 ? (year) + 2000 : (year) + 1900)
|
||||
#endif
|
||||
|
||||
#endif /* __ASM_MACH_GENERIC_MC146818RTC_H */
|
85
arch/mips/include/asm/mach-generic/spaces.h
Normal file
85
arch/mips/include/asm/mach-generic/spaces.h
Normal file
@@ -0,0 +1,85 @@
|
||||
/*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*
|
||||
* Copyright (C) 1994 - 1999, 2000, 03, 04 Ralf Baechle
|
||||
* Copyright (C) 2000, 2002 Maciej W. Rozycki
|
||||
* Copyright (C) 1990, 1999, 2000 Silicon Graphics, Inc.
|
||||
*/
|
||||
#ifndef _ASM_MACH_GENERIC_SPACES_H
|
||||
#define _ASM_MACH_GENERIC_SPACES_H
|
||||
|
||||
#include <linux/const.h>
|
||||
|
||||
/*
|
||||
* This gives the physical RAM offset.
|
||||
*/
|
||||
#ifndef PHYS_OFFSET
|
||||
#define PHYS_OFFSET _AC(0, UL)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_32BIT
|
||||
|
||||
#define CAC_BASE _AC(0x80000000, UL)
|
||||
#define IO_BASE _AC(0xa0000000, UL)
|
||||
#define UNCAC_BASE _AC(0xa0000000, UL)
|
||||
|
||||
#ifndef MAP_BASE
|
||||
#define MAP_BASE _AC(0xc0000000, UL)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Memory above this physical address will be considered highmem.
|
||||
*/
|
||||
#ifndef HIGHMEM_START
|
||||
#define HIGHMEM_START _AC(0x20000000, UL)
|
||||
#endif
|
||||
|
||||
#endif /* CONFIG_32BIT */
|
||||
|
||||
#ifdef CONFIG_64BIT
|
||||
|
||||
#ifndef CAC_BASE
|
||||
#ifdef CONFIG_DMA_NONCOHERENT
|
||||
#define CAC_BASE _AC(0x9800000000000000, UL)
|
||||
#else
|
||||
#define CAC_BASE _AC(0xa800000000000000, UL)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef IO_BASE
|
||||
#define IO_BASE _AC(0x9000000000000000, UL)
|
||||
#endif
|
||||
|
||||
#ifndef UNCAC_BASE
|
||||
#define UNCAC_BASE _AC(0x9000000000000000, UL)
|
||||
#endif
|
||||
|
||||
#ifndef MAP_BASE
|
||||
#define MAP_BASE _AC(0xc000000000000000, UL)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Memory above this physical address will be considered highmem.
|
||||
* Fixme: 59 bits is a fictive number and makes assumptions about processors
|
||||
* in the distant future. Nobody will care for a few years :-)
|
||||
*/
|
||||
#ifndef HIGHMEM_START
|
||||
#define HIGHMEM_START (_AC(1, UL) << _AC(59, UL))
|
||||
#endif
|
||||
|
||||
#define TO_PHYS(x) ( ((x) & TO_PHYS_MASK))
|
||||
#define TO_CAC(x) (CAC_BASE | ((x) & TO_PHYS_MASK))
|
||||
#define TO_UNCAC(x) (UNCAC_BASE | ((x) & TO_PHYS_MASK))
|
||||
|
||||
#endif /* CONFIG_64BIT */
|
||||
|
||||
/*
|
||||
* This handles the memory map.
|
||||
*/
|
||||
#ifndef PAGE_OFFSET
|
||||
#define PAGE_OFFSET (CAC_BASE + PHYS_OFFSET)
|
||||
#endif
|
||||
|
||||
#endif /* __ASM_MACH_GENERIC_SPACES_H */
|
1
arch/mips/include/asm/mach-generic/topology.h
Normal file
1
arch/mips/include/asm/mach-generic/topology.h
Normal file
@@ -0,0 +1 @@
|
||||
#include <asm-generic/topology.h>
|
Reference in New Issue
Block a user