WhyCan Forum(哇酷开发者社区)

我们能随心所欲"有问题百度(谷歌)一下", 这得感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn

您尚未登录。

#1 2020-01-01 15:08:08

staunchheart
会员
注册时间: 2019-12-17
累计积分: 172

F1C100S中 XBOOT下移GT911遇到问题,请教

在GT911初始化时
if(!gt911_read(dev, GT911_CONFIG_DATA, &cfg, 1))
调用i2c-f1c100s中的
static int f1c100s_i2c_wait_status(struct i2c_f1c100s_pdata_t * pdat)
{
    ktime_t timeout = ktime_add_ms(ktime_get(), 1);
    do {
        if((read32(pdat->virt + I2C_CNTR) & (1 << 3)))
            return read32(pdat->virt + I2C_STAT);
    } while(ktime_before(ktime_get(), timeout));
     LOG("f1c100s_i2c_status(pdat) timeout");
    return I2C_STAT_BUS_ERROR;
}

打印总是超时,我将这份代码移植到RT-Thread中也是一样,也是这里超时

cast-kk131.json中

    "i2c-f1c100s@0x01c27000": {
        "clock-name": "link-i2c0",
        "clock-frequency": 400000,
        "reset": 130,
        "sda-gpio": 140,
        "sda-gpio-config": 3,
        "scl-gpio": 139,
        "scl-gpio-config": 3
    },
    "ts-gt911@0": {
        "i2c-bus": "i2c-f1c100s.0",
        "slave-address": 20,
        "interrupt-gpio": 131,
        "interrupt-gpio-config": 6,
        "reset-gpio": 130,
        "reset-gpio-config": 1
    },

最近编辑记录 staunchheart (2020-01-01 15:09:32)

离线

#2 2020-01-01 15:31:49

cityf
会员
注册时间: 2017-11-03
累计积分: 195

Re: F1C100S中 XBOOT下移GT911遇到问题,请教

有没有上拉,接上逻辑分析仪试一试

离线

#3 2020-01-01 16:32:31

staunchheart
会员
注册时间: 2019-12-17
累计积分: 172

Re: F1C100S中 XBOOT下移GT911遇到问题,请教

触摸电路如图
TIM截图20200101162930.png

i2c-f1c100s中
    if(pdat->sda >= 0)
    {
        if(pdat->sdacfg >= 0)
            gpio_set_cfg(pdat->sda, pdat->sdacfg);
        gpio_set_pull(pdat->sda, GPIO_PULL_UP);
    }
    if(pdat->scl >= 0)
    {
        if(pdat->sclcfg >= 0)
            gpio_set_cfg(pdat->scl, pdat->sclcfg);
        gpio_set_pull(pdat->scl, GPIO_PULL_UP);
    }

最近编辑记录 staunchheart (2020-01-01 16:38:38)

离线

#4 2020-01-02 11:13:47

staunchheart
会员
注册时间: 2019-12-17
累计积分: 172

Re: F1C100S中 XBOOT下移GT911遇到问题,请教

补充一下
I2C是PE11,PE12
INT   PE3
RST   PE2
有没有什么思路?

离线

#5 2020-01-03 20:41:00

staunchheart
会员
注册时间: 2019-12-17
累计积分: 172

Re: F1C100S中 XBOOT下移GT911遇到问题,请教

我学艺不精,以为I2C的REST是指I2C的REST脚。
实际上是要DEVICE_TYPE_RESETCHIP中的。
将rest改为80就好了。。。
另外GITEE上的master上的GT911驱动,启动时序是错误的
橘子 :
https://github.com/xboot/xboot/pull/11/commits/b119553d16f6b260090f16436e250ff316a550a4
感谢橘子大神

最近编辑记录 staunchheart (2020-01-03 20:44:21)

离线

#6 2020-01-03 20:56:01

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: F1C100S中 XBOOT下移GT911遇到问题,请教

@staunchheart 感谢分享!

离线

#7 2020-04-27 21:35:38

黑豆
会员
注册时间: 2020-04-27
累计积分: 2

Re: F1C100S中 XBOOT下移GT911遇到问题,请教

我最近在海思平台上调gt911,我通过i2c tool工具,i2c_read 可以读到gt911的产品id,但是我加载驱动的时候,就读不到,对了好多遍RST INT上电时序,不知道为什么i2c不通

void gtp_reset_guitar(int ms)
{
    set_gtp_reset_dir(OUTPUT_MODE);
    set_gtp_reset_val(0);

    msleep(20);
   
    set_gtp_int_dir(OUTPUT_MODE);
    set_gtp_int_val(1);

    msleep(2);
   
    set_gtp_reset_val(1);

    mdelay(10);

    set_gtp_int_dir(INPUT_MODE);
}

static struct i2c_board_info hi_info = { I2C_BOARD_INFO("gt9xx", 0x28),};
static int i2c_client_init(void)
{
    struct i2c_adapter* i2c_adap;
    i2c_adap = i2c_get_adapter(0);
    gt911_client = i2c_new_device(i2c_adap, &hi_info);
    i2c_put_adapter(i2c_adap);
}

以上代码是我的上电时序和i2c client 初始化,

int gtp_i2c_read(struct i2c_client *client, unsigned char *buf, int len)
{
    int ret = -1;
    unsigned int data;

    unsigned char addr[2];
    addr[0] = buf[0];
    addr[1] = buf[1];
    printk("addr = 0x%x 0x%x\n", addr[0], addr[1]);

    unsigned char retry = 0;
    struct i2c_msg msg[2];

    msg[0].addr  = client->addr;
    msg[0].len   = 2;
    msg[0].buf   = addr;//&buf[0];
    msg[0].flags = !I2C_M_RD;
   
    msg[1].addr  = client->addr;
    msg[1].len   = 1;//len - 2;
    msg[1].buf   = &buf[2];
    msg[1].flags = I2C_M_RD;
    ret = i2c_transfer(client->adapter, msg, 2);
    printk("i2c_transfer read ret = %d, buf[2] = 0x%x\n", ret, buf[2]);

    return ret;
}

调了好几天了,i2c都读不到产品id

离线

#8 2020-04-27 21:42:42

fire
会员
注册时间: 2020-04-08
累计积分: 20

Re: F1C100S中 XBOOT下移GT911遇到问题,请教

@黑豆 这是linux的驱动代码,还是应用层代码?

离线

#9 2020-04-27 21:44:20

黑豆
会员
注册时间: 2020-04-27
累计积分: 2

Re: F1C100S中 XBOOT下移GT911遇到问题,请教

linux 驱动

离线

#10 2020-04-27 21:46:33

fire
会员
注册时间: 2020-04-08
累计积分: 20

Re: F1C100S中 XBOOT下移GT911遇到问题,请教

linux不用改驱动,配置dts就可以了,本站搜一下 gt911:

https://whycan.cn/t_2688.html
https://whycan.cn/t_2482.html

最近编辑记录 fire (2020-04-27 21:47:17)

离线

页脚

工信部备案:粤ICP备20025096号-1 Powered by FluxBB