|
FreeNOS
|
Broadcom 2836 device specific I/O configuration. More...
#include <Broadcom2836.h>
Public Types | |
| enum | Timer { PhysicalTimer1 , NonSecurePhysicalTimer } |
| Hardware timers available in BCM 2836. More... | |
| enum | Result { Success , NotFound , IOError , FrequencyError , Success , NotFound , IOError , FrequencyError } |
| Result code. More... | |
| enum | Timer { PhysicalTimer1 , NonSecurePhysicalTimer } |
| Hardware timers available in BCM 2836. More... | |
| enum | Result { Success , NotFound , IOError , FrequencyError , Success , NotFound , IOError , FrequencyError } |
| Result code. More... | |
Public Member Functions | |
| Broadcom2836 (Size coreId) | |
| Constructor. | |
| Result | initialize () |
| Initialize the Controller. | |
| Result | setCoreTimerIrq (Timer timer, bool enable) |
| Set Core Timer interrupt. | |
| bool | getCoreTimerIrqStatus (Timer timer) const |
| Get core timer interrupt status. | |
| Broadcom2836 (Size coreId) | |
| Constructor. | |
| Result | initialize () |
| Initialize the Controller. | |
| Result | setCoreTimerIrq (Timer timer, bool enable) |
| Set Core Timer interrupt. | |
| bool | getCoreTimerIrqStatus (Timer timer) const |
| Get core timer interrupt status. | |
Private Types | |
| enum | Registers { CorePrescalerRegister = 0x0008 , CoreTimerRegister = 0x0040 , CoreIrqRegister = 0x0060 , CoreSetMailboxRegister = 0x0080 , CorePrescalerRegister = 0x0008 , CoreTimerRegister = 0x0040 , CoreIrqRegister = 0x0060 , CoreSetMailboxRegister = 0x0080 } |
| Hardware registers. More... | |
| enum | Registers { CorePrescalerRegister = 0x0008 , CoreTimerRegister = 0x0040 , CoreIrqRegister = 0x0060 , CoreSetMailboxRegister = 0x0080 , CorePrescalerRegister = 0x0008 , CoreTimerRegister = 0x0040 , CoreIrqRegister = 0x0060 , CoreSetMailboxRegister = 0x0080 } |
| Hardware registers. More... | |
Private Attributes | |
| Size | m_coreId |
| Core identifier. | |
| ARMIO | m_io |
| I/O instance. | |
| ARM64IO | m_io |
| I/O instance. | |
Static Private Attributes | |
| static const Address | IOBase = 0x40000000 |
| Base address for the BCM2836 I/O configuration. | |
Broadcom 2836 device specific I/O configuration.
Definition at line 38 of file Broadcom2836.h.
|
private |
Hardware registers.
| Enumerator | |
|---|---|
| CorePrescalerRegister | |
| CoreTimerRegister | |
| CoreIrqRegister | |
| CoreSetMailboxRegister | |
| CorePrescalerRegister | |
| CoreTimerRegister | |
| CoreIrqRegister | |
| CoreSetMailboxRegister | |
Definition at line 48 of file Broadcom2836.h.
|
private |
Hardware registers.
| Enumerator | |
|---|---|
| CorePrescalerRegister | |
| CoreTimerRegister | |
| CoreIrqRegister | |
| CoreSetMailboxRegister | |
| CorePrescalerRegister | |
| CoreTimerRegister | |
| CoreIrqRegister | |
| CoreSetMailboxRegister | |
Definition at line 49 of file Broadcom2836.h.
| enum Broadcom2836::Result |
Result code.
| Enumerator | |
|---|---|
| Success | |
| NotFound | |
| IOError | |
| FrequencyError | |
| Success | |
| NotFound | |
| IOError | |
| FrequencyError | |
Definition at line 69 of file Broadcom2836.h.
| enum Broadcom2836::Result |
Result code.
| Enumerator | |
|---|---|
| Success | |
| NotFound | |
| IOError | |
| FrequencyError | |
| Success | |
| NotFound | |
| IOError | |
| FrequencyError | |
Definition at line 70 of file Broadcom2836.h.
| enum Broadcom2836::Timer |
Hardware timers available in BCM 2836.
| Enumerator | |
|---|---|
| PhysicalTimer1 | |
| NonSecurePhysicalTimer | |
Definition at line 61 of file Broadcom2836.h.
| enum Broadcom2836::Timer |
Hardware timers available in BCM 2836.
| Enumerator | |
|---|---|
| PhysicalTimer1 | |
| NonSecurePhysicalTimer | |
Definition at line 62 of file Broadcom2836.h.
| Broadcom2836::Broadcom2836 | ( | Size | coreId | ) |
Constructor.
Definition at line 20 of file Broadcom2836.cpp.
References IOBase, m_io, and IO::setBase().
| Broadcom2836::Broadcom2836 | ( | Size | coreId | ) |
Constructor.
| bool Broadcom2836::getCoreTimerIrqStatus | ( | Timer | timer | ) | const |
Get core timer interrupt status.
| timer | Timer to check for interrupt status |
Referenced by RaspberryKernel::interrupt().
| bool Broadcom2836::getCoreTimerIrqStatus | ( | Timer | timer | ) | const |
Get core timer interrupt status.
| timer | Timer to check for interrupt status |
| Broadcom2836::Result Broadcom2836::initialize | ( | ) |
Initialize the Controller.
Definition at line 26 of file Broadcom2836.cpp.
References Success.
| Result Broadcom2836::initialize | ( | ) |
Initialize the Controller.
| timer | Timer to set |
| enable | True to enable the timer interrupt |
Referenced by RaspberryKernel::RaspberryKernel().
|
staticprivate |
Base address for the BCM2836 I/O configuration.
Definition at line 43 of file Broadcom2836.h.
Referenced by Broadcom2836().
|
private |
Core identifier.
Definition at line 113 of file Broadcom2836.h.
|
private |
|
private |
I/O instance.
Definition at line 117 of file Broadcom2836.h.