mirror of
https://github.com/Atmosphere-NX/Atmosphere
synced 2025-01-03 11:11:14 +00:00
sdmmc: fix speed mode extension, add CheckMmcConnection for debug
This commit is contained in:
parent
b2f4e0c1b4
commit
9a41e19004
4 changed files with 17 additions and 2 deletions
|
@ -73,8 +73,18 @@ namespace ams::sdmmc_test {
|
|||
DEBUG[0] = 5;
|
||||
CheckResult(result);
|
||||
|
||||
/* Get the connection status. */
|
||||
sdmmc::SpeedMode speed_mode;
|
||||
sdmmc::BusWidth bus_width;
|
||||
result = sdmmc::CheckMmcConnection(std::addressof(speed_mode), std::addressof(bus_width), Port);
|
||||
|
||||
/* Save status for debug. */
|
||||
DEBUG[0] = 6;
|
||||
DEBUG[1] = result.GetValue();
|
||||
DEBUG[2] = static_cast<u32>(speed_mode);
|
||||
DEBUG[3] = static_cast<u32>(bus_width);
|
||||
|
||||
/* Perform a reboot. */
|
||||
DEBUG[1] = 0;
|
||||
PmcMainReboot();
|
||||
}
|
||||
|
||||
|
|
|
@ -38,5 +38,6 @@ namespace ams::sdmmc {
|
|||
Result GetMmcBootPartitionCapacity(u32 *out_num_sectors, Port port);
|
||||
Result GetMmcExtendedCsd(void *out_buffer, size_t buffer_size, Port port);
|
||||
|
||||
Result CheckMmcConnection(SpeedMode *out_speed_mode, BusWidth *out_bus_width, Port port);
|
||||
|
||||
}
|
|
@ -65,7 +65,7 @@ namespace ams::sdmmc::impl {
|
|||
return (ext_csd[163] & (1u << 1)) != 0;
|
||||
}
|
||||
|
||||
constexpr bool GetDeviceType(const u8 *ext_csd) {
|
||||
constexpr u8 GetDeviceType(const u8 *ext_csd) {
|
||||
/* Get the DEVICE_TYPE register. */
|
||||
AMS_ABORT_UNLESS(ext_csd != nullptr);
|
||||
return ext_csd[196];
|
||||
|
|
|
@ -66,4 +66,8 @@ namespace ams::sdmmc {
|
|||
return GetMmcDeviceAccessor(port)->GetMmcExtendedCsd(out_buffer, buffer_size);
|
||||
}
|
||||
|
||||
Result CheckMmcConnection(SpeedMode *out_speed_mode, BusWidth *out_bus_width, Port port) {
|
||||
return GetMmcDeviceAccessor(port)->CheckConnection(out_speed_mode, out_bus_width);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue