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

【NXP i.MX6ULL 使用】IMX6Y2C-512M-EMMC 设备树配置文档

文章目录

  • i.MX6ULL核心模块配置详解
    • CPU配置
    • 内存配置
    • 存储控制器配置
      • eMMC控制器
      • SD卡控制器
    • 网络接口配置
    • 串口配置
      • 控制台串口
      • RS485串口
    • GPIO配置
      • LED控制
      • 按键配置
    • 看门狗配置

i.MX6ULL核心模块配置详解

CPU配置

&cpu0 {
    clock-frequency = <792000>;  // 主频配置为792MHz
};

说明:

  • 配置CPU运行频率为792MHz
  • 这是一个比较均衡的频率选择,兼顾性能和功耗

内存配置

memory {
    reg = <0x80000000 0x20000000>;  // 512MB内存
};

reserved-memory {
    linux,cma {
        compatible = "shared-dma-pool";
        reusable;
        size = <0x4000000>;         // 64MB CMA
        linux,cma-default;
    };
};

说明:
系统内存

  1. 起始地址:0x80000000
    大小:512MB
    这是可用的物理内存空间
  2. CMA预留内存
    大小:64MB
    用途:DMA操作,如显示、摄像头等
    特性:可重用,动态分配

存储控制器配置

eMMC控制器

&usdhc2 {
    pinctrl-names = "default", "state_100mhz", "state_200mhz";
    pinctrl-0 = <&pinctrl_usdhc2_8bit>;
    pinctrl-1 = <&pinctrl_usdhc2_8bit_100mhz>;
    pinctrl-2 = <&pinctrl_usdhc2_8bit_200mhz>;
    bus-width = <8>;                // 8位数据线
    non-removable;                  // 固定设备
    status = "okay";
};

说明:

  • 支持多种速度模式:默认、100MHz、200MHz
  • 8位数据总线,提供更高传输性能
  • 固定设备,无需卡检测
  • 针对不同速度模式有专门的引脚配置

SD卡控制器

&usdhc1 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_usdhc1>;
    cd-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;    // 卡检测
    wp-gpios = <&gpio1 18 GPIO_ACTIVE_HIGH>;   // 写保护
    keep-power-in-suspend;                     // 休眠保持供电
    enable-sdio-wakeup;                        // 支持SDIO唤醒
    status = "okay";
};

说明:

  • 支持卡检测和写保护功能
  • 支持低功耗模式
  • 支持SDIO设备唤醒系统

网络接口配置

&fec1 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_enet1>;
    phy-mode = "rmii";                     // RMII模式
    phy-reset-gpios = <&gpio5 3 0>;        // PHY复位引脚
    phy-handle = <&ethphy0>;               // PHY设备句柄
    status = "okay";
};
&fec2 {
    // ... 基本配置同fec1 ...
    mdio {
        #address-cells = <1>;
        #size-cells = <0>;

        ethphy0: ethernet-phy@1 {
            compatible = "ethernet-phy-id2000.5ca0";
            reg = <1>;                      // PHY地址
        };

        ethphy1: ethernet-phy@5 {
            compatible = "ethernet-phy-id2000.5ca0";
            reg = <5>;                      // PHY地址
        };
    };
};

说明:

  • 双以太网接口,均采用RMII模式
  • 每个接口都有独立的PHY和复位控制
  • MDIO总线配置用于PHY通信
  • PHY地址分别为1和5

串口配置

控制台串口

&uart1 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_uart1>;
    status = "okay";
};

RS485串口

&uart2 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_uart2>;
    txen-gpios =<&gpio5 7 0>;      // RS485方向控制
    dmas=<>;                        // 禁用DMA
    dma-name="";
    status = "okay";
};

说明:

  • UART1作为系统控制台
  • UART2-8支持RS485模式
  • 移除DMA支持以提高稳定性
  • 每个RS485接口都有独立的方向控制引脚

GPIO配置

LED控制

leds {
    compatible = "gpio-leds";
    green-led {
        label = "led-run";
        gpios = <&gpio4 16 1>;
        linux,default-trigger = "heartbeat";    // 心跳模式
    };
    red-led {
        label = "led-err";
        gpios = <&gpio4 14 1>;
        default-state = "keep";                 // 保持状态
    };
};

按键配置

gpio-keys {
    compatible = "gpio-keys";
    user-button {
        label = "User button";
        gpios = <&gpio3 1 GPIO_ACTIVE_LOW>;     // 低电平触发
        linux,code = <BTN_MISC>;                // 按键编码
        wakeup-source;                          // 支持唤醒
    };
};

看门狗配置

watchdog: watchdog {
    compatible = "cat82x-gpio-wdt";
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_wdt>;
    gpios = <&gpio5 0 0>;          // 控制引脚
    hw_margin_ms = <700>;          // 超时时间
};

说明:

  • 使用GPIO控制的硬件看门狗
  • 700ms超时时间
  • 超时后硬件复位系统

http://www.kler.cn/a/543913.html

相关文章:

  • UNITY计算fps时应忽略掉time.timescale的影响
  • 分发饼干(力扣455)
  • 2025 年前端开发现状分析:卷疯了还是卷麻了?
  • 深度学习入门--python入门1
  • 使用C语言实现MySQL数据库的增删改查操作指南
  • 计算机毕业设计——Springboot的疫情网课管理系统
  • Windows上在Qt中快速配置OpenCV库(最简单教程)
  • ffmpeg所有版本下载地址
  • PyTorch Lightning LightningDataModule 介绍
  • 【Linux】nmcli命令详解
  • 2025.1.8(qt图形化界面之消息框)
  • Win10环境借助DockerDesktop部署最新MySQL9.2
  • JVM速成=。=
  • 【java】java学习笔记之java 进阶
  • CCF-CSP第34次认证第二题——矩阵重塑(其二)【需反复思考学习!!!】
  • DeepSeek 模型的本地部署指南
  • Ubuntu 上安装和配置 Nexus Repository Manager
  • 相机模数转换
  • AWTK-WEB 快速入门(4) - JS Http 应用程序
  • 关于 IoT DC3 中设备(Device)的理解
  • 使用Node.js进行串口通信
  • 力扣-二叉树-144.145. 94 前、后、中序遍历,
  • 【力扣 - 简单题】88. 合并两个有序数组
  • MySQL中的覆盖索引的使用
  • 用AI绘制CAD气温曲线图
  • 【大语言模型】最新ChatGPT、DeepSeek等大语言模型助力高效办公、论文与项目撰写、数据分析、机器学习与深度学习建模等科研应用