From 76cc6b4afd3da690f4a38f9df6e61628cad02c58 Mon Sep 17 00:00:00 2001 From: WeirdTreeThing Date: Sat, 20 May 2023 18:06:04 -0400 Subject: [PATCH] add the ucm --- LICENSE | 674 ++++++++++++++++++++ README.md | 3 + adl/sof-nau8825/Google-Osiris-rev3.conf | 8 + adl/sof-nau8825/HiFi.conf | 73 +++ adl/sof-rt5682/HiFi.banshee.conf | 85 +++ adl/sof-rt5682/HiFi.felwinter.conf | 81 +++ adl/sof-rt5682/HiFi.felwinter.rt5682vs.conf | 83 +++ adl/sof-rt5682/HiFi.taniks.conf | 94 +++ adl/sof-rt5682/sof-rt5682.conf | 50 ++ amd/HD-Audio Generic/HD-Audio Generic.conf | 8 + amd/HD-Audio Generic/HiFi.conf | 66 ++ amd/HDA ATI HDMI/HDA ATI HDMI.conf | 8 + amd/HDA ATI HDMI/HiFi.conf | 37 ++ amd/acp3xalc5682101/HiFi.conf | 95 +++ amd/acp3xalc5682101/acp3xalc5682101.conf | 8 + amd/acp3xalc5682m98/HiFi.conf | 144 +++++ amd/acp3xalc5682m98/acp3xalc5682m98.conf | 72 +++ amd/acpd7219m98357/HiFi.conf | 85 +++ amd/acpd7219m98357/acpd7219m98357.conf | 8 + apl/sof-bxtda7219ma/HiFi.conf | 95 +++ apl/sof-bxtda7219ma/sof-bxtda7219ma.conf | 8 + avs/avs_da7219/HiFi | 69 ++ avs/avs_da7219/avs_da7219.conf | 7 + avs/avs_dmic/HiFi | 63 ++ avs/avs_dmic/avs_dmic.conf | 7 + avs/avs_max98357a/HiFi | 25 + avs/avs_max98357a/avs_max98357a.conf | 7 + avs/avs_max98373/HiFi.conf | 112 ++++ avs/avs_max98373/avs_max98373.conf | 7 + avs/avs_max98927/HiFi.conf | 38 ++ avs/avs_max98927/avs_max98927.conf | 6 + avs/avs_nau8825/HiFi | 47 ++ avs/avs_nau8825/avs_nau8825.conf | 7 + avs/avs_ssm4567-adi/HiFi | 32 + avs/avs_ssm4567-adi/avs_ssm4567-adi.conf | 7 + avs/hdaudioB0D2/HiFi | 45 ++ avs/hdaudioB0D2/hdaudioB0D2.conf | 7 + cml/sof-cml_rt1011_/HiFi.conf | 100 +++ cml/sof-cml_rt1011_/sof-cml_rt1011_.conf | 8 + cml/sof-cmlda7219ma/HiFi.conf | 99 +++ cml/sof-cmlda7219ma/sof-cmlda7219ma.conf | 8 + cml/sof-rt5682/HiFi.conf | 120 ++++ cml/sof-rt5682/sof-rt5682.conf | 8 + dmic-common/dmic-split-macro.conf | 22 + dmic-common/dmic-split-remap.conf | 38 ++ dmic-common/remap.conf | 50 ++ dmic-common/split.conf | 372 +++++++++++ glk/sof-cs42l42/HiFi.conf | 83 +++ glk/sof-cs42l42/sof-cs42l42.conf | 8 + glk/sof-glkda7219ma/HiFi.conf | 96 +++ glk/sof-glkda7219ma/sof-glkda7219ma.conf | 8 + glk/sof-glkrt5682ma/HiFi.conf | 95 +++ glk/sof-glkrt5682ma/sof-glkrt5682ma.conf | 8 + hdmi-common/hdmi.conf | 35 + hdmi-common/hdmi234.conf | 30 + hdmi-common/hdmi2345.conf | 39 ++ hdmi-common/hdmi345.conf | 30 + hdmi-common/hdmi567.conf | 30 + jsl/sof-cs42l42/HiFi.conf | 80 +++ jsl/sof-cs42l42/sof-cs42l42.conf | 8 + jsl/sof-da7219max98/HiFi.conf | 96 +++ jsl/sof-da7219max98/sof-da7219max98.conf | 8 + jsl/sof-rt5682/Google-Magolor-rev5.conf | 8 + jsl/sof-rt5682/Google-Magpie-rev5.conf | 8 + jsl/sof-rt5682/HiFi-Magolor.conf | 98 +++ jsl/sof-rt5682/HiFi-Magpie.conf | 97 +++ jsl/sof-rt5682/HiFi.conf | 100 +++ jsl/sof-rt5682/sof-rt5682.conf | 8 + tgl/sof-rt5682/Google-Delbin-rev3.conf | 8 + tgl/sof-rt5682/Google-Delbin-rev4.conf | 8 + tgl/sof-rt5682/Google-Eldrid-rev3.conf | 8 + tgl/sof-rt5682/Google-Elemi-rev3.conf | 8 + tgl/sof-rt5682/Google-Lillipup-rev3.conf | 8 + tgl/sof-rt5682/Google-Lindar-rev3.conf | 8 + tgl/sof-rt5682/Google-Lindar-rev4.conf | 8 + tgl/sof-rt5682/HiFi-Delbin.conf | 122 ++++ tgl/sof-rt5682/HiFi-Eldrid.conf | 100 +++ tgl/sof-rt5682/HiFi-Elemi.conf | 99 +++ tgl/sof-rt5682/HiFi-Lillipup.conf | 164 +++++ tgl/sof-rt5682/HiFi.conf | 116 ++++ tgl/sof-rt5682/sof-rt5682.conf | 8 + 81 files changed, 4734 insertions(+) create mode 100644 LICENSE create mode 100644 README.md create mode 100644 adl/sof-nau8825/Google-Osiris-rev3.conf create mode 100644 adl/sof-nau8825/HiFi.conf create mode 100644 adl/sof-rt5682/HiFi.banshee.conf create mode 100644 adl/sof-rt5682/HiFi.felwinter.conf create mode 100644 adl/sof-rt5682/HiFi.felwinter.rt5682vs.conf create mode 100644 adl/sof-rt5682/HiFi.taniks.conf create mode 100644 adl/sof-rt5682/sof-rt5682.conf create mode 100644 amd/HD-Audio Generic/HD-Audio Generic.conf create mode 100644 amd/HD-Audio Generic/HiFi.conf create mode 100644 amd/HDA ATI HDMI/HDA ATI HDMI.conf create mode 100644 amd/HDA ATI HDMI/HiFi.conf create mode 100644 amd/acp3xalc5682101/HiFi.conf create mode 100644 amd/acp3xalc5682101/acp3xalc5682101.conf create mode 100644 amd/acp3xalc5682m98/HiFi.conf create mode 100644 amd/acp3xalc5682m98/acp3xalc5682m98.conf create mode 100644 amd/acpd7219m98357/HiFi.conf create mode 100644 amd/acpd7219m98357/acpd7219m98357.conf create mode 100644 apl/sof-bxtda7219ma/HiFi.conf create mode 100644 apl/sof-bxtda7219ma/sof-bxtda7219ma.conf create mode 100644 avs/avs_da7219/HiFi create mode 100644 avs/avs_da7219/avs_da7219.conf create mode 100644 avs/avs_dmic/HiFi create mode 100644 avs/avs_dmic/avs_dmic.conf create mode 100644 avs/avs_max98357a/HiFi create mode 100644 avs/avs_max98357a/avs_max98357a.conf create mode 100644 avs/avs_max98373/HiFi.conf create mode 100644 avs/avs_max98373/avs_max98373.conf create mode 100644 avs/avs_max98927/HiFi.conf create mode 100644 avs/avs_max98927/avs_max98927.conf create mode 100644 avs/avs_nau8825/HiFi create mode 100644 avs/avs_nau8825/avs_nau8825.conf create mode 100644 avs/avs_ssm4567-adi/HiFi create mode 100644 avs/avs_ssm4567-adi/avs_ssm4567-adi.conf create mode 100644 avs/hdaudioB0D2/HiFi create mode 100644 avs/hdaudioB0D2/hdaudioB0D2.conf create mode 100644 cml/sof-cml_rt1011_/HiFi.conf create mode 100644 cml/sof-cml_rt1011_/sof-cml_rt1011_.conf create mode 100644 cml/sof-cmlda7219ma/HiFi.conf create mode 100644 cml/sof-cmlda7219ma/sof-cmlda7219ma.conf create mode 100644 cml/sof-rt5682/HiFi.conf create mode 100644 cml/sof-rt5682/sof-rt5682.conf create mode 100644 dmic-common/dmic-split-macro.conf create mode 100644 dmic-common/dmic-split-remap.conf create mode 100644 dmic-common/remap.conf create mode 100644 dmic-common/split.conf create mode 100644 glk/sof-cs42l42/HiFi.conf create mode 100644 glk/sof-cs42l42/sof-cs42l42.conf create mode 100644 glk/sof-glkda7219ma/HiFi.conf create mode 100644 glk/sof-glkda7219ma/sof-glkda7219ma.conf create mode 100644 glk/sof-glkrt5682ma/HiFi.conf create mode 100644 glk/sof-glkrt5682ma/sof-glkrt5682ma.conf create mode 100644 hdmi-common/hdmi.conf create mode 100644 hdmi-common/hdmi234.conf create mode 100644 hdmi-common/hdmi2345.conf create mode 100644 hdmi-common/hdmi345.conf create mode 100644 hdmi-common/hdmi567.conf create mode 100644 jsl/sof-cs42l42/HiFi.conf create mode 100644 jsl/sof-cs42l42/sof-cs42l42.conf create mode 100644 jsl/sof-da7219max98/HiFi.conf create mode 100644 jsl/sof-da7219max98/sof-da7219max98.conf create mode 100644 jsl/sof-rt5682/Google-Magolor-rev5.conf create mode 100644 jsl/sof-rt5682/Google-Magpie-rev5.conf create mode 100644 jsl/sof-rt5682/HiFi-Magolor.conf create mode 100644 jsl/sof-rt5682/HiFi-Magpie.conf create mode 100644 jsl/sof-rt5682/HiFi.conf create mode 100644 jsl/sof-rt5682/sof-rt5682.conf create mode 100644 tgl/sof-rt5682/Google-Delbin-rev3.conf create mode 100644 tgl/sof-rt5682/Google-Delbin-rev4.conf create mode 100644 tgl/sof-rt5682/Google-Eldrid-rev3.conf create mode 100644 tgl/sof-rt5682/Google-Elemi-rev3.conf create mode 100644 tgl/sof-rt5682/Google-Lillipup-rev3.conf create mode 100644 tgl/sof-rt5682/Google-Lindar-rev3.conf create mode 100644 tgl/sof-rt5682/Google-Lindar-rev4.conf create mode 100644 tgl/sof-rt5682/HiFi-Delbin.conf create mode 100644 tgl/sof-rt5682/HiFi-Eldrid.conf create mode 100644 tgl/sof-rt5682/HiFi-Elemi.conf create mode 100644 tgl/sof-rt5682/HiFi-Lillipup.conf create mode 100644 tgl/sof-rt5682/HiFi.conf create mode 100644 tgl/sof-rt5682/sof-rt5682.conf diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + 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. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..f56c291 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# UCM configuration + +A collection of modified ChromeOS UCM configuration files optimized for mainline Linux diff --git a/adl/sof-nau8825/Google-Osiris-rev3.conf b/adl/sof-nau8825/Google-Osiris-rev3.conf new file mode 100644 index 0000000..c642046 --- /dev/null +++ b/adl/sof-nau8825/Google-Osiris-rev3.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "osiris internal card" + +SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Default" +} diff --git a/adl/sof-nau8825/HiFi.conf b/adl/sof-nau8825/HiFi.conf new file mode 100644 index 0000000..8489b8d --- /dev/null +++ b/adl/sof-nau8825/HiFi.conf @@ -0,0 +1,73 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cset "name='Mic Volume' 230" + cset "name='Frontend PGA Volume' 24" + ] + DisableSequence [ + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:sofnau8825,0" + DspName "speaker_eq" + } + EnableSequence [ + cset "name='Spk Switch' on" + ] + DisableSequence [ + cset "name='Spk Switch' off" + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:sofnau8825,1" + JackControl "Headphone Jack" + DspName "headphone_eq" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + ] +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + + Value { + CapturePriority 100 + CapturePCM "hw:sofnau8825,99" + CaptureChannels 4 + } +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + Value { + CapturePriority 200 + CapturePCM "hw:sofnau8825,1" + CaptureMixerElem "Headset Mic" + JackControl "Headset Mic Jack" + } + EnableSequence [ + cset "name='Headset Mic Switch' on" + ] + DisableSequence [ + cset "name='Headset Mic Switch' off" + ] +} + +Include.hdmi.File "/conf.d/hdmi-common/hdmi2345.conf" diff --git a/adl/sof-rt5682/HiFi.banshee.conf b/adl/sof-rt5682/HiFi.banshee.conf new file mode 100644 index 0000000..15f2aa6 --- /dev/null +++ b/adl/sof-rt5682/HiFi.banshee.conf @@ -0,0 +1,85 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cset "name='RECMIX1L CBJ Switch' on" + cset "name='IF1 01 ADC Swap Mux' L/L" + cset "name='CBJ Boost Volume' 25" + cset "name='Stereo1 ADC L Mux' ADC1 L" + cset "name='Stereo1 ADC L1 Mux' ADC" + cset "name='Stereo1 ADC R1 Mux' ADC" + ] + DisableSequence [ + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:sofrt5682,0" + DspName "speaker_eq" + } + EnableSequence [ + cset "name='Spk Switch' on" + ] + DisableSequence [ + cset "name='Spk Switch' off" + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:sofrt5682,1" + PlaybackMixerElem "DAC1" + JackControl "Headphone Jack" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' on" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' on" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' off" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' off" + ] +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + + Value { + CapturePriority 100 + CapturePCM "hw:sofrt5682,99" + CaptureChannels 4 + } +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + Value { + CapturePriority 200 + CapturePCM "hw:sofrt5682,1" + CaptureMixerElem "Headset Mic" + JackControl "Headset Mic Jack" + } + EnableSequence [ + cset "name='Stereo1 ADC MIXL ADC1 Switch' on" + cset "name='Stereo1 ADC MIXR ADC1 Switch' on" + cset "name='Headset Mic Switch' on" + ] + DisableSequence [ + cset "name='Headset Mic Switch' off" + cset "name='Stereo1 ADC MIXL ADC1 Switch' off" + cset "name='Stereo1 ADC MIXR ADC1 Switch' off" + ] +} + +Include.hdmi.File "/conf.d/hdmi-common/hdmi2345.conf" diff --git a/adl/sof-rt5682/HiFi.felwinter.conf b/adl/sof-rt5682/HiFi.felwinter.conf new file mode 100644 index 0000000..b530707 --- /dev/null +++ b/adl/sof-rt5682/HiFi.felwinter.conf @@ -0,0 +1,81 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cset "name='DAC L1 Source' DAC1" + cset "name='DAC R1 Source' DAC1" + cset "name='RECMIX1L CBJ Switch' on" + cset "name='IF1 01 ADC Swap Mux' L/L" + cset "name='CBJ Boost Volume' 3" + cset "name='Stereo1 ADC L Mux' ADC1 L" + cset "name='Stereo1 ADC L1 Mux' ADC" + cset "name='Stereo1 ADC MIXL ADC2 Switch' off" + cset "name='Stereo1 ADC MIXL ADC1 Switch' on" + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:sofrt5682,0" + } + EnableSequence [ + cset "name='Spk Switch' on" + ] + DisableSequence [ + cset "name='Spk Switch' off" + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:sofrt5682,1" + PlaybackMixerElem "DAC1" + JackControl "Headphone Jack" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + cset "name='HPOL Playback Switch' on" + cset "name='HPOR Playback Switch' on" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' off" + cset "name='HPOR Playback Switch' off" + ] +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + + Value { + CapturePriority 100 + CapturePCM "hw:sofrt5682,99" + CaptureChannels 4 + } +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + Value { + CapturePriority 200 + CapturePCM "hw:sofrt5682,1" + CaptureMixerElem "Headset Mic" + JackControl "Headset Mic Jack" + } + EnableSequence [ + cset "name='Headset Mic Switch' on" + ] + DisableSequence [ + cset "name='Headset Mic Switch' off" + ] +} + +Include.hdmi.File "/conf.d/hdmi-common/hdmi2345.conf" diff --git a/adl/sof-rt5682/HiFi.felwinter.rt5682vs.conf b/adl/sof-rt5682/HiFi.felwinter.rt5682vs.conf new file mode 100644 index 0000000..ec94378 --- /dev/null +++ b/adl/sof-rt5682/HiFi.felwinter.rt5682vs.conf @@ -0,0 +1,83 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cset "name='RECMIX1L CBJ Switch' on" + cset "name='IF1 01 ADC Swap Mux' L/L" + cset "name='CBJ Boost Volume' 25" + cset "name='Stereo1 ADC L Mux' ADC1 L" + cset "name='Stereo1 ADC L1 Mux' ADC" + cset "name='Stereo1 ADC R1 Mux' ADC" + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:sofrt5682,0" + DspName "speaker_eq" + } + EnableSequence [ + cset "name='Spk Switch' on" + ] + DisableSequence [ + cset "name='Spk Switch' off" + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:sofrt5682,1" + PlaybackMixerElem "DAC1" + JackControl "Headphone Jack" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' on" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' on" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' off" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' off" + ] +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + + Value { + CapturePriority 100 + CapturePCM "hw:sofrt5682,99" + CaptureChannels 4 + } +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + Value { + CapturePriority 200 + CapturePCM "hw:sofrt5682,1" + CaptureMixerElem "Headset Mic" + JackControl "Headset Mic Jack" + } + EnableSequence [ + cset "name='Stereo1 ADC MIXL ADC1 Switch' on" + cset "name='Stereo1 ADC MIXR ADC1 Switch' on" + cset "name='Headset Mic Switch' on" + ] + DisableSequence [ + cset "name='Headset Mic Switch' off" + cset "name='Stereo1 ADC MIXL ADC1 Switch' off" + cset "name='Stereo1 ADC MIXR ADC1 Switch' off" + ] +} + +Include.hdmi.File "/conf.d/hdmi-common/hdmi2345.conf" diff --git a/adl/sof-rt5682/HiFi.taniks.conf b/adl/sof-rt5682/HiFi.taniks.conf new file mode 100644 index 0000000..fa53b6d --- /dev/null +++ b/adl/sof-rt5682/HiFi.taniks.conf @@ -0,0 +1,94 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cdev "hw:sofrt5682" + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' off" + cset "name='HPOR Playback Switch' off" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0" + cset "name='Stereo1 ADC L Mux' 0" + cset "name='STO1 ADC Capture Switch' on" + cset "name='RECMIX1L CBJ Switch' 1" + cset "name='IF1 01 ADC Swap Mux' 2" + cset "name='CBJ Boost Volume' 3" + cset "name='Stereo1 ADC L1 Mux' 1" + cset "name='Stereo1 ADC R1 Mux' 1" + cset "name='Stereo1 ADC MIXL ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXR ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXL ADC1 Switch' 1" + cset "name='Stereo1 ADC MIXR ADC1 Switch' 1" + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:sofrt5682,0" + DspName "speaker_eq" + } + EnableSequence [ + cset "name='Spk Switch' on" + ] + DisableSequence [ + cset "name='Spk Switch' off" + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:sofrt5682,1" + PlaybackMixerElem "DAC1" + JackControl "Headphone Jack" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + cset "name='HPOL Playback Switch' on" + cset "name='HPOR Playback Switch' on" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' off" + cset "name='HPOR Playback Switch' off" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0" + ] +} + +SectionDevice."Mic" { + Comment "Internal Mic" + + Value { + CapturePriority 100 + CapturePCM "hw:sofrt5682,99" + CaptureChannels 4 + } +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + Value { + CapturePriority 200 + CapturePCM "hw:sofrt5682,1" + CaptureMixerElem "Headset Mic" + JackControl "Headset Mic Jack" + } + EnableSequence [ + cset "name='Headset Mic Switch' on" + ] + DisableSequence [ + cset "name='Headset Mic Switch' off" + ] +} + +Include.hdmi.File "/conf.d/hdmi-common/hdmi2345.conf" diff --git a/adl/sof-rt5682/sof-rt5682.conf b/adl/sof-rt5682/sof-rt5682.conf new file mode 100644 index 0000000..98035cd --- /dev/null +++ b/adl/sof-rt5682/sof-rt5682.conf @@ -0,0 +1,50 @@ +Syntax 6 + +If.felwinter { + Condition { + Type String + Haystack "${sys:devices/virtual/dmi/id/product_name}" + Needle "Felwinter" + } + True { + If.rt5682vs { + Condition { + Type RegexMatch + Regex "^sku(2147483647|524290|524291|524292|524293)$" + String "${sys:devices/virtual/dmi/id/product_sku}" + } + True.SectionUseCase."HiFi" { + File "HiFi.felwinter.rt5682vs.conf" + Comment "Default" + } + False.SectionUseCase."HiFi" { + File "HiFi.felwinter.conf" + Comment "Default" + } + } + } +} + +If.banshee { + Condition { + Type String + Haystack "${sys:devices/virtual/dmi/id/product_name}" + Needle "Banshee" + } + True.SectionUseCase."HiFi" { + File "HiFi.banshee.conf" + Comment "Default" + } +} + +If.taniks { + Condition { + Type String + Haystack "${sys:devices/virtual/dmi/id/product_name}" + Needle "Taniks" + } + True.SectionUseCase."HiFi" { + File "HiFi.taniks.conf" + Comment "Default" + } +} diff --git a/amd/HD-Audio Generic/HD-Audio Generic.conf b/amd/HD-Audio Generic/HD-Audio Generic.conf new file mode 100644 index 0000000..72a3b37 --- /dev/null +++ b/amd/HD-Audio Generic/HD-Audio Generic.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "Zork internal HDMI card" + +SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Default" +} diff --git a/amd/HD-Audio Generic/HiFi.conf b/amd/HD-Audio Generic/HiFi.conf new file mode 100644 index 0000000..d68a539 --- /dev/null +++ b/amd/HD-Audio Generic/HiFi.conf @@ -0,0 +1,66 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cdev "hw:Generic" + cset "name='IEC958 Playback Switch' on" + cset "name='IEC958 Playback Switch',index=1 on" + cset "name='IEC958 Playback Switch',index=2 on" + cset "name='IEC958 Playback Switch',index=3 on" + ] + DisableSequence [ + ] +} + +SectionDevice."HDMI1" { + Comment "HDMI1" + + Value { + PlaybackPCM "hw:Generic,3" + JackDev "HD-Audio Generic HDMI/DP,pcm=3" + } + EnableSequence [ + ] + DisableSequence [ + ] +} + +SectionDevice."HDMI2" { + Comment "HDMI2" + + Value { + PlaybackPCM "hw:Generic,7" + JackDev "HD-Audio Generic HDMI/DP,pcm=7" + } + EnableSequence [ + ] + DisableSequence [ + ] +} + +SectionDevice."HDMI3" { + Comment "HDMI3" + + Value { + PlaybackPCM "hw:Generic,8" + JackDev "HD-Audio Generic HDMI/DP,pcm=8" + } + EnableSequence [ + ] + DisableSequence [ + ] +} + +SectionDevice."HDMI4" { + Comment "HDMI4" + + Value { + PlaybackPCM "hw:Generic,9" + JackDev "HD-Audio Generic HDMI/DP,pcm=9" + } + EnableSequence [ + ] + DisableSequence [ + ] +} diff --git a/amd/HDA ATI HDMI/HDA ATI HDMI.conf b/amd/HDA ATI HDMI/HDA ATI HDMI.conf new file mode 100644 index 0000000..1498daa --- /dev/null +++ b/amd/HDA ATI HDMI/HDA ATI HDMI.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "Default Grunt family HDMI card" + +SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "HDMI" +} diff --git a/amd/HDA ATI HDMI/HiFi.conf b/amd/HDA ATI HDMI/HiFi.conf new file mode 100644 index 0000000..562652c --- /dev/null +++ b/amd/HDA ATI HDMI/HiFi.conf @@ -0,0 +1,37 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cset "name='IEC958 Playback Switch' on" + cset "name='IEC958 Playback Switch',index=1 on" + ] + DisableSequence [ + ] +} + +SectionDevice."HDMI1" { + Comment "HDMI1" + + Value { + PlaybackPCM "hw:HDMI,3" + JackDev "HDA ATI HDMI HDMI/DP,pcm=3" + } + EnableSequence [ + ] + DisableSequence [ + ] +} + +SectionDevice."HDMI2" { + Comment "HDMI2" + + Value { + PlaybackPCM "hw:HDMI,7" + JackDev "HDA ATI HDMI HDMI/DP,pcm=7" + } + EnableSequence [ + ] + DisableSequence [ + ] +} diff --git a/amd/acp3xalc5682101/HiFi.conf b/amd/acp3xalc5682101/HiFi.conf new file mode 100644 index 0000000..d63793e --- /dev/null +++ b/amd/acp3xalc5682101/HiFi.conf @@ -0,0 +1,95 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cdev "hw:acp3xalc5682101" + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' off" + cset "name='HPOR Playback Switch' off" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0" + cset "name='Stereo1 ADC L Mux' 0" + cset "name='STO1 ADC Capture Switch' on" + cset "name='RECMIX1L CBJ Switch' 1" + cset "name='IF1 01 ADC Swap Mux' 2" + cset "name='CBJ Boost Volume' 2" + cset "name='Stereo1 ADC L1 Mux' 1" + cset "name='Stereo1 ADC R1 Mux' 1" + cset "name='Stereo1 ADC MIXL ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXR ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXL ADC1 Switch' 1" + cset "name='Stereo1 ADC MIXR ADC1 Switch' 1" + cset "name='Left Spk Switch' off" + cset "name='Right Spk Switch' off" + cset "name='Left Bypass Boost' 1" + cset "name='Right Bypass Boost' 1" + cset "name='Left Mono LR Select' Left" + cset "name='Right Mono LR Select' Right" + ] + DisableSequence [ + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + Value { + PlaybackPriority 100 + PlaybackPCM "hw:${CardId},1" + } + EnableSequence [ + cset "name='Left Spk Switch' on" + cset "name='Right Spk Switch' on" + ] + DisableSequence [ + cset "name='Left Spk Switch' off" + cset "name='Right Spk Switch' off" + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + Value { + PlaybackPriority 200 + PlaybackPCM "hw:${CardId},0" + PlaybackMixerElem "DAC1" + JackControl "Headset Jack" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + cset "name='HPOL Playback Switch' 1" + cset "name='HPOR Playback Switch' 1" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' 0" + cset "name='HPOR Playback Switch' 0" + ] +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + Value { + CapturePriority 100 + CapturePCM "hw:${CardId},2" + } + EnableSequence [ + cset "name='Dmic Mux' Front Mic" + ] +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + Value { + CapturePriority 200 + CapturePCM "hw:${CardId},0" + CaptureMixerElem "Headset Mic" + JackControl "Headset Jack" + } + EnableSequence [ + cset "name='Headset Mic Switch' on" + ] + DisableSequence [ + cset "name='Headset Mic Switch' off" + ] +} diff --git a/amd/acp3xalc5682101/acp3xalc5682101.conf b/amd/acp3xalc5682101/acp3xalc5682101.conf new file mode 100644 index 0000000..60c4e9a --- /dev/null +++ b/amd/acp3xalc5682101/acp3xalc5682101.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "Zork internal card" + +SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Default" +} diff --git a/amd/acp3xalc5682m98/HiFi.conf b/amd/acp3xalc5682m98/HiFi.conf new file mode 100644 index 0000000..c671373 --- /dev/null +++ b/amd/acp3xalc5682m98/HiFi.conf @@ -0,0 +1,144 @@ +If.jelboz { + Condition { + Type RegexMatch + Regex "^(Jelboz|Jelboz360|Shuboz)$" + String "${sys:devices/virtual/dmi/id/product_name}" + } + True.Define.volume 3 + False.Define.volume 2 +} + +SectionVerb { + EnableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' off" + cset "name='HPOR Playback Switch' off" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0" + cset "name='Stereo1 ADC L Mux' 0" + cset "name='STO1 ADC Capture Switch' on" + cset "name='RECMIX1L CBJ Switch' 1" + cset "name='IF1 01 ADC Swap Mux' 2" + cset "name='CBJ Boost Volume' ${var:volume}" + cset "name='Stereo1 ADC L1 Mux' 1" + cset "name='Stereo1 ADC R1 Mux' 1" + cset "name='Stereo1 ADC MIXL ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXR ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXL ADC1 Switch' 1" + cset "name='Stereo1 ADC MIXR ADC1 Switch' 1" + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + Value { + PlaybackPriority 100 + PlaybackPCM "hw:${CardId},1" + } + EnableSequence [ + cset "name='Spk Switch' on" + ] + DisableSequence [ + cset "name='Spk Switch' off" + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + Value { + PlaybackPriority 200 + PlaybackPCM "hw:${CardId},0" + PlaybackMixerElem "DAC1" + JackControl "Headset Jack" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + cset "name='HPOL Playback Switch' 1" + cset "name='HPOR Playback Switch' 1" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' 0" + cset "name='HPOR Playback Switch' 0" + ] +} + +If.1mic { + Condition { + Type String + Empty "${var:1mic}" + } + True { + SectionDevice."Mic1" { + Comment "Front Microphone" + ConflictingDevice [ + "Mic2" + ] + Value { + CapturePriority 100 + CapturePCM "hw:${CardId},2" + } + EnableSequence [ + cset "name='Dmic Mux' Front Mic" + ] + } + + SectionDevice."Mic2" { + Comment "Rear Microphone" + ConflictingDevice [ + "Mic1" + ] + Value { + CapturePriority 100 + CapturePCM "hw:${CardId},2" + } + EnableSequence [ + cset "name='Dmic Mux' Rear Mic" + ] + } + + SectionDevice."Mic3" { + Comment "Microphone" + Value { + CapturePriority 200 + CapturePCM "hw:${CardId},0" + CaptureMixerElem "Headset Mic" + JackControl "Headset Jack" + } + EnableSequence [ + cset "name='Headset Mic Switch' on" + ] + DisableSequence [ + cset "name='Headset Mic Switch' off" + ] + } + } + False { + SectionDevice."Mic1" { + Comment "Internal Microphone" + Value { + CapturePriority 100 + CapturePCM "hw:${CardId},2" + } + EnableSequence [ + cset "name='Dmic Mux' Front Mic" + ] + } + + SectionDevice."Mic2" { + Comment "Microphone" + Value { + CapturePriority 200 + CapturePCM "hw:${CardId},0" + CaptureMixerElem "Headset Mic" + JackControl "Headset Jack" + } + EnableSequence [ + cset "name='Headset Mic Switch' on" + ] + DisableSequence [ + cset "name='Headset Mic Switch' off" + ] + } + } +} diff --git a/amd/acp3xalc5682m98/acp3xalc5682m98.conf b/amd/acp3xalc5682m98/acp3xalc5682m98.conf new file mode 100644 index 0000000..e1f1c9e --- /dev/null +++ b/amd/acp3xalc5682m98/acp3xalc5682m98.conf @@ -0,0 +1,72 @@ +# Based on: +# https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/ad560b208139b80e97a7c2d39c7bfea1dcc29da9/overlay-zork/chromeos-base/chromeos-bsp-zork/files/ +# https://chromium.googlesource.com/chromiumos/project/+/f1387fd5f4effe236dd2a8e6e2b8e665eb2a6cfb/zork/ + +Syntax 4 + +Define { Found="" 1mic="" } + +If.zork { + Condition { + Type String + String1 "Google_Zork" + String2 "${sys:devices/virtual/dmi/id/product_family}" + } + True { + If.1mic { + Condition { + Type RegexMatch + Regex "^(Berknip|Dirinboz|Gumboz|Jelboz|Trembyle|Woomax)$" + String "${sys:devices/virtual/dmi/id/product_name}" + } + True.Define { Found=y 1mic=y } + } + + If.2mic { + Condition { + Type RegexMatch + Regex "^(Dalboz|Ezkinil|Jelboz360|Morphius)$" + String "${sys:devices/virtual/dmi/id/product_name}" + } + True.Define.Found y + } + + If.shuboz { + Condition { + Type String + String1 "Shuboz" + String2 "${sys:devices/virtual/dmi/id/product_name}" + } + True { + If.shuboz_jelboz { + Condition { + Type RegexMatch + Regex "^sku(1518731265|1518731266|1518731267|1518731268|1518731269|1518731270|1518731271|1518731272|1518731273|1518731274|1518731275|1518731276|1518731277|1518731278|2147483647)$" + String "${sys:devices/virtual/dmi/id/product_sku}" + } + True.Define { Found=y 1mic=y } + } + + If.shuboz_jelboz360 { + Condition { + Type RegexMatch + Regex "^sku(1518862337|1518862338|1518862339|1518862340)$" + String "${sys:devices/virtual/dmi/id/product_sku}" + } + True.Define.Found y + } + } + } + } +} + +If.found { + Condition { + Type String + Empty "${var:Found}" + } + False.SectionUseCase."HiFi" { + File "/AMD/acp3xalc5682m98/HiFi.conf" + Comment "Default" + } +} diff --git a/amd/acpd7219m98357/HiFi.conf b/amd/acpd7219m98357/HiFi.conf new file mode 100644 index 0000000..7ce2445 --- /dev/null +++ b/amd/acpd7219m98357/HiFi.conf @@ -0,0 +1,85 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cset "name='Playback Digital Volume' 111" + cset "name='Playback Digital Switch' on" + cset "name='Out DACL Mux' DAIL" + cset "name='Out DACR Mux' DAIR" + cset "name='Mixer Out FilterL DACL Switch' on" + cset "name='Mixer Out FilterR DACR Switch' on" + cset "name='ST Mixer Out FilterL Out FilterL Switch' on" + cset "name='ST Mixer Out FilterR Out FilterR Switch' on" + cset "name='Headphone Switch' off" + cset "name='Headset Mic Switch' off" + cset "name='Mic Volume' 5" + cset "name='Capture Digital Volume' 111" + cset "name='Capture Digital Switch' on" + cset "name='Mixin Volume' 10" + cset "name='Mixin Switch' on" + cset "name='Mixer In Mic Switch' on" + cset "name='Out DAIL Mux' ADC" + cset "name='Out DAIR Mux' ADC" + cset "name='Gain Ramp Rate' 1" + ] + DisableSequence [ + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:acpd7219m98357,2" + DspName "speaker_eq" + } +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:acpd7219m98357,0" + PlaybackMixerElem "Headphone" + JackControl "Headset Jack" + } + EnableSequence [ + cset "name='Headphone Switch' on" + ] + DisableSequence [ + cset "name='Headphone Switch' off" + ] +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + + Value { + CapturePriority 100 + CapturePCM "hw:acpd7219m98357,4" + DspName "dmic_eq" + } +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + Value { + CapturePriority 200 + CapturePCM "hw:acpd7219m98357,1" + CaptureMixerElem "Headset Mic" + JackControl "Headset Jack" + DependentPCM "hw:acpd7219m98357,4" + } + EnableSequence [ + cset "name='Headset Mic Switch' on" + cset "name='Mic Switch' on" + ] + DisableSequence [ + cset "name='Headset Mic Switch' off" + cset "name='Mic Switch' off" + ] +} diff --git a/amd/acpd7219m98357/acpd7219m98357.conf b/amd/acpd7219m98357/acpd7219m98357.conf new file mode 100644 index 0000000..05510b2 --- /dev/null +++ b/amd/acpd7219m98357/acpd7219m98357.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "Default Grunt family internal card" + +SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Default" +} diff --git a/apl/sof-bxtda7219ma/HiFi.conf b/apl/sof-bxtda7219ma/HiFi.conf new file mode 100644 index 0000000..5341437 --- /dev/null +++ b/apl/sof-bxtda7219ma/HiFi.conf @@ -0,0 +1,95 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + + EnableSequence [ + cset "name='Playback Digital Volume' 111" + cset "name='Playback Digital Switch' 1" + cset "name='Out DACL Mux' DAIL" + cset "name='Out DACR Mux' DAIR" + cset "name='Mixer Out FilterL DACL Switch' 1" + cset "name='Mixer Out FilterR DACR Switch' 1" + cset "name='ST Mixer Out FilterL Out FilterL Switch' 1" + cset "name='ST Mixer Out FilterR Out FilterR Switch' 1" + cset "name='Headphone Jack Switch' off" + cset "name='Headset Mic Switch' off" + cset "name='Mic Volume' 5" + cset "name='Capture Digital Volume' 111" + cset "name='Capture Digital Switch' 1" + cset "name='Mixin Volume' 10" + cset "name='Mixin Switch' 1" + cset "name='Mixer In Mic Switch' 1" + cset "name='Out DAIL Mux' ADC" + cset "name='Out DAIR Mux' ADC" + cset "name='Gain Ramp Rate' 1" + ] + DisableSequence [ + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:sofbxtda7219max" + } + EnableSequence [ + cset "name='Spk Switch' on" + ] + DisableSequence [ + cset "name='Spk Switch' off" + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:sofbxtda7219max,1" + PlaybackMixerElem "Headphone" + JackControl "Headphone Jack" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + cset "name='Headphone Switch' 1" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='Headphone Switch' 0" + ] +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + + Value { + CapturePriority 100 + CapturePCM "hw:sofbxtda7219max,99" + CaptureChannelMap "0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1" + IntrinsicSensitivity "-2600" + } +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + Value { + CapturePriority 200 + CapturePCM "hw:sofbxtda7219max,1" + CaptureMixerElem "Headset Mic" + JackControl "Headset Mic Jack" + } + EnableSequence [ + cset "name='Headset Mic Switch' on" + cset "name='Mic Switch' on" + ] + DisableSequence [ + cset "name='Headset Mic Switch' off" + cset "name='Mic Switch' off" + ] +} + +Include.hdmi.File "/conf.d/hdmi-common/hdmi567.conf" diff --git a/apl/sof-bxtda7219ma/sof-bxtda7219ma.conf b/apl/sof-bxtda7219ma/sof-bxtda7219ma.conf new file mode 100644 index 0000000..314c435 --- /dev/null +++ b/apl/sof-bxtda7219ma/sof-bxtda7219ma.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "sof-bxtda7219max internal card" + +SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Default" +} diff --git a/avs/avs_da7219/HiFi b/avs/avs_da7219/HiFi new file mode 100644 index 0000000..6c6f386 --- /dev/null +++ b/avs/avs_da7219/HiFi @@ -0,0 +1,69 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cdev "hw:avsda7219" + cset "name='Headphone Jack Switch' off" + cset "name='Headset Mic Switch' off" + cset "name='Playback Digital Volume' 111" + cset "name='Playback Digital Switch' 1" + cset "name='Out DACL Mux' DAIL" + cset "name='Out DACR Mux' DAIR" + cset "name='Mixer Out FilterL DACL Switch' 1" + cset "name='Mixer Out FilterR DACR Switch' 1" + cset "name='ST Mixer Out FilterL Out FilterL Switch' 1" + cset "name='ST Mixer Out FilterR Out FilterR Switch' 1" + cset "name='Mic Volume' 5" + cset "name='Capture Digital Volume' 111" + cset "name='Capture Digital Switch' 1" + cset "name='Mixin Volume' 10" + cset "name='Mixin Switch' 1" + cset "name='Mixer In Mic Switch' 1" + cset "name='Out DAIL Mux' ADC" + cset "name='Out DAIR Mux' ADC" + cset "name='Gain Ramp Rate' 1" + ] + DisableSequence [ + ] +} + +SectionDevice."Headphone" { + Comment "Headphone" + Value { + PlaybackPCM "hw:avsda7219,1" + PlaybackMixerElem "Headphone" + JackDev "avs_da7219 Headset Jack" + JackSwitch "2" + } + EnableSequence [ + cdev "hw:avsda7219" + cset "name='Headphone Jack Switch' on" + cset "name='Headphone Switch' 1" + ] + DisableSequence [ + cdev "hw:avsda7219" + cset "name='Headphone Jack Switch' off" + cset "name='Headphone Switch' 0" + ] +} + +SectionDevice."Mic" { + Comment "Mic" + Value { + CapturePCM "hw:avsda7219,1" + CaptureMixerElem "Headset Mic" + JackDev "avs_da7219 Headset Jack" + } + + EnableSequence [ + cdev "hw:avsda7219" + cset "name='Headset Mic Switch' on" + cset "name='Mic Switch' on" + ] + DisableSequence [ + cdev "hw:avsda7219" + cset "name='Headset Mic Switch' off" + cset "name='Mic Switch' off" + ] +} diff --git a/avs/avs_da7219/avs_da7219.conf b/avs/avs_da7219/avs_da7219.conf new file mode 100644 index 0000000..ed4d98e --- /dev/null +++ b/avs/avs_da7219/avs_da7219.conf @@ -0,0 +1,7 @@ +Syntax 2 +Comment "DA7219 headphone codec" + +SectionUseCase."HiFi" { + File "HiFi" + Comment "Default" +} diff --git a/avs/avs_dmic/HiFi b/avs/avs_dmic/HiFi new file mode 100644 index 0000000..b330cce --- /dev/null +++ b/avs/avs_dmic/HiFi @@ -0,0 +1,63 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + ] + DisableSequence [ + ] +} + +If.4ch { + Condition { + Type String + Haystack "${sys:devices/virtual/dmi/id/bios_version}" + Needle "Google" + } + True { + SectionDevice."Internal Mic" { + Comment "Internal Microphone" + + Value { + CapturePCM "hw:avsdmic,2" + CaptureChannels 4 + CaptureChannelMap "0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1" + IntrinsicSensitivity "-2600" + } + If.dspvol { + Condition { + Type ControlExists + Control "name='DMIC FE DMIC Volume'" + } + True { + EnableSequence [ + cset "name='DMIC FE DMIC Volume' 2147483647" + ] + } + } + } + } + False { + SectionDevice."Internal Mic" { + Comment "Internal Microphone" + + Value { + CapturePCM "hw:avsdmic,2" + CaptureChannels 2 + CaptureChannelMap "0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1" + IntrinsicSensitivity "-2600" + } + If.dspvol { + Condition { + Type ControlExists + Control "name='DMIC FE DMIC Volume'" + } + True { + EnableSequence [ + cset "name='DMIC FE DMIC Volume' 2147483647" + ] + } + } + } + } +} diff --git a/avs/avs_dmic/avs_dmic.conf b/avs/avs_dmic/avs_dmic.conf new file mode 100644 index 0000000..37b025e --- /dev/null +++ b/avs/avs_dmic/avs_dmic.conf @@ -0,0 +1,7 @@ +Syntax 3 +Comment "Digital Mic" + +SectionUseCase."HiFi" { + File "HiFi" + Comment "Default" +} diff --git a/avs/avs_max98357a/HiFi b/avs/avs_max98357a/HiFi new file mode 100644 index 0000000..ac61ad8 --- /dev/null +++ b/avs/avs_max98357a/HiFi @@ -0,0 +1,25 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + ] + DisableSequence [ + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + Value { + PlaybackPCM "hw:avsmax98357a,1" + DspName "speaker_eq" + } + EnableSequence [ + cdev "hw:avsmax98357a" + cset "name='Spk Switch' on" + ] + DisableSequence [ + cdev "hw:avsmax98357a" + cset "name='Spk Switch' off" + ] +} diff --git a/avs/avs_max98357a/avs_max98357a.conf b/avs/avs_max98357a/avs_max98357a.conf new file mode 100644 index 0000000..d808618 --- /dev/null +++ b/avs/avs_max98357a/avs_max98357a.conf @@ -0,0 +1,7 @@ +Syntax 2 +Comment "Maxim 98357a Amplifier" + +SectionUseCase."HiFi" { + File "HiFi" + Comment "Default" +} diff --git a/avs/avs_max98373/HiFi.conf b/avs/avs_max98373/HiFi.conf new file mode 100644 index 0000000..a978b65 --- /dev/null +++ b/avs/avs_max98373/HiFi.conf @@ -0,0 +1,112 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cdev "hw:avsmax98373" + cset "name='Left DAI Sel Mux' Left" + cset "name='Right DAI Sel Mux' Right" + cset "name='Left Output Voltage' 4" + cset "name='Right Output Voltage' 4" + cset "name='Left Speaker Volume' 0" + cset "name='Right Speaker Volume' 0" + cset "name='Left Digital Volume' 127" + cset "name='Right Digital Volume' 127" + cset "name='Left DHT Min Volume' 0" + cset "name='Right DHT Min Volume' 0" + cset "name='Left DHT Rot Pnt Volume' 2" + cset "name='Right DHT Rot Pnt Volume' 2" + cset "name='Left DHT Attack Step Volume' 0" + cset "name='Right DHT Attack Step Volume' 0" + cset "name='Left DHT Attack Rate' 2" + cset "name='Right DHT Attack Rate' 2" + cset "name='Left DHT Release Step Volume' 0" + cset "name='Right DHT Release Step Volume' 0" + cset "name='Left DHT Release Rate' 3" + cset "name='Right DHT Release Rate' 3" + cset "name='Left BDE LVL1 Thresh' 120" + cset "name='Right BDE LVL1 Thresh' 120" + cset "name='Left BDE LVL1 Clip Reduction Volume' 58" + cset "name='Right BDE LVL1 Clip Reduction Volume' 58" + cset "name='Left BDE LVL1 Clip Thresh Volume' 60" + cset "name='Right BDE LVL1 Clip Thresh Volume' 60" + cset "name='Left BDE LVL1 Limiter Thresh Volume' 14" + cset "name='Right BDE LVL1 Limiter Thresh Volume' 14" + cset "name='Left BDE LVL2 Thresh' 117" + cset "name='Right BDE LVL2 Thresh' 117" + cset "name='Left BDE LVL2 Clip Reduction Volume' 58" + cset "name='Right BDE LVL2 Clip Reduction Volume' 58" + cset "name='Left BDE LVL2 Clip Thresh Volume' 60" + cset "name='Right BDE LVL2 Clip Thresh Volume' 60" + cset "name='Left BDE LVL2 Limiter Thresh Volume' 13" + cset "name='Right BDE LVL2 Limiter Thresh Volume' 13" + cset "name='Left BDE LVL3 Thresh' 114" + cset "name='Right BDE LVL3 Thresh' 114" + cset "name='Left BDE LVL3 Clip Reduction Volume' 56" + cset "name='Right BDE LVL3 Clip Reduction Volume' 56" + cset "name='Left BDE LVL3 Clip Thresh Volume' 60" + cset "name='Right BDE LVL3 Clip Thresh Volume' 60" + cset "name='Left BDE LVL3 Limiter Thresh Volume' 12" + cset "name='Right BDE LVL3 Limiter Thresh Volume' 12" + cset "name='Left BDE LVL4 Thresh' 112" + cset "name='Right BDE LVL4 Thresh' 112" + cset "name='Left BDE LVL4 Mute Switch' 0" + cset "name='Right BDE LVL4 Mute Switch' 0" + cset "name='Left BDE LVL4 Hold Switch' 0" + cset "name='Right BDE LVL4 Hold Switch' 0" + cset "name='Left BDE LVL4 Clip Reduction Volume' 55" + cset "name='Right BDE LVL4 Clip Reduction Volume' 55" + cset "name='Left BDE LVL4 Clip Thresh Volume' 60" + cset "name='Right BDE LVL4 Clip Thresh Volume' 60" + cset "name='Left BDE LVL4 Limiter Thresh Volume' 11" + cset "name='Right BDE LVL4 Limiter Thresh Volume' 11" + cset "name='Left BDE Hold Time' 100" + cset "name='Right BDE Hold Time' 100" + cset "name='Left BDE Thresh Hysteresis' 2" + cset "name='Right BDE Thresh Hysteresis' 2" + cset "name='Left BDE Attack Rate' 0" + cset "name='Right BDE Attack Rate' 0" + cset "name='Left BDE Release Rate' 5" + cset "name='Right BDE Release Rate' 5" + cset "name='Left Digital Vol Sel Switch' 1" + cset "name='Right Digital Vol Sel Switch' 1" + cset "name='Left Spk Switch' off" + cset "name='Right Spk Switch' off" + + cset-tlv "name='DSM data' /usr/lib/nocturne-dsm/dsmparam.bin" + ] + DisableSequence [ + ] +} +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPCM "hw:avsmax98373,1" + DspName "speaker_eq" + } + EnableSequence [ + cdev "hw:avsmax98373" + cset "name='Left Output Voltage' 5" + cset "name='Right Output Voltage' 5" + cset "name='Left DHT Switch' on" + cset "name='Right DHT Switch' on" + cset "name='Left BDE Switch' on" + cset "name='Right BDE Switch' on" + cset "name='Left VI Sense Switch' on" + cset "name='Right VI Sense Switch' on" + cset "name='Left Spk Switch' on" + cset "name='Right Spk Switch' on" + ] + DisableSequence [ + cdev "hw:avsmax98373" + cset "name='Left Spk Switch' off" + cset "name='Right Spk Switch' off" + cset "name='Left VI Sense Switch' off" + cset "name='Right VI Sense Switch' off" + cset "name='Left DHT Switch' off" + cset "name='Right DHT Switch' off" + cset "name='Left BDE Switch' off" + cset "name='Right BDE Switch' off" + ] +} diff --git a/avs/avs_max98373/avs_max98373.conf b/avs/avs_max98373/avs_max98373.conf new file mode 100644 index 0000000..88a33dc --- /dev/null +++ b/avs/avs_max98373/avs_max98373.conf @@ -0,0 +1,7 @@ +Syntax 3 + +Comment "Nocturne Speaker Card" +SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Default" +} diff --git a/avs/avs_max98927/HiFi.conf b/avs/avs_max98927/HiFi.conf new file mode 100644 index 0000000..1946a2d --- /dev/null +++ b/avs/avs_max98927/HiFi.conf @@ -0,0 +1,38 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cdev "hw:avsmax98927" + cset "name='Left DAI Sel Mux' Left" + cset "name='Right DAI Sel Mux' Right" + cset "name='Left Speaker Volume' 5" + cset "name='Right Speaker Volume' 5" + cset "name='Left Digital Volume' 56" + cset "name='Right Digital Volume' 56" + cset "name='Left Current Limit' 3.00A" + cset "name='Right Current Limit' 3.00A" + + cset-tlv "name='DSM data' /usr/lib/rammus-dsm/dsmparam.bin" + ] + DisableSequence [ + ] +} +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPCM "hw:avsmax98927,1" + DspName "speaker_eq" + } + EnableSequence [ + cdev "hw:avsmax98927" + cset "name='Left VI Sense Switch' on" + cset "name='Right VI Sense Switch' on" + ] + DisableSequence [ + cdev "hw:avsmax98927" + cset "name='Left VI Sense Switch' off" + cset "name='Right VI Sense Switch' off" + ] +} diff --git a/avs/avs_max98927/avs_max98927.conf b/avs/avs_max98927/avs_max98927.conf new file mode 100644 index 0000000..5402038 --- /dev/null +++ b/avs/avs_max98927/avs_max98927.conf @@ -0,0 +1,6 @@ +Syntax 3 +Comment "Shyvana Speaker Card" +SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Default" +} diff --git a/avs/avs_nau8825/HiFi b/avs/avs_nau8825/HiFi new file mode 100644 index 0000000..a707ac4 --- /dev/null +++ b/avs/avs_nau8825/HiFi @@ -0,0 +1,47 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='Headset Mic Switch' off" + cset "name='Frontend PGA Volume' 37" + cset "name='Headphone Volume' 37" + cset "name='Headphone Bypass Volume' 8" + cset "name='Headphone Crosstalk Volume' 140" + ] + DisableSequence [ + ] +} + +SectionDevice."Headphone" { + Comment "Headphone" + Value { + PlaybackPCM "hw:avsnau8825,1" + PlaybackMixerElem "Headphone" + JackDev "avs_nau8825 Headset Jack" + JackSwitch "2" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + ] +} + +SectionDevice."Mic" { + Comment "Mic" + Value { + CapturePCM "hw:avsnau8825,1" + CaptureMixerElem "Headset Mic" + JackDev "avs_nau8825 Headset Jack" + } + + EnableSequence [ + cset "name='Headset Mic Switch' on" + ] + DisableSequence [ + cset "name='Headset Mic Switch' off" + ] +} diff --git a/avs/avs_nau8825/avs_nau8825.conf b/avs/avs_nau8825/avs_nau8825.conf new file mode 100644 index 0000000..bb9adee --- /dev/null +++ b/avs/avs_nau8825/avs_nau8825.conf @@ -0,0 +1,7 @@ +Syntax 2 +Comment "NAU8825 headphone codec" + +SectionUseCase."HiFi" { + File "HiFi" + Comment "Default" +} diff --git a/avs/avs_ssm4567-adi/HiFi b/avs/avs_ssm4567-adi/HiFi new file mode 100644 index 0000000..bd9c8a2 --- /dev/null +++ b/avs/avs_ssm4567-adi/HiFi @@ -0,0 +1,32 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cset "name='Left Amplifier Boost Switch' on" + cset "name='Left DAC High Pass Filter Switch' on" + cset "name='Left DAC Low Power Mode Switch' on" + cset "name='Right Amplifier Boost Switch' on" + cset "name='Right DAC High Pass Filter Switch' on" + cset "name='Right DAC Low Power Mode Switch' on" + cset "name='Left Master Playback Volume' 219" + cset "name='Right Master Playback Volume' 219" + cset "name='ssp0p_fe DSP Volume' 858993480" + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + Value { + PlaybackPCM "hw:avsssm4567adi,1" + DspName "speaker_eq" + } + EnableSequence [ + cset "name='Left Speaker Switch' on" + cset "name='Right Speaker Switch' on" + ] + DisableSequence [ + cset "name='Left Speaker Switch' off" + cset "name='Right Speaker Switch' off" + ] +} diff --git a/avs/avs_ssm4567-adi/avs_ssm4567-adi.conf b/avs/avs_ssm4567-adi/avs_ssm4567-adi.conf new file mode 100644 index 0000000..7922da3 --- /dev/null +++ b/avs/avs_ssm4567-adi/avs_ssm4567-adi.conf @@ -0,0 +1,7 @@ +Syntax 2 +Comment "SSM4567 Amplifier" + +SectionUseCase."HiFi" { + File "HiFi" + Comment "Default" +} diff --git a/avs/hdaudioB0D2/HiFi b/avs/hdaudioB0D2/HiFi new file mode 100644 index 0000000..371edf3 --- /dev/null +++ b/avs/hdaudioB0D2/HiFi @@ -0,0 +1,45 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + ] + DisableSequence [ + ] +} + +SectionDevice."HDMI1".0 { + Comment "HDMI1" + Value { + PlaybackPCM "hw:hdaudioB0D2,1" + JackDev "hdaudioB0D2 HDMI/DP,pcm=1" + } + EnableSequence [ + ] + DisableSequence [ + ] +} + +SectionDevice."HDMI2".0 { + Comment "HDMI2" + Value { + PlaybackPCM "hw:hdaudioB0D2,2" + JackDev "hdaudioB0D2 HDMI/DP,pcm=2" + } + EnableSequence [ + ] + DisableSequence [ + ] +} + +SectionDevice."HDMI3".0 { + Comment "HDMI3" + Value { + PlaybackPCM "hw:hdaudioB0D2,3" + JackDev "hdaudioB0D2 HDMI/DP,pcm=3" + } + EnableSequence [ + ] + DisableSequence [ + ] +} diff --git a/avs/hdaudioB0D2/hdaudioB0D2.conf b/avs/hdaudioB0D2/hdaudioB0D2.conf new file mode 100644 index 0000000..6a3d6ef --- /dev/null +++ b/avs/hdaudioB0D2/hdaudioB0D2.conf @@ -0,0 +1,7 @@ +Syntax 2 +Comment "HDMI Audio" + +SectionUseCase."HiFi" { + File "HiFi" + Comment "Default" +} diff --git a/cml/sof-cml_rt1011_/HiFi.conf b/cml/sof-cml_rt1011_/HiFi.conf new file mode 100644 index 0000000..13d824c --- /dev/null +++ b/cml/sof-cml_rt1011_/HiFi.conf @@ -0,0 +1,100 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:sofcmlrt1011rt5,5" + } + EnableSequence [ + cset "name='TL Ext Spk Switch' on" + cset "name='TR Ext Spk Switch' on" + cset "name='WL Ext Spk Switch' on" + cset "name='WR Ext Spk Switch' on" + + ] + DisableSequence [ + cset "name='TL Ext Spk Switch' off" + cset "name='TR Ext Spk Switch' off" + cset "name='WL Ext Spk Switch' off" + cset "name='WR Ext Spk Switch' off" + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:sofcmlrt1011rt5,0" + PlaybackMixerElem "DAC1" + JackControl "Headphone Jack" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + cset "name='HPOL Playback Switch' 1" + cset "name='HPOR Playback Switch' 1" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + ] +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + + Value { + CapturePriority 100 + CapturePCM "hw:sofcmlrt1011rt5,1" + CaptureChannels 4 + CaptureChannelMap "0 1 -1 -1 -1 -1 -1 -1 -1 -1 -1" + IntrinsicSensitivity "-2800" + } +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + Value { + CapturePriority 200 + CapturePCM "hw:sofcmlrt1011rt5,0" + CaptureMixerElem "Headset Mic" + JackControl "Headset Mic Jack" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + cset "name='Headset Mic Switch' on" + cset "name='STO1 ADC Capture Switch' on" + cset "name='RECMIX1L CBJ Switch' 1" + cset "name='IF1 01 ADC Swap Mux' 2" + cset "name='CBJ Boost Volume' 3" + cset "name='Stereo1 ADC L Mux' 0" + cset "name='Stereo1 ADC L1 Mux' 1" + cset "name='Stereo1 ADC R1 Mux' 1" + cset "name='Stereo1 ADC MIXL ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXR ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXL ADC1 Switch' 1" + cset "name='Stereo1 ADC MIXR ADC1 Switch' 1" + ] + DisableSequence [ + cset "name='Headset Mic Switch' off" + cset "name='IF1 01 ADC Swap Mux' 0" + cset "name='Stereo1 ADC L1 Switch' 0" + cset "name='Stereo1 ADC L1 Switch' 0" + cset "name='RECMIX1L CBJ Switch' 0" + cset "name='Stereo1 ADC MIXL ADC1 Switch' 0" + cset "name='Stereo1 ADC MIXR ADC1 Switch' 0" + cset "name='Stereo1 ADC L1 Mux' 0" + cset "name='Stereo1 ADC R1 Mux' 0" + cset "name='STO1 ADC Capture Switch' off" + ] +} + +Include.hdmi.File "/conf.d/hdmi-common/hdmi234.conf" diff --git a/cml/sof-cml_rt1011_/sof-cml_rt1011_.conf b/cml/sof-cml_rt1011_/sof-cml_rt1011_.conf new file mode 100644 index 0000000..7a43f96 --- /dev/null +++ b/cml/sof-cml_rt1011_/sof-cml_rt1011_.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "sof-cmlrt1011rt5682 internal card" + +SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Default" +} diff --git a/cml/sof-cmlda7219ma/HiFi.conf b/cml/sof-cmlda7219ma/HiFi.conf new file mode 100644 index 0000000..ca29da7 --- /dev/null +++ b/cml/sof-cmlda7219ma/HiFi.conf @@ -0,0 +1,99 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cdev "hw:sofcmlda7219max" + + cset "name='Playback Digital Volume' 111" + cset "name='Playback Digital Switch' on" + cset "name='Out DACL Mux' DAIL" + cset "name='Out DACR Mux' DAIR" + cset "name='Mixer Out FilterL DACL Switch' on" + cset "name='Mixer Out FilterR DACR Switch' on" + cset "name='ST Mixer Out FilterL Out FilterL Switch' on" + cset "name='ST Mixer Out FilterR Out FilterR Switch' on" + cset "name='Headphone Jack Switch' on" + cset "name='Headset Mic Switch' on" + cset "name='Mic Switch' on" + cset "name='Mic Volume' 5" + cset "name='Capture Digital Volume' 111" + cset "name='Capture Digital Switch' on" + cset "name='Mixin Volume' 10" + cset "name='Mixin Switch' on" + cset "name='Mixer In Mic Switch' on" + cset "name='Out DAIL Mux' ADC" + cset "name='Out DAIR Mux' ADC" + cset "name='Gain Ramp Rate' 1" + + ] + DisableSequence [ + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:sofcmlda7219max" + } + EnableSequence [ + cset "name='Spk Switch' on" + ] + DisableSequence [ + cset "name='Spk Switch' off" + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:sofcmlda7219max,1" + PlaybackMixerElem "Headphone" + JackControl "Headphone Jack" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + cset "name='Headphone Switch' on" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='Headphone Switch' off" + ] +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + + Value { + CapturePriority 100 + CapturePCM "hw:sofcmlda7219max,2" + CaptureChannels 4 + CaptureChannelMap "2 3 -1 -1 -1 -1 -1 -1 -1 -1 -1" + IntrinsicSensitivity "-2600" + } +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + Value { + CapturePriority 200 + CapturePCM "hw:sofcmlda7219max,1" + CaptureMixerElem "Headset Mic" + JackControl "Headset Mic Jack" + } + EnableSequence [ + cset "name='Headset Mic Switch' on" + cset "name='Mic Switch' on" + ] + DisableSequence [ + cset "name='Headset Mic Switch' off" + cset "name='Mic Switch' off" + ] +} + +Include.hdmi.File "/conf.d/hdmi-common/hdmi567.conf" diff --git a/cml/sof-cmlda7219ma/sof-cmlda7219ma.conf b/cml/sof-cmlda7219ma/sof-cmlda7219ma.conf new file mode 100644 index 0000000..3f75447 --- /dev/null +++ b/cml/sof-cmlda7219ma/sof-cmlda7219ma.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "sof-cmlda7219max internal card" + +SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Default" +} diff --git a/cml/sof-rt5682/HiFi.conf b/cml/sof-rt5682/HiFi.conf new file mode 100644 index 0000000..108712a --- /dev/null +++ b/cml/sof-rt5682/HiFi.conf @@ -0,0 +1,120 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cdev "hw:sofrt5682" + cset "name='Headphone Jack Switch' off" + + cset "name='HPOL Playback Switch' off" + cset "name='HPOR Playback Switch' off" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0" + + cset "name='RECMIX1L CBJ Switch' 0" + cset "name='Stereo1 ADC L Mux' 0" + cset "name='Stereo1 ADC MIXL ADC1 Switch' 0" + cset "name='Stereo1 ADC MIXR ADC1 Switch' 0" + + ] + DisableSequence [ + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:sofrt5682,5" + } + EnableSequence [ + cset "name='Spk Switch' on" + ] + DisableSequence [ + cset "name='Spk Switch' off" + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + Playback Priority + PlaybackPCM "hw:sofrt5682,0" + PlaybackMixerElem "DAC1" + JackControl "Headphone Jack" + } + EnableSequence [ + cdev "hw:sofrt5682" + cset "name='Headphone Jack Switch' on" + cset "name='HPOL Playback Switch' 1" + cset "name='HPOR Playback Switch' 1" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1" + ] + DisableSequence [ + cdev "hw:sofrt5682" + cset "name='Headphone Jack Switch' off" + ] +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + + Value { + CapturePriority 100 + CapturePCM "hw:sofrt5682,1" + CaptureChannels 4 + CaptureChannelMap "0 1 -1 -1 -1 -1 -1 -1 -1 -1 -1" + IntrinsicSensitivity "-2400" + } + EnableSequence [ + cdev "hw:sofrt5682" + ] + DisableSequence [ + cdev "hw:sofrt5682" + ] +} + +SectionDevice."Headset" { + Comment "Headset" + + Value { + CapturePriority 200 + CapturePCM "hw:sofrt5682,0" + CaptureMixerElem "Headset Mic" + JackControl "Headset Mic Jack" + } + EnableSequence [ + cdev "hw:sofrt5682" + cset "name='Headphone Jack Switch' on" + cset "name='Headset Mic Switch' on" + cset "name='STO1 ADC Capture Switch' on" + cset "name='RECMIX1L CBJ Switch' 1" + cset "name='IF1 01 ADC Swap Mux' 2" + cset "name='CBJ Boost Volume' 3" + cset "name='Stereo1 ADC L Mux' 0" + cset "name='Stereo1 ADC L1 Mux' 1" + cset "name='Stereo1 ADC R1 Mux' 1" + cset "name='Stereo1 ADC MIXL ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXR ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXL ADC1 Switch' 1" + cset "name='Stereo1 ADC MIXR ADC1 Switch' 1" + ] + DisableSequence [ + cdev "hw:sofrt5682" + cset "name='Headset Mic Switch' off" + cset "name='IF1 01 ADC Swap Mux' 0" + cset "name='Stereo1 ADC L1 Switch' 0" + cset "name='Stereo1 ADC L1 Switch' 0" + cset "name='RECMIX1L CBJ Switch' 0" + cset "name='Stereo1 ADC MIXL ADC1 Switch' 0" + cset "name='Stereo1 ADC MIXR ADC1 Switch' 0" + cset "name='Stereo1 ADC L1 Mux' 0" + cset "name='Stereo1 ADC R1 Mux' 0" + cset "name='STO1 ADC Capture Switch' off" + ] +} + +Include.hdmi.File "/conf.d/hdmi-common/hdmi234.conf" diff --git a/cml/sof-rt5682/sof-rt5682.conf b/cml/sof-rt5682/sof-rt5682.conf new file mode 100644 index 0000000..ef48d66 --- /dev/null +++ b/cml/sof-rt5682/sof-rt5682.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "sof-cmlrt5682max internal card" + +SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Default" +} diff --git a/dmic-common/dmic-split-macro.conf b/dmic-common/dmic-split-macro.conf new file mode 100644 index 0000000..377c575 --- /dev/null +++ b/dmic-common/dmic-split-macro.conf @@ -0,0 +1,22 @@ +# +# Macro DmicSplit +# +# Arguments: +# PCM - PCM number of dmic +# + +Include.pcm_split.File "/conf.d/dmic-common/split.conf" + +DefineMacro.DmicSplit { + Macro.pcm_split.SplitPCMDevice { + Name "dmic_stereo_in" + Direction Capture + Device "${var:__PCM}" + HWChannels 4 + Channels 2 + Channel0 0 + Channel1 1 + ChannelPos0 FL + ChannelPos1 FR + } +} diff --git a/dmic-common/dmic-split-remap.conf b/dmic-common/dmic-split-remap.conf new file mode 100644 index 0000000..2ece879 --- /dev/null +++ b/dmic-common/dmic-split-remap.conf @@ -0,0 +1,38 @@ +Include.pcm_split.File "/conf.d/dmic-common/split.conf" + +Macro [ + { + SplitPCM { + Name "dmic_stereo_in" + Direction Capture + Format S32_LE + Channels 2 + HWChannels 4 + HWChannelPos0 FL + HWChannelPos1 FR + HWChannelPos2 FL + HWChannelPos3 FR + } + } +] + +Include.ctl_remap.File "/conf.d/dmic-common/remap.conf" + +Macro [ + { + CtlRemapStereoVolSw { + Dst "Mic 1 Capture" + Src "STO1 ADC Capture" + Index0 0 + Index1 1 + } + } + { + CtlRemapStereoVolSw { + Dst "Mic 2 Capture" + Src "STO1 ADC Capture" + Index0 2 + Index1 3 + } + } +] diff --git a/dmic-common/remap.conf b/dmic-common/remap.conf new file mode 100644 index 0000000..e19568e --- /dev/null +++ b/dmic-common/remap.conf @@ -0,0 +1,50 @@ +# +# Remap controls +# + +# +# Macro CtlRemapMonoVolSw +# +# Arguments: +# Dst - Destination control name +# Src - Source control name +# Index - hardware index for value 0 (mono) +# + +DefineMacro.CtlRemapMonoVolSw { + LibraryConfig.pcm.SubstiConfig { + ctl.default.map { + "name='${var:__Dst} Volume'"."name='${var:__Src} Volume'" { + vindex.0 "${evali:$__Index}" + } + "name='${var:__Dst} Switch'"."name='${var:__Src} Switch'" { + vindex.0 "${evali:$__Index}" + } + } + } +} + +# +# Macro CtlRemapStereoVolSw +# +# Arguments: +# Dst - Destination control name +# Src - Source control name +# Index0 - hardware index for the application index 0 +# Index1 - hardware index for the application index 1 +# + +DefineMacro.CtlRemapStereoVolSw { + LibraryConfig.pcm.SubstiConfig { + ctl.default.map { + "name='${var:__Dst} Volume'"."name='${var:__Src} Volume'" { + vindex.0 "${evali:$__Index0}" + vindex.1 "${evali:$__Index1}" + } + "name='${var:__Dst} Switch'"."name='${var:__Src} Switch'" { + vindex.0 "${evali:$__Index0}" + vindex.1 "${evali:$__Index1}" + } + } + } +} diff --git a/dmic-common/split.conf b/dmic-common/split.conf new file mode 100644 index 0000000..390cd3a --- /dev/null +++ b/dmic-common/split.conf @@ -0,0 +1,372 @@ +# +# Split multichannel PCM stream to channel groups +# Slightly modified from upstream +# + +# +# Macro SplitPCM +# +# Application variable: +# @SplitPCM - defined, return channel description using UCM values +# +# Arguments: +# Name - PCM name (alsa-lib) +# Direction - "Playback" or "Capture" +# [Format] - sample format like S16_LE or S32_LE +# Channels - application channels +# HWChannels - hardware channels +# HWChannelPos0 - channel position (MONO FR FL etc. - see alsa-lib's strings) +# [HWChannelPos1] - channel position (MONO FR FL etc. - see alsa-lib's strings) +# + +DefineMacro.SplitPCM.If.0 { + Condition { + Type String + Empty "${var:@SplitPCM}" + } + True { + If.period_time { + Condition { + Type String + Empty "${var:-SplitPCMPeriodTime}" + } + True.Define.__period_time 20000 + False.Define.__period_time "${var:SplitPCMPeriodTime}" + } + If.buffer_time { + Condition { + Type String + Empty "${var:-SplitPCMBufferTime}" + } + True.Define.__buffer_time 500000 + False.Define.__buffer_time "${var:SplitPCMBufferTime}" + } + If.format { + Condition { + Type String + Empty "${var:-__Format}" + } + True.Define.__Format S16_LE + } + + LibraryConfig.pcm.SubstiConfig.pcm."${var:__Name}" { + @args [ CARD DEV CHN0 ] + @args { + CARD.type string + DEV.type integer + CHN0.type integer + } + ipc_key 6678293 + type dshare + slave { + pcm { + type hw + card $CARD + device $DEV + chmap [ "${var:__HWChannelPos0}" ] + } + format "${var:__Format}" + channels "${evali:$__HWChannels}" + period_time "${evali:$__period_time}" + buffer_time "${evali:$__buffer_time}" + } + bindings.0 $CHN0 + } + + If.pos1 { + Condition { + Type String + Empty "${var:__HWChannelPos1}" + } + False.LibraryConfig.pos1.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:__HWChannelPos1}" ] + } + } + If.pos2 { + Condition { + Type String + Empty "${var:-__HWChannelPos2}" + } + False.LibraryConfig.pos2.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:-__HWChannelPos2}" ] + } + } + If.pos3 { + Condition { + Type String + Empty "${var:-__HWChannelPos3}" + } + False.LibraryConfig.pos3.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:-__HWChannelPos3}" ] + } + } + If.pos4 { + Condition { + Type String + Empty "${var:-__HWChannelPos4}" + } + False.LibraryConfig.pos4.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:-__HWChannelPos4}" ] + } + } + If.pos5 { + Condition { + Type String + Empty "${var:-__HWChannelPos5}" + } + False.LibraryConfig.pos4.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:-__HWChannelPos5}" ] + } + } + If.pos6 { + Condition { + Type String + Empty "${var:-__HWChannelPos6}" + } + False.LibraryConfig.pos6.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:-__HWChannelPos6}" ] + } + } + If.pos7 { + Condition { + Type String + Empty "${var:-__HWChannelPos7}" + } + False.LibraryConfig.pos7.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:-__HWChannelPos7}" ] + } + } + If.pos8 { + Condition { + Type String + Empty "${var:-__HWChannelPos8}" + } + False.LibraryConfig.pos8.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:-__HWChannelPos8}" ] + } + } + If.pos9 { + Condition { + Type String + Empty "${var:-__HWChannelPos9}" + } + False.LibraryConfig.pos9.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:-__HWChannelPos9}" ] + } + } + If.pos10 { + Condition { + Type String + Empty "${var:-__HWChannelPos10}" + } + False.LibraryConfig.pos10.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:-__HWChannelPos10}" ] + } + } + If.pos11 { + Condition { + Type String + Empty "${var:-__HWChannelPos11}" + } + False.LibraryConfig.pos11.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:-__HWChannelPos11}" ] + } + } + If.pos12 { + Condition { + Type String + Empty "${var:-__HWChannelPos12}" + } + False.LibraryConfig.pos12.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:-__HWChannelPos12}" ] + } + } + If.pos13 { + Condition { + Type String + Empty "${var:-__HWChannelPos13}" + } + False.LibraryConfig.pos13.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:-__HWChannelPos13}" ] + } + } + If.pos14 { + Condition { + Type String + Empty "${var:-__HWChannelPos14}" + } + False.LibraryConfig.pos14.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:-__HWChannelPos14}" ] + } + } + If.pos15 { + Condition { + Type String + Empty "${var:-__HWChannelPos15}" + } + False.LibraryConfig.pos15.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:-__HWChannelPos15}" ] + } + } + If.pos16 { + Condition { + Type String + Empty "${var:-__HWChannelPos16}" + } + False.LibraryConfig.pos16.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:-__HWChannelPos16}" ] + } + } + If.pos17 { + Condition { + Type String + Empty "${var:-__HWChannelPos17}" + } + False.LibraryConfig.pos17.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:-__HWChannelPos17}" ] + } + } + If.pos18 { + Condition { + Type String + Empty "${var:-__HWChannelPos18}" + } + False.LibraryConfig.pos18.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:-__HWChannelPos18}" ] + } + } + If.pos19 { + Condition { + Type String + Empty "${var:-__HWChannelPos19}" + } + False.LibraryConfig.pos19.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:-__HWChannelPos19}" ] + } + } + If.pos20 { + Condition { + Type String + Empty "${var:-__HWChannelPos20}" + } + False.LibraryConfig.pos20.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:-__HWChannelPos20}" ] + } + } + If.pos21 { + Condition { + Type String + Empty "${var:-__HWChannelPos21}" + } + False.LibraryConfig.pos21.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:-__HWChannelPos21}" ] + } + } + If.pos22 { + Condition { + Type String + Empty "${var:-__HWChannelPos22}" + } + False.LibraryConfig.pos22.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:-__HWChannelPos22}" ] + } + } + If.pos23 { + Condition { + Type String + Empty "${var:-__HWChannelPos23}" + } + False.LibraryConfig.pos23.SubstiConfig.pcm."${var:__Name}" { + slave.pcm.chmap [ "${var:-__HWChannelPos23}" ] + } + } + + If.ch1 { + Condition { + Type RegexMatch + Regex "^([2-9]|[1-9][0-9])$" + String "${var:__Channels}" + } + True.LibraryConfig.ch1.SubstiConfig.pcm."${var:__Name}" { + @args.3 CHN1 + @args { CHN1.type integer } + bindings.1 $CHN1 + } + } + + If.dir { + Condition { + Type String + String1 "${var:__Direction}" + String2 "Capture" + } + True.LibraryConfig.dir.Config.pcm."${var:__Name}".type dsnoop + } + } +} + +# +# Macro SplitPCMDevice +# +# Application variable: +# @SplitPCM - defined, return channel description using UCM values +# +# Arguments: +# Name - PCM name (alsa-lib) +# Direction - "Playback" or "Capture" +# Device - hardware PCM device number (optional - default 0) +# Channels - count of application channels +# HWChannels - total channels (in hardware) +# Channel0 - channel index in stream for the destination channel 0 +# [Channel1] - channel index in stream for the destination channel 1 (optional) +# ChannelPos0 - channel position (MONO FR FL etc. - see alsa-lib's strings +# [ChannelPos1] - channel position (MONO FR FL etc. - see alsa-lib's strings) +# + +DefineMacro.SplitPCMDevice { + If.0 { + Condition { + Type String + Empty "${var:__Device}" + } + True.Define.__Device "0" + } + If.1 { + Condition { + Type String + Empty "${var:@SplitPCM}" + } + False { + Value { + "${var:__Direction}Channels" "${var:__HWChannels}" + "${var:__Direction}PCM" "hw:${CardId},${var:__Device}" + "${var:__Direction}Channel0" "${var:__Channel0}" + "${var:__Direction}ChannelPos0" "${var:__ChannelPos0}" + } + If.ch1 { + Condition { + Type String + Empty "${var:-__Channel1}" + } + False.Value { + "${var:__Direction}Channel1" "${var:__Channel1}" + "${var:__Direction}ChannelPos1" "${var:__ChannelPos1}" + } + } + } + True { + Define.__pcmdev "${var:__Name}:${CardId},${var:__Device},${var:__Channel0}" + If.ch1 { + Condition { + Type String + Empty "${var:-__Channel1}" + } + False.Define.__pcmdev "${var:__pcmdev},${var:__Channel1}" + } + Value { + "${var:__Direction}Channels" "${var:__Channels}" + "${var:__Direction}PCM" "${var:__pcmdev}" + } + } + } +} diff --git a/glk/sof-cs42l42/HiFi.conf b/glk/sof-cs42l42/HiFi.conf new file mode 100644 index 0000000..15cbe2a --- /dev/null +++ b/glk/sof-cs42l42/HiFi.conf @@ -0,0 +1,83 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + + EnableSequence [ + cdev "hw:sofcs42l42" + + cset "name='Headphone Jack Switch' off" + cset "name='Headset Mic Switch' off" + cset "name='ADC Volume' 108" + cset "name='ADC Boost Switch' on" + ] + DisableSequence [ + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:sofcs42l42" + } + EnableSequence [ + cset "name='Spk Switch' on" + ] + DisableSequence [ + cset "name='Spk Switch' off" + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:sofcs42l42,1" + PlaybackMixerElem "Mixer" + JackControl "Headphone Jack" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + cset "name='DAC HPF Switch' on" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='DAC HPF Switch' off" + ] +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + + Value { + CapturePriority 100 + CapturePCM "hw:sofcs42l42,99" + CaptureChannels 4 + CaptureChannelMap "0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1" + IntrinsicSensitivity "-2600" + } +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + Value { + CapturePriority 200 + CapturePCM "hw:sofcs42l42,1" + CaptureMixerElem "Headset Mic" + JackControl "Headset Mic Jack" + } + EnableSequence [ + cset "name='Headset Mic Switch' on" + cset "name='ADC HPF Switch' on" + ] + DisableSequence [ + cset "name='Headset Mic Switch' off" + cset "name='ADC HPF Switch' off" + ] +} + +Include.hdmi.File "/conf.d/hdmi-common/hdmi567.conf" diff --git a/glk/sof-cs42l42/sof-cs42l42.conf b/glk/sof-cs42l42/sof-cs42l42.conf new file mode 100644 index 0000000..cfe0f60 --- /dev/null +++ b/glk/sof-cs42l42/sof-cs42l42.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "sof-cs42l42 internal card" + +SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Default" +} diff --git a/glk/sof-glkda7219ma/HiFi.conf b/glk/sof-glkda7219ma/HiFi.conf new file mode 100644 index 0000000..07f7188 --- /dev/null +++ b/glk/sof-glkda7219ma/HiFi.conf @@ -0,0 +1,96 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + + EnableSequence [ + cset "name='Playback Digital Volume' 111" + cset "name='Playback Digital Switch' 1" + cset "name='Out DACL Mux' DAIL" + cset "name='Out DACR Mux' DAIR" + cset "name='Mixer Out FilterL DACL Switch' 1" + cset "name='Mixer Out FilterR DACR Switch' 1" + cset "name='ST Mixer Out FilterL Out FilterL Switch' 1" + cset "name='ST Mixer Out FilterR Out FilterR Switch' 1" + cset "name='Headphone Jack Switch' off" + cset "name='Headset Mic Switch' off" + cset "name='Mic Volume' 5" + cset "name='Capture Digital Volume' 111" + cset "name='Capture Digital Switch' 1" + cset "name='Mixin Volume' 10" + cset "name='Mixin Switch' 1" + cset "name='Mixer In Mic Switch' 1" + cset "name='Out DAIL Mux' ADC" + cset "name='Out DAIR Mux' ADC" + cset "name='Gain Ramp Rate' 1" + ] + DisableSequence [ + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:sofglkda7219max" + } + EnableSequence [ + cset "name='Spk Switch' on" + ] + DisableSequence [ + cset "name='Spk Switch' off" + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:sofglkda7219max,1" + PlaybackMixerElem "Headphone" + JackControl "Headphone Jack" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + cset "name='Headphone Switch' 1" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='Headphone Switch' 0" + ] +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + + Value { + CapturePriority 100 + CapturePCM "hw:sofglkda7219max,99" + CaptureChannels 4 + CaptureChannelMap "0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1" + IntrinsicSensitivity "-2600" + } +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + Value { + CapturePriority 200 + CapturePCM "hw:sofglkda7219max,1" + CaptureMixerElem "Headset Mic" + JackControl "Headset Mic Jack" + } + EnableSequence [ + cset "name='Headset Mic Switch' on" + cset "name='Mic Switch' on" + ] + DisableSequence [ + cset "name='Headset Mic Switch' off" + cset "name='Mic Switch' off" + ] +} + +Include.hdmi.File "/conf.d/hdmi-common/hdmi567.conf" diff --git a/glk/sof-glkda7219ma/sof-glkda7219ma.conf b/glk/sof-glkda7219ma/sof-glkda7219ma.conf new file mode 100644 index 0000000..f950d11 --- /dev/null +++ b/glk/sof-glkda7219ma/sof-glkda7219ma.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "sof-glkda7219max internal card" + +SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Default" +} diff --git a/glk/sof-glkrt5682ma/HiFi.conf b/glk/sof-glkrt5682ma/HiFi.conf new file mode 100644 index 0000000..5f7bdd4 --- /dev/null +++ b/glk/sof-glkrt5682ma/HiFi.conf @@ -0,0 +1,95 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cdev "hw:sofglkrt5682max" + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' off" + cset "name='HPOR Playback Switch' off" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0" + cset "name='Stereo1 ADC L Mux' 0" + cset "name='STO1 ADC Capture Switch' on" + cset "name='RECMIX1L CBJ Switch' 1" + cset "name='IF1 01 ADC Swap Mux' 2" + cset "name='CBJ Boost Volume' 3" + cset "name='Stereo1 ADC L1 Mux' 1" + cset "name='Stereo1 ADC R1 Mux' 1" + cset "name='Stereo1 ADC MIXL ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXR ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXL ADC1 Switch' 1" + cset "name='Stereo1 ADC MIXR ADC1 Switch' 1" + ] + DisableSequence [ + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:sofglkrt5682max" + } + EnableSequence [ + cset "name='Spk Switch' on" + ] + DisableSequence [ + cset "name='Spk Switch' off" + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:sofglkrt5682max,1" + PlaybackMixerElem "DAC1" + JackControl "Headphone Jack" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + cset "name='HPOL Playback Switch' 1" + cset "name='HPOR Playback Switch' 1" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' 0" + cset "name='HPOR Playback Switch' 0" + ] +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + + Value { + CapturePriority 100 + CapturePCM "hw:sofglkrt5682max,99" + CaptureChannels 4 + CaptureChannelMap "0 1 -1 -1 -1 -1 -1 -1 -1 -1 -1" + IntrinsicSensitivity "-2600" + } +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + Value { + CapturePriority 200 + CapturePCM "hw:sofglkrt5682max,1" + CaptureMixerElem "Headset Mic" + JackControl "Headset Mic Jack" + } + EnableSequence [ + cset "name='Headset Mic Switch' on" + ] + DisableSequence [ + cset "name='Headset Mic Switch' off" + ] +} + +Include.hdmi.File "/conf.d/hdmi-common/hdmi567.conf" diff --git a/glk/sof-glkrt5682ma/sof-glkrt5682ma.conf b/glk/sof-glkrt5682ma/sof-glkrt5682ma.conf new file mode 100644 index 0000000..6a91c19 --- /dev/null +++ b/glk/sof-glkrt5682ma/sof-glkrt5682ma.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "Geminilake internal card" + +SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Default" +} diff --git a/hdmi-common/hdmi.conf b/hdmi-common/hdmi.conf new file mode 100644 index 0000000..5bd9f03 --- /dev/null +++ b/hdmi-common/hdmi.conf @@ -0,0 +1,35 @@ +# +# Macro HDMI +# +# Arguments: +# +# Number HDMI number +# Device PCM device number +# Priority UCM device priority +# + +DefineMacro.HDMI.If.hdmi { + Condition { + Type ControlExists + Control "iface=CARD,name='HDMI/DP,pcm=${var:__Device} Jack'" + } + True { + SectionDevice."HDMI${var:__Number}" { + Comment "HDMI / DisplayPort ${var:__Number} Output" + + EnableSequence [ + cset "name='IEC958 Playback Switch',index=${eval:($__Number-1)} on" + ] + + DisableSequence [ + cset "name='IEC958 Playback Switch',index=${eval:($__Number-1)} off" + ] + + Value { + PlaybackPriority "${var:__Priority}" + PlaybackPCM "hw:${CardId},${var:__Device}" + JackControl "HDMI/DP,pcm=${var:__Device} Jack" + } + } + } +} diff --git a/hdmi-common/hdmi234.conf b/hdmi-common/hdmi234.conf new file mode 100644 index 0000000..24c39fe --- /dev/null +++ b/hdmi-common/hdmi234.conf @@ -0,0 +1,30 @@ +# HDA HDMI devices + +Include.hdmi.File "/conf.d/hdmi-common/hdmi.conf" + +If.hdmi1 { + Condition { Type AlwaysTrue } + True.Macro.hdmi1.HDMI { + Number 1 + Device 2 + Priority 200 + } +} + +If.hdmi2 { + Condition { Type AlwaysTrue } + True.Macro.hdmi2.HDMI { + Number 2 + Device 3 + Priority 300 + } +} + +If.hdmi3 { + Condition { Type AlwaysTrue } + True.Macro.hdmi3.HDMI { + Number 3 + Device 4 + Priority 400 + } +} diff --git a/hdmi-common/hdmi2345.conf b/hdmi-common/hdmi2345.conf new file mode 100644 index 0000000..b6a5e85 --- /dev/null +++ b/hdmi-common/hdmi2345.conf @@ -0,0 +1,39 @@ +# HDA HDMI devices + +Include.hdmi.File "/conf.d/hdmi-common/hdmi.conf" + +If.hdmi1 { + Condition { Type AlwaysTrue } + True.Macro.hdmi1.HDMI { + Number 1 + Device 2 + Priority 200 + } +} + +If.hdmi2 { + Condition { Type AlwaysTrue } + True.Macro.hdmi2.HDMI { + Number 2 + Device 3 + Priority 300 + } +} + +If.hdmi3 { + Condition { Type AlwaysTrue } + True.Macro.hdmi3.HDMI { + Number 3 + Device 4 + Priority 400 + } +} + +If.hdmi4 { + Condition { Type AlwaysTrue } + True.Macro.hdmi3.HDMI { + Number 3 + Device 5 + Priority 500 + } +} diff --git a/hdmi-common/hdmi345.conf b/hdmi-common/hdmi345.conf new file mode 100644 index 0000000..9b8c80c --- /dev/null +++ b/hdmi-common/hdmi345.conf @@ -0,0 +1,30 @@ +# HDA HDMI devices + +Include.hdmi.File "/conf.d/hdmi-common/hdmi.conf" + +If.hdmi1 { + Condition { Type AlwaysTrue } + True.Macro.hdmi1.HDMI { + Number 1 + Device 3 + Priority 300 + } +} + +If.hdmi2 { + Condition { Type AlwaysTrue } + True.Macro.hdmi2.HDMI { + Number 2 + Device 4 + Priority 400 + } +} + +If.hdmi3 { + Condition { Type AlwaysTrue } + True.Macro.hdmi3.HDMI { + Number 3 + Device 5 + Priority 500 + } +} diff --git a/hdmi-common/hdmi567.conf b/hdmi-common/hdmi567.conf new file mode 100644 index 0000000..b5fb34f --- /dev/null +++ b/hdmi-common/hdmi567.conf @@ -0,0 +1,30 @@ +# HDA HDMI devices + +Include.hdmi.File "/conf.d/hdmi-common/hdmi.conf" + +If.hdmi1 { + Condition { Type AlwaysTrue } + True.Macro.hdmi1.HDMI { + Number 1 + Device 5 + Priority 500 + } +} + +If.hdmi2 { + Condition { Type AlwaysTrue } + True.Macro.hdmi2.HDMI { + Number 2 + Device 6 + Priority 600 + } +} + +If.hdmi3 { + Condition { Type AlwaysTrue } + True.Macro.hdmi3.HDMI { + Number 3 + Device 7 + Priority 700 + } +} diff --git a/jsl/sof-cs42l42/HiFi.conf b/jsl/sof-cs42l42/HiFi.conf new file mode 100644 index 0000000..5cac300 --- /dev/null +++ b/jsl/sof-cs42l42/HiFi.conf @@ -0,0 +1,80 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cdev "hw:sofcs42l42" + + cset "name='Headphone Jack Switch' off" + cset "name='Headset Mic Switch' off" + cset "name='ADC Volume' 109" + cset "name='ADC Boost Switch' on" + ] + DisableSequence [ + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:sofcs42l42,0" + } + EnableSequence [ + cset "name='Spk Switch' on" + ] + DisableSequence [ + cset "name='Spk Switch' off" + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:sofcs42l42,1" + PlaybackMixerElem "Mixer" + JackControl "Headphone Jack" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + cset "name='DAC HPF Switch' on" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='DAC HPF Switch' off" + ] +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + + Value { + CapturePriority 100 + CapturePCM "hw:sofcs42l42,5" + CaptureChannels 4 + } +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + Value { + CapturePriority 200 + CapturePCM "hw:sofcs42l42,1" + CaptureMixerElem "Headset Mic" + JackDev "sof-cs42l42 Headset Jack" + } + EnableSequence [ + cset "name='Headset Mic Switch' on" + cset "name='ADC HPF Switch' on" + ] + DisableSequence [ + cset "name='Headset Mic Switch' off" + cset "name='ADC HPF Switch' off" + ] +} + +Include.hdmi.File "/conf.d/hdmi-common/hdmi234.conf" diff --git a/jsl/sof-cs42l42/sof-cs42l42.conf b/jsl/sof-cs42l42/sof-cs42l42.conf new file mode 100644 index 0000000..cfe0f60 --- /dev/null +++ b/jsl/sof-cs42l42/sof-cs42l42.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "sof-cs42l42 internal card" + +SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Default" +} diff --git a/jsl/sof-da7219max98/HiFi.conf b/jsl/sof-da7219max98/HiFi.conf new file mode 100644 index 0000000..605a1f8 --- /dev/null +++ b/jsl/sof-da7219max98/HiFi.conf @@ -0,0 +1,96 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cset "name='Playback Digital Volume' 103" + cset "name='Playback Digital Switch' 1" + cset "name='Headphone Volume' 57" + cset "name='Out DACL Mux' DAIL" + cset "name='Out DACR Mux' DAIR" + cset "name='Mixer Out FilterL DACL Switch' 1" + cset "name='Mixer Out FilterR DACR Switch' 1" + cset "name='ST Mixer Out FilterL Out FilterL Switch' 1" + cset "name='ST Mixer Out FilterR Out FilterR Switch' 1" + cset "name='Headphone Jack Switch' off" + cset "name='Headset Mic Switch' off" + cset "name='Mic Volume' 2" + cset "name='Capture Digital Volume' 111" + cset "name='Capture Digital Switch' 1" + cset "name='Mixin Volume' 10" + cset "name='Mixin Switch' 1" + cset "name='Mixer In Mic Switch' 1" + cset "name='Out DAIL Mux' ADC" + cset "name='Out DAIR Mux' ADC" + cset "name='Gain Ramp Rate' 1" + ] + DisableSequence [ + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:sofda7219max983" + } + EnableSequence [ + cset "name='Spk Switch' on" + ] + DisableSequence [ + cset "name='Spk Switch' off" + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:sofda7219max983,1" + PlaybackMixerElem "Headphone" + JackControl "Headphone Jack" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + cset "name='Headphone Switch' 1" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='Headphone Switch' 0" + ] +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + + Value { + CapturePriority 100 + CapturePCM "hw:sofda7219max983,5" + CaptureChannels 4 + CaptureChannelMap "0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1" + IntrinsicSensitivity "-3100" + } +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + Value { + CapturePriority 200 + CapturePCM "hw:sofda7219max983,1" + CaptureMixerElem "Headset Mic" + JackControl "Headset Mic Jack" + } + EnableSequence [ + cset "name='Headset Mic Switch' on" + cset "name='Mic Switch' on" + ] + DisableSequence [ + cset "name='Headset Mic Switch' off" + cset "name='Mic Switch' off" + ] +} + +Include.hdmi.File "/conf.d/hdmi-common/hdmi234.conf" diff --git a/jsl/sof-da7219max98/sof-da7219max98.conf b/jsl/sof-da7219max98/sof-da7219max98.conf new file mode 100644 index 0000000..730701b --- /dev/null +++ b/jsl/sof-da7219max98/sof-da7219max98.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "sof-da7219max98360a internal card" + +SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Default" +} diff --git a/jsl/sof-rt5682/Google-Magolor-rev5.conf b/jsl/sof-rt5682/Google-Magolor-rev5.conf new file mode 100644 index 0000000..8774ee1 --- /dev/null +++ b/jsl/sof-rt5682/Google-Magolor-rev5.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "Waddledee internal card" + +SectionUseCase."HiFi" { + File "HiFi-Magolor.conf" + Comment "Default" +} diff --git a/jsl/sof-rt5682/Google-Magpie-rev5.conf b/jsl/sof-rt5682/Google-Magpie-rev5.conf new file mode 100644 index 0000000..ed96410 --- /dev/null +++ b/jsl/sof-rt5682/Google-Magpie-rev5.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "Waddledee internal card" + +SectionUseCase."HiFi" { + File "HiFi-Magpie.conf" + Comment "Default" +} diff --git a/jsl/sof-rt5682/HiFi-Magolor.conf b/jsl/sof-rt5682/HiFi-Magolor.conf new file mode 100644 index 0000000..b3298c1 --- /dev/null +++ b/jsl/sof-rt5682/HiFi-Magolor.conf @@ -0,0 +1,98 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' off" + cset "name='HPOR Playback Switch' off" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0" + cset "name='Stereo1 ADC L Mux' 0" + cset "name='STO1 ADC Capture Switch' on" + cset "name='RECMIX1L CBJ Switch' 1" + cset "name='IF1 01 ADC Swap Mux' 2" + cset "name='CBJ Boost Volume' 3" + cset "name='Stereo1 ADC L1 Mux' 1" + cset "name='Stereo1 ADC R1 Mux' 1" + cset "name='Stereo1 ADC MIXL ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXR ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXL ADC1 Switch' 1" + cset "name='Stereo1 ADC MIXR ADC1 Switch' 1" + + ] + DisableSequence [ + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:sofrt5682,0" + DspName "speaker_eq" + } + EnableSequence [ + cset "name='Left Spk Switch' on" + cset "name='Right Spk Switch' on" + ] + DisableSequence [ + cset "name='Left Spk Switch' off" + cset "name='Right Spk Switch' off" + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:sofrt5682,1" + PlaybackMixerElem "DAC1" + JackControl "Headphone Jack" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + cset "name='HPOL Playback Switch' 1" + cset "name='HPOR Playback Switch' 1" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' 0" + cset "name='HPOR Playback Switch' 0" + ] +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + Value { + CapturePriority 200 + CapturePCM "hw:sofrt5682,1" + CaptureMixerElem "Headset Mic" + JackDev "sof-rt5682 Headset Jack" + } + EnableSequence [ + cset "name='Headset Mic Switch' on" + ] + DisableSequence [ + cset "name='Headset Mic Switch' off" + ] +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + + Value { + CapturePriority 100 + CapturePCM "hw:sofrt5682,5" + CaptureChannels 4 + CaptureChannelMap "0 1 -1 -1 -1 -1 -1 -1 -1 -1 -1" + IntrinsicSensitivity "-3200" + } +} + +Include.hdmi.File "/conf.d/hdmi-common/hdmi234.conf" diff --git a/jsl/sof-rt5682/HiFi-Magpie.conf b/jsl/sof-rt5682/HiFi-Magpie.conf new file mode 100644 index 0000000..0fb2015 --- /dev/null +++ b/jsl/sof-rt5682/HiFi-Magpie.conf @@ -0,0 +1,97 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' off" + cset "name='HPOR Playback Switch' off" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0" + cset "name='Stereo1 ADC L Mux' 0" + cset "name='STO1 ADC Capture Switch' on" + cset "name='RECMIX1L CBJ Switch' 1" + cset "name='IF1 01 ADC Swap Mux' 2" + cset "name='CBJ Boost Volume' 3" + cset "name='Stereo1 ADC L1 Mux' 1" + cset "name='Stereo1 ADC R1 Mux' 1" + cset "name='Stereo1 ADC MIXL ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXR ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXL ADC1 Switch' 1" + cset "name='Stereo1 ADC MIXR ADC1 Switch' 1" + ] + DisableSequence [ + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:sofrt5682,0" + DspName "speaker_eq" + } + EnableSequence [ + cset "name='Left Spk Switch' on" + cset "name='Right Spk Switch' on" + ] + DisableSequence [ + cset "name='Left Spk Switch' off" + cset "name='Right Spk Switch' off" + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:sofrt5682,1" + PlaybackMixerElem "DAC1" + JackControl "Headphone Jack" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + cset "name='HPOL Playback Switch' 1" + cset "name='HPOR Playback Switch' 1" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' 0" + cset "name='HPOR Playback Switch' 0" + ] +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + Value { + CapturePriority 200 + CapturePCM "hw:sofrt5682,1" + CaptureMixerElem "Headset Mic" + JackDev "sof-rt5682 Headset Jack" + } + EnableSequence [ + cset "name='Headset Mic Switch' on" + ] + DisableSequence [ + cset "name='Headset Mic Switch' off" + ] +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + + Value { + CapturePriority 100 + CapturePCM "hw:sofrt5682,5" + CaptureChannels 4 + CaptureChannelMap "0 1 -1 -1 -1 -1 -1 -1 -1 -1 -1" + IntrinsicSensitivity "-3100" + } +} + +Include.hdmi.File "/conf.d/hdmi-common/hdmi234.conf" diff --git a/jsl/sof-rt5682/HiFi.conf b/jsl/sof-rt5682/HiFi.conf new file mode 100644 index 0000000..f699a3c --- /dev/null +++ b/jsl/sof-rt5682/HiFi.conf @@ -0,0 +1,100 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0" + cset "name='Headset Mic Switch' off" + cset "name='CBJ Boost Volume' 3" + cset "name='RECMIX1L CBJ Switch' 1" + cset "name='Stereo1 ADC L Mux' 0" + cset "name='Stereo1 ADC L1 Mux' 1" + cset "name='Stereo1 ADC R1 Mux' 1" + cset "name='IF1 01 ADC Swap Mux' 2" + + cset "name='Left Spk Switch' off" + cset "name='Right Spk Switch' off" + cset "name='Left Bypass Boost' 1" + cset "name='Right Bypass Boost' 1" + cset "name='Left Mono LR Select' Left" + cset "name='Right Mono LR Select' Right" + ] + DisableSequence [ + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:sofrt5682,0" + DspName "speaker_eq" + } + EnableSequence [ + cset "name='Left Spk Switch' on" + cset "name='Right Spk Switch' on" + ] + DisableSequence [ + cset "name='Left Spk Switch' off" + cset "name='Right Spk Switch' off" + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:sofrt5682,1" + PlaybackMixerElem "DAC1" + JackControl "Headphone Jack" + } + EnableSequence [ + cset "name='HPOL Playback Switch' 1" + cset "name='HPOR Playback Switch' 1" + cset "name='Headphone Jack Switch' on" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' 0" + cset "name='HPOR Playback Switch' 0" + ] +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + Value { + CapturePriority 200 + CapturePCM "hw:sofrt5682,1" + CaptureMixerElem "Headset Mic" + JackDev "sof-rt5682 Headset Jack" + } + EnableSequence [ + cset "name='Stereo1 ADC MIXL ADC1 Switch' 1" + cset "name='Stereo1 ADC MIXR ADC1 Switch' 1" + cset "name='Headset Mic Switch' on" + ] + DisableSequence [ + cset "name='Headset Mic Switch' off" + cset "name='Stereo1 ADC MIXL ADC1 Switch' 0" + cset "name='Stereo1 ADC MIXR ADC1 Switch' 0" + ] +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + + Value { + CapturePriority 100 + CapturePCM "hw:sofrt5682,5" + CaptureChannels 4 + CaptureChannelMap "0 1 -1 -1 -1 -1 -1 -1 -1 -1 -1" + IntrinsicSensitivity "-2600" + } +} + +Include.hdmi.File "/conf.d/hdmi-common/hdmi234.conf" diff --git a/jsl/sof-rt5682/sof-rt5682.conf b/jsl/sof-rt5682/sof-rt5682.conf new file mode 100644 index 0000000..ac1f38b --- /dev/null +++ b/jsl/sof-rt5682/sof-rt5682.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "Boten internal card" + +SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Default" +} diff --git a/tgl/sof-rt5682/Google-Delbin-rev3.conf b/tgl/sof-rt5682/Google-Delbin-rev3.conf new file mode 100644 index 0000000..ecede82 --- /dev/null +++ b/tgl/sof-rt5682/Google-Delbin-rev3.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "Tigerlake internal card" + +SectionUseCase."HiFi" { + File "HiFi-Delbin.conf" + Comment "Default" +} diff --git a/tgl/sof-rt5682/Google-Delbin-rev4.conf b/tgl/sof-rt5682/Google-Delbin-rev4.conf new file mode 100644 index 0000000..ecede82 --- /dev/null +++ b/tgl/sof-rt5682/Google-Delbin-rev4.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "Tigerlake internal card" + +SectionUseCase."HiFi" { + File "HiFi-Delbin.conf" + Comment "Default" +} diff --git a/tgl/sof-rt5682/Google-Eldrid-rev3.conf b/tgl/sof-rt5682/Google-Eldrid-rev3.conf new file mode 100644 index 0000000..a468b96 --- /dev/null +++ b/tgl/sof-rt5682/Google-Eldrid-rev3.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "Tigerlake internal card" + +SectionUseCase."HiFi" { + File "HiFi-Eldrid.conf" + Comment "Default" +} diff --git a/tgl/sof-rt5682/Google-Elemi-rev3.conf b/tgl/sof-rt5682/Google-Elemi-rev3.conf new file mode 100644 index 0000000..ea2cac1 --- /dev/null +++ b/tgl/sof-rt5682/Google-Elemi-rev3.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "Tigerlake internal card" + +SectionUseCase."HiFi" { + File "HiFi-Elemi.conf" + Comment "Default" +} diff --git a/tgl/sof-rt5682/Google-Lillipup-rev3.conf b/tgl/sof-rt5682/Google-Lillipup-rev3.conf new file mode 100644 index 0000000..cf0d8e9 --- /dev/null +++ b/tgl/sof-rt5682/Google-Lillipup-rev3.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "Tigerlake internal card" + +SectionUseCase."HiFi" { + File "HiFi-Lillipup.conf" + Comment "Default" +} diff --git a/tgl/sof-rt5682/Google-Lindar-rev3.conf b/tgl/sof-rt5682/Google-Lindar-rev3.conf new file mode 100644 index 0000000..cf0d8e9 --- /dev/null +++ b/tgl/sof-rt5682/Google-Lindar-rev3.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "Tigerlake internal card" + +SectionUseCase."HiFi" { + File "HiFi-Lillipup.conf" + Comment "Default" +} diff --git a/tgl/sof-rt5682/Google-Lindar-rev4.conf b/tgl/sof-rt5682/Google-Lindar-rev4.conf new file mode 100644 index 0000000..cf0d8e9 --- /dev/null +++ b/tgl/sof-rt5682/Google-Lindar-rev4.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "Tigerlake internal card" + +SectionUseCase."HiFi" { + File "HiFi-Lillipup.conf" + Comment "Default" +} diff --git a/tgl/sof-rt5682/HiFi-Delbin.conf b/tgl/sof-rt5682/HiFi-Delbin.conf new file mode 100644 index 0000000..8639222 --- /dev/null +++ b/tgl/sof-rt5682/HiFi-Delbin.conf @@ -0,0 +1,122 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cset "name='Left DAI Sel Mux' Right" + cset "name='Right DAI Sel Mux' Left" + cset "name='Left Digital Volume' 127" + cset "name='Right Digital Volume' 127" + cset "name='Left FS Max Volume' 7" + cset "name='Right FS Max Volume' 7" + + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' off" + cset "name='HPOR Playback Switch' off" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1" + cset "name='Stereo1 ADC L Mux' 0" + cset "name='STO1 ADC Capture Switch' on" + cset "name='RECMIX1L CBJ Switch' 1" + cset "name='IF1 01 ADC Swap Mux' 2" + cset "name='CBJ Boost Volume' 3" + cset "name='Stereo1 ADC L1 Mux' 1" + cset "name='Stereo1 ADC R1 Mux' 1" + cset "name='Stereo1 ADC MIXL ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXR ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXL ADC1 Switch' 1" + cset "name='Stereo1 ADC MIXR ADC1 Switch' 1" + ] + DisableSequence [ + ] +} + +Include.dmic_split.File "/conf.d/dmic-common/dmic-split-remap.conf" +Include.dmic_macro.File "/conf.d/dmic-common/dmic-split-macro.conf" + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:sofrt5682" + EchoReferenceDev "Echo Reference" + } + EnableSequence [ + cset "name='Left VI Sense Switch' on" + cset "name='Left Spk Switch' on" + cset "name='Right VI Sense Switch' on" + cset "name='Right Spk Switch' on" + ] + DisableSequence [ + cset "name='Left VI Sense Switch' off" + cset "name='Left Spk Switch' off" + cset "name='Right VI Sense Switch' off" + cset "name='Right Spk Switch' off" + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:sofrt5682,1" + PlaybackMixerElem "DAC1" + JackControl "Headphone Jack" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + cset "name='HPOL Playback Switch' 1" + cset "name='HPOR Playback Switch' 1" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' 0" + cset "name='HPOR Playback Switch' 0" + + ] +} + +SectionDevice."Echo Reference" { + Comment "Echo Reference" + + Value { + CapturePCM "hw:sofrt5682,0" + } +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + + Value { + CapturePriority 100 + CapturePCM "hw:sofrt5682,99" + CaptureChannels 4 + CaptureChannelMap "0 1 -1 -1 -1 -1 -1 -1 -1 -1 -1" + IntrinsicSensitivity "-3200" + } + Macro.pcm_split.DmicSplit { + PCM 99 + } +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + Value { + CapturePriority 200 + CapturePCM "hw:sofrt5682,1" + CaptureMixerElem "Headset Mic" + JackControl "Headset Mic Jack" +} + EnableSequence [ + cset "name='Headset Mic Switch' on" +] + DisableSequence [ + cset "name='Headset Mic Switch' off" + + ] +} + +Include.hdmi.File "/conf.d/hdmi-common/hdmi2345.conf" diff --git a/tgl/sof-rt5682/HiFi-Eldrid.conf b/tgl/sof-rt5682/HiFi-Eldrid.conf new file mode 100644 index 0000000..801b8c6 --- /dev/null +++ b/tgl/sof-rt5682/HiFi-Eldrid.conf @@ -0,0 +1,100 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' off" + cset "name='HPOR Playback Switch' off" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0" + cset "name='Stereo1 ADC L Mux' 0" + cset "name='STO1 ADC Capture Switch' on" + cset "name='RECMIX1L CBJ Switch' 1" + cset "name='IF1 01 ADC Swap Mux' 2" + cset "name='CBJ Boost Volume' 3" + cset "name='Stereo1 ADC L1 Mux' 1" + cset "name='Stereo1 ADC R1 Mux' 1" + cset "name='Stereo1 ADC MIXL ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXR ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXL ADC1 Switch' 1" + cset "name='Stereo1 ADC MIXR ADC1 Switch' 1" + ] +} + +Include.dmic_split.File "/conf.d/dmic-common/dmic-split-remap.conf" +Include.dmic_macro.File "/conf.d/dmic-common/dmic-split-macro.conf" + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:sofrt5682,0" + } + EnableSequence [ + cset "name='Spk Switch' on" + + ] + DisableSequence [ + cset "name='Spk Switch' off" + + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:sofrt5682,1" + PlaybackMixerElem "DAC1" + JackControl "Headphone Jack" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + cset "name='HPOL Playback Switch' 1" + cset "name='HPOR Playback Switch' 1" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' 0" + cset "name='HPOR Playback Switch' 0" + + ] +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + + Value { + CapturePrioirty 100 + CapturePCM "hw:sofrt5682,99" + CaptureChannels 4 + } + Macro.pcm_split.DmicSplit { + PCM 99 + } +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + Value { + CapturePriority 200 + CapturePCM "hw:sofrt5682,1" + CaptureMixerElem "Headset Mic" + JackControl "Headset Mic Jack" +} + EnableSequence [ + cset "name='Headset Mic Switch' on" +] + DisableSequence [ + cset "name='Headset Mic Switch' off" + + ] +} + +Include.hdmi.File "/conf.d/hdmi-common/hdmi2345.conf" diff --git a/tgl/sof-rt5682/HiFi-Elemi.conf b/tgl/sof-rt5682/HiFi-Elemi.conf new file mode 100644 index 0000000..e6513bf --- /dev/null +++ b/tgl/sof-rt5682/HiFi-Elemi.conf @@ -0,0 +1,99 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' off" + cset "name='HPOR Playback Switch' off" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0" + cset "name='Stereo1 ADC L Mux' 0" + cset "name='STO1 ADC Capture Switch' on" + cset "name='RECMIX1L CBJ Switch' 1" + cset "name='IF1 01 ADC Swap Mux' 2" + cset "name='CBJ Boost Volume' 3" + cset "name='Stereo1 ADC L1 Mux' 1" + cset "name='Stereo1 ADC R1 Mux' 1" + cset "name='Stereo1 ADC MIXL ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXR ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXL ADC1 Switch' 1" + cset "name='Stereo1 ADC MIXR ADC1 Switch' 1" + ] + DisableSequence [ + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:sofrt5682" + DspName "speaker_eq" + } + EnableSequence [ + cset "name='Spk Switch' on" + + ] + DisableSequence [ + cset "name='Spk Switch' off" + + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:sofrt5682,1" + PlaybackMixerElem "DAC1" + JackControl "Headphone Jack" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + cset "name='HPOL Playback Switch' 1" + cset "name='HPOR Playback Switch' 1" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' 0" + cset "name='HPOR Playback Switch' 0" + + ] +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + + Value { + CapturePriority 100 + CapturePCM "hw:sofrt5682,99" + CaptureChannels 4 + CaptureChannelMap "0 1 -1 -1 -1 -1 -1 -1 -1 -1 -1" + IntrinsicSensitivity "-2600" + } +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + Value { + CapturePriority 200 + CapturePCM "hw:sofrt5682,1" + CaptureMixerElem "Headset Mic" + JackDev "sof-rt5682 Headset Jack" +} + EnableSequence [ + cset "name='Headset Mic Switch' on" +] + DisableSequence [ + cset "name='Headset Mic Switch' off" + + ] +} + +Include.hdmi.File "/conf.d/hdmi-common/hdmi234.conf" diff --git a/tgl/sof-rt5682/HiFi-Lillipup.conf b/tgl/sof-rt5682/HiFi-Lillipup.conf new file mode 100644 index 0000000..4e6e9aa --- /dev/null +++ b/tgl/sof-rt5682/HiFi-Lillipup.conf @@ -0,0 +1,164 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' off" + cset "name='HPOR Playback Switch' off" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 0" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 0" + cset "name='Stereo1 ADC L Mux' 0" + cset "name='STO1 ADC Capture Switch' on" + cset "name='RECMIX1L CBJ Switch' 1" + cset "name='IF1 01 ADC Swap Mux' 2" + cset "name='CBJ Boost Volume' 3" + cset "name='Stereo1 ADC L1 Mux' 1" + cset "name='Stereo1 ADC R1 Mux' 1" + cset "name='Stereo1 ADC MIXL ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXR ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXL ADC1 Switch' 1" + cset "name='Stereo1 ADC MIXR ADC1 Switch' 1" + + cset "name='Left AdvanceMode Initial Set' 17828384,17312037,17257728,51601492,52958962,53165653,53216544,53346574,53739520,86540288,87429212,356253696,85000368,84805383,84951200,84672717,356253796,356387192,356531727,86088640,86116869,86247339,86638729,52609184,52846583,51806020,17743872,84705485,50347805,85811200,85067714,84721869" + cset "name='Left AdvanceMode SEP BQ Coeff' 365954037,366063386,366091786,366163599,366222336,366280704,366346752,366411776,366477566,366545183,366609397,366718746,366747146,366818959,366877696,366936064,367002112,367067136,367132926,367200543,367264757,367374106,367402506,367474319,367533056,367591424,367657472,367722496,367788538,367910435,367920117,368029466,368057866,368129679,368188416,368246784,368312832,368377856,368443898,368565795,87069440,352330503,17257728,359662591,359781817,359800320,359867736,359923712,359989248,360062464,360120320,360185856,360256172,360317951,360437177,360455680,360523096,360579072,360644608,360717824,360775680,360841216,360911532,361759743,361878969,361897472,361964888,362020864,362086400,362159616,362217472,362283008,362353324,362415103,362534329,362552832,362620248,362676224,362741760,362814976,362872832,362938368,363008684,365153280,87294056,364380211,364476794,365153280,363986947,364107530,364118019,364213436,16973570" + cset "name='Left AdvanceMode EQ BQ Coeff' 120586749,120678088,120781824,120782848,120848896,120913920,120980474,121096768,121175557,121188130,121635325,121726664,121830400,121831424,121897472,121962496,122029050,122145344,122224133,122236706,122683899,122812992,122878998,122928328,122946028,123033654,123077601,123168116,123272731,123308992,118489600,118554624,117891084" + cset "name='Left AdvanceMode BQ UI Coeff' 373293312,374341632,373424178,373558067,373750808,374472754,374606643,374799384,375521830,375660544,375845960,376570756,376703795,376896536,377619432,377752371,377945112,378668508,378800947,378993688,386009040,386140979,386333720,387058616,387189555,387382296,388109192,388238131,388430872,389160768,389286707,389479448,117571596,373817744,369098874,369219630,369295300,369357998,369360896,369429705,374866320,369492090,369612846,369688516,369751214,369754173,369850592,101785600,101863519,101909572,101990400,102106630,102205700,102834176,102912095,102958148,103038976,103155206,103254276,103960907,104005696,104205318,104303887,371261968,372324886,100727808,103915520" + cset "name='Left AdvanceMode SmartBoost Coeff' 320995361,321062978,321126437,321202506,321257511,321382906,321388585,321473106,321519658,321628842,321912876,321981186,322043949,322136922,322175022,322292658,322306096,322382859,322437170,322563259,322568249,322686579,322699331,322793692,322830409,322937448,322961487,323081204,323092572,323172109,323223656,323328550,323354734,323472306,323485810,323566735,7864321" + + cset "name='Right AdvanceMode Initial Set' 17828384,17312037,17257728,51601492,52958962,53165653,53216544,53346574,53739520,86540288,87429212,356253696,85000368,84805383,84951200,84672717,356253796,356387192,356531727,86088640,86116869,86247339,86638729,52609184,52846583,51806020,17743872,84705485,50347805,85811200,85067714,84721869" + cset "name='Right AdvanceMode SEP BQ Coeff' 365954037,366063386,366091786,366163599,366222336,366280704,366346752,366411776,366477566,366545183,366609397,366718746,366747146,366818959,366877696,366936064,367002112,367067136,367132926,367200543,367264757,367374106,367402506,367474319,367533056,367591424,367657472,367722496,367788538,367910435,367920117,368029466,368057866,368129679,368188416,368246784,368312832,368377856,368443898,368565795,87069440,352330503,17257728,359662591,359781817,359800320,359867736,359923712,359989248,360062464,360120320,360185856,360256172,360317951,360437177,360455680,360523096,360579072,360644608,360717824,360775680,360841216,360911532,361759743,361878969,361897472,361964888,362020864,362086400,362159616,362217472,362283008,362353324,362415103,362534329,362552832,362620248,362676224,362741760,362814976,362872832,362938368,363008684,365153280,87294056,364380211,364476794,365153280,363986947,364107530,364118019,364213436,16973570" + cset "name='Right AdvanceMode EQ BQ Coeff' 120586749,120678088,120781824,120782848,120848896,120913920,120980474,121096768,121175557,121188130,121635325,121726664,121830400,121831424,121897472,121962496,122029050,122145344,122224133,122236706,122683899,122812992,122878998,122928328,122946028,123033654,123077601,123168116,123272731,123308992,118489600,118554624,117891084" + cset "name='Right AdvanceMode BQ UI Coeff' 373293312,374341632,373424178,373558067,373750808,374472754,374606643,374799384,375521830,375660544,375845960,376570756,376703795,376896536,377619432,377752371,377945112,378668508,378800947,378993688,386009040,386140979,386333720,387058616,387189555,387382296,388109192,388238131,388430872,389160768,389286707,389479448,117571628,373817744,369098874,369219630,369295300,369357998,369360896,369429705,374866320,369492090,369612846,369688516,369751214,369754173,369850592,101785600,101863519,101909572,101990400,102106630,102205700,102834176,102912095,102958148,103038976,103155206,103254276,103960907,104005696,104205318,104303887,371261968,372324886,100727808,103915520" + cset "name='Right AdvanceMode SmartBoost Coeff' 320995361,321062978,321126437,321202506,321257511,321382906,321388585,321473106,321519658,321628842,321912876,321981186,322043949,322136922,322175022,322292658,322306096,322382859,322437170,322563259,322568249,322686579,322699331,322793692,322830409,322937448,322961487,323081204,323092572,323172109,323223656,323328550,323354734,323472306,323485810,323566735,7864321" + ] + DisableSequence [ + ] +} + +# Split 4ch dmic into 2 virtual 2ch mics +Include.pcm_split.File "/conf.d/dmic-common/split.conf" + +Macro [ + { + SplitPCM { + Name "tgl_stereo_in" + Direction Capture + Format S32_LE + Channels 2 + HWChannels 4 + HWChannelPos0 FL + HWChannelPos1 FR + HWChannelPos2 FL + HWChannelPos3 FR + } + } +] + +Include.ctl_remap.File "/conf.d/dmic-common/remap.conf" + +Macro [ + { + CtlRemapStereoVolSw { + Dst "Mic 1 Capture" + Src "STO1 ADC Capture" + Index0 0 + Index1 1 + } + } + { + CtlRemapStereoVolSw { + Dst "Mic 2 Capture" + Src "STO1 ADC Capture" + Index0 2 + Index1 3 + } + } +] + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:sofrt5682" + } + EnableSequence [ + cset "name='Left Spk Switch' on" + cset "name='Right Spk Switch' on" + + ] + DisableSequence [ + cset "name='Left Spk Switch' off" + cset "name='Right Spk Switch' off" + + ] +} + +SectionDevice."Headphone" { + Comment "Headphones" + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:sofrt5682,1" + PlaybackMixerElem "DAC1" + JackControl "Headphone Jack" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + cset "name='HPOL Playback Switch' 1" + cset "name='HPOR Playback Switch' 1" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' 0" + cset "name='HPOR Playback Switch' 0" + + ] +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + + Value { + CapturePriority 100 + CapturePCM "hw:sofrt5682,99" + CaptureChannels 4 + #IntrinsicSensitivity "-2500" + CaptureMixer "default:${CardId}" + CaptureMixerElem "Mic 1" + } + Macro.pcm_split.SplitPCMDevice { + Name "tgl_stereo_in" + Direction Capture + Device 99 + HWChannels 4 + Channels 2 + Channel0 0 + Channel1 1 + ChannelPos0 FL + ChannelPos1 FR + } +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + Value { + CapturePriority 200 + CapturePCM "hw:sofrt5682,1" + CaptureMixerElem "Headset Mic" + JackControl "Headset Mic Jack" +} + EnableSequence [ + cset "name='Headset Mic Switch' on" +] + DisableSequence [ + cset "name='Headset Mic Switch' off" + + ] +} + +Include.hdmi.File "/conf.d/hdmi-common/hdmi2345.conf" diff --git a/tgl/sof-rt5682/HiFi.conf b/tgl/sof-rt5682/HiFi.conf new file mode 100644 index 0000000..94a953e --- /dev/null +++ b/tgl/sof-rt5682/HiFi.conf @@ -0,0 +1,116 @@ +SectionVerb { + Value { + FullySpecifiedUCM "1" + } + EnableSequence [ + cset "name='Left DAI Sel Mux' Right" + cset "name='Right DAI Sel Mux' Left" + cset "name='Left Digital Volume' 127" + cset "name='Right Digital Volume' 127" + cset "name='Left FS Max Volume' 7" + cset "name='Right FS Max Volume' 7" + + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' off" + cset "name='HPOR Playback Switch' off" + cset "name='Stereo1 DAC MIXL DAC L1 Switch' 1" + cset "name='Stereo1 DAC MIXR DAC R1 Switch' 1" + cset "name='Stereo1 ADC L Mux' 0" + cset "name='STO1 ADC Capture Switch' on" + cset "name='RECMIX1L CBJ Switch' 1" + cset "name='IF1 01 ADC Swap Mux' 2" + cset "name='CBJ Boost Volume' 3" + cset "name='Stereo1 ADC L1 Mux' 1" + cset "name='Stereo1 ADC R1 Mux' 1" + cset "name='Stereo1 ADC MIXL ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXR ADC2 Switch' 0" + cset "name='Stereo1 ADC MIXL ADC1 Switch' 1" + cset "name='Stereo1 ADC MIXR ADC1 Switch' 1" + ] + DisableSequence [ + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPriority 100 + PlaybackPCM "hw:sofrt5682" + EchoReferenceDev "Echo Reference" + } + EnableSequence [ + cset "name='Left VI Sense Switch' on" + cset "name='Left Spk Switch' on" + cset "name='Right VI Sense Switch' on" + cset "name='Right Spk Switch' on" + ] + DisableSequence [ + cset "name='Left VI Sense Switch' off" + cset "name='Left Spk Switch' off" + cset "name='Right VI Sense Switch' off" + cset "name='Right Spk Switch' off" + ] +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + PlaybackPriority 200 + PlaybackPCM "hw:sofrt5682,1" + PlaybackMixerElem "DAC1" + JackControl "Headphone Jack" + } + EnableSequence [ + cset "name='Headphone Jack Switch' on" + cset "name='HPOL Playback Switch' 1" + cset "name='HPOR Playback Switch' 1" + ] + DisableSequence [ + cset "name='Headphone Jack Switch' off" + cset "name='HPOL Playback Switch' 0" + cset "name='HPOR Playback Switch' 0" + + ] +} + +SectionDevice."Echo Reference" { + Comment "Echo Reference" + + Value { + CapturePCM "hw:sofrt5682,0" + } +} + +SectionDevice."Mic" { + Comment "Internal Microphone" + + Value { + CapturePriority 100 + CapturePCM "hw:sofrt5682,99" + CaptureChannels 4 + CaptureChannelMap "0 1 -1 -1 -1 -1 -1 -1 -1 -1 -1" + IntrinsicSensitivity "-3200" + } +} + +SectionDevice."Headset" { + Comment "Headset Microphone" + + Value { + CapturePriority 200 + CapturePCM "hw:sofrt5682,1" + CaptureMixerElem "Headset Mic" + JackControl "Headset Mic Jack" +} + EnableSequence [ + cset "name='Headset Mic Switch' on" +] + DisableSequence [ + cset "name='Headset Mic Switch' off" + + ] +} + +Include.hdmi.File "/conf.d/hdmi-common/hdmi345.conf" diff --git a/tgl/sof-rt5682/sof-rt5682.conf b/tgl/sof-rt5682/sof-rt5682.conf new file mode 100644 index 0000000..fb440b4 --- /dev/null +++ b/tgl/sof-rt5682/sof-rt5682.conf @@ -0,0 +1,8 @@ +Syntax 6 + +Comment "Tigerlake internal card" + +SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Default" +}