diff options
Diffstat (limited to 'board/siemens/SCM/fpga_scm.c')
| -rw-r--r-- | board/siemens/SCM/fpga_scm.c | 104 | 
1 files changed, 0 insertions, 104 deletions
| diff --git a/board/siemens/SCM/fpga_scm.c b/board/siemens/SCM/fpga_scm.c deleted file mode 100644 index acd9c1570..000000000 --- a/board/siemens/SCM/fpga_scm.c +++ /dev/null @@ -1,104 +0,0 @@ -/* - * (C) Copyright 2002 - * Wolfgang Grandegger, DENX Software Engineering, wg@denx.de. - * - * See file CREDITS for list of people who contributed to this - * project. - * - * 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. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - */ - - -#include <common.h> -#include <mpc8260.h> -#include <common.h> -#include "../common/fpga.h" - -fpga_t fpga_list[] = { -	{"FIOX", CONFIG_SYS_FIOX_BASE, -	 CONFIG_SYS_PD_FIOX_INIT, CONFIG_SYS_PD_FIOX_PROG, CONFIG_SYS_PD_FIOX_DONE} -	, -	{"FDOHM", CONFIG_SYS_FDOHM_BASE, -	 CONFIG_SYS_PD_FDOHM_INIT, CONFIG_SYS_PD_FDOHM_PROG, CONFIG_SYS_PD_FDOHM_DONE} -}; -int fpga_count = sizeof (fpga_list) / sizeof (fpga_t); - - -ulong fpga_control (fpga_t * fpga, int cmd) -{ -	volatile immap_t *immr = (immap_t *) CONFIG_SYS_IMMR; - -	switch (cmd) { -	case FPGA_INIT_IS_HIGH: -		immr->im_ioport.iop_pdird &= ~fpga->init_mask;	/* input */ -		return (immr->im_ioport.iop_pdatd & fpga->init_mask) ? 1 : 0; - -	case FPGA_INIT_SET_LOW: -		immr->im_ioport.iop_pdird |= fpga->init_mask;	/* output */ -		immr->im_ioport.iop_pdatd &= ~fpga->init_mask; -		break; - -	case FPGA_INIT_SET_HIGH: -		immr->im_ioport.iop_pdird |= fpga->init_mask;	/* output */ -		immr->im_ioport.iop_pdatd |= fpga->init_mask; -		break; - -	case FPGA_PROG_SET_LOW: -		immr->im_ioport.iop_pdatd &= ~fpga->prog_mask; -		break; - -	case FPGA_PROG_SET_HIGH: -		immr->im_ioport.iop_pdatd |= fpga->prog_mask; -		break; - -	case FPGA_DONE_IS_HIGH: -		return (immr->im_ioport.iop_pdatd & fpga->done_mask) ? 1 : 0; - -	case FPGA_READ_MODE: -		break; - -	case FPGA_LOAD_MODE: -		break; - -	case FPGA_GET_ID: -		if (fpga->conf_base == CONFIG_SYS_FIOX_BASE) { -			ulong ver = -				*(volatile ulong *) (fpga->conf_base + 0x10); -			return ((ver >> 10) & 0xf) + ((ver >> 2) & 0xf0); -		} else if (fpga->conf_base == CONFIG_SYS_FDOHM_BASE) { -			return (*(volatile ushort *) fpga->conf_base) & 0xff; -		} else { -			return *(volatile ulong *) fpga->conf_base; -		} - -	case FPGA_INIT_PORTS: -		immr->im_ioport.iop_ppard &= ~fpga->init_mask;	/* INIT I/O */ -		immr->im_ioport.iop_psord &= ~fpga->init_mask; -		immr->im_ioport.iop_pdird &= ~fpga->init_mask; - -		immr->im_ioport.iop_ppard &= ~fpga->prog_mask;	/* PROG Output */ -		immr->im_ioport.iop_psord &= ~fpga->prog_mask; -		immr->im_ioport.iop_pdird |= fpga->prog_mask; - -		immr->im_ioport.iop_ppard &= ~fpga->done_mask;	/* DONE Input */ -		immr->im_ioport.iop_psord &= ~fpga->done_mask; -		immr->im_ioport.iop_pdird &= ~fpga->done_mask; - -		break; - -	} -	return 0; -} |