当前位置: 首页 > news >正文

Linux Kernel入门到精通系列讲解(RV-Kernel 篇) 5.6 在kernel 中实现系统复位和系统关机驱动

1. 概述

上一章节Qemu篇我们已经实现了我们SOCpower resetpower down 寄存器,本章节我们就在Linux driver中去实现它。

2. Linux kernel 访问其他节点

Linux kernel中有一种机制,就是在driver中访问其它设备树节点的信息,了解设备树的应该都知道,每个设备节点都有一个唯一的phandle属性,所以,我们可以通过该属性将一些设备树节点关联起来,比如如下,我们的reboot节点绑定兹阿勒syscon节点,这样我们在解析设备树时就可以通过syscon_regmap_lookup_by_phandle函数访问到syscon节点,我们就拿到了它的regmap指针,接着就可以拿到reg属性的基地址进行寄存器访问。同时我们本驱动也是用到这种方法,顺便记得把设备树节点添加到你的设备树中,记得syscon节点要compatible 要为syscon,这样才可以使用syscon机制,这个机制定义在linux-6.9-rc

http://www.lryc.cn/news/380649.html

相关文章:

  • 如何在Java中进行单元测试?
  • 代码随想录训练营Day32
  • 代码随想录训练营Day31
  • Docker 多阶段构建
  • Linux应急响应——知攻善防应急靶场-Linux(1)
  • 基于CDMA的多用户水下无线光通信(1)——背景介绍
  • vlan三层交换技术--交换机--(自作)
  • 基于springboot websocket和okhttp实现消息中转
  • @PostConstruct 注解的方法用于资源的初始化
  • (一)SvelteKit教程:hello world
  • 华为Atlas NPU ffmpeg 编译安装
  • Python 虚拟环境 requirements.txt 文件生成 ;pipenv导出pip安装文件
  • Less与Sass的区别
  • 力扣-2663
  • CausalMMM:基于因果结构学习的营销组合建模
  • 编译 CUDA 程序的基本知识和步骤
  • [SAP ABAP] 排序内表数据
  • 【UML用户指南】-21-对基本行为建模-活动图
  • 【web2】jquary,bootstrap,vue
  • 独角兽品牌獭崎酱酒:高性价比的酱香之选
  • java打印菱形和空心菱形
  • Day10 —— 大数据技术之Scala
  • Linux应用系统快速部署:docker快速部署linux应用程序
  • 三目运算符中间的表达式可以省略吗(a?:c)?
  • android 彩虹进度条自定义view实现
  • 免费一年SSL证书申请——建议收藏
  • 【docker1】指令,docker-compose,Dockerfile
  • Flutter中的异步和多进程
  • 学习C++第二天
  • 解析Java中1000个常用类:AbstractSet类,你学会了吗?