Skip to content

# 13.3. 全局时间源配置

由于当前系统中存在多个timeline，比如systime、phc、rtc 等，而各个模块支持选择不同的timeline来打印各自的时间戳，为了统一各个模块的日志中时间戳的timeline，添加了一个hb_systime的模块，来统一系统各个模块的timeline的选择。该模块实现的具体功能如下：

1. 解析dts里默认的timeline的配置，如下：

    globaltime: globaltime {
        compatible = "hobot,globaltime";
        globaltime = <2>;         /* 0-systime, 1-phc, 2-rtc */
        status = "okay";
    };

其中dts中 globaltime 属性表示系统默认用的全局timeline，J6X 默认使用RTC时间。对应关系如下：

    0:systime
    1:phc
    2:rtc

2. 向应用层提供/sys接口用来设置或者获取当前系统全局的timeline的选择，命令如下：

查看当前系统全局的timeline的配置：

    cat /sys/devices/platform/soc/soc:globaltime/globaltime

设置系统全局timeline的选项：

    echo 0 >/sys/devices/platform/soc/soc:globaltime/globaltime
    或
    echo 1 >/sys/devices/platform/soc/soc:globaltime/globaltime
    或
    echo 2 >/sys/devices/platform/soc/soc:globaltime/globaltime

3. 向内核其他模块提供接口，查看当前系统用的哪个timeline，如下：

    int32_t hobot_get_global_time_type(uint32_t *global_time_type);