summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/powerpc/mpc8260/cpm/cp.c
blob: 9840f2629e7b2d2e57f4a9adc20800a0e892687e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/*
 * cp.c
 *
 * MPC8xx CPM RISC Communication Processor routines.
 * 
 * Based on code (alloc860.c in eth_comm port) by
 * Jay Monkman (jmonkman@frasca.com),
 * which, in turn, is based on code by
 * W. Eric Norum (eric@skatter.usask.ca).
 *
 * Modifications by Darlene Stewart (Darlene.Stewart@iit.nrc.ca):
 * Copyright (c) 1999, National Research Council of Canada
 */

#include <rtems.h>
#include <mpc8260.h>
#include <mpc8260/cpm.h>

/*
 * Send a command to the CPM RISC processer
 */

void m8xx_cp_execute_cmd( uint32_t   command )
{
  uint16_t   lvl;
  
  rtems_interrupt_disable(lvl);
  while (m8260.cpcr & M8260_CR_FLG) {
    continue;
  }

  m8260.cpcr = command | M8260_CR_FLG;
  rtems_interrupt_enable (lvl);
}