深入到pinctrl框架,才会真正理解pinctrl系统。
明明白白做事,才能掌握,才能创新,否则只有跟跑。
深入浅出:
http://www.wowotech.net/gpio_subsystem/pinctrl-driver-summary.html
kernel原生文档:
https://www.kernel.org/doc/html/v4.13/driver-api/pinctl.html
为加速设备树解析,通常会将pinctrl的数据用C数组写一遍,先注册一遍,对于设备,只需要用
initcall_debug
可以查看每个驱动probe的时间
配置方法CONFIG_INITCALL_DEBUG=y
pinctrl核心逻辑:
向pinctrl框架内注册某个pinctrl_dev的设备,包含pins和npins等信息,注册对应的pinconf_ops和pinmux_ops函数。