MT7628AN 使用SPI的CS1接SD卡问题
大家好,最近项目准备用mt7628的方案,发现一个比较纠结的问题,SD卡与网口有复用,正好还需要用到多个网口;
SD卡只能用spi连接了,spi的cs0连接了spi flash,所以只能用spi的cs1,
现在的问题是sd卡一直识别不了,连不上;
麻烦大家帮看下:
cs1也是复用引脚,这个已经配置了,还有就是dts里的配置,接下来贴给大家看下,帮看看问题:
pinctrl {
compatible = "ralink,rt2880-pinmux";
pinctrl-names = "default";
pinctrl-0 = <&state_default>;
state_default: pinctrl0 {
};
spi_pins: spi {
spi {
ralink,group = "spi";
ralink,function = "spi";
};
};
//复用配置在此
spi_cs1_pins: spi_cs1 {
spi_cs1 {
ralink,group = "spi cs1";
ralink,function = "spi cs1";
};
};
spi@b00 {
compatible = "ralink,mt7621-spi","ralink,rt5350-spi";
reg = <0xb00 0x100>;
resets = <&rstctrl 18>;
reset-names = "spi";
#address-cells = <1>;
#size-cells = <1>;
pinctrl-names = "default";
pinctrl-0 = <&spi_pins>;
status = "disabled";
};
配置cs1连接sd卡,m25p80是flash,后面是我添加的mmc_spi:
palmbus@10000000 {
spi@b00 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&spi_pins>, <&spi_cs1_pins>;
m25p80@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "mx25l25635e";
reg = <0 0>;
linux,modalias = "m25p80", "mx25l25635e";
spi-max-frequency = <40000000>;
m25p,chunked-io = <31>;
partition@0 {
label = "u-boot";
reg = <0x0 0x30000>;
read-only;
};
partition@30000 {
label = "u-boot-env";
reg = <0x30000 0x10000>;
};
factory: partition@40000 {
label = "factory";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
label = "firmware";
reg = <0x50000 0x1fb0000>;
};
};
mmc_spi@1 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "mmc-spi-slot";
reg = <1 0>;
linux,modalias = "mmc_spi", "mmc-spi-slot";
spi-max-frequency = <25000000>;
spi-cpol = <0>;
spi-cpha = <0>;
status = "okay";
};
};
内核配置也都选上了,
启动时,会打印:
[ 0.760000] mmc_spi spi32766.1: OF: voltage-ranges unspecified
[ 0.770000] mmc_spi spi32766.1: ASSUMING 3.2-3.4 V slot power
[ 0.820000] mmc_spi spi32766.1: SD/MMC host mmc0, no WP, no poweroff
但是dev下面没有节点,
查看调试信息
cat /sys/kernel/debug/mmc0/ios
clock: 0 Hz
vdd: 0 (invalid)
bus mode: 2 (push-pull)
chip select: 1 (active high)
power mode: 0 (off)
bus width: 0 (1 bits)
麻烦大家帮看下!!感激不尽!
timing spec: 0 (legacy)
signal voltage: 1 (3.30 V)