在内核中添加显示屏开关的设定

在内核中添加显示屏开关的设定

需求

dts文件中添加一个指定的gpio口来作为显示屏开关的控制,如果dts中该设备信息生效,在内核启动后给用户开启一个接口,让应用程序来完成对显示屏开关的控制(以达到随开随关的目的)。
起因:在实际应用中发现一种屏在使用时如果最开始没有确定的显示数据给到时,直接上电会出现随机的白点,且每次白点的数量和位置都随机。

实现要点
  • 基本的gpio的操作,设计到gpio的注册,方向设定和导出(到用户空间)等;
  • 到用户空间就是通过sysfs来进行连接的
  • 在dts中需要创建内核代码能够搜寻到的路径,搜寻路径需要用到of_设备树的API
  • 以上添加的入口可以设置在板级设备信息的初始化过程中,即arch/arm/mach-xxx/mach-yyyy.c
具体代码梳理
  1. DT_MACHINE_START
DT_MACHINE_START(IMX6Q, "Freescale i.MX6 Quad/DualLite (Device Tree)")
	/*
	 * i.MX6Q/DL maps system memory at 0x10000000 (offset 256MiB), and
	 * GPU has a limit on physical address that it accesses, which must
	 * be below 2GiB.
	 */
	.dma_zone_size	= (SZ_2G - SZ_256M),
	.smp		= smp_ops(imx_smp_ops),
	.map_io		= imx6q_map_io,
	.init_irq	= imx6q_init_irq,
	.init_ti
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值