mirror of
https://github.com/Atmosphere-NX/Atmosphere.git
synced 2024-12-19 17:02:14 +00:00
boot: fix some silly mistakes
This commit is contained in:
parent
db47a0c041
commit
b5e91ff9a4
4 changed files with 17 additions and 9 deletions
|
@ -30,7 +30,7 @@ class ChargerDriver {
|
|||
public:
|
||||
ChargerDriver() {
|
||||
I2cDriver::Initialize();
|
||||
I2cDriver::OpenSession(&this->i2c_session, I2cDevice_Max17050);
|
||||
I2cDriver::OpenSession(&this->i2c_session, I2cDevice_Bq24193);
|
||||
|
||||
Boot::GpioSetDirection(GpioPadName_Bq24193Charger, GpioDirection_Output);
|
||||
}
|
||||
|
|
|
@ -87,7 +87,7 @@ u32 Boot::GpioSetDirection(u32 gpio_pad_name, GpioDirection dir) {
|
|||
*(reinterpret_cast<volatile u32 *>(gpio_base_vaddr + gpio_reg_offset + 0x90)) = gpio_oe_val;
|
||||
|
||||
/* Do a dummy read from GPIO_OE_x register (lower offset) */
|
||||
gpio_oe_val = *(reinterpret_cast<volatile u32 *>(gpio_base_vaddr + gpio_reg_offset));
|
||||
gpio_oe_val = *(reinterpret_cast<volatile u32 *>(gpio_base_vaddr + gpio_reg_offset + 0x10));
|
||||
|
||||
return gpio_oe_val;
|
||||
}
|
||||
|
@ -113,7 +113,7 @@ u32 Boot::GpioSetValue(u32 gpio_pad_name, GpioValue val) {
|
|||
*(reinterpret_cast<volatile u32 *>(gpio_base_vaddr + gpio_reg_offset + 0xA0)) = gpio_out_val;
|
||||
|
||||
/* Do a dummy read from GPIO_OUT_x register (lower offset) */
|
||||
gpio_out_val = *(reinterpret_cast<volatile u32 *>(gpio_base_vaddr + gpio_reg_offset));
|
||||
gpio_out_val = *(reinterpret_cast<volatile u32 *>(gpio_base_vaddr + gpio_reg_offset + 0x20));
|
||||
|
||||
return gpio_out_val;
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
|
||||
#include "boot_functions.hpp"
|
||||
#include "boot_reboot_manager.hpp"
|
||||
#include "i2c_driver/i2c_api.hpp"
|
||||
|
||||
extern "C" {
|
||||
extern u32 __start__;
|
||||
|
@ -120,18 +121,25 @@ int main(int argc, char **argv)
|
|||
/* Talk to PMIC/RTC, set boot reason with SPL. */
|
||||
Boot::DetectBootReason();
|
||||
|
||||
/* Display splash screen for two seconds. */
|
||||
Boot::ShowSplashScreen();
|
||||
const HardwareType hw_type = Boot::GetHardwareType();
|
||||
if (hw_type != HardwareType_Copper) {
|
||||
/* Display splash screen for two seconds. */
|
||||
Boot::ShowSplashScreen();
|
||||
|
||||
/* Check that the battery has enough to boot. */
|
||||
Boot::CheckBatteryCharge();
|
||||
/* Check that the battery has enough to boot. */
|
||||
Boot::CheckBatteryCharge();
|
||||
}
|
||||
|
||||
/* Configure pinmux + drive pads. */
|
||||
Boot::ConfigurePinmux();
|
||||
|
||||
/* TODO: SetInitialWakePinConfiguration(); */
|
||||
|
||||
Boot::SetInitialClockConfiguration();
|
||||
if (hw_type != HardwareType_Copper) {
|
||||
Boot::SetInitialClockConfiguration();
|
||||
}
|
||||
|
||||
Boot::SetFanEnabled();
|
||||
|
||||
/* TODO: CheckAndRepairBootImages(); */
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ Result Pcv::SetReset(PcvModule module, bool reset) {
|
|||
if (reset) {
|
||||
SetRegisterBits(regs.rst_reg, regs.mask);
|
||||
} else {
|
||||
ClearRegisterBits(regs.rst_reg, regs.mask);
|
||||
ClearRegisterBits(regs.rst_reg, ~regs.mask);
|
||||
}
|
||||
|
||||
return ResultSuccess;
|
||||
|
|
Loading…
Reference in a new issue