MA35D1平台上KSZ8795 SWITCH 晶片的調試

關鍵字 :ma35d1ksz8795晶片調試

在工業網關項目中,新唐ma35d1選擇搭配microchip ksz8795 4+1 swtich 晶片,其調試過程及結果如下:

工業網關項目使用新唐ma35d1 buildroot sdk 包,linux5.10。

1.驅動配置:在linux5.10s上,配置ksz8795 的驅動,使用dsa架構。

輸入命令make linux-menuconfig,按如下路徑配置:

2. dts配置:因硬體上使用rmii+spi的連接方式,所以,其dts的配置如下:

&gmac1 {
status = "okay";
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gmac1>;
};

&spi0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_spi0>;

#address-cells = <1>;
#size-cells = <0>;

ksz8795: ksz8795@0 {
compatible = "microchip,ksz8795";
reg = <0>;

//PN3
interrupt-parent = <&gpion>;
interrupts = <3 IRQ_TYPE_LEVEL_LOW>;

//reset PN2
reset-gpios = <&gpion 2 GPIO_ACTIVE_LOW>;

//spi-max-frequency = <30000000>;
spi-max-frequency = <10000000>; //10M

spi-cpha;
spi-cpol;
status = "okay";

ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
label = "lan1";
phy-handle = <&swphy0>;
phy-mode = "internal";
};
port@1 {
reg = <1>;
label = "lan2";
phy-handle = <&swphy1>;
phy-mode = "internal";
};
port@2 {
reg = <2>;
label = "lan3";
phy-handle = <&swphy2>;
};
port@3 {
reg = <3>;
label = "lan4";
phy-handle = <&swphy3>;
};
port@4 {
reg = <4>;
phy-mode = "rmii";

ethernet = <&gmac1>;
fixed-link {
speed = <100>;
full-duplex;
/* MAC can only receive PAUSE frames. */
pause;
asym-pause;
};
};
};
mdio {
#address-cells = <1>;
#size-cells = <0>;
swphy0: ethernet-phy@0 {
reg = <0>;
};
swphy1: ethernet-phy@1 {
reg = <1>;
};
swphy2: ethernet-phy@2 {
reg = <2>;
};
swphy3: ethernet-phy@3 {
reg = <3>;
};
};
};
};​


3. 編譯代碼ok後 燒錄到板子測試。 在串口終端里進入 /sys/bus/mdio_bus/devices下應該可以看到相應的dsa* 信息。

可以看到,列印的log中應該顯示正確的相關驅動信息。

然而,在ifconfig lan0 up 或 udhcpc -i lan0後卻顯示如下錯誤:

4. 查找錯誤原因:

從上述log看,應該是rmii接口的問題,首先查看rmii 的clk, 並發現X5 25Mhz的晶振不起振。

繼續檢查發現是 ma35d1的rmii接口時鐘只有輸入,沒有輸出,而原本設計的是ma35d1的rmii接口時鐘來自本身的。

5. 解決方案,將rmii的時鐘設置成來自ksz8975即可。把相應的模式修改來,改成ksz8795的外部時鐘。

修改相關跳線電阻和時鐘連線。重新測試ksz8975外部晶振就起振了,rmii上的時鐘線有時鐘波形了。

6. 串口終端上輸入udhcpc後能夠爭取獲取到ip.  ping www.baidu.com,能正確聯網。

調試OK,完畢!

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★博文作者未開放評論功能