OST操作系统时钟
模块功能介绍
OST是操作系统时钟,分为global ost和core ost。global ost是一个64bit的计数时钟,用于操作系统计时功能。core ost是每个核有一个的32bit时钟,用于生成操作系统的时间片。
驱动位置
驱动源码所在位置:
module_drivers/drivers/clocksource/
设备树配置
设备树所在位置:
kernel内核(version <= 5.10)dts文件路径:
module_driver/dts-stage/x2000/x2000.dtsi
kernel内核(version > 5.10)dts文件路径:
module_driver/dts/x2000/x2000.dtsi
OST控制器描述:
core_ost: core-ost@0x12000000 {
compatible = "ingenic,core-ost";
reg = <0x12000000 0x10000>, /*Global ost*/
<0x12100000 0x10000>; /*Core ost*/
interrupt-parent = <&cpuintc>;
interrupt-names = "sys_ost";
interrupts = <CORE_SYS_OST_IRQ>;
cpu-ost-map = <0 0x000>,
<1 0x100>;
};
设备树默认配置
默认编译会产生ost设备。
设备树自定义配置
内核编译配置
内核配置CLKSRC_INGENIC_CORE_OST,配置说明如下:
Symbol: CLKSRC_INGENIC_CORE_OST [=y]
Type : bool
Defined at module_drivers/drivers/clocksource/Kconfig:8
Prompt: Core OST clocksource.
Depends on: SOC_X2000 [=y] || SOC_M300 [=n] || SOC_X2100 [=n] || SOC_X2500 [=n]
Location:
-> Ingenic device-drivers Configurations
-> [OST] clocksoure Drivers
Selects: CLKSRC_OF
Selected by [y]:
- SOC_X2000 [=y] && <choice>
Selected by [n]:
- SOC_X2500 [=n] && <choice>
- SOC_M300 [=n] && <choice>
- SOC_X2100 [=n] && <choice>
内核默认编译配置
内核默认配置ost驱动
内核自定义编译配置
设备节点生成
/sys/devices/system/clocksource
global ost节点
/sys/devices/system/clockevents
core ost节点