blob: af517213f176cf59cc82b54dbe5247800a6c40e6 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Eran Liberty9095d4a2005-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 Liberty9095d4a2005-07-28 10:08:46 -05007 */
8
Eran Liberty9095d4a2005-07-28 10:08:46 -05009#include <command.h>
Simon Glass9b61c7c2019-11-14 12:57:41 -070010#include <irq_func.h>
Eran Liberty9095d4a2005-07-28 10:08:46 -050011#include <mpc83xx.h>
Simon Glass3ba929a2020-10-30 21:38:53 -060012#include <asm/global_data.h>
Eran Liberty9095d4a2005-07-28 10:08:46 -050013#include <asm/processor.h>
Simon Glass6b9f0102020-05-10 11:40:06 -060014#include <asm/ptrace.h>
Eran Liberty9095d4a2005-07-28 10:08:46 -050015
Wolfgang Denk6405a152006-03-31 18:32:53 +020016DECLARE_GLOBAL_DATA_PTR;
17
Eran Liberty9095d4a2005-07-28 10:08:46 -050018struct irq_action {
19 interrupt_handler_t *handler;
20 void *arg;
21 ulong count;
22};
23
Tom Rinice103982017-08-13 22:44:37 -040024void interrupt_init_cpu (unsigned *decrementer_count)
Eran Liberty9095d4a2005-07-28 10:08:46 -050025{
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +020026 volatile immap_t *immr = (immap_t *) CONFIG_SYS_IMMR;
Kumar Gala3b16c282006-01-11 11:19:12 -060027
Jean-Christophe PLAGNIOL-VILLARD03836942008-10-16 15:01:15 +020028 *decrementer_count = (gd->bus_clk / 4) / CONFIG_SYS_HZ;
Kumar Gala3b16c282006-01-11 11:19:12 -060029
30 /* Enable e300 time base */
31
32 immr->sysconf.spcr |= 0x00400000;
Eran Liberty9095d4a2005-07-28 10:08:46 -050033}
34
Eran Liberty9095d4a2005-07-28 10:08:46 -050035/*
36 * Handle external interrupts
37 */
38
Simon Glassf87959b2019-11-14 12:57:40 -070039void external_interrupt(struct pt_regs *regs)
Eran Liberty9095d4a2005-07-28 10:08:46 -050040{
41}
42
Eran Liberty9095d4a2005-07-28 10:08:46 -050043/*
44 * Install and free an interrupt handler.
45 */
46
47void
Simon Glassf87959b2019-11-14 12:57:40 -070048irq_install_handler(int irq, interrupt_handler_t * handler, void *arg)
Eran Liberty9095d4a2005-07-28 10:08:46 -050049{
50}
51
Simon Glassf87959b2019-11-14 12:57:40 -070052void irq_free_handler(int irq)
Eran Liberty9095d4a2005-07-28 10:08:46 -050053{
54}
55
Eran Liberty9095d4a2005-07-28 10:08:46 -050056void timer_interrupt_cpu (struct pt_regs *regs)
57{
58 /* nothing to do here */
59 return;
60}
61
Jon Loeliger526e5ce2007-07-09 19:06:00 -050062#if defined(CONFIG_CMD_IRQ)
Eran Liberty9095d4a2005-07-28 10:08:46 -050063
64/* ripped this out of ppc4xx/interrupts.c */
65
66/*
67 * irqinfo - print information about PCI devices
68 */
69
Masahiro Yamadaf7ed78b2020-06-26 15:13:33 +090070void do_irqinfo(struct cmd_tbl *cmdtp, struct bd_info *bd, int flag, int argc,
Simon Glassed38aef2020-05-10 11:40:03 -060071 char *const argv[])
Eran Liberty9095d4a2005-07-28 10:08:46 -050072{
73}
74
Jon Loeliger526e5ce2007-07-09 19:06:00 -050075#endif