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

Linux-pcie ranges介绍

参考链接:https://elinux.org/Device_Tree_Usage#PCI_Host_Bridge

在这里插入图片描述

pcie bar高低端BAR起始地址介绍

在这里插入图片描述

pcie设备树节点

/ {compatible = "rockchip,rk3588";interrupt-parent = <&gic>;#address-cells = <2>;#size-cells = <2>;pcie3x4: pcie@fe150000 {compatible = "rockchip,rk3588-pcie", "snps,dw-pcie";#address-cells = <3>;#size-cells = <2>;bus-range = <0x00 0x0f>;clocks = <&cru ACLK_PCIE_4L_MSTR>, <&cru ACLK_PCIE_4L_SLV>,<&cru ACLK_PCIE_4L_DBI>, <&cru PCLK_PCIE_4L>,<&cru CLK_PCIE_AUX0>, <&cru CLK_PCIE4L_PIPE>;clock-names = "aclk_mst", "aclk_slv","aclk_dbi", "pclk","aux", "pipe";device_type = "pci";interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>,<GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>,<GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>,<GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,<GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>;interrupt-names = "sys", "pmc", "msg", "legacy", "err";#interrupt-cells = <1>;interrupt-map-mask = <0 0 0 7>;interrupt-map = <0 0 0 1 &pcie3x4_intc 0>,<0 0 0 2 &pcie3x4_intc 1>,<0 0 0 3 &pcie3x4_intc 2>,<0 0 0 4 &pcie3x4_intc 3>;linux,pci-domain = <0>;num-ib-windows = <16>;num-ob-windows = <16>;num-viewport = <8>;max-link-speed = <3>;msi-map = <0x0000 &its1 0x0000 0x1000>;num-lanes = <4>;phys = <&pcie30phy>;phy-names = "pcie-phy";power-domains = <&power RK3588_PD_PCIE>;ranges = <0x00000800 0x0 0xf0000000 0x0 0xf0000000 0x0 0x1000000x81000000 0x0 0xf0100000 0x0 0xf0100000 0x0 0x1000000x82000000 0x0 0xf0200000 0x0 0xf0200000 0x0 0xe000000xc3000000 0x9 0x00000000 0x9 0x00000000 0x0 0x40000000>;reg = <0x0 0xfe150000 0x0 0x10000>,<0xa 0x40000000 0x0 0x400000>;reg-names = "pcie-apb", "pcie-dbi";resets = <&cru SRST_PCIE0_POWER_UP>, <&cru SRST_P_PCIE0>;reset-names = "pcie", "periph";rockchip,pipe-grf = <&php_grf>;status = "disabled";pcie3x4_intc: legacy-interrupt-controller {interrupt-controller;#address-cells = <0>;#interrupt-cells = <1>;interrupt-parent = <&gic>;interrupts = <GIC_SPI 260 IRQ_TYPE_EDGE_RISING>;};};
};ranges = <子节点#address-cells 父节点#address-cells 子节点#size-cells>;
ranges = <3个字长(32位) 2个字长(32位) 2个字长(32位)>;
ranges = <0x00000800 0x0 0xf0000000 0x0 0xf0000000 0x0 0x100000 //表示外设配置空间,将PCIE地址0xf0000000大小1MB映射到CPU地址0xf0000000上。0x81000000 0x0 0xf0100000 0x0 0xf0100000 0x0 0x100000	//表示I/O空间,将PCIE地址0xf0100000大小1MB映射到CPU地址0xf0100000上。0x82000000 0x0 0xf0200000 0x0 0xf0200000 0x0 0xe00000	//表示32位内存空间,将PCIE地址0xf0200000大小14MB映射到CPU地址0xf0200000上。0xc3000000 0x9 0x00000000 0x9 0x00000000 0x0 0x40000000>;	//表示64位内存空间,将PCIE地址0x900000000大小1GB映射到CPU地址0x900000000上。

保留内存

reserved-memory {#address-cells = <2>;#size-cells = <2>;ranges;dma_trans: dma-trans@3c000000 {reg = <0x0 0x3c000000 0x0 0x04000000>;};/* Reserve 256MB memory for hdmirx-controller@fdee0000 */cma {compatible = "shared-dma-pool";reusable;reg = <0x0 (256 * 0x100000) 0x0 (256 * 0x100000)>;linux,cma-default;};pcie3x4_range: pcie3x4-range@30000000 {reg = <0x0 0xdfe00000 0x0 0x10200000>; //定义一个名为 pcie3x4_range 的 PCIe 设备,其内存映射从地址 0xdfe00000 开始,大小为 0x10200000 字节,映射到目标地址区域 0x30000000。};
};
http://www.lryc.cn/news/2392875.html

相关文章:

  • ⭐ Unity AVProVideo插件自带播放器 脚本重构 实现视频激活重置功能
  • 互联网大厂Java求职面试:云原生微服务架构设计与AI大模型集成实战
  • 详解K8s API Server 如何处理请求的?
  • 微调数据处理
  • ✨1.1.1 按位与运算替代求余运算优化场景
  • 解决开发者技能差距:AI 在提升效率与技能培养中的作用
  • XCTF-web-easyphp
  • Transformer 通关秘籍11:Word2Vec 及工具的使用
  • 【DAY34】GPU训练及类的call方法
  • Flutte ListView 列表组件
  • muduo库的初步认识和基本使用,创建一个简单查询单词服务系统
  • 电脑如何保养才能用得更久
  • Oracle的NVL函数
  • 【HTML/CSS面经】
  • git查看commit属于那个tag
  • 如何从ISO镜像直接制作Docker容器基础镜像
  • 网站缓存入门与实战:浏览器与Nginx/Apache服务器端缓存,让网站速度起飞!(2025)
  • mysql-mysql源码本地调试
  • PCIe— Legacy PCI
  • PostgreSQL数据库配置SSL操作说明书
  • MySQL 的 super_read_only 和 read_only 参数
  • 低碳理念在道路工程中的应用-预制路面
  • 12-后端Web实战(登录认证)
  • TIDB创建索引失败 mkdir /tmp/tidb/tmp_ddl-4000/1370: no such file or directory.
  • Redis 插入中文乱码键
  • Mac OS 使用说明
  • 4.2.2 Spark SQL 默认数据源
  • 234. Palindrome Linked List
  • 广州邮科高频开关电源:以创新科技赋能通信能源绿色未来
  • day41 python图像识别任务