• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1root {
2    input_config {
3        touchConfig {
4            touch0 {
5                boardConfig {
6                    match_attr = "touch_device1";
7                    inputAttr {
8                        /* 0:touch 1:key 2:keyboard 3:mouse 4:button 5:crown 6:encoder */
9                        inputType = 0;
10                        solutionX = 480;
11                        solutionY = 960;
12                        devName = "main_touch";
13                    }
14
15// Hi3516DV300-Runhe  gt911--5p5 & 4p0
16                    busConfig {
17                        // 0:i2c 1:spi
18                        busType = 0;
19                        busNum = 6;
20                        clkGpio = 86;
21                        dataGpio = 87;
22                        i2cClkIomux = [0x114f0048, 0x403];
23                        i2cDataIomux = [0x114f004c, 0x403];
24                    }
25
26                    pinConfig {
27                        rstGpio = 3;
28                        intGpio = 4;
29                        rstRegCfg = [0x112f0094, 0x400];
30                        intRegCfg = [0x112f0098, 0x400];
31                    }
32
33// Hi3516DV300-Ruishi gt911--7p0
34/*
35                    busConfig {
36                        // 0:i2c 1:spi
37                        busType = 0;
38                        busNum = 6;
39                        clkGpio = 26;
40                        dataGpio = 27;
41                        i2cClkIomux = [0x114f0048, 0x403];
42                        i2cDataIomux = [0x114f004c, 0x403];
43                    }
44
45                    pinConfig {
46                        rstGpio = 13;
47                        intGpio = 12;
48                        rstRegCfg = [0x10ff0030, 0x400];
49                        intRegCfg = [0x10ff002C, 0x400];
50                    }
51*/
52// Hi3516DV300-Demo board:  ft6336--2p35
53/*
54                    busConfig {
55                        // 0:i2c 1:spi
56                        busType = 0;
57                        busNum = 3;
58                        clkGpio = 2;
59                        dataGpio = 1;
60                        i2cClkIomux = [0x112f0090, 0x5f1];
61                        i2cDataIomux = [0x112f008c, 0x5f1];
62                    }
63
64                    pinConfig {
65                        rstGpio = 3;
66                        intGpio = 4;
67                        rstRegCfg = [0x112f0094, 0x5f0];
68                        intRegCfg = [0x112f0098, 0x5f0];
69                    }
70*/
71                    powerConfig {
72                        /* 0:unused 1:ldo 2:gpio 3:pmic */
73                        vccType = 2;
74                        vccNum = 20;    // gpio20
75                        vccValue = 1800;
76                        vciType = 1;
77                        vciNum = 12;    // ldo12
78                        vciValue = 3300;
79                    }
80
81                    featureConfig {
82                        capacitanceTest = 0;
83                        gestureMode = 0;
84                        gloverMOde = 0;
85                        coverMode = 0;
86                        chargerMode = 0;
87                        knuckleMode = 0;
88                    }
89                }
90
91                chipConfig {
92                    template touchChip {
93                        match_attr = "";
94                        chipName = "gt911";
95                        vendorName = "zsj";
96                        chipInfo = "AAAA11222";  // 4-ProjectName, 2-TP IC, 3-TP Module
97                        /* 0:i2c 1:spi*/
98                        busType = 0;
99                        deviceAddr = 0x5D;
100                        /* 0:None 1:Rising 2:Failing 4:High-level 8:Low-level */
101                        irqFlag = 2;
102                        maxSpeed = 400;
103                        chipVersion = 0; //parse Coord TypeA
104                        powerSequence {
105                            /* [type, status, dir , delay]
106                                <type> 0:none 1:vcc-1.8v 2:vci-3.3v 3:reset 4:int
107                                <status> 0:off or low  1:on or high  2:no ops
108                                <dir> 0:input  1:output  2:no ops
109                                <delay> meanings delay xms, 20: delay 20ms
110                             */
111                            powerOnSeq = [4, 0, 1, 0,
112                                         3, 0, 1, 10,
113                                         3, 1, 2, 60,
114                                         4, 2, 0, 0];
115                            suspendSeq = [3, 0, 2, 10];
116                            resumeSeq = [3, 1, 2, 10];
117                            powerOffSeq = [3, 0, 2, 10,
118                                           1, 0, 2, 20];
119                        }
120                    }
121
122                    chip0 :: touchChip {
123                        match_attr = "zsj_gt911_5p5";
124                        chipInfo = "ZIDN45100";  // 4-ProjectName, 2-TP IC, 3-TP Module
125                        chipVersion = 0; //parse point by TypeA
126                    }
127
128                    chip1 :: touchChip {
129                        match_attr = "zsj_gt911_4p0";
130                        chipInfo = "ZIDN45101";
131                        chipVersion = 1; //parse point by TypeB
132                    }
133
134                    chip2 :: touchChip {
135                        match_attr = "tg_gt911_7p0";
136                        vendorName = "tg";
137                        chipInfo = "ZIDN45102";
138                        chipVersion = 2; //parse point by TypeC
139                    }
140
141                    chip3 :: touchChip {
142                        match_attr = "st_ft6336_2p35";
143                        chipName = "ft6336";
144                        vendorName = "st";
145                        chipInfo = "ZIDN53200";
146                        deviceAddr = 0x38;
147                        irqFlag = 1; // Rising
148                        powerSequence {
149                            /* [type, status, dir , delay]
150                                <type> 0:none 1:vcc-1.8v 2:vci-3.3v 3:reset 4:int
151                                <status> 0:off or low  1:on or high  2:no ops
152                                <dir> 0:input  1:output  2:no ops
153                                <delay> meanings delay xms, 20: delay 20ms
154                             */
155                            powerOnSeq = [4, 2, 0, 0,
156                                         3, 1, 1, 2,
157                                         3, 0, 2, 5,
158                                         3, 1, 2, 200];
159                            suspendSeq = [3, 0, 2, 10];
160                            resumeSeq = [3, 1, 2, 10];
161                            powerOffSeq = [3, 0, 2, 10,
162                                           1, 0, 2, 20];
163                        }
164                    }
165                }
166            }
167        }
168
169        keyConfig {
170            keyList = ["power", "VolUp", "VolDown", "Up", "Down", "Left", "Right"];
171            keyInfoList {
172                key1 {
173                    match_attr = "key_device0";
174                    /* 0:touch 1:key 2:keyboard 3:mouse 4:button 5:crown 6:encoder */
175                    inputType = 1;
176                    keyName = "power";
177                    gpioNum = 1;
178                    irqFlag = 3;
179                    debounceTime = 80;
180                }
181
182                key2 {
183                    keyName = "volUp";
184                    gpioNum = 31;
185                    irqFlag = 1;
186                    debounceTime = 80;
187                }
188
189                key3 {
190                    keyName = "volDown";
191                    gpioNum = 32;
192                    irqFlag = 1;
193                    debounceTime = 80;
194                }
195            }
196        }
197    }
198}
199