• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 = "rk3568";
13                    chipIdRegister = 0xfe410000;
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, rshift, min, max, mask, invert value
30                 */
31                 daiStartupSeqConfig = [
32                     0x00,    0x00,     0,    0,    0,    0xFFFFFFFF,   0xFFFFFFFF,    0,   0x7200000f,   //Transmit Operation Init
33                     0x04,    0x04,     0,    0,    0,    0xFFFFFFFF,   0xFFFFFFFF,    0,   0x01c8000f,   //Receive Operation Init
34                     0x08,    0x08,     0,    0,    0,    0xFFFFFFFF,   0xFFFFFFFF,    0,   0x00001f1f,   //Clock Generation Init
35                     0x10,    0x10,     0,    0,    0,    0xFFFFFFFF,   0xFFFFFFFF,    0,   0x001f0000,   //DMA Control Init
36                     0x14,    0x14,     0,    0,    0,    0xFFFFFFFF,   0xFFFFFFFF,    0,   0x01f00000,   //Interrupt Control Init
37                     0x1C,    0x1C,     0,    0,    0,    0x3,          0x3,           0,            0,   //XFER Init
38                     0x30,    0x30,     0,    0,    0,    0xFFFFFFFF,   0xFFFFFFFF,    0,   0x00003eff,   //TDM Transmit Init
39                     0x34,    0x34,     0,    0,    0,    0xFFFFFFFF,   0xFFFFFFFF,    0,   0x00003eff,   //TDM Receive Init
40                     0x38,    0x38,     0,    0,    0,    0xFFFFFFFF,   0xFFFFFFFF,    0,   0x00000707    //Clock Divider Init
41                 ];
42
43                 daiParamsSeqConfig = [
44                     0x08,    0x08,    8,    8,    0x1F,    0xFF,   0xFF,    0,    0x0,   // I2S_CKR_RSD
45                     0x08,    0x08,    0,    0,    0x1F,    0xFF,   0xFF,    0,    0x0,   // I2S_CKR_TSD
46                     0x38,    0x38,    8,    8,    0x00,    0xFF,   0xFF,    0,    0x0,   // I2S_CLKDIV_RX_MDIV
47                     0x38,    0x38,    0,    0,    0x00,    0xFF,   0xFF,    0,    0x0,   // I2S_CLKDIV_TX_MDIV
48                     0x08,    0x08,    27,   27,   0x0,     0x1,    0x1,     0,    0x0,   // I2S_CKR_MSS
49                     0x08,    0x08,    26,   26,   0x0,     0x1,    0x1,     0,    0x0,   // I2S_CKR_CKP
50                     0x08,    0x08,    25,   25,   0x0,     0x1,    0x1,     0,    0x0,   // I2S_CKR_RLP
51                     0x08,    0x08,    24,   24,   0x0,     0x1,    0x1,     0,    0x0,   // I2S_CKR_TLP
52                 ];
53
54                 daiTriggerSeqConfig = [
55                     0x10,    0x10,    24,   24,   0x0,     0x1,    0x1,     0,    0x1,   // I2S_DMACR_RDE
56                     0x10,    0x10,    8,    8,    0x0,     0x1,    0x1,     0,    0x1,   // I2S_DMACR_TDE
57                     0x14,    0x14,    17,   17,   0x0,     0x1,    0x1,     0,    0x0,   // I2S_INTCR_RXOIE
58                     0x14,    0x14,    16,   16,   0x0,     0x1,    0x1,     0,    0x0,   // I2S_INTCR_RXFIE
59                     0x14,    0x14,    1,    1,    0x0,     0x1,    0x1,     0,    0x0,   // I2S_INTCR_TXUIE
60                     0x14,    0x14,    0,    0,    0x0,     0x1,    0x1,     0,    0x0    // I2S_INTCR_TXEIE
61                 ];
62              }
63        }
64    }
65}
66