IC - reset子系统

本文详细介绍了SoC中的复位系统设计,包括其在复杂IC中的作用、reset电路的层次结构、外设和CPU的复位管理,以及在嵌入式开发中如uboot和Linux中的驱动实现和使用方法。重点展示了DTS配置和reset-id的定义与应用。

简介

  • 复杂的IC(SOC)内部有多个拥有独立功能的硬件模块,例如:cpu cores,tpu cores以及wdt,usb,mmc等各种外设。
  • 出于IC稳定性(异常后可恢复)等方面的考虑,SOC中会设计专门的reset电路,负责各个硬件模块的复位,在内部为硬件模块设计复位信号(reset signals),软件可通过寄存器控制硬件模块的复位。

SOC 示例

  • SOC(xx181x)的reset系统,比较复杂,设计了三个层级,主要功能:
  1. 外设模块的复位。
  2. CPU、TPU核的复位。
  3. 系统整体的复位。

使用

  • Reset系统实现比较复杂,但是暴露给用户使用的方式比较简单,一般是提供多个寄存器,每个寄存器以1 bit控制一个ip的复位,因此对于某个ip的复位只有两个操作:
  1. 复位,往控制该ip的特定bit写0
  2. 解复位,往控制该ip的特定bit写1
  • 先复位,延时一会,解复位,ip就能够复位成功。
  • SOC(xx181x)也提供了另外一套寄存器,同样以1 bit控制一个ip的复位,不同的是:复位时只需要往该bit写0,不需要再解复位(往该bit写1),ip就能复位成功。

适配

  1. dts配置
  • 需要在dts中配置reset-controller
/ {
    ...
    rst: reset-controller {
        compatible = "xxxxxx,reset";
        reg = <0x0 0x03003000 0x0 0x10>;
    };
    ...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值