OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [arch/] [arm/] [lib/] [io-shark.c] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/*
2
 *  linux/arch/arm/lib/io-shark.c
3
 *
4
 *  by Alexander Schulz
5
 *
6
 * derived from:
7
 * linux/arch/arm/lib/io-ebsa.S
8
 * Copyright (C) 1995, 1996 Russell King
9
 *
10
 * This program is free software; you can redistribute it and/or modify
11
 * it under the terms of the GNU General Public License version 2 as
12
 * published by the Free Software Foundation.
13
 */
14
#include <linux/kernel.h>
15
 
16
#include <asm/io.h>
17
 
18
void print_warning(void)
19
{
20
        printk(KERN_WARNING "ins?/outs? not implemented on this architecture\n");
21
}
22
 
23
void insl(unsigned int port, void *to, int len)
24
{
25
        print_warning();
26
}
27
 
28
void insb(unsigned int port, void *to, int len)
29
{
30
        print_warning();
31
}
32
 
33
void outsl(unsigned int port, const void *from, int len)
34
{
35
        print_warning();
36
}
37
 
38
void outsb(unsigned int port, const void *from, int len)
39
{
40
        print_warning();
41
}
42
 
43
/* these should be in assembler again */
44
 
45
/*
46
 * Purpose: read a block of data from a hardware register to memory.
47
 * Proto  : insw(int from_port, void *to, int len_in_words);
48
 * Proto  : inswb(int from_port, void *to, int len_in_bytes);
49
 * Notes  : increment to
50
 */
51
 
52
void insw(unsigned int port, void *to, int len)
53
{
54
        int i;
55
 
56
        for (i = 0; i < len; i++)
57
                ((unsigned short *) to)[i] = inw(port);
58
}
59
 
60
void inswb(unsigned int port, void *to, int len)
61
{
62
        insw(port, to, len >> 2);
63
}
64
 
65
/*
66
 * Purpose: write a block of data from memory to a hardware register.
67
 * Proto  : outsw(int to_reg, void *from, int len_in_words);
68
 * Proto  : outswb(int to_reg, void *from, int len_in_bytes);
69
 * Notes  : increments from
70
 */
71
 
72
void outsw(unsigned int port, const void *from, int len)
73
{
74
        int i;
75
 
76
        for (i = 0; i < len; i++)
77
                outw(((unsigned short *) from)[i], port);
78
}
79
 
80
void outswb(unsigned int port, const void *from, int len)
81
{
82
        outsw(port, from, len >> 2);
83
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.