我之前曾在ARM特定平台驱动程序上工作,最近转向基于Intel Atom。在ARM上,曾经有arch/arm/boot/dts/xx.dts
和arch/arm/mach-xx/
用于添加平台设备。我没有在x86上看到这些文件或文件夹。当我进入arch/x86/...
时,没有dts文件或平台文件。
如果我想将平台设备添加到Intel Atom平台,我如何添加平台设备信息?我在哪里可以获得特定于x86的dts文件(假设即使dts不是特定的任何架构)?
答案 0 :(得分:7)
有两个新功能允许您同时拥有一个用于x86和ARM世界的驱动程序。首先是ACPI中的_DSD方法,它允许供应商提供使IP正常工作所需的任何设备属性。第二部分是Linux内核中的统一设备属性接口(查看 drivers / base / property.c )。因此,如果您的设备需要让我们说clock-frequency
属性,您只需在驱动程序中写入如下内容:
u32 clock_freq;
int err;
err = device_property_read_u32(…, &clock_freq);
if (err)
dev_err(…, "A mandatory property not found!\n");