summaryrefslogtreecommitdiff
path: root/src/dev/arm/rv_ctrl.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/dev/arm/rv_ctrl.hh')
-rw-r--r--src/dev/arm/rv_ctrl.hh28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/dev/arm/rv_ctrl.hh b/src/dev/arm/rv_ctrl.hh
index 1a55025a8..b325c4b16 100644
--- a/src/dev/arm/rv_ctrl.hh
+++ b/src/dev/arm/rv_ctrl.hh
@@ -44,6 +44,7 @@
#include "dev/io_device.hh"
#include "params/RealViewCtrl.hh"
#include "params/RealViewOsc.hh"
+#include "params/RealViewTemperatureSensor.hh"
/** @file
* This implements the simple real view registers on a PBXA9
@@ -219,5 +220,32 @@ class RealViewOsc
void clockPeriod(Tick clock_period);
};
+/**
+ * This device implements the temperature sensor used in the
+ * RealView/Versatile Express platform.
+ *
+ * See ARM DUI 0447J (ARM Motherboard Express uATX -- V2M-P1).
+ */
+class RealViewTemperatureSensor
+ : public SimObject, RealViewCtrl::Device
+{
+ public:
+ RealViewTemperatureSensor(RealViewTemperatureSensorParams *p)
+ : SimObject(p),
+ RealViewCtrl::Device(*p->parent, RealViewCtrl::FUNC_TEMP,
+ p->site, p->position, p->dcc, p->device),
+ system(p->system)
+ {}
+ virtual ~RealViewTemperatureSensor() {};
+
+ public: // RealViewCtrl::Device interface
+ uint32_t read() const override;
+ void write(uint32_t temp) override {}
+
+ protected:
+ /** The system this RV device belongs to */
+ System * system;
+};
+
#endif // __DEV_ARM_RV_HH__