FreeNOS
BroadcomPower.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2015 Niek Linnenbank
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 #include <Log.h>
19 #include "BroadcomPower.h"
20 
22  : m_mask(UART0)
23 {
24 }
25 
27 {
28  // Initialize mailbox
30  {
31  ERROR("failed to initialize mailbox");
32  return IOError;
33  }
34  // Initialize register stats
36  return Success;
37 }
38 
40 {
41  m_mask |= device;
44  return Success;
45 }
BroadcomPower::initialize
Result initialize()
Initialize the power manager.
Definition: BroadcomPower.cpp:26
BroadcomPower::m_mailbox
BroadcomMailbox m_mailbox
Mailbox for communicating with the GPU.
Definition: BroadcomPower.h:89
BroadcomPower::Success
@ Success
Definition: BroadcomPower.h:59
BroadcomMailbox::Success
@ Success
Definition: BroadcomMailbox.h:84
Log.h
BroadcomPower::enable
Result enable(Device device)
Set power on.
Definition: BroadcomPower.cpp:39
BroadcomPower::m_mask
u32 m_mask
Current bitmask of enabled devices.
Definition: BroadcomPower.h:92
BroadcomPower::BroadcomPower
BroadcomPower()
Constructor.
Definition: BroadcomPower.cpp:21
BroadcomPower.h
BroadcomPower::Result
Result
Result codes.
Definition: BroadcomPower.h:57
BroadcomPower::IOError
@ IOError
Definition: BroadcomPower.h:60
BroadcomMailbox::PowerManagement
@ PowerManagement
Definition: BroadcomMailbox.h:93
ERROR
#define ERROR(msg)
Output an error message.
Definition: Log.h:61
BroadcomMailbox::read
Result read(Channel channel, u32 *message) const
Read 28-bit message.
Definition: BroadcomMailbox.cpp:37
BroadcomMailbox::write
Result write(Channel channel, u32 message)
Write 28-bit message.
Definition: BroadcomMailbox.cpp:54
BroadcomPower::Device
Device
Powered devices.
Definition: BroadcomPower.h:46
BroadcomMailbox::initialize
Result initialize()
Initialize the Mailbox.
Definition: BroadcomMailbox.cpp:25