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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [arch/] [arm/] [lib/] [io-acorn.S] - 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-acorn.S
3
 *
4
 *  Copyright (C) 1995, 1996 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
#include  /* for CONFIG_CPU_nn */
11
#include 
12
#include 
13
#include 
14
 
15
                .text
16
                .align
17
 
18
                .equ    diff_pcio_base, PCIO_BASE - IO_BASE
19
 
20
                .macro  outw2   rd
21
                mov     r8, \rd, lsl #16
22
                orr     r8, r8, r8, lsr #16
23
                str     r8, [r3, r0, lsl #2]
24
                mov     r8, \rd, lsr #16
25
                orr     r8, r8, r8, lsl #16
26
                str     r8, [r3, r0, lsl #2]
27
                .endm
28
 
29
                .macro  inw2    rd, mask, temp
30
                ldr     \rd, [r0]
31
                and     \rd, \rd, \mask
32
                ldr     \temp, [r0]
33
                orr     \rd, \rd, \temp, lsl #16
34
                .endm
35
 
36
                .macro  addr    rd
37
                tst     \rd, #0x80000000
38
                mov     \rd, \rd, lsl #2
39
                add     \rd, \rd, #IO_BASE
40
                addeq   \rd, \rd, #diff_pcio_base
41
                .endm
42
 
43
.iosl_warning:
44
                .ascii  "<4>insl/outsl not implemented, called from %08lX\0"
45
                .align
46
 
47
/*
48
 * These make no sense on Acorn machines.
49
 * Print a warning message.
50
 */
51
ENTRY(insl)
52
ENTRY(outsl)
53
                adr     r0, .iosl_warning
54
                mov     r1, lr
55
                b       SYMBOL_NAME(printk)
56
 
57
@ Purpose: write a memc register
58
@ Proto  : void memc_write(int register, int value);
59
@ Returns: nothing
60
 
61
#ifdef CONFIG_CPU_26
62
ENTRY(memc_write)
63
                cmp     r0, #7
64
                RETINSTR(movgt,pc,lr)
65
                mov     r0, r0, lsl #17
66
                mov     r1, r1, lsl #15
67
                mov     r1, r1, lsr #17
68
                orr     r0, r0, r1, lsl #2
69
                add     r0, r0, #0x03600000
70
                strb    r0, [r0]
71
                RETINSTR(mov,pc,lr)
72
#endif
73
 

powered by: WebSVN 2.1.0

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