uboot/arch/powerpc/cpu/mpc5xxx/io.S
<<
>>
Prefs
   1/*
   2 *  Copyright (C) 1998  Dan Malek <dmalek@jlc.net>
   3 *  Copyright (C) 1999  Magnus Damm <kieraypc01.p.y.kie.era.ericsson.se>
   4 *  Copyright (C) 2001  Sysgo Real-Time Solutions, GmbH <www.elinos.com>
   5 *                      Andreas Heppel <aheppel@sysgo.de>
   6 *  Copyright (C) 2003  Wolfgang Denk <wd@denx.de>
   7 *
   8 * See file CREDITS for list of people who contributed to this
   9 * project.
  10 *
  11 * This program is free software; you can redistribute it and/or
  12 * modify it under the terms of the GNU General Public License as
  13 * published by the Free Software Foundation; either version 2 of
  14 * the License, or (at your option) any later version.
  15 *
  16 * This program is distributed in the hope that it will be useful,
  17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  19 * GNU General Public License for more details.
  20 *
  21 * You should have received a copy of the GNU General Public License
  22 * along with this program; if not, write to the Free Software
  23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  24 * MA 02111-1307 USA
  25 */
  26
  27#include <config.h>
  28#include <ppc_asm.tmpl>
  29
  30/* ------------------------------------------------------------------------------- */
  31/*  Function:     in8 */
  32/*  Description:  Input 8 bits */
  33/* ------------------------------------------------------------------------------- */
  34        .globl  in8
  35in8:
  36        lbz     r3,0(r3)
  37        sync
  38        blr
  39
  40/* ------------------------------------------------------------------------------- */
  41/*  Function:     in16 */
  42/*  Description:  Input 16 bits */
  43/* ------------------------------------------------------------------------------- */
  44        .globl  in16
  45in16:
  46        lhz     r3,0(r3)
  47        sync
  48        blr
  49
  50/* ------------------------------------------------------------------------------- */
  51/*  Function:     in16r */
  52/*  Description:  Input 16 bits and byte reverse */
  53/* ------------------------------------------------------------------------------- */
  54        .globl  in16r
  55in16r:
  56        lhbrx   r3,0,r3
  57        sync
  58        blr
  59
  60/* ------------------------------------------------------------------------------- */
  61/*  Function:     in32 */
  62/*  Description:  Input 32 bits */
  63/* ------------------------------------------------------------------------------- */
  64        .globl  in32
  65in32:
  66        lwz     3,0(3)
  67        sync
  68        blr
  69
  70/* ------------------------------------------------------------------------------- */
  71/*  Function:     in32r */
  72/*  Description:  Input 32 bits and byte reverse */
  73/* ------------------------------------------------------------------------------- */
  74    .globl  in32r
  75in32r:
  76        lwbrx   r3,0,r3
  77        sync
  78        blr
  79
  80/* ------------------------------------------------------------------------------- */
  81/*  Function:     out8 */
  82/*  Description:  Output 8 bits */
  83/* ------------------------------------------------------------------------------- */
  84        .globl  out8
  85out8:
  86        stb     r4,0(r3)
  87        sync
  88        blr
  89
  90/* ------------------------------------------------------------------------------- */
  91/*  Function:     out16 */
  92/*  Description:  Output 16 bits */
  93/* ------------------------------------------------------------------------------- */
  94        .globl  out16
  95out16:
  96        sth     r4,0(r3)
  97        sync
  98        blr
  99
 100/* ------------------------------------------------------------------------------- */
 101/*  Function:     out16r */
 102/*  Description:  Byte reverse and output 16 bits */
 103/* ------------------------------------------------------------------------------- */
 104        .globl  out16r
 105out16r:
 106        sthbrx  r4,0,r3
 107        sync
 108        blr
 109
 110/* ------------------------------------------------------------------------------- */
 111/*  Function:     out32 */
 112/*  Description:  Output 32 bits */
 113/* ------------------------------------------------------------------------------- */
 114        .globl  out32
 115out32:
 116        stw     r4,0(r3)
 117        sync
 118        blr
 119
 120/* ------------------------------------------------------------------------------- */
 121/*  Function:     out32r */
 122/*  Description:  Byte reverse and output 32 bits */
 123/* ------------------------------------------------------------------------------- */
 124        .globl  out32r
 125out32r:
 126        stwbrx  r4,0,r3
 127        sync
 128        blr
 129