blob: e83895deabbf23d2a1d9c851da3aed7b1a085ba8 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Eran Libertyf046ccd2005-07-28 10:08:46 -05002/*
3 * (C) Copyright 2000-2002
4 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
5 *
6 * Copyright 2004 Freescale Semiconductor, Inc.
Eran Libertyf046ccd2005-07-28 10:08:46 -05007 */
8
9#include <common.h>
10#include <command.h>
Simon Glassc30b7ad2019-11-14 12:57:41 -070011#include <irq_func.h>
Eran Libertyf046ccd2005-07-28 10:08:46 -050012#include <mpc83xx.h>
13#include <asm/processor.h>
14
Wolfgang Denkd87080b2006-03-31 18:32:53 +020015DECLARE_GLOBAL_DATA_PTR;
16
Eran Libertyf046ccd2005-07-28 10:08:46 -050017struct irq_action {
18 interrupt_handler_t *handler;
19 void *arg;
20 ulong count;
21};
22
Tom Rinideff9b12017-08-13 22:44:37 -040023void interrupt_init_cpu (unsigned *decrementer_count)
Eran Libertyf046ccd2005-07-28 10:08:46 -050024{
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +020025 volatile immap_t *immr = (immap_t *) CONFIG_SYS_IMMR;
Kumar Galace574ff2006-01-11 11:19:12 -060026
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +020027 *decrementer_count = (gd->bus_clk / 4) / CONFIG_SYS_HZ;
Kumar Galace574ff2006-01-11 11:19:12 -060028
29 /* Enable e300 time base */
30
31 immr->sysconf.spcr |= 0x00400000;
Eran Libertyf046ccd2005-07-28 10:08:46 -050032}
33
34
35/*
36 * Handle external interrupts
37 */
38
Simon Glass9d3915b2019-11-14 12:57:40 -070039void external_interrupt(struct pt_regs *regs)
Eran Libertyf046ccd2005-07-28 10:08:46 -050040{
41}
42
43
44/*
45 * Install and free an interrupt handler.
46 */
47
48void
Simon Glass9d3915b2019-11-14 12:57:40 -070049irq_install_handler(int irq, interrupt_handler_t * handler, void *arg)
Eran Libertyf046ccd2005-07-28 10:08:46 -050050{
51}
52
53
Simon Glass9d3915b2019-11-14 12:57:40 -070054void irq_free_handler(int irq)
Eran Libertyf046ccd2005-07-28 10:08:46 -050055{
56}
57
58
59void timer_interrupt_cpu (struct pt_regs *regs)
60{
61 /* nothing to do here */
62 return;
63}
64
65
Jon Loeliger44312832007-07-09 19:06:00 -050066#if defined(CONFIG_CMD_IRQ)
Eran Libertyf046ccd2005-07-28 10:08:46 -050067
68/* ripped this out of ppc4xx/interrupts.c */
69
70/*
71 * irqinfo - print information about PCI devices
72 */
73
74void
Wolfgang Denk54841ab2010-06-28 22:00:46 +020075do_irqinfo(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char * const argv[])
Eran Libertyf046ccd2005-07-28 10:08:46 -050076{
77}
78
Jon Loeliger44312832007-07-09 19:06:00 -050079#endif