arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / sound / soc / intel / common / soc-acpi-intel-sdw-mockup-match.c
1 // SPDX-License-Identifier: GPL-2.0-only
2 //
3 // soc-acpi-intel-sdw-mockup-match.c - tables and support for SoundWire
4 // mockup device ACPI enumeration.
5 //
6 // Copyright (c) 2021, Intel Corporation.
7 //
8
9 #include <sound/soc-acpi.h>
10 #include <sound/soc-acpi-intel-match.h>
11 #include "soc-acpi-intel-sdw-mockup-match.h"
12
13 static const struct snd_soc_acpi_endpoint sdw_mockup_single_endpoint = {
14         .num = 0,
15         .aggregated = 0,
16         .group_position = 0,
17         .group_id = 0,
18 };
19
20 static const struct snd_soc_acpi_endpoint sdw_mockup_l_endpoint = {
21         .num = 0,
22         .aggregated = 1,
23         .group_position = 0,
24         .group_id = 1,
25 };
26
27 static const struct snd_soc_acpi_endpoint sdw_mockup_r_endpoint = {
28         .num = 0,
29         .aggregated = 1,
30         .group_position = 1,
31         .group_id = 1,
32 };
33
34 static const struct snd_soc_acpi_adr_device sdw_mockup_headset_0_adr[] = {
35         {
36                 .adr = 0x0000000105AA5500ull,
37                 .num_endpoints = 1,
38                 .endpoints = &sdw_mockup_single_endpoint,
39                 .name_prefix = "sdw_mockup_headset0"
40         }
41 };
42
43 static const struct snd_soc_acpi_adr_device sdw_mockup_headset_1_adr[] = {
44         {
45                 .adr = 0x0001000105AA5500ull,
46                 .num_endpoints = 1,
47                 .endpoints = &sdw_mockup_single_endpoint,
48                 .name_prefix = "sdw_mockup_headset1"
49         }
50 };
51
52 static const struct snd_soc_acpi_adr_device sdw_mockup_amp_1_adr[] = {
53         {
54                 .adr = 0x000100010555AA00ull,
55                 .num_endpoints = 1,
56                 .endpoints = &sdw_mockup_single_endpoint,
57                 .name_prefix = "sdw_mockup_amp1"
58         }
59 };
60
61 static const struct snd_soc_acpi_adr_device sdw_mockup_amp_2_adr[] = {
62         {
63                 .adr = 0x000200010555AA00ull,
64                 .num_endpoints = 1,
65                 .endpoints = &sdw_mockup_single_endpoint,
66                 .name_prefix = "sdw_mockup_amp2"
67         }
68 };
69
70 static const struct snd_soc_acpi_adr_device sdw_mockup_mic_0_adr[] = {
71         {
72                 .adr = 0x0000000105555500ull,
73                 .num_endpoints = 1,
74                 .endpoints = &sdw_mockup_single_endpoint,
75                 .name_prefix = "sdw_mockup_mic0"
76         }
77 };
78
79 static const struct snd_soc_acpi_adr_device sdw_mockup_mic_3_adr[] = {
80         {
81                 .adr = 0x0003000105555500ull,
82                 .num_endpoints = 1,
83                 .endpoints = &sdw_mockup_single_endpoint,
84                 .name_prefix = "sdw_mockup_mic3"
85         }
86 };
87
88 static const struct snd_soc_acpi_adr_device sdw_mockup_amp_1_group1_adr[] = {
89         {
90                 .adr = 0x000100010555AA00ull,
91                 .num_endpoints = 1,
92                 .endpoints = &sdw_mockup_l_endpoint,
93                 .name_prefix = "sdw_mockup_amp1_l"
94         }
95 };
96
97 static const struct snd_soc_acpi_adr_device sdw_mockup_amp_2_group1_adr[] = {
98         {
99                 .adr = 0x000200010555AA00ull,
100                 .num_endpoints = 1,
101                 .endpoints = &sdw_mockup_r_endpoint,
102                 .name_prefix = "sdw_mockup_amp2_r"
103         }
104 };
105
106 const struct snd_soc_acpi_link_adr sdw_mockup_headset_1amp_mic[] = {
107         {
108                 .mask = BIT(0),
109                 .num_adr = ARRAY_SIZE(sdw_mockup_headset_0_adr),
110                 .adr_d = sdw_mockup_headset_0_adr,
111         },
112         {
113                 .mask = BIT(1),
114                 .num_adr = ARRAY_SIZE(sdw_mockup_amp_1_adr),
115                 .adr_d = sdw_mockup_amp_1_adr,
116         },
117         {
118                 .mask = BIT(3),
119                 .num_adr = ARRAY_SIZE(sdw_mockup_mic_3_adr),
120                 .adr_d = sdw_mockup_mic_3_adr,
121         },
122         {}
123 };
124
125 const struct snd_soc_acpi_link_adr sdw_mockup_headset_2amps_mic[] = {
126         {
127                 .mask = BIT(0),
128                 .num_adr = ARRAY_SIZE(sdw_mockup_headset_0_adr),
129                 .adr_d = sdw_mockup_headset_0_adr,
130         },
131         {
132                 .mask = BIT(1),
133                 .num_adr = ARRAY_SIZE(sdw_mockup_amp_1_group1_adr),
134                 .adr_d = sdw_mockup_amp_1_group1_adr,
135         },
136         {
137                 .mask = BIT(2),
138                 .num_adr = ARRAY_SIZE(sdw_mockup_amp_2_group1_adr),
139                 .adr_d = sdw_mockup_amp_2_group1_adr,
140         },
141         {
142                 .mask = BIT(3),
143                 .num_adr = ARRAY_SIZE(sdw_mockup_mic_3_adr),
144                 .adr_d = sdw_mockup_mic_3_adr,
145         },
146         {}
147 };
148
149 const struct snd_soc_acpi_link_adr sdw_mockup_mic_headset_1amp[] = {
150         {
151                 .mask = BIT(1),
152                 .num_adr = ARRAY_SIZE(sdw_mockup_headset_1_adr),
153                 .adr_d = sdw_mockup_headset_1_adr,
154         },
155         {
156                 .mask = BIT(2),
157                 .num_adr = ARRAY_SIZE(sdw_mockup_amp_2_adr),
158                 .adr_d = sdw_mockup_amp_2_adr,
159         },
160         {
161                 .mask = BIT(0),
162                 .num_adr = ARRAY_SIZE(sdw_mockup_mic_0_adr),
163                 .adr_d = sdw_mockup_mic_0_adr,
164         },
165         {}
166 };