broken-cd 表示没有热插拔探测引脚,使用轮询检测
cd-gpios 使用gpio管脚作为热插拔探测引脚
non-removable 表示不能进行热插拔,设备一直连接(比如eMMC)
上面三个选项用于指定热插拔探测选项,如果三个选项都没有指定,则使用主机自带的热插拔引脚sdcd
bus-width 数据总线位宽,默认值是<1>,也可以是<4>,<8>
wp-gpios 使用gpio管脚作为写保护引脚
max-frequency 表示mmc总线最大操作频率
cd-inverted 表示cd引脚是active high
wp-inverted 表示wp引脚是active high
no-1-8-v 该选项存在的话,表示该总线控制器不支持1.8v设备卡
(即使该控制器硬件支持1.8v设备卡)
cap-power-off-card 关闭该卡电源很安全
cap-sdio-irq 使能SDIO总线 IRQ
full-pwr-cycle 支持设备卡的整个电源周期
cap-sd-highspeed 支持SD high-speed时序
cap-mmc-highspeed 支持MMC high-speed时序
sd-uhs-sdr12 支持SD UHS SDR12 speed
sd-uhs-sdr25 支持SD UHS SDR25 speed
sd-uhs-sdr50 支持SD UHS SDR50 speed
sd-uhs-sdr104 支持SD UHS SDR104 speed
sd-uhs-ddr12 支持SD UHS DDR12 speed
mmc-ddr-1_8v 支持eMMC high-speed DDR(1.8v)
mmc-ddr-1_2v 支持eMMC high-speed DDR(1.2v)
mmc-hs200-1_8v 支持eMMC HS200 mode
mmc-hs200-1_2v 支持eMMC HS200 mode
mmc-hs400-1_8v 支持eMMC HS400 mode
mmc-hs400-1_2v 支持eMMC HS400 mode
keep-power-in-suspend 表示待机时不掉电
enable-sdio-wakeup SDIO中断发生时允许唤醒主机系统
mmc-pwrseq 指定电源上电顺序
dsr 表示卡的DSR寄存器的值[从0x00 … 0xffff]
vmmc-supply 指向regulator设备树节点
mmc控制器存在子节点时,必须指定下面两个选项
#address-cells 值必须是1
#size-cells 值必须是0
MMC子节点属性
reg 该值必须是0~7,其中0表示SD卡,1~7表示SDIO设备
比如SDIO接口的WIFI芯片
上面有两个图,都是用来定义mmc控制器节点属性
第一个图描述mmc控制器的不变属性,比如mmc控制器的寄存器地址,中断,dma通道,一般定义在.dtsi文件中
第二个图描述mmc控制器的可变属性及其子节点属性,比如mmc控制器的引脚复用情况,总线位宽,一般定义在.dts文件中
注意:一般在公用的.dtsi文件中,添加不变属性(比如reg属性,中断,dma通道),在具体板卡的 .dts文件中添加可变属性(比如GPIO使用情况,引脚复用情况),以及子结点信息,这样使得.dtsi文件和.dts文件解耦
status 表示使能该总线控制器,enable或者disable
clock-frequency 设置i2c总线频率,一般为400KHZ或者100KHZ
i2c控制器节点存在子节点时,该控制器节点必须指定下面两个选项
#address-cells 值必须是1
#size-cells 值必须是0
由于I2C子节点属性比较简单,因此不进行任何讲解
上面有两个图,都是用来定义i2c控制器节点属性
第一个描述i2c控制器的不变属性,比如i2c控制器的寄存器地址,中断,一般定义在.dtsi文件中
第二个描述子节点属性,一般定义在.dts文件中
status 表示使能该总线控制器,enable或者disable
cs-gpios 使用gpio管脚作为片选信号
num-cs 表示片选信号数量,包括原生片选信号和gpio片选信号
比如:cs-gpios = <0> <0> <&gpio1 18 GPIO_ACTIVE_LOW>
num-cs = <3>
上述spi控制器片选信号的映射关系如下图所示
spi控制器节点存在子节点时,该控制器节点必须指定下面两个选项
#address-cells 值必须是1
#size-cells 值必须是0
SPI子节点属性
spi-max-frequency 设置spi总线频率
spi-cs-high 表示spi子设备片选信号为高电平
spi-tx-bus-width 设置spi控制器输出总线位宽,默认为1(仅有一根数据线作为MOSI),QSPI(QUAD)总线位宽为4,spi-tx-bus-width = <4>
spi-rx-bus-width 设置spi控制器输入总线位宽,默认为1(仅有一根数据线作为MISO),QSPI(QUAD)总线位宽为4,spi-rx-bus-width = <4>
上图为spi控制器节点及其子节点属性:
网络phy芯片ks8995m使用cs0片选信号,spi总线频率为1MHZ
音频芯片tlv320aic26使用cs1片选信号,spi总线频率为100KHZ