This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于关掉CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC配置的宏

各位工程师好:

我使用的SDK是最新的06.03版本。

我有个问题,我的硬件设计参照ti提供的没有使用RTC来设计,然后需要在SPL阶段禁用RTC,也就是将rtc32k_enable()函数跳过,我需要禁用掉CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC这个宏:

#if defined(CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC)
static void rtc32k_enable(void)
{
	struct davinci_rtc *rtc = (struct davinci_rtc *)RTC_BASE;

	rtc32k_unlock(rtc);

	/* Enable the RTC 32K OSC by setting bits 3 and 6. */
	writel((1 << 3) | (1 << 6), &rtc->osc);
}
#endif

然后我在xxx_defconfig文件中加上

# CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC is not set

但是make之后.config中还是
CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC = y

实际上这个SPL_AM33XX_ENABLE_RTC32K_OSC是在common/spl/Kconfig和/drivers/bootcount/Kconfig中定义的。

我最后在这2个Kconfig中加上限制条件,才将这个宏关闭。
然后我想知道的是xxx_xxx_defconfig和Kconfig中配置的宏如果有冲突的画,以defconfig中的宏为准吗?为什么我在defconfig中关不掉这个宏呢?