10a7ce71fSopenharmony_ciroot {
20a7ce71fSopenharmony_ci    input_config {
30a7ce71fSopenharmony_ci        touchConfig {
40a7ce71fSopenharmony_ci            touch0 {
50a7ce71fSopenharmony_ci                boardConfig {
60a7ce71fSopenharmony_ci                    match_attr = "touch_device1";
70a7ce71fSopenharmony_ci                    inputAttr {
80a7ce71fSopenharmony_ci                        /* 0:touch 1:key 2:keyboard 3:mouse 4:button 5:crown 6:encoder */
90a7ce71fSopenharmony_ci                        inputType = 0;
100a7ce71fSopenharmony_ci                        solutionX = 480;
110a7ce71fSopenharmony_ci                        solutionY = 960;
120a7ce71fSopenharmony_ci                        devName = "main_touch";
130a7ce71fSopenharmony_ci                    }
140a7ce71fSopenharmony_ci
150a7ce71fSopenharmony_ci// Hi3516DV300-Runhe  gt911--5p5 & 4p0
160a7ce71fSopenharmony_ci                    busConfig {
170a7ce71fSopenharmony_ci                        // 0:i2c 1:spi
180a7ce71fSopenharmony_ci                        busType = 0;
190a7ce71fSopenharmony_ci                        busNum = 6;
200a7ce71fSopenharmony_ci                        clkGpio = 86;
210a7ce71fSopenharmony_ci                        dataGpio = 87;
220a7ce71fSopenharmony_ci                        i2cClkIomux = [0x114f0048, 0x403];
230a7ce71fSopenharmony_ci                        i2cDataIomux = [0x114f004c, 0x403];
240a7ce71fSopenharmony_ci                    }
250a7ce71fSopenharmony_ci
260a7ce71fSopenharmony_ci                    pinConfig {
270a7ce71fSopenharmony_ci                        rstGpio = 3;
280a7ce71fSopenharmony_ci                        intGpio = 4;
290a7ce71fSopenharmony_ci                        rstRegCfg = [0x112f0094, 0x400];
300a7ce71fSopenharmony_ci                        intRegCfg = [0x112f0098, 0x400];
310a7ce71fSopenharmony_ci                    }
320a7ce71fSopenharmony_ci
330a7ce71fSopenharmony_ci// Hi3516DV300-Ruishi gt911--7p0
340a7ce71fSopenharmony_ci/*
350a7ce71fSopenharmony_ci                    busConfig {
360a7ce71fSopenharmony_ci                        // 0:i2c 1:spi
370a7ce71fSopenharmony_ci                        busType = 0;
380a7ce71fSopenharmony_ci                        busNum = 6;
390a7ce71fSopenharmony_ci                        clkGpio = 26;
400a7ce71fSopenharmony_ci                        dataGpio = 27;
410a7ce71fSopenharmony_ci                        i2cClkIomux = [0x114f0048, 0x403];
420a7ce71fSopenharmony_ci                        i2cDataIomux = [0x114f004c, 0x403];
430a7ce71fSopenharmony_ci                    }
440a7ce71fSopenharmony_ci
450a7ce71fSopenharmony_ci                    pinConfig {
460a7ce71fSopenharmony_ci                        rstGpio = 13;
470a7ce71fSopenharmony_ci                        intGpio = 12;
480a7ce71fSopenharmony_ci                        rstRegCfg = [0x10ff0030, 0x400];
490a7ce71fSopenharmony_ci                        intRegCfg = [0x10ff002C, 0x400];
500a7ce71fSopenharmony_ci                    }
510a7ce71fSopenharmony_ci*/
520a7ce71fSopenharmony_ci// Hi3516DV300-Demo board:  ft6336--2p35
530a7ce71fSopenharmony_ci/*
540a7ce71fSopenharmony_ci                    busConfig {
550a7ce71fSopenharmony_ci                        // 0:i2c 1:spi
560a7ce71fSopenharmony_ci                        busType = 0;
570a7ce71fSopenharmony_ci                        busNum = 3;
580a7ce71fSopenharmony_ci                        clkGpio = 2;
590a7ce71fSopenharmony_ci                        dataGpio = 1;
600a7ce71fSopenharmony_ci                        i2cClkIomux = [0x112f0090, 0x5f1];
610a7ce71fSopenharmony_ci                        i2cDataIomux = [0x112f008c, 0x5f1];
620a7ce71fSopenharmony_ci                    }
630a7ce71fSopenharmony_ci
640a7ce71fSopenharmony_ci                    pinConfig {
650a7ce71fSopenharmony_ci                        rstGpio = 3;
660a7ce71fSopenharmony_ci                        intGpio = 4;
670a7ce71fSopenharmony_ci                        rstRegCfg = [0x112f0094, 0x5f0];
680a7ce71fSopenharmony_ci                        intRegCfg = [0x112f0098, 0x5f0];
690a7ce71fSopenharmony_ci                    }
700a7ce71fSopenharmony_ci*/
710a7ce71fSopenharmony_ci                    powerConfig {
720a7ce71fSopenharmony_ci                        /* 0:unused 1:ldo 2:gpio 3:pmic */
730a7ce71fSopenharmony_ci                        vccType = 2;
740a7ce71fSopenharmony_ci                        vccNum = 20;    // gpio20
750a7ce71fSopenharmony_ci                        vccValue = 1800;
760a7ce71fSopenharmony_ci                        vciType = 1;
770a7ce71fSopenharmony_ci                        vciNum = 12;    // ldo12
780a7ce71fSopenharmony_ci                        vciValue = 3300;
790a7ce71fSopenharmony_ci                    }
800a7ce71fSopenharmony_ci
810a7ce71fSopenharmony_ci                    featureConfig {
820a7ce71fSopenharmony_ci                        capacitanceTest = 0;
830a7ce71fSopenharmony_ci                        gestureMode = 0;
840a7ce71fSopenharmony_ci                        gloverMOde = 0;
850a7ce71fSopenharmony_ci                        coverMode = 0;
860a7ce71fSopenharmony_ci                        chargerMode = 0;
870a7ce71fSopenharmony_ci                        knuckleMode = 0;
880a7ce71fSopenharmony_ci                    }
890a7ce71fSopenharmony_ci                }
900a7ce71fSopenharmony_ci
910a7ce71fSopenharmony_ci                chipConfig {
920a7ce71fSopenharmony_ci                    template touchChip {
930a7ce71fSopenharmony_ci                        match_attr = "";
940a7ce71fSopenharmony_ci                        chipName = "gt911";
950a7ce71fSopenharmony_ci                        vendorName = "zsj";
960a7ce71fSopenharmony_ci                        chipInfo = "AAAA11222";  // 4-ProjectName, 2-TP IC, 3-TP Module
970a7ce71fSopenharmony_ci                        /* 0:i2c 1:spi*/
980a7ce71fSopenharmony_ci                        busType = 0;
990a7ce71fSopenharmony_ci                        deviceAddr = 0x5D;
1000a7ce71fSopenharmony_ci                        /* 0:None 1:Rising 2:Failing 4:High-level 8:Low-level */
1010a7ce71fSopenharmony_ci                        irqFlag = 2;
1020a7ce71fSopenharmony_ci                        maxSpeed = 400;
1030a7ce71fSopenharmony_ci                        chipVersion = 0; //parse Coord TypeA
1040a7ce71fSopenharmony_ci                        powerSequence {
1050a7ce71fSopenharmony_ci                            /* [type, status, dir , delay]
1060a7ce71fSopenharmony_ci                                <type> 0:none 1:vcc-1.8v 2:vci-3.3v 3:reset 4:int
1070a7ce71fSopenharmony_ci                                <status> 0:off or low  1:on or high  2:no ops
1080a7ce71fSopenharmony_ci                                <dir> 0:input  1:output  2:no ops
1090a7ce71fSopenharmony_ci                                <delay> meanings delay xms, 20: delay 20ms
1100a7ce71fSopenharmony_ci                             */
1110a7ce71fSopenharmony_ci                            powerOnSeq = [4, 0, 1, 0,
1120a7ce71fSopenharmony_ci                                         3, 0, 1, 10,
1130a7ce71fSopenharmony_ci                                         3, 1, 2, 60,
1140a7ce71fSopenharmony_ci                                         4, 2, 0, 0];
1150a7ce71fSopenharmony_ci                            suspendSeq = [3, 0, 2, 10];
1160a7ce71fSopenharmony_ci                            resumeSeq = [3, 1, 2, 10];
1170a7ce71fSopenharmony_ci                            powerOffSeq = [3, 0, 2, 10,
1180a7ce71fSopenharmony_ci                                           1, 0, 2, 20];
1190a7ce71fSopenharmony_ci                        }
1200a7ce71fSopenharmony_ci                    }
1210a7ce71fSopenharmony_ci
1220a7ce71fSopenharmony_ci                    chip0 :: touchChip {
1230a7ce71fSopenharmony_ci                        match_attr = "zsj_gt911_5p5";
1240a7ce71fSopenharmony_ci                        chipInfo = "ZIDN45100";  // 4-ProjectName, 2-TP IC, 3-TP Module
1250a7ce71fSopenharmony_ci                        chipVersion = 0; //parse point by TypeA
1260a7ce71fSopenharmony_ci                    }
1270a7ce71fSopenharmony_ci
1280a7ce71fSopenharmony_ci                    chip1 :: touchChip {
1290a7ce71fSopenharmony_ci                        match_attr = "zsj_gt911_4p0";
1300a7ce71fSopenharmony_ci                        chipInfo = "ZIDN45101";
1310a7ce71fSopenharmony_ci                        chipVersion = 1; //parse point by TypeB
1320a7ce71fSopenharmony_ci                    }
1330a7ce71fSopenharmony_ci
1340a7ce71fSopenharmony_ci                    chip2 :: touchChip {
1350a7ce71fSopenharmony_ci                        match_attr = "tg_gt911_7p0";
1360a7ce71fSopenharmony_ci                        vendorName = "tg";
1370a7ce71fSopenharmony_ci                        chipInfo = "ZIDN45102";
1380a7ce71fSopenharmony_ci                        chipVersion = 2; //parse point by TypeC
1390a7ce71fSopenharmony_ci                    }
1400a7ce71fSopenharmony_ci
1410a7ce71fSopenharmony_ci                    chip3 :: touchChip {
1420a7ce71fSopenharmony_ci                        match_attr = "st_ft6336_2p35";
1430a7ce71fSopenharmony_ci                        chipName = "ft6336";
1440a7ce71fSopenharmony_ci                        vendorName = "st";
1450a7ce71fSopenharmony_ci                        chipInfo = "ZIDN53200";
1460a7ce71fSopenharmony_ci                        deviceAddr = 0x38;
1470a7ce71fSopenharmony_ci                        irqFlag = 1; // Rising
1480a7ce71fSopenharmony_ci                        powerSequence {
1490a7ce71fSopenharmony_ci                            /* [type, status, dir , delay]
1500a7ce71fSopenharmony_ci                                <type> 0:none 1:vcc-1.8v 2:vci-3.3v 3:reset 4:int
1510a7ce71fSopenharmony_ci                                <status> 0:off or low  1:on or high  2:no ops
1520a7ce71fSopenharmony_ci                                <dir> 0:input  1:output  2:no ops
1530a7ce71fSopenharmony_ci                                <delay> meanings delay xms, 20: delay 20ms
1540a7ce71fSopenharmony_ci                             */
1550a7ce71fSopenharmony_ci                            powerOnSeq = [4, 2, 0, 0,
1560a7ce71fSopenharmony_ci                                         3, 1, 1, 2,
1570a7ce71fSopenharmony_ci                                         3, 0, 2, 5,
1580a7ce71fSopenharmony_ci                                         3, 1, 2, 200];
1590a7ce71fSopenharmony_ci                            suspendSeq = [3, 0, 2, 10];
1600a7ce71fSopenharmony_ci                            resumeSeq = [3, 1, 2, 10];
1610a7ce71fSopenharmony_ci                            powerOffSeq = [3, 0, 2, 10,
1620a7ce71fSopenharmony_ci                                           1, 0, 2, 20];
1630a7ce71fSopenharmony_ci                        }
1640a7ce71fSopenharmony_ci                    }
1650a7ce71fSopenharmony_ci                }
1660a7ce71fSopenharmony_ci            }
1670a7ce71fSopenharmony_ci        }
1680a7ce71fSopenharmony_ci
1690a7ce71fSopenharmony_ci        keyConfig {
1700a7ce71fSopenharmony_ci            keyList = ["power", "VolUp", "VolDown", "Up", "Down", "Left", "Right"];
1710a7ce71fSopenharmony_ci            keyInfoList {
1720a7ce71fSopenharmony_ci                key1 {
1730a7ce71fSopenharmony_ci                    match_attr = "key_device0";
1740a7ce71fSopenharmony_ci                    /* 0:touch 1:key 2:keyboard 3:mouse 4:button 5:crown 6:encoder */
1750a7ce71fSopenharmony_ci                    inputType = 1;
1760a7ce71fSopenharmony_ci                    keyName = "power";
1770a7ce71fSopenharmony_ci                    gpioNum = 1;
1780a7ce71fSopenharmony_ci                    irqFlag = 3;
1790a7ce71fSopenharmony_ci                    debounceTime = 80;
1800a7ce71fSopenharmony_ci                }
1810a7ce71fSopenharmony_ci
1820a7ce71fSopenharmony_ci                key2 {
1830a7ce71fSopenharmony_ci                    keyName = "volUp";
1840a7ce71fSopenharmony_ci                    gpioNum = 31;
1850a7ce71fSopenharmony_ci                    irqFlag = 1;
1860a7ce71fSopenharmony_ci                    debounceTime = 80;
1870a7ce71fSopenharmony_ci                }
1880a7ce71fSopenharmony_ci
1890a7ce71fSopenharmony_ci                key3 {
1900a7ce71fSopenharmony_ci                    keyName = "volDown";
1910a7ce71fSopenharmony_ci                    gpioNum = 32;
1920a7ce71fSopenharmony_ci                    irqFlag = 1;
1930a7ce71fSopenharmony_ci                    debounceTime = 80;
1940a7ce71fSopenharmony_ci                }
1950a7ce71fSopenharmony_ci            }
1960a7ce71fSopenharmony_ci        }
1970a7ce71fSopenharmony_ci    }
1980a7ce71fSopenharmony_ci}
199