[Sound-open-firmware] [PATCH] apollolake: probe all valid SSP ports at platform init
Add macro for apollolake valid SSP ports, and probe all of them at platform init.
Signed-off-by: Keyon Jie yang.jie@linux.intel.com --- Tested on GP-MRB, SOF Master: f7beb51118e6e8463a864b9416c773a508930e06, SOF Tool Master: 59d81995f682876bd34f939332e8838c76f714ec, https://github.com/plbossart/sound/tree/topic/sof-v4.14: 5a91e6776d41b0e97828882294cdc00b5c0bafd6
src/platform/apollolake/include/platform/platform.h | 2 ++ src/platform/apollolake/platform.c | 14 +++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/src/platform/apollolake/include/platform/platform.h b/src/platform/apollolake/include/platform/platform.h index 4165b95..f7c83e8 100644 --- a/src/platform/apollolake/include/platform/platform.h +++ b/src/platform/apollolake/include/platform/platform.h @@ -38,6 +38,8 @@
struct reef;
+#define PLATFORM_SSP_COUNT 6 + /* Host page size */ #define HOST_PAGE_SIZE 4096 #define PLATFORM_PAGE_TABLE_SIZE 256 diff --git a/src/platform/apollolake/platform.c b/src/platform/apollolake/platform.c index bb44634..608695a 100644 --- a/src/platform/apollolake/platform.c +++ b/src/platform/apollolake/platform.c @@ -178,7 +178,8 @@ int platform_init(struct reef *reef) { struct dma *dmac0; struct dma *dmac1; - struct dai *ssp2; + struct dai *ssp; + int i;
platform_interrupt_init();
@@ -244,9 +245,12 @@ int platform_init(struct reef *reef)
/* init SSP ports */ trace_point(TRACE_BOOT_PLATFORM_SSP); - ssp2 = dai_get(SOF_DAI_INTEL_SSP, 4); - if (ssp2 == NULL) - return -ENODEV; - dai_probe(ssp2); + for (i = 0; i < PLATFORM_SSP_COUNT; i++) { + ssp = dai_get(SOF_DAI_INTEL_SSP, i); + if (!ssp) + return -ENODEV; + dai_probe(ssp); + } + return 0; }
participants (1)
-
Keyon Jie