This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
1、Cpu comfigure four wire SPI, cpu can read ads131e08 id register;
2、Cpu comfigure three wire SPI, CS of ads131e08 connect GND ,DOUT of ads131e08 have no data output ,at the moment , CLK and RX of can ads131e08 received signals from CPU。
static int ads131e08_init(struct ads131e08 *ads131e08)
{
int ret = 0,i = 0;
u8 buf = 0;
ret = ads131e08_cmd_control(ads131e08, ADS131E08_CMD_SDATAC, 0, 0);
ret = ads131e08_sendreset(ads131e08);
if(ret){
dev_err(ads131e08->dev, " write reset error\n");
return ret;
}
ret = ads131e08_cmd_control(ads131e08, ADS131E08_CMD_WAKEUP, 0, 0);
ret = ads131e08_cmd_control(ads131e08, ADS131E08_CMD_SDATAC, 0, 0);
if(ret){
dev_err(ads131e08->dev, " write sdatac error\n");
return ret;
}
usleep_range(2,3);
ret = ads131e08_cmd_control(ads131e08, ADS131E08_CMD_STOP, 0, 0);
ret = ads131e08_cmd_control(ads131e08, ADS131E08_CMD_WREG,
ADS131E08_CFG1, (void *)®_init.cfg1);
usleep_range(2,3);
ret = ads131e08_cmd_control(ads131e08, ADS131E08_CMD_WREG,
ADS131E08_CFG2,(void *)®_init.cfg2);
usleep_range(2,3);
ret = ads131e08_cmd_control(ads131e08, ADS131E08_CMD_WREG,
ADS131E08_CFG3, (void *)®_init.cfg3);
usleep_range(2,3);
for(i = 0; i < 8; i++){
ret = ads131e08_cmd_control(ads131e08, ADS131E08_CMD_WREG,
ADS131E08_CH1SET+i, (void *)®_init.chnset);
if(ret){
dev_err(ads131e08->dev, " init CH%dSET error\n",i+1);
return ret;
}
}
usleep_range(2,3);
ret = ads131e08_cmd_control(ads131e08, ADS131E08_CMD_RREG,
ADS131E08_ID, (void *)&buf);
if(ret < 0){
dev_err(ads131e08->dev, " read id register error\n");
return ret;
}else{
dev_info(ads131e08->dev, " devid is = 0x%2.2x\n",buf);
if(buf == 0){
return -1;
}
}
ads131e08_reg_dump(ads131e08);
ret = gpio_direction_output(ads131e08->pdata->adc_start_gpio,1);
if (ret < 0) {
dev_err(ads131e08->dev,"fail to assert adc_start_gpio %d\n", ret);
return ret;
}
return ret;
}