summaryrefslogtreecommitdiffstats
path: root/bsps/powerpc/mpc8260ads/start/cp.c
blob: 76e6ae2f801d30dba778f76334db72094630494b (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
/*
 * 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
 * Eric Norum <eric.norum.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);
}