Linux驱动适配I2C/SPI例子
栗子:
TI的PCM3060
/sound/soc/codecs/pcm3060-i2c.c
/sound/soc/codecs/pcm3060-spi.c
/sound/soc/codecs/pcm3060.c 主驱动
/sound/soc/codecs/pcm3060.h
导出一个probe符号给iic/spi probe时传入spi_client/i2c_client的->device
i2c/spi对寄存器的操作通过 regmap框架进行,即 xxx_client-> dev/priv->regmap
- devm_regmap_init_xxx(client, regmap)
- map->reg_read = _regmap_bus_read;
- map->bus->read()
- spi/iic read()
- map->bus->read()
- map->reg_read = _regmap_bus_read;
注意regmap可以设置缓存
regmap分析栗子 see: https://www.cnblogs.com/schips/p/linix_regmap.html
本文来自博客园,作者:蓝天上的云℡,采用 BY-NC-SA 许可协议,转载请注明:转载自作者蓝天上的云℡ 原文链接 https://www.cnblogs.com/yucloud/p/19103143

浙公网安备 33010602011771号