内核配置

您可以通过以下内核配置选项来管理MCA驱动程序支持:

  • Digi微控制器辅助ConnectCore 8 somCONFIG_MFD_MCA_CC8

该选项支持MCA的核心功能,默认情况下作为内置选项启用ConnectCore 8M Nano内核配置文件

每个多功能驱动程序都实现了自己的内核选项。

内核驱动程序

MCA核心驱动位于:

文件 描述

司机/打码/ mca-cc8-core.c

ConnectCore 8soms MCA核心驱动

司机/打码/ mca-cc8-i2c.c

ConnectCore 8soms MCA I2C通信驱动

司机/打码/ mca-cc8-irq.c

ConnectCore 8soms MCA中断驱动程序

设备树绑定和自定义

MCA通过i.MX8M Nano CPU的I2C1口连接:

ConnectCore 8M纳米器件树
&i2c1 {McA_cc8m: McA@63 {compatible = "digi,mca-cc8m";Reg = <0x63>;Interrupt-parent = <&gpio3>;interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;中断控制器;#interrupt-cells = <2>;fw-update-gpio = <&gpio1 4 GPIO_ACTIVE_LOW>;Pinctrl-names = "default";pintrl -0 = <& pintrl_mca_cc8m >;… }; };
MCA设备树节点对于它支持的每个多功能驱动程序都有一个子节点。

系统状态寄存器

MCA通过sysfs提供复位和唤醒事件原因的状态信息。

重启原因

Linux提供了导致MCA微控制器和i.MX8M Nano处理器复位的信息。

MCA固件版本0.04及更高版本支持此功能。你可以使用sysinfo命令来检查您的MCA固件版本。

MCA单片机

使用以下命令显示上次MCA重置时标记的事件原因:

cat /sys/bus/i2c/devices/0-0063/last_mca_reset低电压,上电
last_mca_reset价值 描述

会唤醒

低泄漏唤醒

低电压

VCC_MCA电压低

监管机构

内部MCA看门狗复位

复位销

复位引脚断言

上电

通电状态

注意,可以同时发出多个值的信号。

i.MX8M纳米处理器

使用以下命令显示上次i.MX8M Nano复位时标记的事件原因:

cat /sys/bus/i2c/devices/0-0063/last_mpu_reset上电
last_mpu_reset价值 描述

上电

通电状态

系统复位

系统复位(系统调用)

监管机构

看门狗驱动复位

去唤醒

从断电状态中唤醒

MCA重置

MCA复位(内部看门狗)触发主控板复位

起床的原因

Linux提供了有关哪个MCA接口从低功耗(挂起或关机)唤醒系统的信息。

  • 状态寄存器只包括MCA控制的唤醒源。如果CPU被一个不受MCA控制的外设唤醒,状态寄存器将显示唤醒源为CPU,而不管实际的唤醒源是什么。

  • 唤醒原因只有当硬币电池连接到设备时才会正确报告,当主电源被移除。

使用以下命令读取最后一次ConnectCore 8M Nano唤醒原因:

cat /sys/bus/i2c/devices/0-0063/last_wakeup_reason电源IO
last_wakeup_reason价值 描述

电源输入输出

电源IO引脚。通常接在电源按钮上

计时器

内部MCA定时器

清债信托公司

实时时钟闹钟

LP UART

MCA UART

篡改0,篡改1,篡改2,篡改3

数字/模拟篡改接口

Io0、io1、io2、io3、io4、io9、io10、io11、io12、io13、io14、io15、io16、io17、io18、io19

数字/模拟IO引脚(配置为数字中断或模拟比较器)

Vcc

Vcc检测中断

CPU

其他CPU或PMIC中断

MCA固件版本0.04及更高版本支持此功能。你可以使用sysinfo命令来检查您的MCA固件版本。

MCA NVRAM

此功能在MCA固件版本0.08及更高版本上得到支持。你可以使用sysinfo命令来检查您的MCA固件版本。

MCA提供8字节的NVRAM内存。当电路板连接到电源时,这种通用存储器可以在断电模式下保存数据,或者只有当您的电路板具有硬币电池时才没有电源。

你可以通过一个sysfs文件访问这个内存区域:/ sys /汽车/ i2c /设备/ 0 - 0063 / nvram.可以直接写入NVRAMsysfs使用以下命令创建文件:

cd / sys /汽车/ i2c /设备/ 0 - 0063 /Echo -n "12345678" > nvram

您可以使用以下命令读取内容内存:

Hexdump -c nvram 0000000 1 2 3 4 5 6 7 8 0000008

如果这些值是可打印的,您还可以使用以下命令读取它们

Cat nvram 12345678

外部32.768 kHz输出

可以将pad MCA_CLKOUT32K配置为输出32.768 kHz信号,用于对外部外设进行时钟处理。该功能由一个sysfs条目控制。在MCA_CLKOUT32K板上启用32.768 kHz信号:

启用Echo的> /sys/bus/i2c/devices/0-0063/ext_32khz

禁用它:

> /sys/bus/i2c/devices/0-0063/ext_32khz

读取pad的当前状态。

禁用Cat /sys/bus/i2c/devices/0-0063/ext_32khz

基准电压1.2 V

您可以配置pad MCA_VREF_OUT以输出稳定的温度补偿1.2 V输出,作为外部外设的参考电压。

您可以使用此信号作为MCA ADC信号的参考电压。看到模数转换器(ADC)了解更多信息。

该功能由一个sysfs条目控制。使能MCA_VREF_OUT板上的参考电压。

启用Echo的> /sys/bus/i2c/devices/0-0063/vref

禁用它:

Echo disabled > /sys/bus/i2c/devices/0-0063/vref

读取pad的当前状态。

Cat /sys/bus/i2c/devices/0-0063/vref disabled
如果将MCA ADC配置为使用内部1.2 V基准电压,则MCA_VREF_OUT pad会自动输出信号,sysfs控制不起作用。

SOM启动模式配置

MCA固件版本0.09及更高版本支持此功能。你可以使用sysinfo命令来检查您的MCA固件版本。它还要求mca_config_tool1.14或更高版本用于配置。

MCA可以配置为以两种不同的方式引导SOM:

  • W4PK(等待电源键):直到MCA PWR_IO线被断言为低电平时,系统才启动。这条线通常连接到电源按钮。

  • BOP (boot on power): SOM上电后自动启动。这是默认模式。

此功能可以使用mca_config_tool——boot_mode论点。

看到MCA配置工具有关此工具和功能的其他信息。

安全系统重启和关机

执行一个可控和安全的软件重启顺序:

  • 运行Reboot_safe [-t ]从命令行。它指示MCA在超时(以秒为单位)后强制系统重新启动。默认超时时间为30秒<超时>参数未定义。

执行一个可控和安全的软件下电顺序:

  • 运行Poweroff_safe [-t ]从命令行。它指示MCA在超时(以秒为单位)后强制系统下电。默认超时时间为30秒<超时>参数未定义。