i.MX8MP平台开发分享(RDC软件配置篇)

Uboot中已经将RDC的配置写入到了OCRAM中,NXP在ATF中预设了SIP服务,SIP服务下有厂商自定义的smc命令ID。例如下面的DDR、GPC、SRC和HAB的smc回调函数。

在SRC中断处理函数中,对于SRC_M4_START指令,先读取OCRAM中的配置,然后初始化RDC。

RDC初始化

初始化过程很简单,设置master分配、外设访问权限和内存区域访问权限。

c 复制代码
void imx_rdc_init(const struct imx_rdc_cfg *rdc_cfg)
{
	const struct imx_rdc_cfg *rdc = rdc_cfg;

	while (rdc->type != RDC_INVALID) {
		switch (rdc->type) {
		case RDC_MDA:
			/* MDA config */
			mmio_write_32(MDAn(rdc->index), rdc->setting.rdc_mda);
			break;
		case RDC_PDAP:
			/* peripheral access permission config */
			mmio_write_32(PDAPn(rdc->index), rdc->setting.rdc_pdap);
			break;
		case RDC_MEM_REGION:
			/* memory region access permission config */
			mmio_write_32(MRSAn(rdc->index), rdc->setting.rdc_mem_region[0]);
			mmio_write_32(MREAn(rdc->index), rdc->setting.rdc_mem_region[1]);
			mmio_write_32(MRCn(rdc->index), rdc->setting.rdc_mem_region[2]);
			break;
		default:
			break;
		}

		rdc++;
	}
}
相关推荐
小张不嚣张꒰ঌ(˚ᆺ˚)໒꒱38 分钟前
Centos7在yum当中遇到Could not resolve host: mirrorlist.centos.org解决方案
linux·运维·服务器·centos
Sally璐璐40 分钟前
CentOS企业级文件服务器终极部署指南
linux·服务器·centos
岁月玲珑40 分钟前
【如何判断Linux系统是Ubuntu还是CentOS】
linux·ubuntu·centos
梅孔立41 分钟前
yum update 报错 Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64 等解决办法
linux·python·centos
ldj202041 分钟前
Centos 安装Jenkins
java·linux
Sca_杰44 分钟前
centos指令
linux·运维·centos
几道之旅1 小时前
centos 7 安装NVIDIA Container Toolkit
linux·运维·centos
DuelCode1 小时前
Windows VMWare Centos Docker部署Nginx并配置对Springboot应用的访问代理
linux·运维·服务器
数据智能老司机1 小时前
Linux内核编程——网络驱动程序
linux·架构·操作系统
myloveasuka1 小时前
信号操作集函数
linux·运维·服务器·c语言·c++·vscode