支持热插拔
需要确认如下&mmc1节点中一定不能有non-removable这个属性节点。
/kernel-3.18/arch/arm64/boot/dts/Project_Name.dts
&mmc1 {
clk_src = /bits/ 8 ;
bus-width = ;
max-frequency = ;
msdc-sys-suspend;
cap-sd-highspeed;
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr50;
sd-uhs-sdr104;
sd-uhs-ddr50;
pinctl = <&mmc1_pins_default>;
pinctl_sdr104 = <&mmc1_pins_sdr104>;
pinctl_sdr50 = <&mmc1_pins_sdr50>;
pinctl_ddr50 = <&mmc1_pins_ddr50>;
register_setting = <&mmc1_register_setting_default>;
host_function = /bits/ 8 ;
cd_level = /bits/ 8 ;
cd-gpios = <&pio 5 0>;
/*non-removable;*/
status = "okay";
};
二、请确认插入和拔出sdcard中断Pin状态
- 未插入sdcard和插入sdcard的时候相比,中断Pin的电压状态是否有高低变化,如没有变化,请硬件人员检查硬件。
- 检查中断Pin在拉高的状态下,电压高度是否满足设计要求,例如拉高状态中断Pin电压应为1.8V,实际测量是否可以达到1.8V
- 1、未插卡中断Pin是高电平,插入卡中断Pin是低电平
- cd_level = /bits/ 8 <MSDC_CD_LOW>;2、未插卡中断Pin是低电平,插入卡中断Pin是高电平
cd_level = /bits/ 8 <MSDC_CD_HIGH>