RK3568平台(平台总线篇) Platform设备驱动

一.简介

在Linux内核中,提出了驱动的分离和分层这样的软件思路,

一个现实的Linux设备和驱动通常都需要挂接在一种总线上,对于本身依附于PCI、USB、I2C、SPI等的设备而言,这自然不是问题,但是在嵌入式系统里面,在SoC系统中集成的独立外设控制器、挂接在SoC内存空间的外设等却不依附于此类总线。基于这一背景,Linux发明了一种虚拟的总线,称为platform总线,相应的设备称为platform_device,而驱动成为platform_driver。

platform总线模型是Linux内核虚拟出来的一条总线,不是真实的导线。平台总线模型就是把原来的驱动C文件给分成了两个C文件,一个是device.c,一个是driver.c把稳定不变的放在driver.c里面,需要变得就放在了device.c里面。

二.设备树下的Platform设备

Linux系统中platform平台框架包括总线、设备和驱动,其中总线不用我们去操心,Linux内核中会自动管理,我们只需要关心设备和驱动如何实现。

在设备树下添加一个属性节点:

tshhwctrl:tshhwctrl {
		compatible = "tsh,tshhwctrl";
		pinctrl-names = "default";
		pinctrl-0 = <&

你可能感兴趣的:(瑞芯微,linux,运维,服务器)