1root { 2 platform { 3 template dai_controller { 4 match_attr = ""; 5 serviceName = ""; 6 } 7 controller_0x120c1020 :: dai_controller { 8 match_attr = "hdf_dai_driver"; 9 serviceName = "dai_service"; 10 11 idInfo { 12 chipName = "rk3588"; 13 chipIdRegister = 0xfe470000; 14 chipIdSize = 0x1000; 15 } 16 17 regConfig { 18 19 /* reg: register address 20 rreg: register address 21 shift: shift bits 22 rshift: rshift bits 23 min: min value 24 max: max value 25 mask: mask of value 26 invert: enum InvertVal 0-uninvert 1-invert 27 value: value 28 29 reg, rreg, shift, value, min, max, mask, invert value 30 */ 31 ctrlParamsSeqConfig = [ 32 0xff, 0xff, 8, 8, 0x0, 0x1, 0x1, 0, 0, // accessory enable 33 0xff, 0xff, 0, 0, 0x0, 0x1, 0x1, 0, 0 // codec enable 34 ]; 35 36 37 controlsConfig = [ 38 /* 39 "External Codec Enable", 40 "Internally Codec Enable", 41 */ 42 /*array index, iface, enable*/ 43 6, 4, 0, 44 7, 4, 0 45 ]; 46 47 daiStartupSeqConfig = [ 48 0x0000, 0x0000, 0, 0, 0, 0xF, 0xF, 0, 0xf, // AIP_I2S_REG_CFG0 49 0x0004, 0x0004, 0, 0, 0, 0xF, 0xF, 0, 0xf, // AIP_I2S_REG_CFG1 50 0x0008, 0x0008, 0, 0, 0, 0xFFFFF, 0xFFFFF, 0, 0x00071f1f, // AOP_I2S_REG_CFG0 51 0x0010, 0x0010, 16, 16, 0, 0xFFFFFFFF, 0xFFFFFFFF, 0, 0x1f0100 // AOP_I2S_REG_CFG1 52 ]; 53 54 daiParamsSeqConfig = [ 55 0x0008, 0x0008, 16, 16, 0x0, 0xFF, 0xFF, 0, 0x0, // ao i2s_frequency 56 0x0008, 0x0008, 0, 0, 0x1E, 0xFF, 0xFF, 0, 0x0, // ao i2s_frequency 57 0x0000, 0x0000, 0, 0, 0x0, 0xF, 0xF, 0, 0x0, // ao i2s_format 58 0x0000, 0x0000, 15, 15, 0x0, 0x3, 0x3, 0, 0x0, // ao i2s_channel 59 0x0008, 0x0008, 16, 16, 0x0, 0xFF, 0xFF, 0, 0x0, // ai i2s_frequency 60 0x0008, 0x0008, 8, 8, 0x1E, 0xFF, 0xFF, 0, 0x0, // ai i2s_frequency 61 0x0004, 0x0004, 0, 0, 0x0, 0xF, 0xF, 0, 0x0, // ai i2s_format 62 0x0004, 0x0004, 15, 15, 0x0, 0x3, 0x3, 0, 0x0 // ai i2s_channel 63 ]; 64 65 } 66 } 67 } 68} 69