学习
实践
活动
专区
工具
TVP
写文章

09_GPIO子系统与Pinctrl子系统的交互

工具下载: git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git 视频观看 百问网驱动大全 GPIO子系统与 Pinctrl子系统的交互 参考资料: Linux 5.x内核文档 Linux-5.4\Documentation\driver-api Linux-5.4\Documentation\devicetree 使用GPIO前应该设置Pinctrl 假设使用这个虚拟的GPIO Controller的pinA来控制LED: 要使用pinA来控制LED,首先要通过Pinctrl子系统把它设置为GPIO功能,然后才能设置它为输出引脚 100103 GPIO1内部引脚编号为03,假设在GPIO子系统中全局编号为104107 假设我们要使用pin1_1,应该这样做: 根据GPIO1的内部编号1,可以换算为Pinctrl子系统中的编号 GPIO调用Pinctrl的过程 GPIO子系统中的request函数,用来申请某个GPIO引脚, 它会导致Pinctrl子系统中的这2个函数之一被调用:pmxops->gpio_request_enable

31810
  • 广告
    关闭

    【玩转 GPU】有奖征文

    精美礼品等你拿!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux IIO 子系统

    Linux 内核为了管理这些日益增多的 ADC 类传感器,特地推出了 IIO 子系统,我们学习如何使用 IIO 子系统来编写 ADC 类传感器驱动。 1、IIO 子系统简介 IIO 全称是 Industrial I/O,翻译过来就是工业 I/O,大家不要看到“工业”两个字就觉得 IIO 是只用于工业领域的。 大家一般在搜索 IIO 子系统的时候,会发现大多数讲的都是 ADC,这是因为 IIO 就是为 ADC 类传感器准备的,当然了 DAC 也是可以的。 1、iio_dev 结构体 IIO 子系统使用结构体 iio_dev 来描述一个具体 IIO 设备,此设备结构体定义在include/linux/iio/iio.h 文件中 2、iio_dev 申请与释放 2、IIO 驱动框架创建 分析 IIO 子系统的时候大家应该看出了,IIO 框架主要用于 ADC 类的传感器,比如陀螺仪、加速度计、磁力计、光强度计等,这些传感器基本都是 IIC 或者 SPI 接口的。

    63640

    Windows 10 子系统

    我准备搞一下虚拟机,当然不是指 VirtualBox 和 VMware Workstation, 嗯, 是的 win10 自带的子系统。 2、在 控制面板 中 程序和功能 打开 启用或关闭 Windows功能 , 勾选 适用于 Linux 的 Windows 子系统,点击确定,等待系统配置完后重新启动电脑。 当然我感觉最重要的一点不是,真要在 windows 里面去使用子系统。 使用 打开 Windows Terminal 输入 wsl, 或者新建一个 tab 选择 Ubuntu 即可。 windows 把 Linux 置为子系统,这个骚操作简直太 逆天了。 试下bash ,试下 expect ,通畅无阻。 太爽了, 这不就是我想要的吗,都忍不住笑出猪叫了。 有了子系统。一切就不一样了。简直是沙漠上看到了绿洲哇。 说实在的,现在 window 越来越好用了,装上固态盘速度也快如飞了。就是没有节操的UI丑了点。

    26830

    Java底层-GC子系统

    在前面HotSpot组成的文章中提到HotSpot是由三大子系统和两大组件组成,其中三大子系统中的类加载子系统和执行引擎子系统已经做过介绍,这一篇我们来看最后一个子系统:GC子系统。 在HotSpot虚拟机中,三大子系统核心基本都是为运行时数据区服务,类加载子系统负责将字节码文件加载到运行时数据区, 执行引擎将执行线程中虚拟机栈的栈帧存储的指令集进行执行,而GC子系统(垃圾回收子系统 下面我们步入正题: 虚拟机为什么需要GC子系统呢? 既然需要GC子系统对堆内存的无用对象进行回收,那么GC子系统又是如何判断一个对象是否有用呢? 回收并不是毫无规律的,每种回收器都有回收算法: 标记清除算法 复制算法 标记清除压缩算法 关于GC回收子系统就谈到这里,关于每种垃圾回收器以及回收算法我们在后面的文章继续探讨。

    25010

    Linux 电源管理子系统

    8)底层的时钟、稳压器、频率/电压表(OPP模块完成)支撑,各驱动子系统都可能用到。 1、CPUFreq 驱动 CPUFreq 子系统位于 drivers/cpufreq 目录下,负责进行运行过程中 CPU 频率和电压的动态调整,即 DVFS(Dynamic Voltage Frequency 4、CPUIdle 驱动 目前的 ARM SoC 大多支持几个不同的 Idle 级别,CPUIdle 驱动子系统存在的目的就是对这些Idle状态进行管理,并根据系统的运行情况进入不同的Idle级别。 6、Regulator 驱动 Regulator是Linux系统中电源管理的基础设施之一,用于稳压电源的管理,是各种驱动子系统中设置电压的标准接口。 Linux的Regulator子系统提供如下API以用于注册/注销一个稳压器: structregulator_dev * regulator_register(conststructregulator_desc

    79920

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • Discuz!

      Discuz!

      Discuz! 是全球成熟度最高、覆盖率最大的论坛社区应用系统之一。自2001年6月面世以来,服务超过300多万网站用户案例。现在,借助 Discuz! ,您不仅可以使用 搭建传统的社区论坛,更可轻易的构建面向移动互联网时代的私域流量和社交圈子类的应用,并快速启动业务。

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭

      扫码关注腾讯云开发者

      领取腾讯云代金券