首页
学习
活动
专区
工具
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

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

    Linux Led 子系统

    2、概述 led 子系统驱动框架: 所有 led 共性: 有和用户通信的设备节点 亮和灭 不同点: 有的 led 可能是接在 gpio 管脚上,不同的 led 有不同的 gpio 来控制 有的 led...可能由其他的芯片来控制(节约 cpu 的 pin,或者为了控制 led 的电流等) 可以设置亮度 可以闪烁 所以 Linux led 子系统把所有 led 的共性给实现了,把不同的地方留给驱动工程师去做...led 子系统核心文件: driver/leds/led-class.c driver/leds/led-core.c driver/leds/led-triggers.c include/linux/...led 子系统是一个简单的 Linux 子系统 ,在目录 /sys/class/leds 下展示该子系统设备,每个设备都有自己的属性: brightness:设置 LED 亮度,范围 0 ~ max_brightness...) 维护 LED 子系统的所有 LED 设备,为 LED 设备提供注册操作函数: led_classdev_register() devm_led_classdev_register() 注销操作函数

    44430

    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 接口的。

    2.3K40

    Windows 10 子系统

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

    2.5K30

    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

    3K20

    Linux 网络子系统

    今天分享一篇经典Linux协议栈文章,主要讲解Linux网络子系统,看完相信大家对协议栈又会加深不少,不光可以了解协议栈处理流程,方便定位问题,还可以学习一下怎么去设计一个可扩展的子系统,屏蔽不同层次的差异...目录 Linux网络子系统的分层 Linux网络子系统实现需要: 支持不同的协议族 ( INET, INET6, UNIX, NETLINK…) 支持不同的网络设备 支持统一的BSD socket API...创建ksoftirqd内核线程 linux内核通过调用subsys_initcall来初始化各个子系统,在源代码目录里你可以grep出许多对这个函数的调用。...这里我们要说的是网络子系统的初始化,会执行到net_dev_init函数。...asmlinkage void __do_softirq(void) 在网络子系统初始化小节,我们看到我们为NET_RX_SOFTIRQ注册了处理函数net_rx_action。

    3.6K21

    Java底层-GC子系统

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

    51910

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券