Deleted Added
sdiff udiff text old ( 9525:0587c8983d47 ) new ( 9806:3f262c18ad5d )
full compact
1/*
2 * Copyright (c) 2010 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 40 unchanged lines hidden (view full) ---

49#ifndef __DEV_ARM_AMBA_DEVICE_HH__
50#define __DEV_ARM_AMBA_DEVICE_HH__
51
52#include "dev/arm/base_gic.hh"
53#include "dev/dma_device.hh"
54#include "dev/io_device.hh"
55#include "mem/packet.hh"
56#include "mem/packet_access.hh"
57#include "params/AmbaDevice.hh"
58#include "params/AmbaDmaDevice.hh"
59#include "params/AmbaIntDevice.hh"
60
61namespace AmbaDev {
62
63const int AMBA_PER_ID0 = 0xFE0;
64const int AMBA_PER_ID1 = 0xFE4;
65const int AMBA_PER_ID2 = 0xFE8;
66const int AMBA_PER_ID3 = 0xFEC;
67const int AMBA_CEL_ID0 = 0xFF0;
68const int AMBA_CEL_ID1 = 0xFF4;
69const int AMBA_CEL_ID2 = 0xFF8;
70const int AMBA_CEL_ID3 = 0xFFC;
71
72bool readId(PacketPtr pkt, uint64_t amba_id, Addr pio_addr);
73}
74
75class AmbaDevice : public BasicPioDevice
76{
77 protected:
78 uint64_t ambaId;
79
80 public:
81 typedef AmbaDeviceParams Params;
82 AmbaDevice(const Params *p);
83};
84
85class AmbaIntDevice : public AmbaDevice
86{
87 protected:
88 int intNum;
89 BaseGic *gic;
90 Tick intDelay;
91
92 public:
93 typedef AmbaIntDeviceParams Params;
94 AmbaIntDevice(const Params *p);
95};
96
97class AmbaDmaDevice : public DmaDevice
98{
99 protected:
100 uint64_t ambaId;
101 Addr pioAddr;
102 Addr pioSize;
103 Tick pioDelay;
104 int intNum;
105 BaseGic *gic;
106
107 public:
108 typedef AmbaDmaDeviceParams Params;
109 AmbaDmaDevice(const Params *p);
110};
111
112
113#endif //__DEV_ARM_AMBA_DEVICE_HH__