18e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer/*
2a09e64fbc0094e3073dbb09c3b4bfe4ab669244bRussell King *  arch/arm/mach-netx/include/mach/xc.h
38e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer *
48e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer * Copyright (C) 2005 Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix
58e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer *
68e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer * This program is free software; you can redistribute it and/or modify
78e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer * it under the terms of the GNU General Public License version 2
88e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer * as published by the Free Software Foundation.
98e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer *
108e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer * This program is distributed in the hope that it will be useful,
118e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer * but WITHOUT ANY WARRANTY; without even the implied warranty of
128e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
138e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer * GNU General Public License for more details.
148e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer *
158e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer * You should have received a copy of the GNU General Public License
168e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer * along with this program; if not, write to the Free Software
178e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
188e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer */
198e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer
208e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer#ifndef __ASM_ARCH_XC_H
218e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer#define __ASM_ARCH_XC_H
228e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer
238e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauerstruct xc {
248e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer	int no;
258e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer	unsigned int type;
268e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer	unsigned int version;
278e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer	void __iomem *xpec_base;
288e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer	void __iomem *xmac_base;
298e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer	void __iomem *sram_base;
308e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer	int irq;
318e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer	struct device *dev;
328e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer};
338e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer
348e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauerint xc_reset(struct xc *x);
358e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauerint xc_stop(struct xc* x);
368e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauerint xc_start(struct xc *x);
378e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauerint xc_running(struct xc *x);
388e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauerint xc_request_firmware(struct xc* x);
398e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauerstruct xc* request_xc(int xcno, struct device *dev);
408e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauervoid free_xc(struct xc *x);
418e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer
428e77da68a6107ee47323fec5dfb3a93ebbc809e2Sascha Hauer#endif /* __ASM_ARCH_XC_H */
43