RK3588+TRL8367s 四网口千兆交换机调试

0.本文主要记录开机发程过程,默认你已经熟悉RGMII/SGMII等相关概念,如果不熟悉,请自行ChatGPT解决。

1.本案使用rtl8367s,同样兼容于rtl8367sc;

realtek的8367系列比较多,至少分为以下几个型号:

5个UTP口(内置PHY)+2个EXT口(GMAC),EXT口可以做RGMII/RMII/HSGMII/SGMII。

具体型号可以通过读取chipID和version来确认:

if((retVal = rtl8367d_setAsicReg(unit, 0x13C2, 0x0249)) != RT_ERR_OK)

        return retVal;

    if((retVal = rtl8367d_getAsicReg(unit, 0x1300, &data)) != RT_ERR_OK)

        return retVal;

    if((retVal = rtl8367d_getAsicReg(unit, 0x1301, &regValue)) != RT_ERR_OK)

        return retVal;

    if((retVal = rtl8367d_setAsicReg(unit, 0x13C2, 0x0000)) != RT_ERR_OK)

        return retVal;

1.1:读取chipID:

     先写入magic数,然后从0x1300为chipID;

1.2: 读取version:

     从0x1301为silon的version;

2.通讯方式及dts配置:

2.1. mdio通讯方式;

要求kernel版本不低于5.10:

dts配置如下:

&mdio0 {
   status = "okay";
        /delete-node/ phy@0;
        switch: switch@0 {
        compatible = "realtek,rtl8367s";
        reset-gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>;
        ldo-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
        realtek,disable-leds;
        reg = <0>;
        dsa,member = <0 0>;
        switch_intc: interrupt-controller {
                /* GPIO 15 provides the interrupt */
                interrupt-parent = <&gpio3>;
                interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
                interrupt-controller;
                #address-cells = <0>;
                #interrupt-cells = <1>;
        };

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值