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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [arch/] [sh/] [kernel/] [ubc.S] - Rev 1765

Compare with Previous | Blame | View Log

/*
 * arch/sh/kernel/ubc.S
 *
 * Set of management routines for the User Break Controller (UBC)
 *
 * Copyright (C) 2002 Paul Mundt
 *
 * 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.
 */
#include <linux/linkage.h>
#include <asm/ubc.h>

#define STBCR2          0xffc00010

ENTRY(ubc_sleep)
        mov     #0, r0

        mov.l   1f, r1          ! Zero out UBC_BBRA ..
        mov.w   r0, @r1

        mov.l   2f, r1          ! .. same for BBRB ..
        mov.w   r0, @r1

        mov.l   3f, r1          ! .. and again for BRCR.
        mov.w   r0, @r1

        mov.w   @r1, r0         ! Dummy read BRCR

        mov.l   4f, r1          ! Set MSTP5 in STBCR2
        mov.b   @r1, r0
        or      #0x01, r0
        mov.b   r0, @r1

        mov.b   @r1, r0         ! Two dummy reads ..
        mov.b   @r1, r0

        rts
        nop

ENTRY(ubc_wakeup)
        mov.l   4f, r1          ! Clear MSTP5
        mov.b   @r1, r0
        and     #0xfe, r0
        mov.b   r0, @r1

        mov.b   @r1, r0         ! Two more dummy reads ..
        mov.b   @r1, r0

        rts
        nop

1:      .long   UBC_BBRA
2:      .long   UBC_BBRB
3:      .long   UBC_BRCR
4:      .long   STBCR2

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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