[alsa-devel] [PATCH v4 0/3]: conf: topology: Add the conf for SKL-rt286
This series adds SKL-i2c conf for simple PCM topology graph
Changes in v4: - add back the pre-compiled binary blobs - remove running the binary on intsall step
Changes in v3:
- remove bin blobs, now they are generated in install step - hook the tool compilation to alsa-lib and run it on install - add u8 in alsa type_compat.h
Shreyas NC (3): conf: topology: Add Skylake i2s conf Add u8 in type_compat.h conf: topology: Generate Private data binary blobs
configure.ac | 2 + include/sound/type_compat.h | 2 + src/conf/topology/Makefile.am | 2 +- src/conf/topology/sklrt286/Makefile.am | 5 + src/conf/topology/sklrt286/codec0_in-cpr-1.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/codec0_in-mi.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/codec0_out-cpr-4.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/codec0_out-mo.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/codec1_out-cpr-5.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/codec1_out-mo.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/data/Makefile.am | 4 + src/conf/topology/sklrt286/data/pvt.c | 1815 ++++++++++++++++++++ src/conf/topology/sklrt286/data/pvt_data.c | 90 + src/conf/topology/sklrt286/data/pvt_local.h | 9 + .../topology/sklrt286/data/skl-tplg-interface.h | 232 +++ .../topology/sklrt286/dmic01_hifi_in-cpr-3.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/dmic01_hifi_in-mi.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/hdmi1_pt_out-cpr-7.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/hdmi1_pt_out-cpr-8.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/hdmi2_pt_out-cpr-10.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/hdmi2_pt_out-cpr-9.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/hdmi3_pt_out-cpr-11.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/hdmi3_pt_out-cpr-12.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/media0_in-cpr-0.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/media0_in-mi.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/media0_out-cpr-6.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/media0_out-mo.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/skl_i2s.conf | 342 ++++ 28 files changed, 2502 insertions(+), 1 deletion(-) create mode 100644 src/conf/topology/sklrt286/Makefile.am create mode 100644 src/conf/topology/sklrt286/codec0_in-cpr-1.bin create mode 100644 src/conf/topology/sklrt286/codec0_in-mi.bin create mode 100644 src/conf/topology/sklrt286/codec0_out-cpr-4.bin create mode 100644 src/conf/topology/sklrt286/codec0_out-mo.bin create mode 100644 src/conf/topology/sklrt286/codec1_out-cpr-5.bin create mode 100644 src/conf/topology/sklrt286/codec1_out-mo.bin create mode 100644 src/conf/topology/sklrt286/data/Makefile.am create mode 100644 src/conf/topology/sklrt286/data/pvt.c create mode 100644 src/conf/topology/sklrt286/data/pvt_data.c create mode 100644 src/conf/topology/sklrt286/data/pvt_local.h create mode 100644 src/conf/topology/sklrt286/data/skl-tplg-interface.h create mode 100644 src/conf/topology/sklrt286/dmic01_hifi_in-cpr-3.bin create mode 100644 src/conf/topology/sklrt286/dmic01_hifi_in-mi.bin create mode 100644 src/conf/topology/sklrt286/hdmi1_pt_out-cpr-7.bin create mode 100644 src/conf/topology/sklrt286/hdmi1_pt_out-cpr-8.bin create mode 100644 src/conf/topology/sklrt286/hdmi2_pt_out-cpr-10.bin create mode 100644 src/conf/topology/sklrt286/hdmi2_pt_out-cpr-9.bin create mode 100644 src/conf/topology/sklrt286/hdmi3_pt_out-cpr-11.bin create mode 100644 src/conf/topology/sklrt286/hdmi3_pt_out-cpr-12.bin create mode 100644 src/conf/topology/sklrt286/media0_in-cpr-0.bin create mode 100644 src/conf/topology/sklrt286/media0_in-mi.bin create mode 100644 src/conf/topology/sklrt286/media0_out-cpr-6.bin create mode 100644 src/conf/topology/sklrt286/media0_out-mo.bin create mode 100644 src/conf/topology/sklrt286/skl_i2s.conf
From: Shreyas NC shreyas.nc@intel.com
The Skylake topology configuration for simple topology graph is provided. This exposes the PCM capabilities of the DSP.
Signed-off-by: Shreyas NC shreyas.nc@intel.com Signed-off-by: Subhransu S. Prusty subhransu.s.prusty@intel.com Signed-off-by: Vinod Koul vinod.koul@intel.com --- configure.ac | 1 + src/conf/topology/Makefile.am | 2 +- src/conf/topology/sklrt286/Makefile.am | 5 + src/conf/topology/sklrt286/codec0_in-cpr-1.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/codec0_in-mi.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/codec0_out-cpr-4.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/codec0_out-mo.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/codec1_out-cpr-5.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/codec1_out-mo.bin | Bin 0 -> 4244 bytes .../topology/sklrt286/dmic01_hifi_in-cpr-3.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/dmic01_hifi_in-mi.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/hdmi1_pt_out-cpr-7.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/hdmi1_pt_out-cpr-8.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/hdmi2_pt_out-cpr-10.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/hdmi2_pt_out-cpr-9.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/hdmi3_pt_out-cpr-11.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/hdmi3_pt_out-cpr-12.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/media0_in-cpr-0.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/media0_in-mi.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/media0_out-cpr-6.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/media0_out-mo.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/skl_i2s.conf | 342 +++++++++++++++++++++ 22 files changed, 349 insertions(+), 1 deletion(-) create mode 100644 src/conf/topology/sklrt286/Makefile.am create mode 100644 src/conf/topology/sklrt286/codec0_in-cpr-1.bin create mode 100644 src/conf/topology/sklrt286/codec0_in-mi.bin create mode 100644 src/conf/topology/sklrt286/codec0_out-cpr-4.bin create mode 100644 src/conf/topology/sklrt286/codec0_out-mo.bin create mode 100644 src/conf/topology/sklrt286/codec1_out-cpr-5.bin create mode 100644 src/conf/topology/sklrt286/codec1_out-mo.bin create mode 100644 src/conf/topology/sklrt286/dmic01_hifi_in-cpr-3.bin create mode 100644 src/conf/topology/sklrt286/dmic01_hifi_in-mi.bin create mode 100644 src/conf/topology/sklrt286/hdmi1_pt_out-cpr-7.bin create mode 100644 src/conf/topology/sklrt286/hdmi1_pt_out-cpr-8.bin create mode 100644 src/conf/topology/sklrt286/hdmi2_pt_out-cpr-10.bin create mode 100644 src/conf/topology/sklrt286/hdmi2_pt_out-cpr-9.bin create mode 100644 src/conf/topology/sklrt286/hdmi3_pt_out-cpr-11.bin create mode 100644 src/conf/topology/sklrt286/hdmi3_pt_out-cpr-12.bin create mode 100644 src/conf/topology/sklrt286/media0_in-cpr-0.bin create mode 100644 src/conf/topology/sklrt286/media0_in-mi.bin create mode 100644 src/conf/topology/sklrt286/media0_out-cpr-6.bin create mode 100644 src/conf/topology/sklrt286/media0_out-mo.bin create mode 100644 src/conf/topology/sklrt286/skl_i2s.conf
diff --git a/configure.ac b/configure.ac index c265ec9e159b..1bf75e6d9c2b 100644 --- a/configure.ac +++ b/configure.ac @@ -661,6 +661,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \ src/conf/topology/Makefile \ src/conf/topology/broadwell/Makefile \ modules/Makefile modules/mixer/Makefile modules/mixer/simple/Makefile \ + src/conf/topology/sklrt286/Makefile \ alsalisp/Makefile aserver/Makefile \ test/Makefile test/lsb/Makefile \ utils/Makefile utils/alsa-lib.spec utils/alsa.pc) diff --git a/src/conf/topology/Makefile.am b/src/conf/topology/Makefile.am index f56a96c651e5..cbdb7cf07c97 100644 --- a/src/conf/topology/Makefile.am +++ b/src/conf/topology/Makefile.am @@ -1 +1 @@ -SUBDIRS=broadwell +SUBDIRS=broadwell sklrt286 diff --git a/src/conf/topology/sklrt286/Makefile.am b/src/conf/topology/sklrt286/Makefile.am new file mode 100644 index 000000000000..ed58b775e6eb --- /dev/null +++ b/src/conf/topology/sklrt286/Makefile.am @@ -0,0 +1,5 @@ +alsaconfigdir = @ALSA_CONFIG_DIR@ +SUBDIRS = data +sklrt286dir = $(alsaconfigdir)/topology/sklrt286 +sklrt286_DATA = skl_i2s.conf media0_in-cpr-0.bin media0_in-mi.bin media0_out-mo.bin media0_out-cpr-6.bin codec0_out-mo.bin codec0_out-cpr-4.bin codec1_out-mo.bin codec1_out-cpr-5.bin codec0_in-cpr-1.bin codec0_in-mi.bin dmic01_hifi_in-cpr-3.bin dmic01_hifi_in-mi.bin hdmi1_pt_out-cpr-7.bin hdmi1_pt_out-cpr-8.bin hdmi2_pt_out-cpr-9.bin hdmi2_pt_out-cpr-10.bin hdmi3_pt_out-cpr-11.bin hdmi3_pt_out-cpr-12.bin +EXTRA_DIST = $(sklrt286_DATA) diff --git a/src/conf/topology/sklrt286/codec0_in-cpr-1.bin b/src/conf/topology/sklrt286/codec0_in-cpr-1.bin new file mode 100644 index 0000000000000000000000000000000000000000..a3079d4226460671d06667498baf333f08d33def GIT binary patch literal 4244 zcmZqXSuk7ZRI}F<8~H^q^yl7UW?*Dk(8dTP85kOX1PFrwBNGrS0SN{k237_pCJ?J( zHv@wLkd^>qs4^gnfkEK^|NmgdFeV83pOE}84w_M~jfTKz2#kinXb6mkz-S1JhQMeD UjE2By2#kinXb6mk08t?T0P3O_hX4Qo
literal 0 HcmV?d00001
diff --git a/src/conf/topology/sklrt286/codec0_in-mi.bin b/src/conf/topology/sklrt286/codec0_in-mi.bin new file mode 100644 index 0000000000000000000000000000000000000000..8e431d472a5c6ac679e6cb1251b7bf8e27ef5808 GIT binary patch literal 4244 zcmdm#mugvP?di~K|5NAc5gSfM21bSjZ6K0?p#eyM@P8m+1PLTC0SO)kRt6>}5UXJ~ z1A_vP24Rpi3<v<#!`Q=>9_jucuJJnRuh9?~4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R K7!3jXg#Z9iSr&Q#
literal 0 HcmV?d00001
diff --git a/src/conf/topology/sklrt286/codec0_out-cpr-4.bin b/src/conf/topology/sklrt286/codec0_out-cpr-4.bin new file mode 100644 index 0000000000000000000000000000000000000000..7cb0e349b304fe2f8e7d41af3159eca3272801e5 GIT binary patch literal 4244 zcmZqXSuk7ZRI}F<8~H^q^yl7UW?*4h(8kEX$iTqR03<*d1Q?lsSP8`8VPIxpVgYg) z8g?@<C;({*AciUfvKSZy{{R0EW(;G3kpBtE596R2_1b6%jE2By2#kinXb6mkz-S1J VhQMeDjE2By2#kinXb2D$0ssrk7l{A>
literal 0 HcmV?d00001
diff --git a/src/conf/topology/sklrt286/codec0_out-mo.bin b/src/conf/topology/sklrt286/codec0_out-mo.bin new file mode 100644 index 0000000000000000000000000000000000000000..7705767ad6c2b95c0e3d1fafb6809b4a68d836eb GIT binary patch literal 4244 zcmazF2(!7a((kzU&cUyX*JwRpVqjoc(8kEX2&5Z;1PK2J0uGQs0*K&YU}j)q0jX=) z&A^}lq(K-Y0|Np;^&?##78axQXb6mkz-S1JhQMeDjE2By2#kinXb6mkz-S1JhQMeD KjD`UA5C8y0@HjdE
literal 0 HcmV?d00001
diff --git a/src/conf/topology/sklrt286/codec1_out-cpr-5.bin b/src/conf/topology/sklrt286/codec1_out-cpr-5.bin new file mode 100644 index 0000000000000000000000000000000000000000..7a88377948c1cb15745a8d9bb8c364670355f433 GIT binary patch literal 4244 zcmZqXSuk7ZRI}F<8~H^q^yl7UW?*Gl(8kEX$iTqR03<*d1Q?l^7#Nj693BQ11|}d6 zD7Tw|K><ih05Mb<kj20t@c;jRFk=`Kg#1rPei#SMsMkhAU^E0qLtr!nMnhmU1V%$( WGz3ONU^E0qLtr!nMniz85C8xy#}|tL
literal 0 HcmV?d00001
diff --git a/src/conf/topology/sklrt286/codec1_out-mo.bin b/src/conf/topology/sklrt286/codec1_out-mo.bin new file mode 100644 index 0000000000000000000000000000000000000000..c878060faf1429d379101185e2218afae0ff03f1 GIT binary patch literal 4244 zcmazF2(!7a((kzU&cUyX*JwRpVqj!g(8dTP85kOX1PK2J0uGQs0*K&YU}0clVgkwU zW?)bN(jW|yfdK)a`jIXV3yV>DGz3ONU^E0qLtr!nMnhmU1V%$(Gz3ONU^E0qLtr!n KMneF52mk;^7&tlr
literal 0 HcmV?d00001
diff --git a/src/conf/topology/sklrt286/dmic01_hifi_in-cpr-3.bin b/src/conf/topology/sklrt286/dmic01_hifi_in-cpr-3.bin new file mode 100644 index 0000000000000000000000000000000000000000..4cba682fe4fd39f383748d945e80c0dfd4337094 GIT binary patch literal 4244 zcmZqXSuk7ZRI}F<8~H^q^yl7UW?*Jm(8kEX$iTqR03<*d1Q?lsScr*%g@uQKje&^? z$Yp5Q&A^}lq(K;}49H?&5cvQ9KbSF$2}1rSBtMLUX4Gq=Aut*OqaiRF0;3@?8Umvs XFd71*Aut*OqaiRF0;3^7R0se74^S7H
literal 0 HcmV?d00001
diff --git a/src/conf/topology/sklrt286/dmic01_hifi_in-mi.bin b/src/conf/topology/sklrt286/dmic01_hifi_in-mi.bin new file mode 100644 index 0000000000000000000000000000000000000000..a7dcd808923223494edcb01136e6035278c9a0b2 GIT binary patch literal 4244 zcmdm#mugvP?di~K|5NAc5gSfM24;o@ZHx?z3=9knKmvsS0|6sQAb|-;@G!73FfoBx z4Z9f_6o51cgQQ_V0H_|u9<KCA_y2H>*HM3shQMeDjE2By2#kinXb6mkz-S1JhQMeD MjE2By2+%JC0D`?1eE<Le
literal 0 HcmV?d00001
diff --git a/src/conf/topology/sklrt286/hdmi1_pt_out-cpr-7.bin b/src/conf/topology/sklrt286/hdmi1_pt_out-cpr-7.bin new file mode 100644 index 0000000000000000000000000000000000000000..9d82fd538488817c30e02f35135fce7af31b9a2a GIT binary patch literal 4244 zcmZqXSuk7ZRI}F<8~H^q^yl7UW?*Mn(8kEX$iTqR03<;8KM*i7F)%O&G6H3JfS8d9 z$Yp5Q&A^}lq(K;{3=RZ<>fxMW${^%_Lh{2jSVp}y8UmvsFd71*Aut*OqaiRF0;3@? T8UmvsFd71*Aut*OM27$Xwmuuz
literal 0 HcmV?d00001
diff --git a/src/conf/topology/sklrt286/hdmi1_pt_out-cpr-8.bin b/src/conf/topology/sklrt286/hdmi1_pt_out-cpr-8.bin new file mode 100644 index 0000000000000000000000000000000000000000..7c866bf53a409be1a607574225f5de63ecdda352 GIT binary patch literal 4244 zcmZqXSuk7ZRI}F<8~H^q^yl7UX5e60(8kEX$iTqR03<;8KM*i7F)%PXGBU6;@BlF* z6OhZ$u$zHF0Z2;#F-ScO2msZ?*u#}3<bOi)!!=w+{WTf_qaiRF0;3@?8UmvsFd71* VAut*OqaiRF0;3@?8Un<I002p{8?XQX
literal 0 HcmV?d00001
diff --git a/src/conf/topology/sklrt286/hdmi2_pt_out-cpr-10.bin b/src/conf/topology/sklrt286/hdmi2_pt_out-cpr-10.bin new file mode 100644 index 0000000000000000000000000000000000000000..06a8c2a69ca886ea6b43d21ef859bc9937e58184 GIT binary patch literal 4244 zcmZqXSuk7ZRI}F<8~H^q^yl7UX5eC2(8kEX$iTqR03<;8KM*i7F)%PXGBU6;@Gx*N zFfswT3=O*(7!-iC1Q3JN!+-!#J&ZkEX+r)dBtKlkWz=7zAut*OqaiRF0;3@?8Umvs XFd71*Aut*OqaiRF0;3^7YzP1VdlnnB
literal 0 HcmV?d00001
diff --git a/src/conf/topology/sklrt286/hdmi2_pt_out-cpr-9.bin b/src/conf/topology/sklrt286/hdmi2_pt_out-cpr-9.bin new file mode 100644 index 0000000000000000000000000000000000000000..ff58219ae10a02fc0c216be488d1f3f5481d5f06 GIT binary patch literal 4244 zcmZqXSuk7ZRI}F<8~H^q^yl7UX5eI4(8kEX$iTqR03<;8KM*i7F)%O&GBU6;@Gx*N zFfswT3=O*(7!-gs2m_VDfdEiFoHI-rg#1rPewYT!sJBK#U^E0qLtr!nMnhmU1V%$( WGz3ONU^E0qLtr!nMniz;5C8z@q8r)(
literal 0 HcmV?d00001
diff --git a/src/conf/topology/sklrt286/hdmi3_pt_out-cpr-11.bin b/src/conf/topology/sklrt286/hdmi3_pt_out-cpr-11.bin new file mode 100644 index 0000000000000000000000000000000000000000..665cf689696a43db25e7943426f967c6881c1d1d GIT binary patch literal 4244 zcmZqXSuk7ZRI}F<8~H^q^yl7UX5eO6(8kEX$iTqR03<;8KM*i7F)%O&GBU6;@Gx*P zFfswT3=O*(7!-gs2m_VDfdEiFoHI-rg#1rPewYT!sJBK#U^E0qLtr!nMnhmU1V%$( WGz3ONU^E0qLtr!nMniz;5C8xf6&u|E
literal 0 HcmV?d00001
diff --git a/src/conf/topology/sklrt286/hdmi3_pt_out-cpr-12.bin b/src/conf/topology/sklrt286/hdmi3_pt_out-cpr-12.bin new file mode 100644 index 0000000000000000000000000000000000000000..3077cb1d793ab212f5f94c69d2d35138e182b148 GIT binary patch literal 4244 zcmZqXSuk7ZRI}F<8~H^q^yl7UX5e91(8kEX$iTqR03<;8KM*i7F)%PXGBU6O<vAG` znSfk|hTRMd3P4%{h(YRMKme#7#vZOTA^#JSAFkmt>aWod7!85Z5Eu=C(GVC7fzc2c V4S~@R7!85Z5Eu=C(GVau1OTjh8@2!d
literal 0 HcmV?d00001
diff --git a/src/conf/topology/sklrt286/media0_in-cpr-0.bin b/src/conf/topology/sklrt286/media0_in-cpr-0.bin new file mode 100644 index 0000000000000000000000000000000000000000..4d68d64a68062eb3f2c13d9950285bcd9bf7e347 GIT binary patch literal 4244 zcmZqXSuk7ZRI}F<8~H^q^yl7UW?*1g(8kEX2&5Z;1PK2J0!AhV2F5^;C=XDMkqO9U zXxPobpa7&n7$gG&0zmaJ_Hd;M`Ja&da1EDHe~pH~Xb6mkz-S1JhQMeDjE2By2#kin RXb6mkz-S1Jh5)f4003>J8^Ztq
literal 0 HcmV?d00001
diff --git a/src/conf/topology/sklrt286/media0_in-mi.bin b/src/conf/topology/sklrt286/media0_in-mi.bin new file mode 100644 index 0000000000000000000000000000000000000000..5a8005e372804f99b4e60a081d1155a0248dd857 GIT binary patch literal 4244 zcmdm#mugvP?di~K|5NAc5gSfM1_p)&ZHx>cx&cUl@P8m+1PLU72p*suBNG!yem4Vy z0+0q_kPHk60M*0T!<8QC{vWRKI_j^{5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7 I0s4gi0N#Waa{vGU
literal 0 HcmV?d00001
diff --git a/src/conf/topology/sklrt286/media0_out-cpr-6.bin b/src/conf/topology/sklrt286/media0_out-cpr-6.bin new file mode 100644 index 0000000000000000000000000000000000000000..ab8c90f9ad388a638da683e4e0ac20fd61dab436 GIT binary patch literal 4244 zcmZqXSuk7ZRI}F<8~H^q^yl7UW?*Aj(8kEX$iTqR03<;8KM*i7F)%O&00{;j1||kZ zCJ?J(Hv@wLkOpC(GB^+bs)uuiDT9#z3CR!BU>Wt+Xb6mkz-S1JhQMeDjE2By2#kin TXb6mkz-S1JhQMeD5FG*l;Sd|j
literal 0 HcmV?d00001
diff --git a/src/conf/topology/sklrt286/media0_out-mo.bin b/src/conf/topology/sklrt286/media0_out-mo.bin new file mode 100644 index 0000000000000000000000000000000000000000..4e2273579a9c75a722cdf2607f13ded3a1d54bb4 GIT binary patch literal 4244 zcmazF2(!7a((kzU&cUyX*JwRpVqjue(8kEX$iTqR03<;8KM-($1QM8l1P@RJBNK?# zu$zHF0Z4-|NE!wNfa*uOJS;3m>Cq4v4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z L5Eu;s>>&UEHR3oq
literal 0 HcmV?d00001
diff --git a/src/conf/topology/sklrt286/skl_i2s.conf b/src/conf/topology/sklrt286/skl_i2s.conf new file mode 100644 index 000000000000..6da224fb4d2b --- /dev/null +++ b/src/conf/topology/sklrt286/skl_i2s.conf @@ -0,0 +1,342 @@ +SectionData."media0_in cpr 0" { + file "sklrt286/media0_in-cpr-0.bin" +} +SectionData."media0_in mi" { + file "sklrt286/media0_in-mi.bin" +} +SectionData."media0_out mo" { + file "sklrt286/media0_out-mo.bin" +} +SectionData."media0_out cpr 6" { + file "sklrt286/media0_out-cpr-6.bin" +} +SectionData."codec0_out mo" { + file "sklrt286/codec0_out-mo.bin" +} +SectionData."codec0_out cpr 4" { + file "sklrt286/codec0_out-cpr-4.bin" +} +SectionData."codec1_out mo" { + file "sklrt286/codec1_out-mo.bin" +} +SectionData."codec1_out cpr 5" { + file "sklrt286/codec1_out-cpr-5.bin" +} +SectionData."codec0_in cpr 1" { + file "sklrt286/codec0_in-cpr-1.bin" +} +SectionData."codec0_in mi" { + file "sklrt286/codec0_in-mi.bin" +} +SectionData."dmic01_hifi_in cpr 3" { + file "sklrt286/dmic01_hifi_in-cpr-3.bin" +} +SectionData."dmic01_hifi_in mi" { + file "sklrt286/dmic01_hifi_in-mi.bin" +} +SectionData."hdmi1_pt_out cpr 7" { + file "sklrt286/hdmi1_pt_out-cpr-7.bin" +} +SectionData."hdmi1_pt_out cpr 8" { + file "sklrt286/hdmi1_pt_out-cpr-8.bin" +} +SectionData."hdmi2_pt_out cpr 9" { + file "sklrt286/hdmi2_pt_out-cpr-9.bin" +} +SectionData."hdmi2_pt_out cpr 10" { + file "sklrt286/hdmi2_pt_out-cpr-10.bin" +} +SectionData."hdmi3_pt_out cpr 11" { + file "sklrt286/hdmi3_pt_out-cpr-11.bin" +} +SectionData."hdmi3_pt_out cpr 12" { + file "sklrt286/hdmi3_pt_out-cpr-12.bin" +} + +SectionControlMixer."media0_in mi Switch" { + index"1" + invert "false" + max "1" + min"0" + no_pm "true" + channel."fl" { + reg "-1" + shift "0" + } + channel."fr" { + reg "-1" + shift "0" + } + ops."ctl" { + get "64" + put "64" + info "64" + } +} +SectionControlMixer."codec0_in mi Switch" { + index"1" + invert "false" + max "1" + min"0" + no_pm "true" + channel."fl" { + reg "-1" + shift "0" + } + channel."fr" { + reg "-1" + shift "0" + } + ops."ctl" { + get "64" + put "64" + info "64" + } +} +SectionControlMixer."dmic01_hifi_in mi Switch" { + index"1" + invert "false" + max "1" + min"0" + no_pm "true" + channel."fl" { + reg "-1" + shift "0" + } + channel."fr" { + reg "-1" + shift "0" + } + ops."ctl" { + get "64" + put "64" + info "64" + } +} + + +SectionWidget."media0_in cpr 0" { + index"1" + type"mixer" + no_pm "true" + event_type "3" + event_flags "9" + data "media0_in cpr 0" +} +SectionWidget."media0_in mi" { + index"1" + type"pga" + no_pm "true" + event_type "4" + event_flags "9" + subseq "10" + data "media0_in mi" +} +SectionWidget."media0_out mo" { + index"1" + type"mixer" + no_pm "true" + event_type "1" + event_flags "15" + subseq "10" + data "media0_out mo" + mixer [ + "media0_in mi Switch" + "codec0_in mi Switch" + "dmic01_hifi_in mi Switch" + ] +} +SectionWidget."media0_out cpr 6" { + index"1" + type"pga" + no_pm "true" + event_type "4" + data "media0_out cpr 6" +} +SectionWidget."codec0_out mo" { + index"1" + type"mixer" + no_pm "true" + event_type "1" + event_flags "15" + subseq "10" + data "codec0_out mo" + mixer [ + "media0_in mi Switch" + "codec0_in mi Switch" + "dmic01_hifi_in mi Switch" + ] +} +SectionWidget."codec0_out cpr 4" { + index"1" + type"pga" + no_pm "true" + event_type "4" + data "codec0_out cpr 4" +} +SectionWidget."codec0_out" { + index"1" + type"aif_out" + no_pm "true" +} +SectionWidget."codec1_out mo" { + index"1" + type"mixer" + no_pm "true" + event_type "1" + event_flags "15" + subseq "10" + data "codec1_out mo" + mixer [ + "media0_in mi Switch" + "codec0_in mi Switch" + "dmic01_hifi_in mi Switch" + ] +} +SectionWidget."codec1_out cpr 5" { + index"1" + type"pga" + no_pm "true" + event_type "4" + data "codec1_out cpr 5" +} +SectionWidget."codec1_out" { + index"1" + type"aif_out" + no_pm "true" +} +SectionWidget."codec0_in cpr 1" { + index"1" + type"mixer" + no_pm "true" + event_type "3" + event_flags "9" + data "codec0_in cpr 1" +} +SectionWidget."codec0_in mi" { + index"1" + type"pga" + no_pm "true" + event_type "4" + event_flags "9" + subseq "10" + data "codec0_in mi" +} +SectionWidget."codec0_in" { + index"1" + type"aif_in" + no_pm "true" +} +SectionWidget."dmic01_hifi_in cpr 3" { + index"1" + type"mixer" + no_pm "true" + event_type "3" + event_flags "9" + data "dmic01_hifi_in cpr 3" +} +SectionWidget."dmic01_hifi_in mi" { + index"1" + type"pga" + no_pm "true" + event_type "4" + event_flags "9" + subseq "10" + data "dmic01_hifi_in mi" +} +SectionWidget."dmic01_hifi" { + index"1" + type"aif_in" + no_pm "true" +} +SectionWidget."hdmi1_pt_out cpr 7" { + index"1" + type"mixer" + no_pm "true" + event_type "3" + event_flags "9" + data "hdmi1_pt_out cpr 7" +} +SectionWidget."hdmi1_pt_out cpr 8" { + index"1" + type"pga" + no_pm "true" + event_type "4" + data "hdmi1_pt_out cpr 8" +} +SectionWidget."iDisp1_out" { + index"1" + type"aif_out" + no_pm "true" +} +SectionWidget."hdmi2_pt_out cpr 9" { + index"1" + type"mixer" + no_pm "true" + event_type "3" + event_flags "9" + data "hdmi2_pt_out cpr 9" +} +SectionWidget."hdmi2_pt_out cpr 10" { + index"1" + type"pga" + no_pm "true" + event_type "4" + data "hdmi2_pt_out cpr 10" +} +SectionWidget."iDisp2_out" { + index"1" + type"aif_out" + no_pm "true" +} +SectionWidget."hdmi3_pt_out cpr 11" { + index"1" + type"mixer" + no_pm "true" + event_type "3" + event_flags "9" + data "hdmi3_pt_out cpr 11" +} +SectionWidget."hdmi3_pt_out cpr 12" { + index"1" + type"pga" + no_pm "true" + event_type "4" + data "hdmi3_pt_out cpr 12" +} +SectionGraph."Pipeline 1 Graph" { + index"1" + lines [ + "media0_in mi, , media0_in cpr 0" + "media0_in cpr 0, , System Playback" + "media0_out mo, media0_in mi Switch, media0_in mi" + "media0_out mo, codec0_in mi Switch, codec0_in mi" + "media0_out mo, dmic01_hifi_in mi Switch, dmic01_hifi_in mi" + "media0_out cpr 6, , media0_out mo" + "System Capture, , media0_out cpr 6" + "codec0_out mo, media0_in mi Switch, media0_in mi" + "codec0_out mo, codec0_in mi Switch, codec0_in mi" + "codec0_out mo, dmic01_hifi_in mi Switch, dmic01_hifi_in mi" + "codec0_out cpr 4, , codec0_out mo" + "codec0_out, , codec0_out cpr 4" + "codec1_out mo, media0_in mi Switch, media0_in mi" + "codec1_out mo, codec0_in mi Switch, codec0_in mi" + "codec1_out mo, dmic01_hifi_in mi Switch, dmic01_hifi_in mi" + "codec1_out cpr 5, , codec1_out mo" + "codec1_out, , codec1_out cpr 5" + "codec0_in mi, , codec0_in cpr 1" + "codec0_in cpr 1, , codec0_in" + "dmic01_hifi_in mi, , dmic01_hifi_in cpr 3" + "dmic01_hifi_in cpr 3, , dmic01_hifi" + "hdmi1_pt_out cpr 8, , hdmi1_pt_out cpr 7" + "hdmi1_pt_out cpr 7, , HDMI1 Playback" + "iDisp1_out, , hdmi1_pt_out cpr 8" + "hdmi2_pt_out cpr 10, , hdmi2_pt_out cpr 9" + "hdmi2_pt_out cpr 9, , HDMI2 Playback" + "iDisp2_out, , hdmi2_pt_out cpr 10" + "hdmi3_pt_out cpr 12, , hdmi3_pt_out cpr 11" + "hdmi3_pt_out cpr 11, , HDMI3 Playback" + "iDisp1_out, , hdmi3_pt_out cpr 12" + ] +} +
From: Shreyas NC shreyas.nc@intel.com
Skylake headers use u8 data types which were not present in type_compat so add them.
Signed-off-by: Shreyas NC shreyas.nc@intel.com Signed-off-by: Vinod Koul vinod.koul@intel.com --- include/sound/type_compat.h | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/include/sound/type_compat.h b/include/sound/type_compat.h index eec86e4bc41e..e973ff3139e2 100644 --- a/include/sound/type_compat.h +++ b/include/sound/type_compat.h @@ -32,9 +32,11 @@ typedef int32_t __s32; #define __le64 __u64 #define __le32 __u32 #define __le16 __u16 +#define __le8 __u8 #define __be64 __u64 #define __be32 __u32 #define __be16 __u16 +#define __be8 __u8 #endif /* DOC_HIDDEN */
#endif /* __TYPE_COMPAT_H */
From: Shreyas NC shreyas.nc@intel.com
The DSP modules need private data and that is provided as binary blob. These blobs are compiled from C structures which specify module configuration.
Signed-off-by: Shreyas NC shreyas.nc@intel.com Signed-off-by: Vinod Koul vinod.koul@intel.com --- configure.ac | 1 + src/conf/topology/sklrt286/data/Makefile.am | 4 + src/conf/topology/sklrt286/data/pvt.c | 1815 ++++++++++++++++++++ src/conf/topology/sklrt286/data/pvt_data.c | 90 + src/conf/topology/sklrt286/data/pvt_local.h | 9 + .../topology/sklrt286/data/skl-tplg-interface.h | 232 +++ 6 files changed, 2151 insertions(+) create mode 100644 src/conf/topology/sklrt286/data/Makefile.am create mode 100644 src/conf/topology/sklrt286/data/pvt.c create mode 100644 src/conf/topology/sklrt286/data/pvt_data.c create mode 100644 src/conf/topology/sklrt286/data/pvt_local.h create mode 100644 src/conf/topology/sklrt286/data/skl-tplg-interface.h
diff --git a/configure.ac b/configure.ac index 1bf75e6d9c2b..28fcd24a883d 100644 --- a/configure.ac +++ b/configure.ac @@ -661,6 +661,7 @@ AC_OUTPUT(Makefile doc/Makefile doc/pictures/Makefile doc/doxygen.cfg \ src/conf/topology/Makefile \ src/conf/topology/broadwell/Makefile \ modules/Makefile modules/mixer/Makefile modules/mixer/simple/Makefile \ + src/conf/topology/sklrt286/data/Makefile \ src/conf/topology/sklrt286/Makefile \ alsalisp/Makefile aserver/Makefile \ test/Makefile test/lsb/Makefile \ diff --git a/src/conf/topology/sklrt286/data/Makefile.am b/src/conf/topology/sklrt286/data/Makefile.am new file mode 100644 index 000000000000..888ce16e0208 --- /dev/null +++ b/src/conf/topology/sklrt286/data/Makefile.am @@ -0,0 +1,4 @@ +noinst_PROGRAMS = pvt_data +pvt_data_SOURCES = pvt_data.c +AM_CPPFLAGS = \ + -Wall -I$(top_srcdir)/include diff --git a/src/conf/topology/sklrt286/data/pvt.c b/src/conf/topology/sklrt286/data/pvt.c new file mode 100644 index 000000000000..3447e3e0226b --- /dev/null +++ b/src/conf/topology/sklrt286/data/pvt.c @@ -0,0 +1,1815 @@ +/* +* Copyright(c) 2014-2016 Intel Corporation +* All rights reserved. +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; either +* version 2 of the License, or (at your option) any later version. + +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* General Public License for more details. +* +* Authors: Shreyas Nc shreyas.nc@intel.com +* +*/ +#include "pvt_local.h" + +struct skl_dfw_module_mod dfw_wrap[] = { +{ +.name = "media0_in cpr 0", +.skl_dfw_mod = { + .uuid = {131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218}, + .module_id = 3, + .instance_id = 0, + .max_mcps = 0x186a0, + .mem_pages = 0x1, + .obs = 384, + .ibs = 384, + .vbus_id = -1, + .max_in_queue = 1, + .max_out_queue = 2, + .time_slot = 0, + .core_id = 0, + .rsvd1 = 0, + .module_type = 1, + .conn_type = 1, + .dev_type = 5, + .hw_conn_type = 1, + .rsvd2 = 0, + .params_fixup = 0, + .converter = 0, + .input_pin_type = 0, + .output_pin_type = 0, + .is_dynamic_in_pin = 1, + .is_dynamic_out_pin = 1, + .is_loadable = 0, + .rsvd3 = 0, + .pipe = { + .pipe_id = 1, + .pipe_priority = 0, + .conn_type = 1, + .rsvd = 0, + .memory_pages = 0x2, + }, + .in_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .out_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .in_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + }, + .out_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + }, + }, +}, +{ +.name = "media0_in mi", +.skl_dfw_mod = { + .uuid = {178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9}, + .module_id = 1, + .instance_id = 0, + .max_mcps = 0x186a0, + .mem_pages = 0x1, + .obs = 384, + .ibs = 384, + .vbus_id = -1, + .max_in_queue = 1, + .max_out_queue = 1, + .time_slot = 0, + .core_id = 0, + .rsvd1 = 0, + .module_type = 0, + .conn_type = 0, + .dev_type = 6, + .hw_conn_type = 1, + .rsvd2 = 0, + .params_fixup = 0, + .converter = 0, + .input_pin_type = 0, + .output_pin_type = 0, + .is_dynamic_in_pin = 1, + .is_dynamic_out_pin = 1, + .is_loadable = 0, + .rsvd3 = 0, + .pipe = { + .pipe_id = 1, + .pipe_priority = 0, + .conn_type = 1, + .rsvd = 0, + .memory_pages = 0x2, + }, + .in_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .out_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .in_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + }, + .out_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + }, + }, +}, +{ +.name = "media0_out mo", +.skl_dfw_mod = { + .uuid = {90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224}, + .module_id = 2, + .instance_id = 2, + .max_mcps = 0x186a0, + .mem_pages = 0x1, + .obs = 384, + .ibs = 384, + .vbus_id = -1, + .max_in_queue = 8, + .max_out_queue = 1, + .time_slot = 0, + .core_id = 0, + .rsvd1 = 0, + .module_type = 0, + .conn_type = 0, + .dev_type = 6, + .hw_conn_type = 2, + .rsvd2 = 0, + .params_fixup = 0, + .converter = 0, + .input_pin_type = 0, + .output_pin_type = 0, + .is_dynamic_in_pin = 1, + .is_dynamic_out_pin = 1, + .is_loadable = 0, + .rsvd3 = 0, + .pipe = { + .pipe_id = 2, + .pipe_priority = 0, + .conn_type = 1, + .rsvd = 0, + .memory_pages = 0x2, + }, + .in_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .out_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .in_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + }, + .out_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + }, + }, +}, +{ +.name = "media0_out cpr 6", +.skl_dfw_mod = { + .uuid = {131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218}, + .module_id = 3, + .instance_id = 6, + .max_mcps = 0x186a0, + .mem_pages = 0x1, + .obs = 384, + .ibs = 384, + .vbus_id = -1, + .max_in_queue = 1, + .max_out_queue = 2, + .time_slot = 0, + .core_id = 0, + .rsvd1 = 0, + .module_type = 1, + .conn_type = 0, + .dev_type = 5, + .hw_conn_type = 2, + .rsvd2 = 0, + .params_fixup = 0, + .converter = 0, + .input_pin_type = 0, + .output_pin_type = 0, + .is_dynamic_in_pin = 1, + .is_dynamic_out_pin = 1, + .is_loadable = 0, + .rsvd3 = 0, + .pipe = { + .pipe_id = 2, + .pipe_priority = 0, + .conn_type = 1, + .rsvd = 0, + .memory_pages = 0x2, + }, + .in_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .out_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .in_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + }, + .out_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + }, + }, +}, +{ +.name = "codec0_out mo", +.skl_dfw_mod = { + .uuid = {90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224}, + .module_id = 2, + .instance_id = 0, + .max_mcps = 0x186a0, + .mem_pages = 0x1, + .obs = 384, + .ibs = 384, + .vbus_id = -1, + .max_in_queue = 8, + .max_out_queue = 1, + .time_slot = 0, + .core_id = 0, + .rsvd1 = 0, + .module_type = 0, + .conn_type = 0, + .dev_type = 6, + .hw_conn_type = 1, + .rsvd2 = 0, + .params_fixup = 0, + .converter = 0, + .input_pin_type = 0, + .output_pin_type = 0, + .is_dynamic_in_pin = 1, + .is_dynamic_out_pin = 1, + .is_loadable = 0, + .rsvd3 = 0, + .pipe = { + .pipe_id = 3, + .pipe_priority = 0, + .conn_type = 2, + .rsvd = 0, + .memory_pages = 0x4, + }, + .in_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .out_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .in_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + }, + .out_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + }, + }, +}, +{ +.name = "codec0_out cpr 4", +.skl_dfw_mod = { + .uuid = {131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218}, + .module_id = 3, + .instance_id = 4, + .max_mcps = 0x186a0, + .mem_pages = 0x1, + .obs = 384, + .ibs = 384, + .vbus_id = 0, + .max_in_queue = 1, + .max_out_queue = 2, + .time_slot = 0, + .core_id = 0, + .rsvd1 = 0, + .module_type = 1, + .conn_type = 2, + .dev_type = 2, + .hw_conn_type = 1, + .rsvd2 = 0, + .params_fixup = 0, + .converter = 0, + .input_pin_type = 0, + .output_pin_type = 0, + .is_dynamic_in_pin = 1, + .is_dynamic_out_pin = 1, + .is_loadable = 0, + .rsvd3 = 0, + .pipe = { + .pipe_id = 3, + .pipe_priority = 0, + .conn_type = 2, + .rsvd = 0, + .memory_pages = 0x4, + }, + .in_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 24, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .out_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 24, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 24, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .in_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + }, + .out_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + }, + }, +}, +{ +.name = "codec1_out mo", +.skl_dfw_mod = { + .uuid = {90, 80, 86, 60, 215, 36, 143, 65, 189, 220, 193, 245, 163, 172, 42, 224}, + .module_id = 2, + .instance_id = 1, + .max_mcps = 0x186a0, + .mem_pages = 0x1, + .obs = 384, + .ibs = 384, + .vbus_id = -1, + .max_in_queue = 8, + .max_out_queue = 1, + .time_slot = 0, + .core_id = 0, + .rsvd1 = 0, + .module_type = 0, + .conn_type = 0, + .dev_type = 6, + .hw_conn_type = 1, + .rsvd2 = 0, + .params_fixup = 0, + .converter = 0, + .input_pin_type = 0, + .output_pin_type = 0, + .is_dynamic_in_pin = 1, + .is_dynamic_out_pin = 1, + .is_loadable = 0, + .rsvd3 = 0, + .pipe = { + .pipe_id = 4, + .pipe_priority = 0, + .conn_type = 2, + .rsvd = 0, + .memory_pages = 0x2, + }, + .in_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .out_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .in_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + }, + .out_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + }, + }, +}, +{ +.name = "codec1_out cpr 5", +.skl_dfw_mod = { + .uuid = {131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218}, + .module_id = 3, + .instance_id = 5, + .max_mcps = 0x186a0, + .mem_pages = 0x1, + .obs = 384, + .ibs = 384, + .vbus_id = 0, + .max_in_queue = 1, + .max_out_queue = 2, + .time_slot = 2, + .core_id = 0, + .rsvd1 = 0, + .module_type = 1, + .conn_type = 2, + .dev_type = 2, + .hw_conn_type = 1, + .rsvd2 = 0, + .params_fixup = 0, + .converter = 0, + .input_pin_type = 0, + .output_pin_type = 0, + .is_dynamic_in_pin = 1, + .is_dynamic_out_pin = 1, + .is_loadable = 0, + .rsvd3 = 0, + .pipe = { + .pipe_id = 4, + .pipe_priority = 0, + .conn_type = 2, + .rsvd = 0, + .memory_pages = 0x2, + }, + .in_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 24, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .out_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 24, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 24, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .in_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + }, + .out_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + }, + }, +}, +{ +.name = "codec0_in cpr 1", +.skl_dfw_mod = { + .uuid = {131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218}, + .module_id = 3, + .instance_id = 1, + .max_mcps = 0x186a0, + .mem_pages = 0x1, + .obs = 384, + .ibs = 384, + .vbus_id = 0, + .max_in_queue = 1, + .max_out_queue = 2, + .time_slot = 0, + .core_id = 0, + .rsvd1 = 0, + .module_type = 1, + .conn_type = 2, + .dev_type = 2, + .hw_conn_type = 2, + .rsvd2 = 0, + .params_fixup = 0, + .converter = 0, + .input_pin_type = 0, + .output_pin_type = 0, + .is_dynamic_in_pin = 1, + .is_dynamic_out_pin = 1, + .is_loadable = 0, + .rsvd3 = 0, + .pipe = { + .pipe_id = 5, + .pipe_priority = 0, + .conn_type = 2, + .rsvd = 0, + .memory_pages = 0x2, + }, + .in_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 24, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .out_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 24, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 24, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .in_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + }, + .out_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + }, + }, +}, +{ +.name = "codec0_in mi", +.skl_dfw_mod = { + .uuid = {178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9}, + .module_id = 1, + .instance_id = 1, + .max_mcps = 0x186a0, + .mem_pages = 0x1, + .obs = 384, + .ibs = 384, + .vbus_id = -1, + .max_in_queue = 1, + .max_out_queue = 1, + .time_slot = 0, + .core_id = 0, + .rsvd1 = 0, + .module_type = 0, + .conn_type = 0, + .dev_type = 6, + .hw_conn_type = 2, + .rsvd2 = 0, + .params_fixup = 0, + .converter = 0, + .input_pin_type = 0, + .output_pin_type = 0, + .is_dynamic_in_pin = 1, + .is_dynamic_out_pin = 1, + .is_loadable = 0, + .rsvd3 = 0, + .pipe = { + .pipe_id = 5, + .pipe_priority = 0, + .conn_type = 2, + .rsvd = 0, + .memory_pages = 0x2, + }, + .in_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .out_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .in_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + }, + .out_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + }, + }, +}, +{ +.name = "dmic01_hifi_in cpr 3", +.skl_dfw_mod = { + .uuid = {131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218}, + .module_id = 3, + .instance_id = 3, + .max_mcps = 0x186a0, + .mem_pages = 0x1, + .obs = 384, + .ibs = 384, + .vbus_id = 0, + .max_in_queue = 1, + .max_out_queue = 2, + .time_slot = 0, + .core_id = 0, + .rsvd1 = 0, + .module_type = 1, + .conn_type = 2, + .dev_type = 1, + .hw_conn_type = 2, + .rsvd2 = 0, + .params_fixup = 4, + .converter = 4, + .input_pin_type = 0, + .output_pin_type = 0, + .is_dynamic_in_pin = 1, + .is_dynamic_out_pin = 1, + .is_loadable = 0, + .rsvd3 = 0, + .pipe = { + .pipe_id = 6, + .pipe_priority = 0, + .conn_type = 2, + .rsvd = 0, + .memory_pages = 0x2, + }, + .in_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .out_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .in_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + }, + .out_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + }, + }, +}, +{ +.name = "dmic01_hifi_in mi", +.skl_dfw_mod = { + .uuid = {178, 110, 101, 57, 113, 59, 73, 64, 141, 63, 249, 44, 213, 196, 60, 9}, + .module_id = 1, + .instance_id = 3, + .max_mcps = 0x186a0, + .mem_pages = 0x1, + .obs = 384, + .ibs = 384, + .vbus_id = -1, + .max_in_queue = 1, + .max_out_queue = 1, + .time_slot = 0, + .core_id = 0, + .rsvd1 = 0, + .module_type = 0, + .conn_type = 0, + .dev_type = 6, + .hw_conn_type = 2, + .rsvd2 = 0, + .params_fixup = 0, + .converter = 0, + .input_pin_type = 0, + .output_pin_type = 0, + .is_dynamic_in_pin = 1, + .is_dynamic_out_pin = 1, + .is_loadable = 0, + .rsvd3 = 0, + .pipe = { + .pipe_id = 6, + .pipe_priority = 0, + .conn_type = 2, + .rsvd = 0, + .memory_pages = 0x2, + }, + .in_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .out_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .in_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + }, + .out_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + }, + }, +}, +{ +.name = "hdmi1_pt_out cpr 7", +.skl_dfw_mod = { + .uuid = {131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218}, + .module_id = 3, + .instance_id = 7, + .max_mcps = 0x186a0, + .mem_pages = 0x1, + .obs = 384, + .ibs = 384, + .vbus_id = -1, + .max_in_queue = 1, + .max_out_queue = 2, + .time_slot = 0, + .core_id = 0, + .rsvd1 = 0, + .module_type = 1, + .conn_type = 1, + .dev_type = 5, + .hw_conn_type = 1, + .rsvd2 = 0, + .params_fixup = 7, + .converter = 0, + .input_pin_type = 0, + .output_pin_type = 0, + .is_dynamic_in_pin = 1, + .is_dynamic_out_pin = 1, + .is_loadable = 0, + .rsvd3 = 0, + .pipe = { + .pipe_id = 7, + .pipe_priority = 0, + .conn_type = 1, + .rsvd = 0, + .memory_pages = 0x2, + }, + .in_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .out_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .in_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + }, + .out_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + }, + }, +}, +{ +.name = "hdmi1_pt_out cpr 8", +.skl_dfw_mod = { + .uuid = {131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218}, + .module_id = 3, + .instance_id = 8, + .max_mcps = 0x186a0, + .mem_pages = 0x1, + .obs = 384, + .ibs = 384, + .vbus_id = -1, + .max_in_queue = 1, + .max_out_queue = 2, + .time_slot = 0, + .core_id = 0, + .rsvd1 = 0, + .module_type = 1, + .conn_type = 1, + .dev_type = 4, + .hw_conn_type = 1, + .rsvd2 = 0, + .params_fixup = 7, + .converter = 0, + .input_pin_type = 0, + .output_pin_type = 0, + .is_dynamic_in_pin = 1, + .is_dynamic_out_pin = 1, + .is_loadable = 0, + .rsvd3 = 0, + .pipe = { + .pipe_id = 7, + .pipe_priority = 0, + .conn_type = 1, + .rsvd = 0, + .memory_pages = 0x2, + }, + .in_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 24, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .out_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 24, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 24, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .in_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + }, + .out_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + }, + }, +}, +{ +.name = "hdmi2_pt_out cpr 9", +.skl_dfw_mod = { + .uuid = {131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218}, + .module_id = 3, + .instance_id = 9, + .max_mcps = 0x186a0, + .mem_pages = 0x1, + .obs = 384, + .ibs = 384, + .vbus_id = -1, + .max_in_queue = 1, + .max_out_queue = 2, + .time_slot = 0, + .core_id = 0, + .rsvd1 = 0, + .module_type = 1, + .conn_type = 1, + .dev_type = 5, + .hw_conn_type = 1, + .rsvd2 = 0, + .params_fixup = 7, + .converter = 0, + .input_pin_type = 0, + .output_pin_type = 0, + .is_dynamic_in_pin = 1, + .is_dynamic_out_pin = 1, + .is_loadable = 0, + .rsvd3 = 0, + .pipe = { + .pipe_id = 8, + .pipe_priority = 0, + .conn_type = 1, + .rsvd = 0, + .memory_pages = 0x2, + }, + .in_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .out_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .in_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + }, + .out_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + }, + }, +}, +{ +.name = "hdmi2_pt_out cpr 10", +.skl_dfw_mod = { + .uuid = {131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218}, + .module_id = 3, + .instance_id = 10, + .max_mcps = 0x186a0, + .mem_pages = 0x1, + .obs = 384, + .ibs = 384, + .vbus_id = -1, + .max_in_queue = 1, + .max_out_queue = 2, + .time_slot = 0, + .core_id = 0, + .rsvd1 = 0, + .module_type = 1, + .conn_type = 1, + .dev_type = 4, + .hw_conn_type = 1, + .rsvd2 = 0, + .params_fixup = 7, + .converter = 0, + .input_pin_type = 0, + .output_pin_type = 0, + .is_dynamic_in_pin = 1, + .is_dynamic_out_pin = 1, + .is_loadable = 0, + .rsvd3 = 0, + .pipe = { + .pipe_id = 8, + .pipe_priority = 0, + .conn_type = 1, + .rsvd = 0, + .memory_pages = 0x2, + }, + .in_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 24, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .out_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 24, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 24, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .in_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + }, + .out_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + }, + }, +}, +{ +.name = "hdmi3_pt_out cpr 11", +.skl_dfw_mod = { + .uuid = {131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218}, + .module_id = 3, + .instance_id = 11, + .max_mcps = 0x186a0, + .mem_pages = 0x1, + .obs = 384, + .ibs = 384, + .vbus_id = -1, + .max_in_queue = 1, + .max_out_queue = 2, + .time_slot = 0, + .core_id = 0, + .rsvd1 = 0, + .module_type = 1, + .conn_type = 1, + .dev_type = 5, + .hw_conn_type = 1, + .rsvd2 = 0, + .params_fixup = 7, + .converter = 0, + .input_pin_type = 0, + .output_pin_type = 0, + .is_dynamic_in_pin = 1, + .is_dynamic_out_pin = 1, + .is_loadable = 0, + .rsvd3 = 0, + .pipe = { + .pipe_id = 9, + .pipe_priority = 0, + .conn_type = 1, + .rsvd = 0, + .memory_pages = 0x2, + }, + .in_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .out_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 32, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .in_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + }, + .out_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + }, + }, +}, +{ +.name = "hdmi3_pt_out cpr 12", +.skl_dfw_mod = { + .uuid = {131, 12, 160, 155, 18, 202, 131, 74, 148, 60, 31, 162, 232, 47, 157, 218}, + .module_id = 3, + .instance_id = 12, + .max_mcps = 0x186a0, + .mem_pages = 0x1, + .obs = 384, + .ibs = 384, + .vbus_id = -1, + .max_in_queue = 1, + .max_out_queue = 2, + .time_slot = 0, + .core_id = 0, + .rsvd1 = 0, + .module_type = 1, + .conn_type = 1, + .dev_type = 4, + .hw_conn_type = 1, + .rsvd2 = 0, + .params_fixup = 7, + .converter = 0, + .input_pin_type = 0, + .output_pin_type = 0, + .is_dynamic_in_pin = 1, + .is_dynamic_out_pin = 1, + .is_loadable = 0, + .rsvd3 = 0, + .pipe = { + .pipe_id = 9, + .pipe_priority = 0, + .conn_type = 1, + .rsvd = 0, + .memory_pages = 0x2, + }, + .in_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 24, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .out_fmt = { + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 24, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + { + .channels = 2, + .freq = 48000, + .bit_depth = 32, + .valid_bit_depth = 24, + .ch_cfg = 1, + .interleaving_style = 0, + .sample_type = 0, + .ch_map = 0xffffff10, + }, + }, + .in_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + }, + .out_pin = { + { + .module_id = 0, + .instance_id = 0, + }, + { + .module_id = 0, + .instance_id = 0, + }, + }, + }, +}, + }; diff --git a/src/conf/topology/sklrt286/data/pvt_data.c b/src/conf/topology/sklrt286/data/pvt_data.c new file mode 100644 index 000000000000..dd55c3a38b3b --- /dev/null +++ b/src/conf/topology/sklrt286/data/pvt_data.c @@ -0,0 +1,90 @@ +/* + * Copyright(c) 2014-2016 Intel Corporation + * All rights reserved. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * Authors: Shreyas Nc shreyas.nc@intel.com + * + */ +#include "pvt.c" +#include "stdio.h" +#include "fcntl.h" +#include <local.h> +#include <limits.h> +#include <stdint.h> +#include <linux/types.h> +#include "global.h" +#include "list.h" + +#include <sound/asound.h> +#include <sound/asoc.h> + +int replace_space(char *path, char *newpath) +{ + char buffer[52]; + char *p; + + strcpy(buffer, path); + + while ((p = strchr(buffer, ' '))) + p[0] = '-'; + + strcpy(newpath, buffer); + return 0; +} + +/* + * The private data structures are written into a + * binary blob. These contain module private data + * information + */ +int main(void) +{ + unsigned int i; + FILE *fd; + char path[128]; + char new_path[128]; + struct snd_soc_tplg_private *priv = NULL; + + memset(path, 0, sizeof(path)); + memset(new_path, 0, sizeof(new_path)); + + priv = calloc(1, sizeof(dfw_wrap) + sizeof(uint32_t)); + + for (i = 0; i < ARRAY_SIZE(dfw_wrap); i++) { + strcat(path, "../"); + strcat(path, dfw_wrap[i].name); + strcat(path, ".bin"); + + replace_space(path, new_path); + + priv->size = (uint32_t)sizeof(dfw_wrap[i].skl_dfw_mod); + + memcpy(priv->data, &dfw_wrap[i].skl_dfw_mod, + priv->size); + + fd = fopen(new_path, "wb"); + + if (fd == NULL) + return -ENOENT; + + if (fwrite(priv->data, priv->size, 1, fd) != 1) { + fclose(fd); + return -1; + } + + memset(path, 0, sizeof(path)); + } + + free(priv); + return 0; +} diff --git a/src/conf/topology/sklrt286/data/pvt_local.h b/src/conf/topology/sklrt286/data/pvt_local.h new file mode 100644 index 000000000000..5edf7bd71ce9 --- /dev/null +++ b/src/conf/topology/sklrt286/data/pvt_local.h @@ -0,0 +1,9 @@ +#include <stdio.h> +#include "skl-tplg-interface.h" + +struct skl_dfw_module_mod { + char name[100]; + struct skl_dfw_module skl_dfw_mod; +}; + + diff --git a/src/conf/topology/sklrt286/data/skl-tplg-interface.h b/src/conf/topology/sklrt286/data/skl-tplg-interface.h new file mode 100644 index 000000000000..e7389bce1244 --- /dev/null +++ b/src/conf/topology/sklrt286/data/skl-tplg-interface.h @@ -0,0 +1,232 @@ +/* + * skl-tplg-interface.h - Intel DSP FW private data interface + * + * Copyright (C) 2015 Intel Corp + * Author: Jeeja KP jeeja.kp@intel.com + * Nilofer, Samreen samreen.nilofer@intel.com + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as version 2, as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + */ + +#ifndef __HDA_TPLG_INTERFACE_H__ +#define __HDA_TPLG_INTERFACE_H__ + +#include <sound/type_compat.h> +/* + * Default types range from 0~12. type can range from 0 to 0xff + * SST types start at higher to avoid any overlapping in future + */ +#define SKL_CONTROL_TYPE_BYTE_TLV 0x100 + +#define HDA_SST_CFG_MAX 900 /* size of copier cfg*/ +#define MAX_IN_QUEUE 8 +#define MAX_OUT_QUEUE 8 + +#define SKL_UUID_STR_SZ 40 +/* Event types goes here */ +/* Reserve event type 0 for no event handlers */ +enum skl_event_types { + SKL_EVENT_NONE = 0, + SKL_MIXER_EVENT, + SKL_MUX_EVENT, + SKL_VMIXER_EVENT, + SKL_PGA_EVENT +}; + +/** + * enum skl_ch_cfg - channel configuration + * + * @SKL_CH_CFG_MONO: One channel only + * @SKL_CH_CFG_STEREO: L & R + * @SKL_CH_CFG_2_1: L, R & LFE + * @SKL_CH_CFG_3_0: L, C & R + * @SKL_CH_CFG_3_1: L, C, R & LFE + * @SKL_CH_CFG_QUATRO: L, R, Ls & Rs + * @SKL_CH_CFG_4_0: L, C, R & Cs + * @SKL_CH_CFG_5_0: L, C, R, Ls & Rs + * @SKL_CH_CFG_5_1: L, C, R, Ls, Rs & LFE + * @SKL_CH_CFG_DUAL_MONO: One channel replicated in two + * @SKL_CH_CFG_I2S_DUAL_STEREO_0: Stereo(L,R) in 4 slots, 1st stream:[ L, R, -, - ] + * @SKL_CH_CFG_I2S_DUAL_STEREO_1: Stereo(L,R) in 4 slots, 2nd stream:[ -, -, L, R ] + * @SKL_CH_CFG_INVALID: Invalid + */ +enum skl_ch_cfg { + SKL_CH_CFG_MONO = 0, + SKL_CH_CFG_STEREO = 1, + SKL_CH_CFG_2_1 = 2, + SKL_CH_CFG_3_0 = 3, + SKL_CH_CFG_3_1 = 4, + SKL_CH_CFG_QUATRO = 5, + SKL_CH_CFG_4_0 = 6, + SKL_CH_CFG_5_0 = 7, + SKL_CH_CFG_5_1 = 8, + SKL_CH_CFG_DUAL_MONO = 9, + SKL_CH_CFG_I2S_DUAL_STEREO_0 = 10, + SKL_CH_CFG_I2S_DUAL_STEREO_1 = 11, + SKL_CH_CFG_4_CHANNEL = 12, + SKL_CH_CFG_INVALID +}; + +enum skl_module_type { + SKL_MODULE_TYPE_MIXER = 0, + SKL_MODULE_TYPE_COPIER, + SKL_MODULE_TYPE_UPDWMIX, + SKL_MODULE_TYPE_SRCINT, + SKL_MODULE_TYPE_ALGO, + SKL_MODULE_TYPE_BASE_OUTFMT +}; + +enum skl_core_affinity { + SKL_AFFINITY_CORE_0 = 0, + SKL_AFFINITY_CORE_1, + SKL_AFFINITY_CORE_MAX +}; + +enum skl_pipe_conn_type { + SKL_PIPE_CONN_TYPE_NONE = 0, + SKL_PIPE_CONN_TYPE_FE, + SKL_PIPE_CONN_TYPE_BE +}; + +enum skl_hw_conn_type { + SKL_CONN_NONE = 0, + SKL_CONN_SOURCE = 1, + SKL_CONN_SINK = 2 +}; + +enum skl_dev_type { + SKL_DEVICE_BT = 0x0, + SKL_DEVICE_DMIC = 0x1, + SKL_DEVICE_I2S = 0x2, + SKL_DEVICE_SLIMBUS = 0x3, + SKL_DEVICE_HDALINK = 0x4, + SKL_DEVICE_HDAHOST = 0x5, + SKL_DEVICE_NONE +}; + +/** + * enum skl_interleaving - interleaving style + * + * @SKL_INTERLEAVING_PER_CHANNEL: [s1_ch1...s1_chN,...,sM_ch1...sM_chN] + * @SKL_INTERLEAVING_PER_SAMPLE: [s1_ch1...sM_ch1,...,s1_chN...sM_chN] + */ +enum skl_interleaving { + SKL_INTERLEAVING_PER_CHANNEL = 0, + SKL_INTERLEAVING_PER_SAMPLE = 1, +}; + +enum skl_sample_type { + SKL_SAMPLE_TYPE_INT_MSB = 0, + SKL_SAMPLE_TYPE_INT_LSB = 1, + SKL_SAMPLE_TYPE_INT_SIGNED = 2, + SKL_SAMPLE_TYPE_INT_UNSIGNED = 3, + SKL_SAMPLE_TYPE_FLOAT = 4 +}; + +enum module_pin_type { + /* All pins of the module takes same PCM inputs or outputs + * e.g. mixout + */ + SKL_PIN_TYPE_HOMOGENEOUS, + /* All pins of the module takes different PCM inputs or outputs + * e.g mux + */ + SKL_PIN_TYPE_HETEROGENEOUS, +}; + +enum skl_module_param_type { + SKL_PARAM_DEFAULT = 0, + SKL_PARAM_INIT, + SKL_PARAM_SET, + SKL_PARAM_BIND +}; + +struct skl_dfw_module_pin { + __le16 module_id; + __le16 instance_id; +} __attribute__((packed)); + +struct skl_dfw_module_fmt { + __le32 channels; + __le32 freq; + __le32 bit_depth; + __le32 valid_bit_depth; + __le32 ch_cfg; + __le32 interleaving_style; + __le32 sample_type; + __le32 ch_map; +} __attribute__((packed)); + +struct skl_dfw_module_caps { + __le32 set_params:2; + __le32 rsvd:30; + __le32 param_id; + __le32 caps_size; + __le32 caps[HDA_SST_CFG_MAX]; +}; + +struct skl_dfw_pipe { + __le8 pipe_id; + __le8 pipe_priority; + __le16 conn_type:4; + __le16 rsvd:4; + __le16 memory_pages:8; +} __attribute__((packed)); + +struct skl_dfw_module { + __le8 uuid[16]; + + __le16 module_id; + __le16 instance_id; + __le32 max_mcps; + __le32 mem_pages; + __le32 obs; + __le32 ibs; + __le32 vbus_id; + + __le32 max_in_queue:8; + __le32 max_out_queue:8; + __le32 time_slot:8; + __le32 core_id:4; + __le32 rsvd1:4; + + __le32 module_type:8; + __le32 conn_type:4; + __le32 dev_type:4; + __le32 hw_conn_type:4; + __le32 rsvd2:12; + + __le32 params_fixup:8; + __le32 converter:8; + __le32 input_pin_type:1; + __le32 output_pin_type:1; + __le32 is_dynamic_in_pin:1; + __le32 is_dynamic_out_pin:1; + __le32 is_loadable:1; + __le32 rsvd3:11; + + struct skl_dfw_pipe pipe; + struct skl_dfw_module_fmt in_fmt[MAX_IN_QUEUE]; + struct skl_dfw_module_fmt out_fmt[MAX_OUT_QUEUE]; + struct skl_dfw_module_pin in_pin[MAX_IN_QUEUE]; + struct skl_dfw_module_pin out_pin[MAX_OUT_QUEUE]; + struct skl_dfw_module_caps caps; +} __attribute__((packed)); + +struct skl_dfw_algo_data { + __le32 set_params:2; + __le32 rsvd:30; + __le32 param_id; + __le32 max; + char params[0]; +} __attribute__((packed)); + +#endif
On Thu, 28 Apr 2016 07:37:55 +0200, Vinod Koul wrote:
This series adds SKL-i2c conf for simple PCM topology graph
Changes in v4:
- add back the pre-compiled binary blobs
- remove running the binary on intsall step
Changes in v3:
- remove bin blobs, now they are generated in install step
- hook the tool compilation to alsa-lib and run it on install
- add u8 in alsa type_compat.h
Shreyas NC (3): conf: topology: Add Skylake i2s conf Add u8 in type_compat.h conf: topology: Generate Private data binary blobs
Applied now (with a slight fix for git bisection and adding the missing .gitignore).
thanks,
Takashi
configure.ac | 2 + include/sound/type_compat.h | 2 + src/conf/topology/Makefile.am | 2 +- src/conf/topology/sklrt286/Makefile.am | 5 + src/conf/topology/sklrt286/codec0_in-cpr-1.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/codec0_in-mi.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/codec0_out-cpr-4.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/codec0_out-mo.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/codec1_out-cpr-5.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/codec1_out-mo.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/data/Makefile.am | 4 + src/conf/topology/sklrt286/data/pvt.c | 1815 ++++++++++++++++++++ src/conf/topology/sklrt286/data/pvt_data.c | 90 + src/conf/topology/sklrt286/data/pvt_local.h | 9 + .../topology/sklrt286/data/skl-tplg-interface.h | 232 +++ .../topology/sklrt286/dmic01_hifi_in-cpr-3.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/dmic01_hifi_in-mi.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/hdmi1_pt_out-cpr-7.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/hdmi1_pt_out-cpr-8.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/hdmi2_pt_out-cpr-10.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/hdmi2_pt_out-cpr-9.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/hdmi3_pt_out-cpr-11.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/hdmi3_pt_out-cpr-12.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/media0_in-cpr-0.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/media0_in-mi.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/media0_out-cpr-6.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/media0_out-mo.bin | Bin 0 -> 4244 bytes src/conf/topology/sklrt286/skl_i2s.conf | 342 ++++ 28 files changed, 2502 insertions(+), 1 deletion(-) create mode 100644 src/conf/topology/sklrt286/Makefile.am create mode 100644 src/conf/topology/sklrt286/codec0_in-cpr-1.bin create mode 100644 src/conf/topology/sklrt286/codec0_in-mi.bin create mode 100644 src/conf/topology/sklrt286/codec0_out-cpr-4.bin create mode 100644 src/conf/topology/sklrt286/codec0_out-mo.bin create mode 100644 src/conf/topology/sklrt286/codec1_out-cpr-5.bin create mode 100644 src/conf/topology/sklrt286/codec1_out-mo.bin create mode 100644 src/conf/topology/sklrt286/data/Makefile.am create mode 100644 src/conf/topology/sklrt286/data/pvt.c create mode 100644 src/conf/topology/sklrt286/data/pvt_data.c create mode 100644 src/conf/topology/sklrt286/data/pvt_local.h create mode 100644 src/conf/topology/sklrt286/data/skl-tplg-interface.h create mode 100644 src/conf/topology/sklrt286/dmic01_hifi_in-cpr-3.bin create mode 100644 src/conf/topology/sklrt286/dmic01_hifi_in-mi.bin create mode 100644 src/conf/topology/sklrt286/hdmi1_pt_out-cpr-7.bin create mode 100644 src/conf/topology/sklrt286/hdmi1_pt_out-cpr-8.bin create mode 100644 src/conf/topology/sklrt286/hdmi2_pt_out-cpr-10.bin create mode 100644 src/conf/topology/sklrt286/hdmi2_pt_out-cpr-9.bin create mode 100644 src/conf/topology/sklrt286/hdmi3_pt_out-cpr-11.bin create mode 100644 src/conf/topology/sklrt286/hdmi3_pt_out-cpr-12.bin create mode 100644 src/conf/topology/sklrt286/media0_in-cpr-0.bin create mode 100644 src/conf/topology/sklrt286/media0_in-mi.bin create mode 100644 src/conf/topology/sklrt286/media0_out-cpr-6.bin create mode 100644 src/conf/topology/sklrt286/media0_out-mo.bin create mode 100644 src/conf/topology/sklrt286/skl_i2s.conf
-- 1.9.1
On Thu, Apr 28, 2016 at 04:18:04PM +0200, Takashi Iwai wrote:
On Thu, 28 Apr 2016 07:37:55 +0200, Vinod Koul wrote:
This series adds SKL-i2c conf for simple PCM topology graph
Changes in v4:
- add back the pre-compiled binary blobs
- remove running the binary on intsall step
Changes in v3:
- remove bin blobs, now they are generated in install step
- hook the tool compilation to alsa-lib and run it on install
- add u8 in alsa type_compat.h
Shreyas NC (3): conf: topology: Add Skylake i2s conf Add u8 in type_compat.h conf: topology: Generate Private data binary blobs
Applied now (with a slight fix for git bisection and adding the missing .gitignore).
Thanks a bunch :)
participants (2)
-
Takashi Iwai
-
Vinod Koul