qn1553512351

qn1553512351

0个粉丝

11

问答

0

专栏

0

资料

qn1553512351  发布于  2019-04-24 18:05:16
采纳率 0%
11个问答
2857

雄迈3536C改为开发板使用

   
1.uboot修改内容
  (1)FLASH(XM25QH128AHIG)
u-boot-2010.06\drivers\mtd\spi\hifmc100\hifmc_spi_nor_ids.c
static struct spi_nor_info hifmc_spi_nor_info_table[] = {
        /* name                id        id_len        chipsize(Bytes)        erasesize */

    {
                "XM25QH128AHIG", {0X20, 0X70, 0X18},3,_16M,  _64K, 3,
                {
                        &READ_STD(0, INFINITE, 20),
                        &READ_FAST(1, INFINITE, 50),
                        0
                },
                {
                        &WRITE_STD(0, 256, 50),
                        0
                },
                {
                        &ERASE_SECTOR_64K(0, _64K, 0),
                        0
                },
                &spi_driver_general,
        },

  (2)网卡的支持(AR8305)
     1)修改linux-3.18.y\arch\arm\boot\dts\hi3536c-demb.dts
        &mdio {
        ethphy: ethernet-phy@1 {
                reg = <2>;
        };
        };
2)修改文件u-boot-2010.06\include\configs\hi3536c.h
把 CONFIG_HIGMAC_PHY1_ADDR 1改为2
3)添加内容u-boot-2010.06\drivers\net\higmacv300\higmac.c
#define PHY_ID_AR8035
static int ar8031_phy_fixup(char *devname, u32 phyaddr)
{
        u16 val;

        /* To enable AR8031 output a 125MHz clk from CLK_25M */
        miiphy_write(devname, phyaddr, 0xd, 0x7);
        miiphy_write(devname, phyaddr, 0xe, 0x8016);
        miiphy_write(devname, phyaddr, 0xd, 0x4007);

        miiphy_read(devname, phyaddr, 0xe, &val);
        val &= 0xffe3;
        val |= 0x18;
        miiphy_write(devname, phyaddr, 0xe, val);

        /* introduce tx clock delay */
        miiphy_write(devname, phyaddr, 0x1d, 0x5);
        miiphy_read(devname, phyaddr, 0x1e, &val);
        val |= 0x0100;
        miiphy_write(devname, phyaddr, 0x1e, val);

        return 0;
}
#define BMCR_PDOWN                0x0800       

static int ar8035_phy_fixup(char *devname, u32 phyaddr)
{
        u16 val;

        /* Ar803x phy SmartEEE feature cause link status generates glitch,
         * which cause ethernet link down/up issue, so disable SmartEEE
         */
        miiphy_write(devname, phyaddr, 0xd, 0x3);
        miiphy_write(devname, phyaddr, 0xe, 0x805d);
        miiphy_write(devname, phyaddr, 0xd, 0x4003);

        miiphy_read(devname, phyaddr, 0xe, &val);
        miiphy_write(devname, phyaddr, 0xe, val & ~(1 << 8));

        /*
         * Enable 125MHz clock from CLK_25M on the AR8031.  This
         * is fed in to the IMX6 on the ENET_REF_CLK (V22) pad.
         * Also, introduce a tx clock delay.
         *
         * This is the same as is the AR8031 fixup.
         */
        ar8031_phy_fixup(devname,phyaddr);

        /*check phy power*/
        miiphy_read(devname, phyaddr,0x0, &val);
        if (val & BMCR_PDOWN)
                miiphy_write(devname, phyaddr, 0x0, val & ~BMCR_PDOWN);

        return 0;
}



2.kernel中修改
(1)在内核中添加flash的支持 路径:./drivers/mtd/spi-nor/spi-nor.c
    添加以下内容
    { “XM25QH128AHIG”, INFO(0x207018, 0, 64 * 1024, 256,SECT_4K)},
(3) 在menuconfig中添加ar8035的支持 勾选STM
                       
  •    STMicroelectronics devices                                                             │ │  
      │ │                       <*>     STMicroelectronics 10/100/1000 Ethernet driver                                       │ │  
      │ │                       
  •        STMMAC Platform bus support                                                        │ │  
      │ │                       
  •        STMMAC DMA arbitration scheme                                                      │ │  
      │ │                       [ ]   VIA devices                                                                            │ │  
    osdrv/opensource/kernel/linux-3.18.y/drivers/net/phy/at803x.c 文件
    if (phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID ||
                            phydev->interface == PHY_INTERFACE_MODE_RGMII) {
                    ret = phy_write(phydev, AT803X_DEBUG_ADDR,
                                    AT803X_DEBUG_SYSTEM_MODE_CTRL);
                    if (ret)
                            return ret;
                    ret = phy_write(phydev, AT803X_DEBUG_DATA,
                                    AT803X_DEBUG_RGMII_TX_CLK_DLY);
                    if (ret)
                            return ret;
                }
    修改为以上这样

  • 我来回答
    回答7个
    时间排序
    认可量排序

    qn1553512351

    0个粉丝

    11

    问答

    0

    专栏

    0

    资料

    qn1553512351 2019-04-24 18:07:43
    认可0
    现在板子已经可以正常使用,在使用过程中发现个问题,网络发生丢包,使用的时经常花屏.

    qn1553512351

    0个粉丝

    11

    问答

    0

    专栏

    0

    资料

    qn1553512351 2019-04-24 20:33:10
    认可0
    #include "hi3536c.dtsi"

    / {
            model = "Hisilicon HI3536C DEMO Board";
            compatible = "hisilicon,hi3536c";

            cpus {
                    #address-cells = <1>;
                    #size-cells = <0>;
                    enable-method = "hisilicon,hi3536c-smp";

                    cpu@0 {
                            compatible = "arm,cortex-a7";
                            device_type = "cpu";
                            clock-frequency = ;//HI3536C_FIXED_1500M
                            reg = <0>;
                    };

                    cpu@1 {
                            compatible = "arm,cortex-a7";
                            device_type = "cpu";
                            clock-frequency = ;//HI3536C_FIXED_1500M
                            reg = <1>;
                    };
            };

            memory {
                    device_type = "memory";
                    reg = <0x80000000 0x20000000>;
            };
    };

    qn1553512351

    0个粉丝

    11

    问答

    0

    专栏

    0

    资料

    qn1553512351 2019-04-24 20:41:05
    认可0
    更改 了一下系统时钟,请问更改时钟之后对其他的外设会有什么影响.

    qn1553512351

    0个粉丝

    11

    问答

    0

    专栏

    0

    资料

    qn1553512351 2019-04-24 20:44:41
    认可0
    /* mux clocks */
    #define HI3536C_SYSAXI_CLK                23
    #define HI3536C_FMC_MUX                        24
    #define HI3536C_UART_MUX                25

    /* gate clocks */
    #define HI3536C_UART0_CLK                26
    #define HI3536C_UART1_CLK                27
    #define HI3536C_UART2_CLK                28
    #define HI3536C_SPI0_CLK                29
    #define HI3536C_FMC_CLK                        30
    #define HI3536C_ETH_CLK                        31
    #define HI3536C_ETH_MACIF_CLK        32
    #define HI3536C_USB2_BUS_CLK        33
    #define HI3536C_USB2_CLK                34
    #define HI3536C_SATA_CLK                35
    #define HI3536C_ETH_PUB_CLK                36
    #define HI3536C_ETH_PHY_CLK                37
    #define HI3536C_ETH1_PHY_CLK                38
    #define HI3536C_ETH1_CLK                39
    #define HI3536C_ETH_MACIF1_CLK                40

    #define HI3536C_CRG_NR_CLKS                50
    #define HI3536C_CRG_NR_RSTS                0x200









    #define HI3536C_ETH_CLK                        31


    还有就是这个31代表什么意思呢?

    qn1553512351

    0个粉丝

    11

    问答

    0

    专栏

    0

    资料

    qn1553512351 2019-04-24 20:47:04
    认可0
    AR8035 的时钟为125M  我的这个 以太网时钟该怎么配置呢

    微信用户

    1个粉丝

    87

    问答

    0

    专栏

    3

    资料

    微信用户 2019-04-25 09:16:43
    认可0
    顶!!! 顶!!! 顶!!! 顶!!! 顶!!! 顶!!! 顶!!! 顶!!! 顶!!! 顶!!! 顶!!! 顶!!! 顶!!! 顶!!! 顶!!!

    微信用户

    1个粉丝

    87

    问答

    0

    专栏

    3

    资料

    微信用户 2019-04-25 09:18:48
    认可0
    给个淘宝连接!!  以后也玩玩
    或将文件直接拖到这里
    悬赏:
    E币
    网盘
    * 网盘链接:
    * 提取码:
    悬赏:
    E币

    Markdown 语法

    • 加粗**内容**
    • 斜体*内容*
    • 删除线~~内容~~
    • 引用> 引用内容
    • 代码`代码`
    • 代码块```编程语言↵代码```
    • 链接[链接标题](url)
    • 无序列表- 内容
    • 有序列表1. 内容
    • 缩进内容
    • 图片![alt](url)
    + 添加网盘链接/附件

    Markdown 语法

    • 加粗**内容**
    • 斜体*内容*
    • 删除线~~内容~~
    • 引用> 引用内容
    • 代码`代码`
    • 代码块```编程语言↵代码```
    • 链接[链接标题](url)
    • 无序列表- 内容
    • 有序列表1. 内容
    • 缩进内容
    • 图片![alt](url)
    举报反馈

    举报类型

    • 内容涉黄/赌/毒
    • 内容侵权/抄袭
    • 政治相关
    • 涉嫌广告
    • 侮辱谩骂
    • 其他

    详细说明

    易百纳技术社区