-
Notifications
You must be signed in to change notification settings - Fork 349
PTL upstream #9185
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PTL upstream #9185
Changes from all commits
06988c8
1b3420c
67607b9
4248a11
215d595
18b4b5e
0c6544d
d4be840
f7502b8
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,76 @@ | ||
| CONFIG_PANTHERLAKE=y | ||
| CONFIG_IPC_MAJOR_4=y | ||
| CONFIG_IPC4_BASE_FW_INTEL=y | ||
|
|
||
| CONFIG_COMP_SRC=y | ||
| CONFIG_MM_DRV=y | ||
| CONFIG_COMP_SRC_IPC4_FULL_MATRIX=y | ||
|
|
||
| # power settings | ||
| CONFIG_PM=y | ||
| CONFIG_PM_DEVICE=y | ||
| CONFIG_PM_DEVICE_RUNTIME=y | ||
| CONFIG_PM_DEVICE_POWER_DOMAIN=y | ||
| CONFIG_PM_POLICY_CUSTOM=y | ||
| CONFIG_ADSP_IMR_CONTEXT_SAVE=y | ||
|
|
||
| CONFIG_POWER_DOMAIN=y | ||
| CONFIG_POWER_DOMAIN_INTEL_ADSP=y | ||
|
|
||
| # enable Zephyr drivers | ||
| CONFIG_ZEPHYR_NATIVE_DRIVERS=y | ||
| CONFIG_DAI=y | ||
| CONFIG_DAI_INIT_PRIORITY=70 | ||
| CONFIG_DAI_INTEL_DMIC=y | ||
| CONFIG_DAI_DMIC_HW_IOCLK=38400000 | ||
| CONFIG_DAI_INTEL_DMIC_NHLT=y | ||
| CONFIG_DAI_DMIC_HAS_OWNERSHIP=n | ||
pjdobrowolski marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| CONFIG_DAI_DMIC_HAS_MULTIPLE_LINE_SYNC=y | ||
| CONFIG_DAI_INTEL_SSP=y | ||
| CONFIG_ZEPHYR_DP_SCHEDULER=y | ||
| CONFIG_DMA=y | ||
| CONFIG_DMA_INTEL_ADSP_GPDMA=n | ||
| CONFIG_DMA_DW_LLI_POOL_SIZE=50 | ||
| CONFIG_INTEL_MODULES=y | ||
| CONFIG_LIBRARY_MANAGER=y | ||
| CONFIG_INTEL_ADSP_TIMER=y | ||
|
|
||
| CONFIG_HEAP_MEM_POOL_SIZE=8192 | ||
| CONFIG_L3_HEAP=y | ||
| CONFIG_RIMAGE_SIGNING_SCHEMA="ptl" | ||
|
|
||
| CONFIG_FORMAT_CONVERT_HIFI3=n | ||
| CONFIG_PCM_CONVERTER_FORMAT_S16_C16_AND_S16_C32=y | ||
| CONFIG_PCM_CONVERTER_FORMAT_S16_C32_AND_S32_C32=y | ||
| CONFIG_PCM_CONVERTER_FORMAT_S16_C32_AND_S24_C32=y | ||
| CONFIG_PCM_CONVERTER_FORMAT_S24_C24_AND_S24_C32=y | ||
| CONFIG_PCM_CONVERTER_FORMAT_S24_C32_AND_S24_C24=y | ||
| CONFIG_PCM_CONVERTER_FORMAT_S16_C32_AND_S16_C32=y | ||
| CONFIG_LOG=y | ||
| CONFIG_LOG_MODE_DEFERRED=y | ||
| CONFIG_LOG_FUNC_NAME_PREFIX_ERR=y | ||
| CONFIG_LOG_FUNC_NAME_PREFIX_WRN=y | ||
| CONFIG_LOG_FUNC_NAME_PREFIX_INF=y | ||
| CONFIG_LOG_FUNC_NAME_PREFIX_DBG=y | ||
| CONFIG_COMP_VOLUME_WINDOWS_FADE=y | ||
| CONFIG_COMP_UP_DOWN_MIXER=y | ||
| CONFIG_COMP_CHAIN_DMA=y | ||
pjdobrowolski marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| CONFIG_SYS_CLOCK_TICKS_PER_SEC=12000 | ||
|
|
||
| CONFIG_MM_DRV_INTEL_ADSP_TLB_REMAP_UNUSED_RAM=y | ||
|
|
||
| CONFIG_LOG_BACKEND_ADSP_MTRACE=y | ||
| CONFIG_SOF_LOG_LEVEL_INF=y | ||
|
|
||
| CONFIG_SOF_LOG_LEVEL_OFF=y | ||
| CONFIG_ZEPHYR_LOG=y | ||
| CONFIG_INTEL_ADSP_IPC=y | ||
|
|
||
| CONFIG_CLOCK_CONTROL_ADSP=y | ||
| CONFIG_CLOCK_CONTROL=y | ||
|
|
||
| CONFIG_COMP_KPB=y | ||
| CONFIG_COMP_ARIA=y | ||
|
|
||
| # Temporary disabled options | ||
| CONFIG_TRACE=n | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,66 @@ | ||
| CONFIG_PANTHERLAKE=y | ||
| CONFIG_IPC_MAJOR_4=y | ||
| CONFIG_IPC4_BASE_FW_INTEL=y | ||
|
|
||
| # turn off SOF drivers | ||
| CONFIG_COMP_SRC=y | ||
|
|
||
| CONFIG_COMP_SRC_IPC4_FULL_MATRIX=y | ||
|
|
||
| # power settings | ||
| CONFIG_PM=n | ||
| CONFIG_PM_POLICY_CUSTOM=y | ||
|
|
||
| # enable Zephyr drivers | ||
| CONFIG_ZEPHYR_NATIVE_DRIVERS=y | ||
| CONFIG_DAI=y | ||
| CONFIG_DAI_INIT_PRIORITY=70 | ||
| CONFIG_DAI_INTEL_DMIC=y | ||
| CONFIG_DAI_DMIC_HW_IOCLK=19200000 | ||
| CONFIG_DAI_INTEL_DMIC_NHLT=y | ||
| CONFIG_DAI_DMIC_HAS_OWNERSHIP=y | ||
| CONFIG_DAI_DMIC_HAS_MULTIPLE_LINE_SYNC=y | ||
| CONFIG_DAI_INTEL_SSP=n | ||
| CONFIG_DMA=y | ||
| CONFIG_DMA_INTEL_ADSP_GPDMA=n | ||
| CONFIG_DMA_DW_LLI_POOL_SIZE=50 | ||
| CONFIG_INTEL_MODULES=n | ||
| CONFIG_LIBRARY_MANAGER=n | ||
| CONFIG_INTEL_ADSP_TIMER=y | ||
|
|
||
| CONFIG_HEAP_MEM_POOL_SIZE=8192 | ||
| CONFIG_RIMAGE_SIGNING_SCHEMA="ptl" | ||
|
|
||
| CONFIG_FORMAT_CONVERT_HIFI3=n | ||
| CONFIG_PCM_CONVERTER_FORMAT_S16_C16_AND_S16_C32=y | ||
| CONFIG_PCM_CONVERTER_FORMAT_S16_C32_AND_S32_C32=y | ||
| CONFIG_PCM_CONVERTER_FORMAT_S16_C32_AND_S24_C32=y | ||
| CONFIG_PCM_CONVERTER_FORMAT_S24_C24_AND_S24_C32=y | ||
| CONFIG_PCM_CONVERTER_FORMAT_S24_C32_AND_S24_C24=y | ||
| CONFIG_PCM_CONVERTER_FORMAT_S16_C32_AND_S16_C32=y | ||
| CONFIG_LOG=n | ||
| CONFIG_LOG_MODE_DEFERRED=n | ||
| CONFIG_LOG_FUNC_NAME_PREFIX_INF=n | ||
| CONFIG_COMP_VOLUME_WINDOWS_FADE=y | ||
| CONFIG_COMP_UP_DOWN_MIXER=y | ||
| CONFIG_SYS_CLOCK_TICKS_PER_SEC=12000 | ||
| CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=19200000 | ||
|
|
||
| CONFIG_LOG_BACKEND_ADSP_MTRACE=n | ||
| CONFIG_SOF_LOG_LEVEL_INF=n | ||
| CONFIG_SOF_LOG_LEVEL_OFF=y | ||
| CONFIG_ZEPHYR_LOG=n | ||
|
|
||
| CONFIG_INTEL_ADSP_IPC=y | ||
|
|
||
|
|
||
| # Temporary disabled options | ||
| CONFIG_TRACE=n | ||
| CONFIG_PM_DEVICE=y | ||
| CONFIG_PM_DEVICE_RUNTIME=n | ||
| CONFIG_PM_DEVICE_POWER_DOMAIN=n | ||
| CONFIG_COMP_KPB=n | ||
|
|
||
| CONFIG_CLOCK_CONTROL_ADSP=y | ||
| CONFIG_CLOCK_CONTROL=y | ||
| CONFIG_USERSPACE=y |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=19200000 | ||
| CONFIG_DAI_DMIC_HW_IOCLK=19200000 | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -16,7 +16,6 @@ config TIGERLAKE | |
| help | ||
| Select if your target platform is Tigerlake-compatible | ||
|
|
||
|
|
||
| config METEORLAKE | ||
| bool "Build for Meteorlake" | ||
| select ACE | ||
|
|
@@ -31,6 +30,13 @@ config LUNARLAKE | |
| help | ||
| Select if your target platform is Lunarlake-compatible | ||
|
|
||
| config PANTHERLAKE | ||
| bool "Build for Pantherlake" | ||
| select ACE | ||
| select ACE_VERSION_3_0 | ||
| help | ||
| Select if your target platform is Pantherlake-compatible | ||
|
|
||
| config LIBRARY | ||
| bool "Build Library" | ||
| help | ||
|
|
@@ -249,6 +255,7 @@ endchoice | |
| config MAX_CORE_COUNT | ||
| int | ||
| default 5 if LUNARLAKE | ||
| default 5 if PANTHERLAKE | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is another spot where SOF is hiding a divergence from Zephyr. This should be using CONFIG_MP_MAX_NUM_CPUS, or if it has to be here for legacy builds there should be a BUILD_ASSERT somewhere to make sure they're identical.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It was for compatibility in the past but right now it could be easily removed because we are already using CONFIG_MP_MAX_NUM_CPUS in most places. In sof the most used core kconfig is CONFIG_CORE_COUNT which is based on zephyr so this is a good thing to do but in a separate PR |
||
| default 4 if TIGERLAKE | ||
| default 3 if METEORLAKE | ||
| default 1 | ||
|
|
@@ -338,6 +345,12 @@ config ACE_VERSION_2_0 | |
| help | ||
| Select for ACE version 2.0 | ||
|
|
||
| config ACE_VERSION_3_0 | ||
| depends on ACE | ||
| bool | ||
| help | ||
| Select for ACE version 3.0 | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Still whining that this is a 100% parallel and unconstrained recapitulation of platform selection that is already in the Zephyr tree. All this does is create the possibility of getting it wrong. I get that this is "how it's always been done", but the time to fix that is now, when submitting a new platform. If PTL doesn't do it, then when will it happen? At the very least (if the use of these older kconfigs is too hard to untangle) you should be deriving it from the existing constants and disallowing apps from setting it incorrectly:
|
||
|
|
||
| config HP_MEMORY_BANKS | ||
| int "HP memory banks count" | ||
| depends on CAVS | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -8,6 +8,19 @@ | |
| #ifndef __ACE_VERSION_H__ | ||
| #define __ACE_VERSION_H__ | ||
|
|
||
| #define HW_CFG_VERSION 0 | ||
| #define ACE_VERSION_1_5 0x10500 /* MTL */ | ||
| #define ACE_VERSION_2_0 0x20000 /* LNL */ | ||
| #define ACE_VERSION_3_0 0x30000 /* PTL */ | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Can you check these names? TGL is cAVS 2.5, not ACE 1.5 (which is what Zephyr claims to be building for MTL, not 2.0!), etc.. Something looks mixed up. Also: this kind of field-shifted versioning is a bad code smell. Everyone does it thinking that they'll be able to write "#if VERSION > whatever", but it never actually works that way over long term maintenance, because compatibility is hard, especially in hardware. And the hard constants end up in places they shouldn't, like binary formats, making changes to the scheme impossible in the future. Even if you don't want to use the Zephyr constants directly, strongly suggest junking these and using an enum. Everyone with a number-format version scheme ends up regretting the practice.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Still really dislike introducing numbered versions for a system that doesn't guaranteed backward compatibility. Is a PTL device always compatible with a LNL one? Clearly no, right? So this is creating a promise you can't keep, even if the handful of spots in this PR work that way. And to repeat: this is a new API, not a legacy one you're trying to accomodate. |
||
|
|
||
| /* ACE version defined by CONFIG_ACE_VER_*/ | ||
pjdobrowolski marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| #if defined(CONFIG_ACE_VERSION_1_5) | ||
| #define ACE_VERSION ACE_VERSION_1_5 | ||
| #elif defined(CONFIG_ACE_VERSION_2_0) | ||
| #define ACE_VERSION ACE_VERSION_2_0 | ||
| #elif defined(CONFIG_ACE_VERSION_3_0) | ||
| #define ACE_VERSION ACE_VERSION_3_0 | ||
| #endif | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Actually... what's the point of all the separately-defined version constants? Zephyr is already doing that for you with the board/soc{,_series,_family} hierarchy. At the very least this should be predicated on that. Doing otherwise opens up the possibility of building "pantherlake" against a build with CONFIG_SOC_SERIES_INTEL_CAVS_V25=y. @ceolin @dcpleung are available for support if you need help figuring out the Zephyr hardware scheme, or if it's not doing something you need. |
||
|
|
||
| #define HW_CFG_VERSION ACE_VERSION | ||
|
|
||
| #endif /* __ACE_VERSION_H__ */ | ||
Uh oh!
There was an error while loading. Please reload this page.