#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "bus_pci.h"
#include "cpu.h"
#include "device.h"
#include "machine.h"
#include "memory.h"
#include "misc.h"
#include "timer.h"
#include "thirdparty/i80321reg.h"
#include "thirdparty/iopi2creg.h"
Go to the source code of this file.
Classes | |
struct | i80321_data |
Macros | |
#define | TICK_SHIFT 15 |
#define | DEV_I80321_LENGTH VERDE_PMMR_SIZE |
Functions | |
void | i80321_interrupt_assert (struct interrupt *interrupt) |
void | i80321_interrupt_deassert (struct interrupt *interrupt) |
DEVICE_TICK (i80321) | |
DEVICE_ACCESS (i80321) | |
DEVINIT (i80321) | |
#define DEV_I80321_LENGTH VERDE_PMMR_SIZE |
Definition at line 58 of file dev_i80321.cc.
Referenced by DEVINIT().
#define TICK_SHIFT 15 |
Definition at line 57 of file dev_i80321.cc.
DEVICE_ACCESS | ( | i80321 | ) |
Definition at line 140 of file dev_i80321.cc.
References ATU_ATUCR, ATU_ATUIMR, ATU_IABAR3, ATU_IALR0, ATU_IALR1, ATU_IALR2, ATU_IALR3, ATU_IATVR0, ATU_IATVR2, ATU_IATVR3, ATU_IAUBAR3, ATU_OCCAR, ATU_OCCDR, ATU_OIOWTVR, ATU_OMWTVR0, ATU_OMWTVR1, ATU_OUMWTVR0, ATU_OUMWTVR1, ATU_PCIXSR, ATU_PCSR, bus_pci_data_access(), bus_pci_decompose_1(), bus_pci_setaddr(), machine::cpus, data, debug, machine::exit_without_entering_debugger, fatal(), i80321_data::i2c_reg, IIC_ICR, IIC_IDBR, IIC_ISAR, IIC_ISR, IIC_ISR_IRF, IIC_ISR_ITE, cpu::machine, MCU_ABDDSR, MCU_ABUDSR, MCU_CDDSR, MCU_CEDDSR, MCU_CEUDSR, MCU_CSDDSR, MCU_CSUDSR, MCU_CUDSR, MCU_DBDDSR, MCU_DBUDSR, MCU_ECCR, MCU_REDDSR, i80321_data::mcu_reg, MCU_REUDSR, MCU_RFR, MCU_SBR0, MCU_SBR1, MCU_SDBR, MCU_SDCR, MCU_SDIR, MEM_READ, MEM_WRITE, memory_readmax64(), memory_writemax64(), machine::ncpus, PBIU_PBBAR0, PBIU_PBBAR1, PBIU_PBBAR2, PBIU_PBCR, PBIU_PBLR0, PBIU_PBLR1, PBIU_PBLR2, i80321_data::pci_addr, i80321_data::pci_bus, reg, cpu::running, VERDE_ATU_BASE, VERDE_I2C_BASE, VERDE_I2C_BASE0, VERDE_I2C_BASE1, VERDE_I2C_SIZE, VERDE_MCU_BASE, VERDE_MCU_SIZE, and VERDE_PBIU_BASE.
DEVICE_TICK | ( | i80321 | ) |
Definition at line 126 of file dev_i80321.cc.
References cpu::arm, cpu::cd, i80321_data::pending_tmr0_interrupts, arm_cpu::tmr0, and TMRx_ENABLE.
DEVINIT | ( | i80321 | ) |
Definition at line 406 of file dev_i80321.cc.
References devinit::addr, cpu::arm, machine::bootstrap_cpu, bus_pci_init(), cpu::cd, CHECK_ALLOCATION, machine::cpus, DEV_I80321_LENGTH, DM_DEFAULT, i80321_data::enable, interrupt::extra, i80321_data::hz, arm_cpu::i80321_inten, i80321_interrupt_assert(), i80321_interrupt_deassert(), arm_cpu::i80321_isrc, interrupt::interrupt_assert, INTERRUPT_CONNECT, interrupt::interrupt_deassert, interrupt_handler_register(), devinit::interrupt_path, i80321_data::irq, interrupt::line, devinit::machine, i80321_data::mcu_reg, MCU_SBR0, MCU_SBR1, MCU_SDBR, machine::memory, memory_device_register(), devinit::name, interrupt::name, i80321_data::pci_bus, machine::physical_ram_in_mb, i80321_data::status, i80321_data::timer, timer_add(), arm_cpu::tmr0_irq, and arm_cpu::tmr1_irq.
void i80321_interrupt_assert | ( | struct interrupt * | interrupt | ) |
Definition at line 103 of file dev_i80321.cc.
Referenced by DEVINIT().
void i80321_interrupt_deassert | ( | struct interrupt * | interrupt | ) |
Definition at line 105 of file dev_i80321.cc.
References interrupt::extra, if(), interrupt::line, and i80321_data::pending_tmr0_interrupts.
Referenced by DEVINIT().