• 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 = "/i2s@fe410000";
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        controller_0x120c1021 :: dai_controller {
65            match_attr = "hdf_hdmi_dai_driver";
66            serviceName = "hdmi_dai_service";
67
68            idInfo {
69                    chipName = "/i2s@fe400000";
70                    chipIdRegister = 0xfe400000;
71                    chipIdSize = 0x1000;
72            }
73            regConfig {
74
75                /*  reg: register address
76                    rreg: register address
77                    shift: shift bits
78                    rshift: rshift bits
79                    min: min value
80                    max: max value
81                    mask: mask of value
82                    invert: enum InvertVal 0-uninvert 1-invert
83                    value: value
84
85                    reg, rreg, shift, rshift, min, max, mask, invert value
86                */
87                daiStartupSeqConfig = [
88                    0x00,    0x00,     0,    0,    0,    0xFFFFFFFF,   0xFFFFFFFF,    0,   0x0,   //Transmit Operation Init
89                ];
90            }
91        }
92    }
93}
94