3回答

0收藏

rico board 网络部分(测试二)

#线上活动 #线上活动 3115 人阅读 | 3 人回复 | 2015-09-10

1. 拿到板子,想先看下网络部分的代码,看了原理图,用的是KSZ9031芯片,micrel公司的。
2. 解压板子的内核代码,进入相应目录,我用了 find -name *ksz*,最后没搜到KSZ9031,搜到的是KSZ884X,看目录结构,这俩芯片都是同一家公司的。
3. 直接进入C文件,ksz884x.c这个文件代码7000多行,看着也是麻烦,文件开始是宏定义
4. 找到结构体,应该是和芯片有关的参数,我估计修改同类芯片可能会用到这个结构体
struct ksz_hw {
        void __iomem *io;

        struct ksz_switch *ksz_switch;
        struct ksz_port_info port_info[SWITCH_PORT_NUM];
        struct ksz_port_mib port_mib[TOTAL_PORT_NUM];
        int dev_count;
        int dst_ports;
        int id;  // 这个应该就是芯片的ID。
        int mib_cnt;
        int mib_port_cnt;

        u32 tx_cfg;
        u32 rx_cfg;
        u32 intr_mask;
        u32 intr_set;
        uint intr_blocked;

        struct ksz_desc_info rx_desc_info;
        struct ksz_desc_info tx_desc_info;

        int tx_int_cnt;
        int tx_int_mask;
        int tx_size;

        u8 perm_addr[ETH_ALEN];
        u8 override_addr[ETH_ALEN];
        u8 address[ADDITIONAL_ENTRIES][ETH_ALEN];
        u8 addr_list_size;
        u8 mac_override;
        u8 promiscuous;
        u8 all_multi;

5. 以上问题,有问题,请指出



1.jpg (81.87 KB, 下载次数: 56)

1.jpg

3.jpg (35.76 KB, 下载次数: 66)

3.jpg

4.jpg (105.02 KB, 下载次数: 49)

4.jpg
分享到:
回复

使用道具 举报

回答|共 3 个

倒序浏览

沙发

znning

发表于 2015-9-11 14:08:32 | 只看该作者

高手,文章多多益善!
板凳

bjflsk

发表于 2015-9-29 21:34:32 | 只看该作者

学习,共同研究。
地板

JUNIC

发表于 2015-10-2 11:17:18 | 只看该作者

不错,学习了
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条