M module-bsp/board/rt1051/bsp/audio/CodecMAX98090.cpp => module-bsp/board/rt1051/bsp/audio/CodecMAX98090.cpp +38 -38
@@ 31,15 31,15 @@ CodecRetCode CodecMAX98090::Start(const CodecParams ¶m)
// Turn off device
i2cAddr.subAddress = MAX98090_REG_DEVICE_SHUTDOWN;
- max98090_reg_shutdown_t dev_shutdown = {.shdn = 0};
+ max98090_reg_shutdown_t dev_shutdown = {};
i2c->Write(i2cAddr, (uint8_t *)&dev_shutdown, 1);
- max98090_reg_masterclock_quick_setup_t masterclock_setup = {0};
+ max98090_reg_masterclock_quick_setup_t masterclock_setup = {};
masterclock_setup.M12P288 = 1;
i2cAddr.subAddress = MAX98090_REG_MASTER_CLOCK_QUICK_SETUP;
i2c->Write(i2cAddr, (uint8_t *)&masterclock_setup, 1);
- max98090_reg_master_samplerate_quick_setup_t samplerate_setup = {0};
+ max98090_reg_master_samplerate_quick_setup_t samplerate_setup = {};
switch (params.sampleRate) {
case CodecParamsMAX98090::SampleRate::Rate8KHz:
@@ 73,7 73,7 @@ CodecRetCode CodecMAX98090::Start(const CodecParams ¶m)
i2c->Write(i2cAddr, (uint8_t *)&samplerate_setup, 1);
// Sets up DAI for I2S master mode operation.
- max98090_reg_dai_quick_setup_t q_dai_setup = {0};
+ max98090_reg_dai_quick_setup_t q_dai_setup = {};
q_dai_setup.i2sm = 1;
i2cAddr.subAddress = MAX98090_REG_DAI_QUICK_SETUP;
i2c->Write(i2cAddr, (uint8_t *)&q_dai_setup, 1);
@@ 82,7 82,7 @@ CodecRetCode CodecMAX98090::Start(const CodecParams ¶m)
if (params.outputPath != bsp::AudioDevice::OutputPath::None) {
// Control HP performance
- max98090_reg_dachp_perfmode_t dacperf = {0};
+ max98090_reg_dachp_perfmode_t dacperf = {};
dacperf.dachp = 1;
dacperf.perfmode = 0;
i2cAddr.subAddress = MAX98090_REG_DACHP_PERF_MODE;
@@ 91,24 91,24 @@ CodecRetCode CodecMAX98090::Start(const CodecParams ¶m)
switch (params.outputPath) {
case bsp::AudioDevice::OutputPath::HeadphonesMono: {
- max98090_reg_playback_quick_setup_t q_playback_setup = {0};
+ max98090_reg_playback_quick_setup_t q_playback_setup = {};
q_playback_setup.dig2hp = 1;
i2cAddr.subAddress = MAX98090_REG_PLAYBACK_QUICK_SETUP;
i2c->Write(i2cAddr, (uint8_t *)&q_playback_setup, 1);
// Mix left DAC channel to left&right HP output
- max98090_reg_lhp_mixer_t lmixconf = {0};
+ max98090_reg_lhp_mixer_t lmixconf = {};
lmixconf.mixhpl = 1;
i2cAddr.subAddress = MAX98090_REG_LHP_MIXER_CONF;
i2c->Write(i2cAddr, (uint8_t *)&lmixconf, 1);
- max98090_reg_rhp_mixer_t rmixconf = {0};
+ max98090_reg_rhp_mixer_t rmixconf = {};
rmixconf.mixhpr = 1;
i2cAddr.subAddress = MAX98090_REG_RHP_MIXER_CONF;
i2c->Write(i2cAddr, (uint8_t *)&rmixconf, 1);
// Use mixer outputs instead of direct DAC outputs
- max98090_reg_hpmix_conf_t mixconf = {0};
+ max98090_reg_hpmix_conf_t mixconf = {};
mixconf.mixhplsel = 1;
mixconf.mixhprsel = 1;
i2cAddr.subAddress = MAX98090_REG_HP_MIX_CONF;
@@ 117,7 117,7 @@ CodecRetCode CodecMAX98090::Start(const CodecParams ¶m)
} break;
case bsp::AudioDevice::OutputPath::Headphones: {
- max98090_reg_playback_quick_setup_t q_playback_setup = {0};
+ max98090_reg_playback_quick_setup_t q_playback_setup = {};
q_playback_setup.dig2hp = 1;
i2cAddr.subAddress = MAX98090_REG_PLAYBACK_QUICK_SETUP;
i2c->Write(i2cAddr, (uint8_t *)&q_playback_setup, 1);
@@ 125,7 125,7 @@ CodecRetCode CodecMAX98090::Start(const CodecParams ¶m)
} break;
case bsp::AudioDevice::OutputPath::Earspeaker: {
- max98090_reg_playback_quick_setup_t q_playback_setup = {0};
+ max98090_reg_playback_quick_setup_t q_playback_setup = {};
q_playback_setup.dig2ear = 1;
i2cAddr.subAddress = MAX98090_REG_PLAYBACK_QUICK_SETUP;
i2c->Write(i2cAddr, (uint8_t *)&q_playback_setup, 1);
@@ 135,7 135,7 @@ CodecRetCode CodecMAX98090::Start(const CodecParams ¶m)
} break;
case bsp::AudioDevice::OutputPath::Loudspeaker: {
- max98090_reg_playback_quick_setup_t q_playback_setup = {0};
+ max98090_reg_playback_quick_setup_t q_playback_setup = {};
q_playback_setup.dig2spk = 1;
i2cAddr.subAddress = MAX98090_REG_PLAYBACK_QUICK_SETUP;
i2c->Write(i2cAddr, (uint8_t *)&q_playback_setup, 1);
@@ 145,7 145,7 @@ CodecRetCode CodecMAX98090::Start(const CodecParams ¶m)
i2c->Modify(i2cAddr, mask, true, 1);
// Turn off right speaker path
- max98090_reg_outputenable_t outputenable = {0};
+ max98090_reg_outputenable_t outputenable = {};
outputenable.dalen = 1;
outputenable.splen = 1;
i2cAddr.subAddress = MAX98090_REG_OUTPUT_ENABLE;
@@ 156,13 156,13 @@ CodecRetCode CodecMAX98090::Start(const CodecParams ¶m)
} break;
case bsp::AudioDevice::OutputPath::LoudspeakerMono: {
- max98090_reg_playback_quick_setup_t q_playback_setup = {0};
+ max98090_reg_playback_quick_setup_t q_playback_setup = {};
q_playback_setup.dig2spk = 1;
i2cAddr.subAddress = MAX98090_REG_PLAYBACK_QUICK_SETUP;
i2c->Write(i2cAddr, (uint8_t *)&q_playback_setup, 1);
// Turn off right speaker path
- max98090_reg_outputenable_t outputenable = {0};
+ max98090_reg_outputenable_t outputenable = {};
outputenable.dalen = 1;
outputenable.splen = 1;
i2cAddr.subAddress = MAX98090_REG_OUTPUT_ENABLE;
@@ 182,15 182,15 @@ CodecRetCode CodecMAX98090::Start(const CodecParams ¶m)
switch (params.inputPath) {
case bsp::AudioDevice::InputPath::Headphones: {
- max98090_reg_input_to_record_quick_t q_input_setup = {0};
+ max98090_reg_input_to_record_quick_t q_input_setup = {};
q_input_setup.in34dan = 1;
i2cAddr.subAddress = MAX98090_REG_LINE_INPUT_TO_RECORD_QUICK;
i2c->Write(i2cAddr, (uint8_t *)&q_input_setup, 1);
} break;
case bsp::AudioDevice::InputPath::Microphone: {
- max98090_reg_input_to_record_quick_t q_input_setup = {0};
- max98090_reg_digmic_enable_t digena = {0};
+ max98090_reg_input_to_record_quick_t q_input_setup = {};
+ max98090_reg_digmic_enable_t digena = {};
// Enable left and right digital mic interface
digena.digmicl = 1;
@@ 240,7 240,7 @@ CodecRetCode CodecMAX98090::Start(const CodecParams ¶m)
CodecRetCode CodecMAX98090::Pause()
{
// Turn off device
- max98090_reg_shutdown_t dev_shutdown = {.shdn = 0};
+ max98090_reg_shutdown_t dev_shutdown = {};
i2cAddr.subAddress = MAX98090_REG_DEVICE_SHUTDOWN;
i2c->Write(i2cAddr, (uint8_t *)&dev_shutdown, 1);
@@ 250,7 250,7 @@ CodecRetCode CodecMAX98090::Pause()
CodecRetCode CodecMAX98090::Resume()
{
// Turn on device
- max98090_reg_shutdown_t dev_shutdown = {.shdn = 1};
+ max98090_reg_shutdown_t dev_shutdown = {.unused = 0, .shdn = 1};
i2cAddr.subAddress = MAX98090_REG_DEVICE_SHUTDOWN;
i2c->Write(i2cAddr, (uint8_t *)&dev_shutdown, 1);
@@ 315,8 315,8 @@ CodecRetCode CodecMAX98090::SetOutputVolume(const float vol)
// Scale input volume(range 0 - 100) to MAX98090 range(decibels hardcoded as specific hex values)
constexpr float scale_factor = .31f * 10.f;
uint8_t volume = static_cast<float>(vol * scale_factor);
- max98090_reg_lhp_vol_ctrl_t lvol = {0};
- max98090_reg_rhp_vol_ctrl_t rvol = {0};
+ max98090_reg_lhp_vol_ctrl_t lvol = {};
+ max98090_reg_rhp_vol_ctrl_t rvol = {};
lvol.hplm = mute;
rvol.hprm = mute;
@@ 334,7 334,7 @@ CodecRetCode CodecMAX98090::SetOutputVolume(const float vol)
// Scale input volume(range 0 - 100) to MAX98090 range(decibels hardcoded as specific hex values)
constexpr float scale_factor = .31f * 10.f;
uint8_t volume = static_cast<float>(vol * scale_factor);
- max98090_reg_recv_vol_ctrl_t vol = {0};
+ max98090_reg_recv_vol_ctrl_t vol = {};
vol.rcvlm = mute;
vol.rcvlvol = volume;
@@ 349,8 349,8 @@ CodecRetCode CodecMAX98090::SetOutputVolume(const float vol)
constexpr float scale_factor = .39f * 10.f;
uint8_t volume = static_cast<float>(vol * scale_factor) + 0x18;
- max98090_reg_lspk_vol_ctrl_t lvol = {0};
- max98090_reg_rspk_vol_ctrl_t rvol = {0};
+ max98090_reg_lspk_vol_ctrl_t lvol = {};
+ max98090_reg_rspk_vol_ctrl_t rvol = {};
lvol.splm = mute;
rvol.sprm = mute;
@@ 381,7 381,7 @@ CodecRetCode CodecMAX98090::SetInputGain(const float gain)
gainToSet = 10;
}
- max98090_reg_lrec_dig_gain_t lgain = {0};
+ max98090_reg_lrec_dig_gain_t lgain = {};
lgain.avl = 0xF; // fine gain - 0xF: -12dB
lgain.avlg = gainToSet * 0.7; // coarse gain (0.7 used as scaling factor)
@@ 389,7 389,7 @@ CodecRetCode CodecMAX98090::SetInputGain(const float gain)
i2c->Write(i2cAddr, (uint8_t *)&lgain, 1);
// coarse gain - 18dB, fine gain - 0dB
- max98090_reg_rrec_dig_gain_t rgain = {0};
+ max98090_reg_rrec_dig_gain_t rgain = {};
rgain.avr = 0xF; // fine gain - 0xF: -12dB
rgain.avrg = gainToSet * 0.7; // coarse gain (0.7 used as scaling factor)
@@ 426,7 426,7 @@ CodecRetCode CodecMAX98090::WriteFilterCoeff(const float coeff, const uint8_t ba
CodecRetCode CodecMAX98090::MicBias(const bool enable)
{
- max98090_reg_bias_mode_t biasmode = {0};
+ max98090_reg_bias_mode_t biasmode = {};
// BIAS created by bandgap reference
biasmode.biasmode = 1;
@@ 444,9 444,9 @@ CodecRetCode CodecMAX98090::MicBias(const bool enable)
CodecRetCode CodecMAX98090::SetupEarspeakerEqualizer()
{
- qfilter_coefficients_t band1_filter = {0};
- qfilter_coefficients_t band2_filter = {0};
- qfilter_coefficients_t band3_filter = {0};
+ qfilter_coefficients_t band1_filter = {};
+ qfilter_coefficients_t band2_filter = {};
+ qfilter_coefficients_t band3_filter = {};
// Highpass,lowpass & flat filters don't use Gain parameter
qfilter_CalculateCoeffs(FilterHighPass, 800, currentParams.GetSampleRateVal(), 0.707, 1, &band1_filter);
@@ 475,7 475,7 @@ CodecRetCode CodecMAX98090::SetupEarspeakerEqualizer()
WriteFilterCoeff(band3_filter.a2, 0x70);
// Enable 3-band filter
- max98090_reg_dsp_biquadfilter_enable_t filter = {0};
+ max98090_reg_dsp_biquadfilter_enable_t filter = {};
filter.eq3banden = 1;
i2cAddr.subAddress = MAX98090_REG_DSP_BIQUAD_FILTER_ENABLE;
i2c->Write(i2cAddr, (uint8_t *)&filter, 1);
@@ 485,9 485,9 @@ CodecRetCode CodecMAX98090::SetupEarspeakerEqualizer()
CodecRetCode CodecMAX98090::SetupLoudspeakerEqualizer()
{
- qfilter_coefficients_t band1_filter = {0};
- qfilter_coefficients_t band2_filter = {0};
- qfilter_coefficients_t band3_filter = {0};
+ qfilter_coefficients_t band1_filter = {};
+ qfilter_coefficients_t band2_filter = {};
+ qfilter_coefficients_t band3_filter = {};
// Highpass,lowpass & flat filters don't use Gain parameter
qfilter_CalculateCoeffs(FilterHighPass, 500, currentParams.GetSampleRateVal(), 0.707, 1, &band1_filter);
@@ 516,7 516,7 @@ CodecRetCode CodecMAX98090::SetupLoudspeakerEqualizer()
WriteFilterCoeff(band3_filter.a2, 0x70);
// Enable 3-band filter
- max98090_reg_dsp_biquadfilter_enable_t filter = {0};
+ max98090_reg_dsp_biquadfilter_enable_t filter = {};
filter.eq3banden = 1;
i2cAddr.subAddress = MAX98090_REG_DSP_BIQUAD_FILTER_ENABLE;
i2c->Write(i2cAddr, (uint8_t *)&filter, 1);
@@ 528,13 528,13 @@ CodecRetCode CodecMAX98090::Reset()
{
// Turn off device
- max98090_reg_shutdown_t dev_shutdown = {.shdn = 0};
+ max98090_reg_shutdown_t dev_shutdown = {.unused = 0, .shdn = 0};
i2cAddr.subAddress = MAX98090_REG_DEVICE_SHUTDOWN;
i2c->Write(i2cAddr, (uint8_t *)&dev_shutdown, 1);
// Set all registers to default state
- max98090_reg_swreset_t reset = {0};
+ max98090_reg_swreset_t reset = {};
reset.swreset = 1;
i2cAddr.subAddress = MAX98090_REG_SWRESET;
i2c->Write(i2cAddr, (uint8_t *)&reset, 1);
M module-bsp/board/rt1051/bsp/audio/RT1051Audiocodec.cpp => module-bsp/board/rt1051/bsp/audio/RT1051Audiocodec.cpp +2 -2
@@ 211,7 211,7 @@ namespace bsp
void RT1051Audiocodec::InStart()
{
- sai_transfer_format_t sai_format = {0};
+ sai_transfer_format_t sai_format = {};
/* Configure the audio format */
sai_format.bitWidth = saiInFormat.bitWidth;
@@ 253,7 253,7 @@ namespace bsp
void RT1051Audiocodec::OutStart()
{
- sai_transfer_format_t sai_format = {0};
+ sai_transfer_format_t sai_format = {};
/* Configure the audio format */
sai_format.bitWidth = saiOutFormat.bitWidth;
M module-bsp/board/rt1051/bsp/audio/RT1051BluetoothAudio.cpp => module-bsp/board/rt1051/bsp/audio/RT1051BluetoothAudio.cpp +1 -1
@@ 62,7 62,7 @@ namespace bsp
if (framesFetched == 0) {
break;
}
- else if (framesFetched < inst->audioData.data.size()) {
+ else if (size_t(framesFetched) < inst->audioData.data.size()) {
std::fill(inst->audioData.data.begin() + framesFetched, inst->audioData.data.end(), 0);
}
M module-bsp/board/rt1051/bsp/audio/RT1051CellularAudio.cpp => module-bsp/board/rt1051/bsp/audio/RT1051CellularAudio.cpp +2 -2
@@ 172,7 172,7 @@ namespace bsp
void RT1051CellularAudio::InStart()
{
- sai_transfer_format_t sai_format = {0};
+ sai_transfer_format_t sai_format = {};
/* Configure the audio format */
sai_format.bitWidth = saiInFormat.bitWidth;
@@ 214,7 214,7 @@ namespace bsp
void RT1051CellularAudio::OutStart()
{
- sai_transfer_format_t sai_format = {0};
+ sai_transfer_format_t sai_format = {};
/* Configure the audio format */
sai_format.bitWidth = saiOutFormat.bitWidth;
M module-bsp/board/rt1051/bsp/eMMC/fsl_mmc.c => module-bsp/board/rt1051/bsp/eMMC/fsl_mmc.c +20 -12
@@ 54,7 54,7 @@
* @retval kStatus_SDMMC_TransferFailed Transfer failed.
* @retval kStatus_Success Operate successfully.
*/
-static status_t inline MMC_SelectCard(mmc_card_t *card, bool isSelected);
+inline static status_t MMC_SelectCard(mmc_card_t *card, bool isSelected);
/*!
* @brief Wait write process complete.
@@ 73,7 73,7 @@ static status_t MMC_WaitWriteComplete(mmc_card_t *card);
* @retval kStatus_SDMMC_TransferFailed Transfer failed.
* @retval kStatus_Success Operate successfully.
*/
-static status_t inline MMC_SetBlockCount(mmc_card_t *card, uint32_t blockCount);
+inline static status_t MMC_SetBlockCount(mmc_card_t *card, uint32_t blockCount);
/*!
* @brief Send GO_IDLE command to reset all cards to idle state
@@ 82,7 82,7 @@ static status_t inline MMC_SetBlockCount(mmc_card_t *card, uint32_t blockCount);
* @retval kStatus_SDMMC_TransferFailed Transfer failed.
* @retval kStatus_Success Operate successfully.
*/
-static status_t inline MMC_GoIdle(mmc_card_t *card);
+inline static status_t MMC_GoIdle(mmc_card_t *card);
/*!
* @brief Send STOP_TRANSMISSION command to card to stop ongoing data transferring.
@@ 101,7 101,7 @@ static status_t MMC_StopTransmission(mmc_card_t *card);
* @retval kStatus_SDMMC_TransferFailed Transfer failed.
* @retval kStatus_Success Operate successfully.
*/
-static status_t inline MMC_SetBlockSize(mmc_card_t *card, uint32_t blockSize);
+inline static status_t MMC_SetBlockSize(mmc_card_t *card, uint32_t blockSize);
/*!
* @brief switch voltage.
@@ 203,7 203,7 @@ static status_t MMC_SendExtendedCsd(mmc_card_t *card, uint8_t *targetAddr, uint3
* @param card Card descriptor.
* @return The power class switch status.
*/
-static status_t MMC_SetPowerClass(mmc_card_t *card);
+static status_t MMC_SetPowerClass(mmc_card_t *card) __attribute__((used));
/*!
* @brief Send test pattern to get the functional pin in the MMC bus
@@ 369,7 369,7 @@ static status_t MMC_CheckEraseGroupRange(mmc_card_t *card, uint32_t startGroup,
* @retval kStatus_SDMMC_TuningFail tuning fail.
* @retval kStatus_SDMMC_TransferFailed transfer fail
*/
-static status_t inline MMC_ExecuteTuning(mmc_card_t *card);
+inline static status_t MMC_ExecuteTuning(mmc_card_t *card);
/*!
* @brief Read data from specific MMC card
@@ 420,7 420,6 @@ static status_t MMC_Write(
static status_t MMC_Transfer(mmc_card_t *card, SDMMCHOST_TRANSFER *content, uint32_t retry);
static status_t MMC_SendIdentifyDevice(mmc_card_t *card, uint32_t arg);
-static status_t MMC_SwitchToHS(mmc_card_t *card);
/*******************************************************************************
* Variables
@@ 436,28 435,28 @@ extern uint32_t g_sdmmc[SDK_SIZEALIGN(SDMMC_GLOBAL_BUFFER_SIZE, SDMMC_DATA_BUFFE
/*******************************************************************************
* Code
******************************************************************************/
-static status_t inline MMC_SelectCard(mmc_card_t *card, bool isSelected)
+inline static status_t MMC_SelectCard(mmc_card_t *card, bool isSelected)
{
assert(card);
return SDMMC_SelectCard(card->host.base, card->host.transfer, card->relativeAddress, isSelected);
}
-static status_t inline MMC_SetBlockCount(mmc_card_t *card, uint32_t blockCount)
+inline static status_t MMC_SetBlockCount(mmc_card_t *card, uint32_t blockCount)
{
assert(card);
return SDMMC_SetBlockCount(card->host.base, card->host.transfer, blockCount);
}
-static status_t inline MMC_GoIdle(mmc_card_t *card)
+inline static status_t MMC_GoIdle(mmc_card_t *card)
{
assert(card);
return SDMMC_GoIdle(card->host.base, card->host.transfer);
}
-static status_t inline MMC_SetBlockSize(mmc_card_t *card, uint32_t blockSize)
+inline static status_t MMC_SetBlockSize(mmc_card_t *card, uint32_t blockSize)
{
assert(card);
@@ 579,6 578,7 @@ static status_t MMC_StopTransmission(mmc_card_t *card)
return kStatus_Success;
}
+static status_t MMC_SwitchVoltage(mmc_card_t *card, uint32_t *opCode) __attribute__((used));
static status_t MMC_SwitchVoltage(mmc_card_t *card, uint32_t *opCode)
{
mmc_voltage_window_t tempVoltage = kMMC_VoltageWindowNone;
@@ 663,6 663,7 @@ static status_t MMC_SendIdentifyDevice(mmc_card_t *card, uint32_t arg)
return kStatus_Success;
}
+static status_t MMC_SendOperationCondition(mmc_card_t *card, uint32_t arg) __attribute((used));
static status_t MMC_SendOperationCondition(mmc_card_t *card, uint32_t arg)
{
assert(card);
@@ 804,6 805,7 @@ static void MMC_DecodeCsd(mmc_card_t *card, uint32_t *rawCsd)
card->blockSize = FSL_SDMMC_DEFAULT_BLOCK_SIZE;
}
+static void MMC_SetMaxFrequency(mmc_card_t *card) __attribute__((used));
static void MMC_SetMaxFrequency(mmc_card_t *card)
{
assert(card);
@@ 823,6 825,7 @@ static void MMC_SetMaxFrequency(mmc_card_t *card)
card->busClock_Hz = SDMMCHOST_SET_CARD_CLOCK(card->host.base, card->host.sourceClock_Hz, maxBusClock_Hz);
}
+static status_t MMC_SetMaxEraseUnitSize(mmc_card_t *card) __attribute__((used));
static status_t MMC_SetMaxEraseUnitSize(mmc_card_t *card)
{
assert(card);
@@ 1320,6 1323,7 @@ static status_t MMC_SetMaxDataBusWidth(mmc_card_t *card, mmc_high_speed_timing_t
return kStatus_SDMMC_SetDataBusWidthFailed;
}
}
+ __attribute__((fallthrough));
case kMMC_DataBusWidth4bitDDR:
if ((SDMMCHOST_NOT_SUPPORT != kSDMMCHOST_Support4BitBusWidth) &&
(card->flags & (kMMC_SupportHighSpeedDDR52MHZ180V300VFlag | kMMC_SupportHighSpeedDDR52MHZ120VFlag)) &&
@@ 1333,6 1337,7 @@ static status_t MMC_SetMaxDataBusWidth(mmc_card_t *card, mmc_high_speed_timing_t
break;
}
}
+ __attribute__((fallthrough));
case kMMC_DataBusWidth8bit:
if ((SDMMCHOST_NOT_SUPPORT != kSDMMCHOST_Support8BitBusWidth) &&
((targetTiming == kMMC_HighSpeedTiming) || (targetTiming == kMMC_HighSpeed200Timing))) {
@@ 1344,7 1349,7 @@ static status_t MMC_SetMaxDataBusWidth(mmc_card_t *card, mmc_high_speed_timing_t
break;
}
}
-
+ __attribute__((fallthrough));
case kMMC_DataBusWidth4bit:
if ((SDMMCHOST_NOT_SUPPORT != kSDMMCHOST_Support4BitBusWidth) &&
((targetTiming == kMMC_HighSpeedTiming) || (targetTiming == kMMC_HighSpeed200Timing))) {
@@ 1589,6 1594,7 @@ static status_t MMC_SelectBusTiming(mmc_card_t *card)
switch (targetTiming) {
case kMMC_HighSpeedTimingNone:
case kMMC_HighSpeed400Timing:
+ /* fall through */
if ((card->flags & (kMMC_SupportHS400DDR200MHZ180VFlag | kMMC_SupportHS400DDR200MHZ120VFlag)) &&
((kSDMMCHOST_SupportHS400 != SDMMCHOST_NOT_SUPPORT))) {
/* switch to HS200 perform tuning */
@@ 1601,6 1607,7 @@ static status_t MMC_SelectBusTiming(mmc_card_t *card)
}
break;
}
+ __attribute__((fallthrough));
case kMMC_HighSpeed200Timing:
if ((card->flags & (kMMC_SupportHS200200MHZ180VFlag | kMMC_SupportHS200200MHZ120VFlag)) &&
((kSDMMCHOST_SupportHS200 != SDMMCHOST_NOT_SUPPORT))) {
@@ 1609,6 1616,7 @@ static status_t MMC_SelectBusTiming(mmc_card_t *card)
}
break;
}
+ __attribute__((fallthrough));
case kMMC_HighSpeedTiming:
if (kStatus_Success != MMC_SwitchToHighSpeed(card)) {
return kStatus_SDMMC_SwitchBusTimingFailed;
M module-bsp/board/rt1051/bsp/eink/ED028TC1.cpp => module-bsp/board/rt1051/bsp/eink/ED028TC1.cpp +1 -1
@@ 74,7 74,7 @@
//#endif
/// This is DMA handle for internal frame buffer memory-to-memory copying operation
-static edma_handle_t s_einkMemcpyDma_handle;
+static edma_handle_t s_einkMemcpyDma_handle __attribute__((used));
using namespace drivers;
using namespace magic_enum;
M module-bsp/board/rt1051/bsp/eink/bsp_eink.cpp => module-bsp/board/rt1051/bsp/eink/bsp_eink.cpp +8 -3
@@ 112,6 112,11 @@ static bsp_eink_driver_t BSP_EINK_LPSPI_EdmaDriverState = {
&BSP_EINK_LPSPI_EdmaHandle,
nullptr, // will be filled in init function
nullptr, // will be filled in init function
+ 0,
+ 0,
+ 0,
+ SPI_AUTOMATIC_CS,
+ EventWaitRegistered,
};
static SemaphoreHandle_t bsp_eink_TransferComplete;
@@ 142,7 147,7 @@ static void s_LPSPI_MasterEdmaCallback(LPSPI_Type *base,
status_t BSP_EinkInit(bsp_eink_BusyEvent event)
{
bsp_eink_driver_t *lpspi = &BSP_EINK_LPSPI_EdmaDriverState;
- lpspi_edma_resource_t *dmaResource = lpspi->dmaResource;
+ // lpspi_edma_resource_t *dmaResource = lpspi->dmaResource;
// If was already created - free it
if (bsp_eink_busySemaphore != NULL) {
@@ 297,7 302,7 @@ status_t BSP_EinkWriteData(void *txBuffer, uint32_t len, eink_spi_cs_config_e cs
const uint32_t TX_TIMEOUT_MS = 1000;
status_t tx_status = 0;
status_t status;
- lpspi_transfer_t xfer = {0};
+ lpspi_transfer_t xfer = {};
if (cs == SPI_AUTOMATIC_CS) {
BSP_EinkWriteCS(BSP_Eink_CS_Clr);
@@ 384,7 389,7 @@ status_t BSP_EinkReadData(void *rxBuffer, uint32_t len, eink_spi_cs_config_e cs)
const int RX_TIMEOUT_MS = 1000;
status_t tx_status = 0;
status_t status;
- lpspi_transfer_t xfer = {0};
+ lpspi_transfer_t xfer = {};
xfer.txData = NULL;
xfer.rxData = (uint8_t *)rxBuffer;
M module-bsp/board/rt1051/bsp/headset/headset.cpp => module-bsp/board/rt1051/bsp/headset/headset.cpp +3 -2
@@ 37,7 37,8 @@ namespace bsp
static std::shared_ptr<drivers::DriverI2C> i2c;
static std::shared_ptr<drivers::DriverGPIO> gpio;
- static drivers::I2CAddress i2cAddr = {.deviceAddress = HEADSET_I2C_ADDR, .subAddressSize = 0x01};
+ static drivers::I2CAddress i2cAddr = {
+ .deviceAddress = HEADSET_I2C_ADDR, .subAddress = 0, .subAddressSize = 0x01};
static TimerHandle_t timerHandle;
static xQueueHandle qHandleIrq = nullptr;
@@ 50,7 51,7 @@ namespace bsp
bool ret = false;
i2cAddr.subAddress = HEADSET_INT_REG_ADDR;
- auto err = i2c->Read(i2cAddr, (uint8_t *)®, 1);
+ i2c->Read(i2cAddr, (uint8_t *)®, 1);
i2cAddr.subAddress = HEADSET_DET_RES_ADDR;
i2c->Read(i2cAddr, (uint8_t *)®, 1);
M module-bsp/board/rt1051/bsp/keyboard/keyboard.cpp => module-bsp/board/rt1051/bsp/keyboard/keyboard.cpp +2 -2
@@ 26,8 26,8 @@ namespace bsp
using namespace drivers;
static std::shared_ptr<drivers::DriverI2C> i2c;
- static drivers::I2CAddress i2cAddr = {.deviceAddress = TCA8418_I2C_ADDRESS,
- .subAddressSize = TCA8418_I2C_ADDRESS_SIZE};
+ static drivers::I2CAddress i2cAddr = {
+ .deviceAddress = TCA8418_I2C_ADDRESS, .subAddress = 0, .subAddressSize = TCA8418_I2C_ADDRESS_SIZE};
static std::shared_ptr<DriverGPIO> gpio;
#define KEYBOARD_CONTACT_OSCILLATION_TIMEOUT_MS 20
M module-bsp/board/rt1051/bsp/keypad_backlight/keypad_backlight.cpp => module-bsp/board/rt1051/bsp/keypad_backlight/keypad_backlight.cpp +2 -1
@@ 24,7 24,8 @@ namespace bsp::keypad_backlight
std::shared_ptr<drivers::DriverI2C> i2c;
- drivers::I2CAddress addr = {.deviceAddress = static_cast<uint32_t>(LP55281_DEVICE_ADDR), .subAddressSize = 1};
+ drivers::I2CAddress addr = {
+ .deviceAddress = static_cast<uint32_t>(LP55281_DEVICE_ADDR), .subAddress = 0, .subAddressSize = 1};
constexpr std::array<LP55281_Registers, 4> usedOutputs = {LP55281_Registers::RED2, // Red right button
LP55281_Registers::GREEN3, // Green left button
M module-bsp/board/rt1051/bsp/light_sensor/light_sensor.cpp => module-bsp/board/rt1051/bsp/light_sensor/light_sensor.cpp +3 -1
@@ 18,7 18,8 @@ namespace bsp::light_sensor
std::shared_ptr<drivers::DriverI2C> i2c;
xQueueHandle qHandleIrq = nullptr;
- drivers::I2CAddress addr = {.deviceAddress = static_cast<uint32_t>(LTR303ALS_DEVICE_ADDR), .subAddressSize = 1};
+ drivers::I2CAddress addr = {
+ .deviceAddress = static_cast<uint32_t>(LTR303ALS_DEVICE_ADDR), .subAddress = 0, .subAddressSize = 1};
bool writeSingleRegister(std::uint32_t address, std::uint8_t *to_send)
{
@@ 43,6 44,7 @@ namespace bsp::light_sensor
constexpr inline std::uint16_t irqLevelUp = 0xffff;
constexpr inline std::uint16_t irqLevelLow = 0;
+ void configureInterrupts() __attribute__((used));
void configureInterrupts()
{
// Has to be done before sensor active mode
M module-bsp/board/rt1051/bsp/magnetometer/magnetometer.cpp => module-bsp/board/rt1051/bsp/magnetometer/magnetometer.cpp +5 -4
@@ 18,7 18,7 @@ using namespace utils;
static std::shared_ptr<drivers::DriverI2C> i2c;
-static I2CAddress addr = {.deviceAddress = als31300::I2C_ADDRESS, .subAddressSize = 1};
+static I2CAddress addr = {.deviceAddress = als31300::I2C_ADDRESS, .subAddress = 0, .subAddressSize = 1};
union i2c_buf_t
{
@@ 161,9 161,10 @@ namespace bsp
// INTERRUPT PIN
gpio->ClearPortInterrupts(1 << static_cast<uint32_t>(BoardDefinitions::MAGNETOMETER_IRQ));
- gpio->ConfPin(DriverGPIOPinParams{.dir = DriverGPIOPinParams::Direction::Input,
- .irqMode = DriverGPIOPinParams::InterruptMode::IntFallingEdge,
- .pin = static_cast<uint32_t>(BoardDefinitions::MAGNETOMETER_IRQ)});
+ gpio->ConfPin(DriverGPIOPinParams{.dir = DriverGPIOPinParams::Direction::Input,
+ .irqMode = DriverGPIOPinParams::InterruptMode::IntFallingEdge,
+ .defLogic = 0,
+ .pin = static_cast<uint32_t>(BoardDefinitions::MAGNETOMETER_IRQ)});
// NOTE: irq not yet enabled
// this version uses timer to poll the sensor
// the timer requests to read the magnetometer periodically
M module-bsp/board/rt1051/bsp/torch/torch.cpp => module-bsp/board/rt1051/bsp/torch/torch.cpp +1 -1
@@ 20,7 20,7 @@ namespace bsp
{
static xQueueHandle qHandleIrq = NULL;
- static I2CAddress addr = {.deviceAddress = 0x63, .subAddressSize = 1};
+ static I2CAddress addr = {.deviceAddress = 0x63, .subAddress = 0, .subAddressSize = 1};
std::shared_ptr<DriverGPIO> gpio;
const unsigned short max_current_mA = 150;
M module-bsp/board/rt1051/bsp/usb => module-bsp/board/rt1051/bsp/usb +1 -1
@@ 1,1 1,1 @@
-Subproject commit eb51f90b7cda303581e94d548c75bfbdda457df8
+Subproject commit bd86bc1e7f464b81746bee08997f8f7adefb99d7
M module-bsp/board/rt1051/common/clock_config.cpp => module-bsp/board/rt1051/common/clock_config.cpp +1 -0
@@ 971,6 971,7 @@ void clkPLL4setup(uint8_t enabled)
.postDivider = 1, /* Divider after the PLL, should only be 1, 2, 4, 8, 16. */
.numerator = 77, /* 30 bit numerator of fractional loop divider. */
.denominator = 100, /* 30 bit denominator of fractional loop divider */
+ .src = 0,
};
if (enabled) {
CLOCK_InitAudioPll(&audioPllConfig_BOARD_BootClockRUN);
M module-bsp/board/rt1051/common/startup_mimxrt1052.cpp => module-bsp/board/rt1051/common/startup_mimxrt1052.cpp +1 -1
@@ 1061,7 1061,7 @@ extern "C"
WEAK_AV void HardFault_Handler_C(syslog_exception_stack_frame_t *frame __attribute__((unused)),
uint32_t lr_value __attribute__((unused)))
{
- static syslog_t syslog = {0};
+ static syslog_t syslog = {};
syslog.stackFrame = *frame;
syslog.registers.hfsr.all = SCB->HFSR;
syslog.registers.cfsr.all = SCB->CFSR;
M module-bsp/board/rt1051/drivers/RT1051DriverDMA.cpp => module-bsp/board/rt1051/drivers/RT1051DriverDMA.cpp +5 -1
@@ 29,12 29,14 @@ namespace drivers
switch (instance) {
case DMAInstances::DMA_0: {
base = DMA0;
- edma_config_t dmaConfig = {0};
+ edma_config_t dmaConfig = {};
EDMA_GetDefaultConfig(&dmaConfig);
EDMA_Init(base, &dmaConfig);
LOG_DEBUG("Init: DMA_0");
} break;
+ default:
+ break;
}
}
@@ 44,6 46,8 @@ namespace drivers
case DMAInstances::DMA_0:
EDMA_Deinit(base);
LOG_DEBUG("Deinit: DMA_0");
+ default:
+ break;
}
}
M module-bsp/board/rt1051/drivers/RT1051DriverDMAMux.cpp => module-bsp/board/rt1051/drivers/RT1051DriverDMAMux.cpp +5 -1
@@ 17,6 17,8 @@ namespace drivers
DMAMUX_Init(base);
LOG_DEBUG("Init: DMAMUX0");
} break;
+ default:
+ break;
}
}
@@ 30,6 32,8 @@ namespace drivers
DMAMUX_Deinit(DMAMUX);
LOG_DEBUG("Deinit DMAMUX0");
} break;
+ default:
+ break;
}
}
@@ 62,4 66,4 @@ namespace drivers
}
}
-} // namespace drivers>
\ No newline at end of file
+} // namespace drivers
M module-bsp/board/rt1051/drivers/RT1051DriverGPIO.cpp => module-bsp/board/rt1051/drivers/RT1051DriverGPIO.cpp +2 -0
@@ 35,6 35,8 @@ namespace drivers
base = GPIO5;
name = "GPIO_5";
} break;
+ default:
+ break;
}
LOG_DEBUG("Init: %s", name.c_str());
M module-bsp/board/rt1051/drivers/RT1051DriverI2C.cpp => module-bsp/board/rt1051/drivers/RT1051DriverI2C.cpp +5 -1
@@ 11,7 11,7 @@ namespace drivers
RT1051DriverI2C::RT1051DriverI2C(const I2CInstances inst, const DriverI2CParams ¶ms) : DriverI2C(params, inst)
{
- lpi2c_master_config_t lpi2cConfig = {0};
+ lpi2c_master_config_t lpi2cConfig = {};
switch (instance) {
case I2CInstances ::I2C1:
@@ 22,6 22,8 @@ namespace drivers
base = LPI2C2;
LOG_DEBUG("Init: I2C2");
break;
+ default:
+ break;
}
LPI2C_MasterGetDefaultConfig(&lpi2cConfig);
LPI2C_MasterInit(base, &lpi2cConfig, GetPerphSourceClock(PerphClock_I2C));
@@ 36,6 38,8 @@ namespace drivers
case I2CInstances ::I2C2:
LOG_DEBUG("Deinit: I2C2");
break;
+ default:
+ break;
}
LPI2C_MasterDeinit(base);
}
M module-bsp/board/rt1051/drivers/RT1051DriverPLL.cpp => module-bsp/board/rt1051/drivers/RT1051DriverPLL.cpp +4 -0
@@ 44,6 44,8 @@ namespace drivers
case PLLInstances::OSC_24M: {
// not used
} break;
+ default:
+ break;
}
LOG_DEBUG("Init: %s", name.c_str());
}
@@ 75,6 77,8 @@ namespace drivers
case PLLInstances::OSC_24M: {
// not used
} break;
+ default:
+ break;
}
LOG_DEBUG("Deinit: %s", name.c_str());
M module-bsp/board/rt1051/drivers/RT1051DriverPWM.cpp => module-bsp/board/rt1051/drivers/RT1051DriverPWM.cpp +5 -1
@@ 12,7 12,7 @@ namespace drivers
: DriverPWM(inst, mod, params)
{
- pwm_config_t pwmConfig = {0};
+ pwm_config_t pwmConfig = {};
switch (instance) {
case PWMInstances::PWM_1:
@@ 31,6 31,8 @@ namespace drivers
base = PWM4;
LOG_DEBUG("Init: PWM4");
break;
+ default:
+ break;
}
switch (module) {
@@ 50,6 52,8 @@ namespace drivers
pwmModule = kPWM_Module_3;
LOG_DEBUG("Init: PWM module 3");
break;
+ default:
+ break;
}
PWM_GetDefaultConfig(&pwmConfig);