xref: /OK3568_Linux_fs/debian/overlay/usr/share/alsa/ucm2/ucm.conf (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1#
2# This is the toplevel file included from the alsa-lib.
3#
4# It allows to add extra lookups for the old kernels or so.
5#
6# You may specify the directory (relative to the toplevel) and
7# the master configuration file which defines the verbs.
8#
9
10#
11# Syntax version is reset for the master configuration file.
12#
13
14Syntax 3
15
16Define.V1 ""		# non-empty string to enable ucm v1 paths
17Define.V2Module yes	# empty string to disable
18Define.V2Name yes	# empty string to disable
19
20If.driver {
21	Condition {
22		Type String
23		Empty "${CardNumber}"
24	}
25	True {
26		#
27		# The probed path for no-hw-card:
28		#
29		#   ucm2/${OpenName}/${OpenName}.conf
30		#
31		UseCasePath {
32			legacy {
33				Directory "${OpenName}"
34				File "${OpenName}.conf"
35			}
36		}
37	}
38	False {
39
40		#
41		# The probed path when hw-card is found:
42		#
43		#   ucm2/${KernelModule}/${KernelModule}.conf
44		#   ucm2/${CardDriver}/${CardLongName}.conf
45		#   ucm2/${CardDriver}/${CardDriver}.conf
46		#
47
48		If.V2Module {
49			Condition {
50				Type String
51				Empty "${var:V2Module}"
52			}
53			False {
54				Define.KernelModulePath "class/sound/card${CardNumber}/device/driver"
55				Define.KernelModule "${sys:$KernelModulePath}"
56				UseCasePath.module {
57					Directory "module"
58					File "${var:KernelModule}.conf"
59				}
60			}
61		}
62		If.V2Name {
63			Condition {
64				Type String
65				Empty "${var:V2Name}"
66			}
67			False.UseCasePath {
68				longname {
69					Directory "${CardDriver}"
70					File "${CardLongName}.conf"
71				}
72				driver {
73					Directory "${CardDriver}"
74					File "${CardDriver}.conf"
75				}
76			}
77		}
78	}
79}
80
81If.V1 {
82	Condition {
83		Type String
84		Empty "${var:V1}"
85	}
86	False.If.v1_driver {
87		Condition {
88			Type String
89			Empty "${CardNumber}"
90		}
91		True {
92			#
93			# The probed path for no-hw-card:
94			#
95			#   ucm/${OpenName}/${OpenName}.conf
96			#
97			UseCasePath.v1_legacy {
98				Version 1
99				Directory "${OpenName}"
100				File "${OpenName}.conf"
101			}
102		}
103		False {
104			#
105			# The ucm v1 probed path when hw-card is found:
106			#
107			#   ucm/${CardLongName}/${CardLongName}.conf
108			#   ucm/${CardName}/${CardName}.conf or \
109			#			ucm/${OpenName}/${OpenName}.conf
110			#
111			UseCasePath.v1_longname {
112				Version 1
113				Directory "${CardLongName}"
114				File "${CardLongName}.conf"
115			}
116			If.v1_hw {
117				Condition {
118					Type String
119					Haystack "${OpenName}"
120					Needle "hw:"
121				}
122				True.UseCasePath.v1_cardnamme {
123					Version 1
124					Directory "${CardName}"
125					File "${CardName}.conf"
126				}
127				False.UseCasePath.v1_openname {
128					Version 1
129					Directory "${OpenName}"
130					File "${OpenName}.conf"
131				}
132			}
133		}
134	}
135}
136