IMX6ull pinctrl系统以及gpioctrl系统分析

IMX6ull pinctrl系统以及gpioctrl系统分析

/***************imx6ull-pinctrl子系统分析****************************/
由compatible属性全局搜索fsl,imx6ul-iomuxc,搜索到
static struct of_device_id imx6ul_pinctrl_of_match[] = {
	{ .compatible = "fsl,imx6ul-iomuxc", .data = &imx6ul_pinctrl_info, },
	{ .compatible = "fsl,imx6ull-iomuxc-snvs", .data = &imx6ull_snvs_pinctrl_info, },
	{ /* sentinel */ }
};


static struct platform_driver imx6ul_pinctrl_driver = {
	.driver = {
		.name = "imx6ul-pinctrl",
		.owner = THIS_MODULE,
		.of_match_table = of_match_ptr(imx6ul_pinctrl_of_match),
	},
	.probe = imx6ul_pinctrl_probe,
	.remove = imx_pinctrl_remove,
};中probe函数执行

->imx6ul_pinctrl_probe
	->imx_pinctrl_probe
	 ->imx_pinctrl_probe_dt
		->imx_pinctrl_parse_functions //负责获取设备树中关于PIN 的配置信息
			->imx_pinctrl_parse_groups
	->pinctrl_register //向Linux内核注册pinctrl
	
************************************************************
/***************imx6ull-gpio子系统分析****************************/
由compatible属性全局搜索sl,imx35-gpio,搜索到
static const struct of_device_id mxc_gpio_dt_ids[] = {
	{ .compatible = "fsl,imx1-gpio", .data = &mxc_gpio_devtype[IMX1_GPIO], },
	{ .compatible = "fsl,imx21-gpio", .data = &mxc_gpio_devtype[IMX21_GPIO], },
	{ .compatible = "fsl,imx31-gpio", .data = &mxc_gpio_devtype[IMX31_GPIO], },
	{ .compatible = "fsl,imx35-gpio", .data = &mxc_gpio_devtype[IMX35_GPIO], },
	{ /* sentinel */ }
};

->mxc_gpio_probe
	->mxc_gpio_get_hw //获取GPIO的硬件数据
	->platform_get_resource //获取设备树中内存资源信息
	->devm_ioremap_resource //devm_ioremap_resource 函数进行内存映射,得到0x0209C000 在Linux内核中的虚拟地址
	->platform_get_irq //获取中断号
	->irq_set_chained_handler //设置中断处理函数
	->bgpio_init //初始化imx相关的gpio操作函数和gpio相关的寄存器
	->gpiochip_add //向Linux 内核注册gpio_chip
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值