10b966c5eSopenharmony_ciroot {
20b966c5eSopenharmony_ci    platform {
30b966c5eSopenharmony_ci        template dai_controller {
40b966c5eSopenharmony_ci            match_attr = "";
50b966c5eSopenharmony_ci            serviceName = "";
60b966c5eSopenharmony_ci        }
70b966c5eSopenharmony_ci        controller_0x120c1020 :: dai_controller {
80b966c5eSopenharmony_ci            match_attr = "hdf_dai_driver";
90b966c5eSopenharmony_ci            serviceName = "dai_service";
100b966c5eSopenharmony_ci
110b966c5eSopenharmony_ci            idInfo {
120b966c5eSopenharmony_ci                    chipName = "rk3588";
130b966c5eSopenharmony_ci                    chipIdRegister = 0xfe470000;
140b966c5eSopenharmony_ci                    chipIdSize = 0x1000;
150b966c5eSopenharmony_ci                }
160b966c5eSopenharmony_ci
170b966c5eSopenharmony_ci            regConfig {
180b966c5eSopenharmony_ci
190b966c5eSopenharmony_ci                 /*  reg: register address
200b966c5eSopenharmony_ci                     rreg: register address
210b966c5eSopenharmony_ci                     shift: shift bits
220b966c5eSopenharmony_ci                     rshift: rshift bits
230b966c5eSopenharmony_ci                     min: min value
240b966c5eSopenharmony_ci                     max: max value
250b966c5eSopenharmony_ci                     mask: mask of value
260b966c5eSopenharmony_ci                     invert: enum InvertVal 0-uninvert 1-invert
270b966c5eSopenharmony_ci                     value: value
280b966c5eSopenharmony_ci
290b966c5eSopenharmony_ci                     reg, rreg, shift, value, min, max, mask, invert value
300b966c5eSopenharmony_ci                 */
310b966c5eSopenharmony_ci                 ctrlParamsSeqConfig = [
320b966c5eSopenharmony_ci                    0xff,    0xff,    8,     8,     0x0,    0x1,    0x1,    0,    0,    // accessory enable
330b966c5eSopenharmony_ci                    0xff,    0xff,    0,     0,     0x0,    0x1,    0x1,    0,    0    // codec enable
340b966c5eSopenharmony_ci                 ];
350b966c5eSopenharmony_ci
360b966c5eSopenharmony_ci
370b966c5eSopenharmony_ci                 controlsConfig = [
380b966c5eSopenharmony_ci                     /*
390b966c5eSopenharmony_ci                         "External Codec Enable",
400b966c5eSopenharmony_ci                         "Internally Codec Enable",
410b966c5eSopenharmony_ci                     */
420b966c5eSopenharmony_ci                     /*array index, iface, enable*/
430b966c5eSopenharmony_ci                     6,  4,  0,
440b966c5eSopenharmony_ci                     7,  4,  0
450b966c5eSopenharmony_ci                 ];
460b966c5eSopenharmony_ci
470b966c5eSopenharmony_ci                 daiStartupSeqConfig = [
480b966c5eSopenharmony_ci                     0x0000,  0x0000,  0,  0,  0,          0xF,           0xF,    0,   0xf,              // AIP_I2S_REG_CFG0
490b966c5eSopenharmony_ci                     0x0004,  0x0004,  0,  0,  0,          0xF,           0xF,    0,   0xf,              // AIP_I2S_REG_CFG1
500b966c5eSopenharmony_ci                     0x0008,  0x0008,  0,  0,  0,      0xFFFFF,       0xFFFFF,    0,   0x00071f1f,       // AOP_I2S_REG_CFG0
510b966c5eSopenharmony_ci                     0x0010,  0x0010,  16, 16, 0,   0xFFFFFFFF,    0xFFFFFFFF,    0,   0x1f0100          // AOP_I2S_REG_CFG1
520b966c5eSopenharmony_ci                 ];
530b966c5eSopenharmony_ci
540b966c5eSopenharmony_ci                 daiParamsSeqConfig = [
550b966c5eSopenharmony_ci                     0x0008,    0x0008,   16,     16,     0x0,     0xFF,     0xFF,    0,    0x0,    // ao i2s_frequency
560b966c5eSopenharmony_ci                     0x0008,    0x0008,    0,      0,    0x1E,     0xFF,     0xFF,    0,    0x0,    // ao i2s_frequency
570b966c5eSopenharmony_ci                     0x0000,    0x0000,    0,      0,     0x0,      0xF,      0xF,    0,    0x0,    // ao i2s_format
580b966c5eSopenharmony_ci                     0x0000,    0x0000,    15,    15,     0x0,      0x3,      0x3,    0,    0x0,    // ao i2s_channel
590b966c5eSopenharmony_ci                     0x0008,    0x0008,   16,     16,     0x0,     0xFF,     0xFF,    0,    0x0,    // ai i2s_frequency
600b966c5eSopenharmony_ci                     0x0008,    0x0008,    8,      8,    0x1E,     0xFF,     0xFF,    0,    0x0,    // ai i2s_frequency
610b966c5eSopenharmony_ci                     0x0004,    0x0004,    0,      0,     0x0,      0xF,      0xF,    0,    0x0,    // ai i2s_format
620b966c5eSopenharmony_ci                     0x0004,    0x0004,    15,    15,     0x0,      0x3,      0x3,    0,    0x0     // ai i2s_channel
630b966c5eSopenharmony_ci                ];
640b966c5eSopenharmony_ci
650b966c5eSopenharmony_ci              }
660b966c5eSopenharmony_ci        }
670b966c5eSopenharmony_ci    }
680b966c5eSopenharmony_ci}
69