Porting KSZ9031 to i.MX BSP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Porting KSZ9031 to i.MX BSP

Porting KSZ9031 to i.MX BSP

KSZ9031 is a very common PHY used with many ethernet design. This document will show you how to add it in u-boot and kernel.

1. Schematic

pastedImage_2.png

pastedImage_4.png

The MODE[3:0] strap-in pins are sampled and latched at power-up/reset. MODE[3:0]=1111 is RGMII mode - Advertise all capabilities (10/100/1000 speed half-/full-duplex)

The PHY address, PHYAD[2:0], is sampled and latched at power-up/reset. Here PHY address is set to 001.

pastedImage_1.png

In this design example, the ENET_RESET_B is connected to GPIO pin GPIO1_IO03.

2. Source code modification

In u-boot source code, add the following code in the <board_name>.c file.

- IOMUX setup for the GPIO1_IO03 pin.

static iomux_v3_cfg_t const phy_reset_pads[] = {
     MX7D_PAD_GPIO1_IO03__GPIO1_IO3 | MUX_PAD_CTRL(NO_PAD_CTRL),
};

- In the function setup_fec(int fec_id), add the code for phy reset.

imx_iomux_v3_setup_multiple_pads(phy_reset_pads, ARRAY_SIZE(phy_reset_pads));

gpio_request(IMX_GPIO_NR(1, 3), "ENET PHY Reset");
gpio_direction_output(IMX_GPIO_NR(1, 3) , 0);
mdelay(20);
gpio_set_value(IMX_GPIO_NR(1, 3), 1);

- There is a PHY config for the KSZ9031.

int board_phy_config(struct phy_device *phydev)
{    /*
     * Default setting for GMII Clock Pad Skew Register 0x1EF:
     * MMD Address 0x2h, Register 0x8h
     *
     * GTX_CLK Pad Skew 0xF -> 0.9 nsec skew
     * RX_CLK Pad Skew 0xF -> 0.9 nsec skew
     *
     * Adjustment -> write 0x3FF:
     * GTX_CLK Pad Skew 0x1F -> 1.8 nsec skew
     * RX_CLK Pad Skew 0x1F -> 1.8 nsec skew
     *
     */
    /* control data pad skew - devaddr = 0x02, register = 0x04 */
    ksz9031_phy_extended_write(phydev, 0x02,
                   MII_KSZ9031_EXT_RGMII_CTRL_SIG_SKEW,
                   MII_KSZ9031_MOD_DATA_NO_POST_INC, 0x0000);
    /* rx data pad skew - devaddr = 0x02, register = 0x05 */
    ksz9031_phy_extended_write(phydev, 0x02,
                   MII_KSZ9031_EXT_RGMII_RX_DATA_SKEW,
                   MII_KSZ9031_MOD_DATA_NO_POST_INC, 0x0000);
    /* tx data pad skew - devaddr = 0x02, register = 0x05 */
    ksz9031_phy_extended_write(phydev, 0x02,
                   MII_KSZ9031_EXT_RGMII_TX_DATA_SKEW,
                   MII_KSZ9031_MOD_DATA_NO_POST_INC, 0x0000);
    /* gtx and rx clock pad skew - devaddr = 0x02, register = 0x08 */
    ksz9031_phy_extended_write(phydev, 0x02,
                   MII_KSZ9031_EXT_RGMII_CLOCK_SKEW,
                   MII_KSZ9031_MOD_DATA_NO_POST_INC, 0x03FF);

    if (phydev->drv->config)
        phydev->drv->config(phydev);
    return 0;
}

The KSZ9031 driver (drivers/net/phy/micrel.c) had already supported in the u-boot source code. Add the following #define in the <board_name>.h file to enable the driver for building.

#define CONFIG_PHY_MICREL

As the PHY address on the board is 001, change the PHYADDR to 1 in the <board_name>.h file.

#define CONFIG_FEC_MXC_PHYADDR          0x1

In the kernel source code, add/modify the PHY setting in dts file like this.

&fec1 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_enet1 &pinctrl_enet_reset>;
    assigned-clocks = <&clks IMX7D_ENET_PHY_REF_ROOT_SRC>,
              <&clks IMX7D_ENET_AXI_ROOT_SRC>,
              <&clks IMX7D_ENET1_TIME_ROOT_SRC>,
              <&clks IMX7D_ENET1_TIME_ROOT_CLK>,
              <&clks IMX7D_ENET_AXI_ROOT_CLK>;
    assigned-clock-parents = <&clks IMX7D_PLL_ENET_MAIN_25M_CLK>,
                 <&clks IMX7D_PLL_ENET_MAIN_250M_CLK>,
                 <&clks IMX7D_PLL_ENET_MAIN_100M_CLK>;
    assigned-clock-rates = <0>, <0>, <0>, <100000000>, <250000000>;
    phy-mode = "rgmii";
    phy-handle = <&ethphy0>;
    phy-reset-gpios = <&gpio1 3 0>;
    fsl,magic-packet;
    status = "okay";

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

        ethphy0: ethernet-phy@1 {    //here '@1' is the PHY address
            compatible = "ethernet-phy-ieee802.3-c22";
            reg = <1>;
        };

    };
};

Add the GPIO pin for the ENET_RESET_B

&iomuxc {

...

...

pinctrl_enet_reset: enet_resetgrp {
            fsl,pins = <
                MX7D_PAD_GPIO1_IO03__GPIO1_IO3      0x14     //ENET_RESET_B
            >;
        };

}

There is a PHY fixup in the arch/arm/mach-imx/<imx_cpu>.c

Here is the example in mach-imx7d.c

#define PHY_ID_KSZ9031    0x00221620
#define MICREL_PHY_ID_MASK 0x00fffff0

static void mmd_write_reg(struct phy_device *dev, int device, int reg, int val)
{
    phy_write(dev, 0x0d, device);
    phy_write(dev, 0x0e, reg);
    phy_write(dev, 0x0d, (1 << 14) | device);
    phy_write(dev, 0x0e, val);
}

static int ksz9031rn_phy_fixup(struct phy_device *dev)
{
    /*
     * min rx data delay, max rx/tx clock delay,
     * min rx/tx control delay
     */
    mmd_write_reg(dev, -1, 0x4, 0);
    mmd_write_reg(dev, -1, 0x5, 0);
    mmd_write_reg(dev, -1, 0x6, 0);
    mmd_write_reg(dev, -1, 0x8, 0x003ff);

    return 0;
}

static void __init imx7d_enet_phy_init(void)
{
    if (IS_BUILTIN(CONFIG_PHYLIB)) {
        phy_register_fixup_for_uid(PHY_ID_AR8031, 0xffffffff,
                       ar8031_phy_fixup);
        phy_register_fixup_for_uid(PHY_ID_BCM54220, 0xffffffff,
                       bcm54220_phy_fixup);
        phy_register_fixup_for_uid(PHY_ID_KSZ9031, MICREL_PHY_ID_MASK,
                ksz9031rn_phy_fixup);
    }
}

Now, the PHY is working on your board. :smileyhappy:

Reference:

1.  Create an Ubuntu VM environment to build Yocto BSP 

2.  i.MX Software | NXP 

%3CLINGO-SUB%20id%3D%22lingo-sub-1112601%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3Ei.MX%20BSP%20%E3%81%B8%E3%81%AE%E7%A7%BB%E6%A4%8DKSZ9031%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1112601%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3EKSZ9031%E3%81%AF%E3%80%81%E5%A4%9A%E3%81%8F%E3%81%AE%E3%82%A4%E3%83%BC%E3%82%B5%E3%83%8D%E3%83%83%E3%83%88%E8%A8%AD%E8%A8%88%E3%81%A7%E4%BD%BF%E7%94%A8%E3%81%95%E3%82%8C%E3%82%8B%E9%9D%9E%E5%B8%B8%E3%81%AB%E4%B8%80%E8%88%AC%E7%9A%84%E3%81%AAPHY%E3%81%A7%E3%81%99%E3%80%82%E3%81%93%E3%81%AE%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%81%A7%E3%81%AF%E3%80%81u-boot%20%E3%81%A8%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%81%AB%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%82%92%E7%A4%BA%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2022px%3B%22%3E%3CSTRONG%3E1.%E6%A6%82%E7%95%A5%E5%9B%B3%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_2.png%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_2.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F88119i073414C0C2F45A13%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22pastedImage_2.png%22%20alt%3D%22pastedImage_2.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_4.png%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_4.png%22%20style%3D%22width%3A%20947px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F88558i3BB311B6C6C3685D%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22pastedImage_4.png%22%20alt%3D%22pastedImage_4.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EMODE%5B3%3A0%5D%E3%82%B9%E3%83%88%E3%83%A9%E3%83%83%E3%83%97%E3%82%A4%E3%83%B3%E3%83%94%E3%83%B3%E3%81%AF%E3%80%81%E9%9B%BB%E6%BA%90%E6%8A%95%E5%85%A5%2F%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88%E6%99%82%E3%81%AB%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%95%E3%82%8C%E3%80%81%E3%83%A9%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82MODE%5B3%3A0%5D%3D1111%20%E3%81%AF%20RGMII%20%E3%83%A2%E3%83%BC%E3%83%89%20-%20%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E6%A9%9F%E8%83%BD%E3%82%92%E3%82%A2%E3%83%89%E3%83%90%E3%82%BF%E3%82%A4%E3%82%BA%E3%81%97%E3%81%BE%E3%81%99%20(10%2F100%2F1000%20%E9%80%9F%E5%BA%A6%E3%80%81%E5%8D%8A%E4%BA%8C%E9%87%8D%2F%E5%85%A8%E4%BA%8C%E9%87%8D)%3C%2FP%3E%3CP%3EPHY%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9PHYAD%5B2%3A0%5D%E3%81%AF%E3%80%81%E9%9B%BB%E6%BA%90%E6%8A%95%E5%85%A5%E6%99%82%2F%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88%E6%99%82%E3%81%AB%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%95%E3%82%8C%E3%80%81%E3%83%A9%E3%83%83%E3%83%81%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%81%93%E3%81%A7%E3%81%AF%E3%80%81PHY%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%AF001%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_1.png%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_1.png%22%20style%3D%22width%3A%20947px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F83004i24F0F65EEC70FE08%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22pastedImage_1.png%22%20alt%3D%22pastedImage_1.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%E3%81%93%E3%81%AE%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E4%BE%8B%E3%81%A7%E3%81%AF%E3%80%81ENET_RESET_B%20%E3%81%AF%20GPIO%20%E3%83%94%E3%83%B3%20GPIO1_IO03%20%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%23000000%3B%20font-size%3A%2022px%3B%22%3E%3CSTRONG%3E2.%20%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E4%BF%AE%E6%AD%A3%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2022px%3B%22%3E%3CSTRONG%3Eu-boot%3C%2FSTRONG%3E%3C%2FSPAN%3E%20%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A7%E3%80%81%3CBOARD_NAME%3E.c%20%E3%81%AB%E6%AC%A1%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%BE%E3%81%99%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%80%82%3C%2FBOARD_NAME%3E%3C%2FP%3E%3CP%3E-%20GPIO1_IO03%E3%83%94%E3%83%B3%E3%81%AEIOMUX%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3Estatic%20iomux_v3_cfg_t%20const%20phy_reset_pads%5B%5D%20%3D%20%7B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%20MX7D_PAD_GPIO1_IO03__GPIO1_IO3%20%7C%20MUX_PAD_CTRL(NO_PAD_CTRL)%2C%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%7D%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E-%20%E9%96%A2%E6%95%B0%20setup_fec(int%20fec_id)%20%E3%81%AB%E3%80%81phy%20reset%20%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3Eimx_iomux_v3_setup_multiple_pads(phy_reset_pads%2C%20ARRAY_SIZE(phy_reset_pads))%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3Egpio_request(IMX_GPIO_NR(1%2C%203)%2C%20%22ENET%20PHY%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88%22)%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3Egpio_direction_output(IMX_GPIO_NR(1%2C%203)%20%2C%200)%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3Emdelay(20)%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3Egpio_set_value(IMX_GPIO_NR(1%2C%203)%2C%201)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%23000000%3B%22%3E-%20KSZ9031%20%E3%81%AE%20PHY%20%E8%A8%AD%E5%AE%9A%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3Eint%20board_phy_config(struct%20phy_device%20*phydev)%3CBR%20%2F%3E%7B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F*%3CBR%20%2F%3E*%20GMII%20Clock%20Pad%20Skew%20Register%200x1EF%E3%81%AE%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E8%A8%AD%E5%AE%9A%3A%3CBR%20%2F%3E*%20MMD%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B90x2h%E3%80%81%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF0x8h%3CBR%20%2F%3E*%3CBR%20%2F%3E*%20GTX_CLK%E3%83%91%E3%83%83%E3%83%89%E3%82%B9%E3%82%AD%E3%83%A5%E3%83%BC%200xF-%26gt%3B0.9nsec%E3%82%B9%E3%82%AD%E3%83%A5%E3%83%BC%3CBR%20%2F%3E*%20RX_CLK%E3%83%91%E3%83%83%E3%83%89%E3%82%B9%E3%82%AD%E3%83%A5%E3%83%BC%200xF%20-%26gt%3B%200.9%20nsec%20%E3%82%B9%E3%82%AD%E3%83%A5%E3%83%BC%3CBR%20%2F%3E*%3CBR%20%2F%3E*%E8%AA%BF%E6%95%B4-%26gt%3B%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF0x3FF%3A%3CBR%20%2F%3E*%20GTX_CLK%E3%83%91%E3%83%83%E3%83%89%E3%82%B9%E3%82%AD%E3%83%A5%E3%83%BC%200x1F-%26gt%3B%201.8nsec%E3%82%B9%E3%82%AD%E3%83%A5%E3%83%BC%3CBR%20%2F%3E*%20RX_CLK%E3%83%91%E3%83%83%E3%83%89%E3%82%B9%E3%82%AD%E3%83%A5%E3%83%BC%200x1F-%26gt%3B1.8nsec%E3%82%B9%E3%82%AD%E3%83%A5%E3%83%BC%3CBR%20%2F%3E*%3CBR%20%2F%3E*%2F%3CBR%20%2F%3E%2F*%20%E3%83%87%E3%83%BC%E3%82%BF%E3%83%91%E3%83%83%E3%83%89%E3%81%AE%E3%82%B9%E3%82%AD%E3%83%A5%E3%83%BC%E3%82%92%E5%88%B6%E5%BE%A1%20-%20devaddr%20%3D%200x02%2C%20register%20%3D%200x04%20*%2F%3CBR%20%2F%3Eksz9031_phy_extended_write(phydev%E3%80%810x02%E3%80%81%3CBR%20%2F%3EMII_KSZ9031_EXT_RGMII_CTRL_SIG_SKEW%E3%80%81%3CBR%20%2F%3EMII_KSZ9031_MOD_DATA_NO_POST_INC%E3%80%810x0000)%3B%3CBR%20%2F%3E%2F*%20RX%20%E3%83%87%E3%83%BC%E3%82%BF%E3%83%91%E3%83%83%E3%83%89%E3%81%AE%E3%82%B9%E3%82%AD%E3%83%A5%E3%83%BC%20-%20devaddr%20%3D%200x02%2C%20register%20%3D%200x05%20*%2F%3CBR%20%2F%3Eksz9031_phy_extended_write(phydev%E3%80%810x02%E3%80%81%3CBR%20%2F%3EMII_KSZ9031_EXT_RGMII_RX_DATA_SKEW%E3%80%81%3CBR%20%2F%3EMII_KSZ9031_MOD_DATA_NO_POST_INC%E3%80%810x0000)%3B%3CBR%20%2F%3E%2F*%20TX%E3%83%87%E3%83%BC%E3%82%BF%E3%83%91%E3%83%83%E3%83%89%E3%81%AE%E3%82%B9%E3%82%AD%E3%83%A5%E3%83%BC%20-%20devaddr%20%3D%200x02%E3%80%81%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%20%3D%200x05%20*%2F%3CBR%20%2F%3Eksz9031_phy_extended_write(phydev%E3%80%810x02%E3%80%81%3CBR%20%2F%3EMII_KSZ9031_EXT_RGMII_TX_DATA_SKEW%E3%80%81%3CBR%20%2F%3EMII_KSZ9031_MOD_DATA_NO_POST_INC%E3%80%810x0000)%3B%3CBR%20%2F%3E%2F*%20GTX%20%E3%81%A8%20RX%20%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E3%83%91%E3%83%83%E3%83%89%E3%81%AE%E3%82%B9%E3%82%AD%E3%83%A5%E3%83%BC%20-%20devaddr%20%3D%200x02%2C%20register%20%3D%200x08%20*%2F%3CBR%20%2F%3Eksz9031_phy_extended_write(phydev%E3%80%810x02%E3%80%81%3CBR%20%2F%3EMII_KSZ9031_EXT_RGMII_CLOCK_SKEW%E3%80%81%3CBR%20%2F%3EMII_KSZ9031_MOD_DATA_NO_POST_INC%E3%80%810x03FF)%3B%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3Eif%20(phydev-%26gt%3Bdrv-%26gt%3Bconfig)%3CBR%20%2F%3E%20phydev-%26gt%3Bdrv-%26gt%3Bconfig(phydev)%3B%3CBR%20%2F%3E%200%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%23000000%3B%20font-size%3A%2015px%3B%22%3EKSZ9031%20%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%83%BC%20(drivers%2Fnet%2Fphy%2Fmicrel.c)%20%E3%81%AF%E3%80%81u-boot%20%E3%81%AE%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A7%E6%97%A2%E3%81%AB%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E6%AC%A1%E3%81%AE%20%23define%20%E3%82%92%20%3CBOARD_NAME%3E.h%20%E3%81%AB%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%83%93%E3%83%AB%E3%83%89%E7%94%A8%E3%81%AE%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%83%BC%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%80%82%3C%2FBOARD_NAME%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%22%3E%3CSPAN%20style%3D%22font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%23define%20CONFIG_PHY_MICREL%3C%2FSPAN%3E%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%23000000%3B%20font-size%3A%2015px%3B%22%3E%E3%83%9C%E3%83%BC%E3%83%89%E4%B8%8A%E3%81%AE%20PHY%20%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%8C%20001%20%E3%81%A7%E3%81%82%E3%82%8B%E3%81%9F%E3%82%81%E3%80%81%3CBOARD_NAME%3E.h%20%E3%81%A7%20PHYADDR%20%E3%82%92%201%20%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%97%E3%81%BE%E3%81%99%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%80%82%3C%2FBOARD_NAME%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%23define%20CONFIG_FEC_MXC_PHYADDR%200x1%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%23000000%3B%20font-size%3A%2015px%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2022px%3B%22%3E%3CSTRONG%3E%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%3C%2FSTRONG%3E%3C%2FSPAN%3E%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A7%E3%80%81dts%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AEPHY%E8%A8%AD%E5%AE%9A%E3%82%92%E6%AC%A1%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E8%BF%BD%E5%8A%A0%2F%E5%A4%89%E6%9B%B4%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%26amp%3BFEC1%20%7B%3CBR%20%2F%3Epinctrl-names%20%3D%20%22%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%22%3B%3CBR%20%2F%3E%E3%83%94%E3%83%B3ctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_enet1%20%3CSTRONG%3E%26amp%3Bpinctrl_enet_reset%3C%2FSTRONG%3E%26gt%3B%3B%3CBR%20%2F%3E%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E3%82%89%E3%82%8C%E3%81%9F%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%20%3D%20%26lt%3B%26amp%3Bclks%20IMX7D_ENET_PHY_REF_ROOT_SRC%26gt%3B%E3%80%81%3CBR%20%2F%3E%26lt%3B%26amp%3Bclks%20IMX7D_ENET_AXI_ROOT_SRC%26gt%3B%E3%80%81%3CBR%20%2F%3E%26lt%3B%26amp%3Bclks%20IMX7D_ENET1_TIME_ROOT_SRC%26gt%3B%E3%80%81%3CBR%20%2F%3E%26lt%3B%26amp%3Bclks%20IMX7D_ENET1_TIME_ROOT_CLK%26gt%3B%E3%80%81%3CBR%20%2F%3E%26lt%3B%26amp%3Bclks%20IMX7D_ENET_AXI_ROOT_CLK%26gt%3B%3B%3CBR%20%2F%3Eassigned-clock-parents%20%3D%20%26lt%3B%26amp%3Bclks%E3%81%AEIMX7D_PLL_ENET_MAIN_25M_CLK%26gt%3B%E3%80%81%3CBR%20%2F%3E%26lt%3B%26amp%3Bclks%20IMX7D_PLL_ENET_MAIN_250M_CLK%26gt%3B%E3%80%81%3CBR%20%2F%3E%26lt%3B%26amp%3Bclks%20IMX7D_PLL_ENET_MAIN_100M_CLK%26gt%3B%3B%3CBR%20%2F%3E%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E3%82%89%E3%82%8C%E3%81%9F%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E3%83%AC%E3%83%BC%E3%83%88%20%3D%20%26lt%3B0%26gt%3B%E3%80%81%26lt%3B0%26gt%3B%E3%80%81%26lt%3B0%26gt%3B%E3%80%81%26lt%3B100000000%26gt%3B%E3%80%81%26lt%3B250000000%26gt%3B%3B%3CBR%20%2F%3Ephy-mode%20%3D%20%22rgmii%22%3B%3CBR%20%2F%3Ephy-handle%20%3D%20%26lt%3B%26amp%3Bethphy0%26gt%3B%3B%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%3CSTRONG%3Ephy-reset-gpios%20%3D%20%26lt%3B%26amp%3Bgpio1%203%200%26gt%3B%3B%3C%2FSTRONG%3E%3CBR%20%2F%3Efsl%E3%80%81%E3%83%9E%E3%82%B8%E3%83%83%E3%82%AF%E3%83%91%E3%82%B1%E3%83%83%E3%83%88%3B%3CBR%20%2F%3Estatus%20%3D%20%22%E5%A4%A7%E4%B8%88%E5%A4%AB%22%3B%3CBR%20%2F%3E%3CBR%20%2F%3Emdio%20%7B%3CBR%20%2F%3E%23address%20%E3%82%BB%E3%83%AB%3D%20%26lt%3B1%26gt%3B%3B%3CBR%20%2F%3E%23size%20%E3%82%BB%E3%83%AB%3D%20%26lt%3B0%26gt%3B%3B%3CBR%20%2F%3E%3CBR%20%2F%3Eethphy0%3A%20%3CSTRONG%3Eethernet-phy%401%3C%2FSTRONG%3E%20%7B%20%3CSPAN%20style%3D%22color%3A%20%23000000%3B%22%3E%3CSTRONG%3E%E3%81%93%E3%81%93%E3%81%A7%20'%401'%20%E3%81%AF%20PHY%20%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%A7%E3%81%99%E3%80%82%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CBR%20%2F%3Ecompatible%20%3D%20%22%E3%82%A4%E3%83%BC%E3%82%B5%E3%83%8D%E3%83%83%E3%83%88-PHY-IEEE802.3-C22%22%3B%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3Breg%20%3D%20%26lt%3B1%26gt%3B%3B%3CBR%20%2F%3E%7D%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%7D%3B%3CBR%20%2F%3E%7D%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2015px%3B%22%3EENET_RESET_B%E3%81%AEGPIO%E3%83%94%E3%83%B3%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%BE%E3%81%99%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20color%3A%20%230000ff%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%26amp%3Biomuxc%20%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20color%3A%20%230000ff%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E...%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20color%3A%20%230000ff%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E...%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20color%3A%20%230000ff%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%3CSTRONG%3Epinctrl_enet_reset%3C%2FSTRONG%3E%3A%20enet_resetgrp%20%7B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20color%3A%20%230000ff%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3Bfsl%2Cpins%20%3D%20%26lt%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20color%3A%20%230000ff%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3BMX7D_PAD_GPIO1_IO03__GPIO1_IO3%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%200x14%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%2F%2FENET_RESET_B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20color%3A%20%230000ff%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%26gt%3B%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20color%3A%20%230000ff%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%7D%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2013px%3B%20color%3A%20%230000ff%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Earch%2Farm%2Fmach-imx%2F%3CIMX_CPU%3E.c%20%E3%81%AB%20PHY%20%E3%83%95%E3%82%A3%E3%83%83%E3%82%AF%E3%82%B9%E3%82%A2%E3%83%83%E3%83%97%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%3C%2FIMX_CPU%3E%3C%2FP%3E%3CP%3E%E4%BB%A5%E4%B8%8B%E3%81%AF%20mach-imx7d.c%20%E3%81%AE%E4%BE%8B%E3%81%A7%E3%81%99%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%23define%20PHY_ID_KSZ9031%200x00221620%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%23define%20MICREL_PHY_ID_MASK%200x00fffff0%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%E3%82%B9%E3%82%BF%E3%83%86%E3%82%A3%E3%83%83%E3%82%AF%E3%83%9C%E3%82%A4%E3%83%89mmd_write_reg(struct%20phy_device%20*dev%2C%20int%20device%2C%20int%20reg%2C%20int%20val)%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%7B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3Ephy_write(%E9%96%8B%E7%99%BA%E3%80%810x0d%E3%80%81%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9)%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3Ephy_write(%E9%96%8B%E7%99%BA%E3%80%810x0e%E3%80%81%E7%99%BB%E9%8C%B2)%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3Ephy_write(%E9%96%8B%E7%99%BA%2C%200x0d%2C%20(1%20%26lt%3B%26lt%3B%2014)%20%7C%20%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9)%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3Ephy_write(%E9%96%8B%E7%99%BA%E3%80%810x0e%E3%80%81%E4%BE%A1%E5%80%A4)%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3Estatic%20int%20ksz9031rn_phy_fixup(struct%20phy_device%20*dev)%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%7B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%2F*%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E*%20%E6%9C%80%E5%B0%8F%20Rx%20%E3%83%87%E3%83%BC%E3%82%BF%E9%81%85%E5%BB%B6%E3%80%81%E6%9C%80%E5%A4%A7%20Rx%2FTX%20%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E9%81%85%E5%BB%B6%E3%80%81%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E*%20%E6%9C%80%E5%B0%8FRx%2FTX%E5%88%B6%E5%BE%A1%E9%81%85%E5%BB%B6%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E*%2F%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3Emmd_write_reg(%E9%96%8B%E7%99%BA%2C%20-1%2C%200x4%2C%200)%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3Emmd_write_reg(%E9%96%8B%E7%99%BA%2C%20-1%2C%200x5%2C%200)%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3Emmd_write_reg(%E9%96%8B%E7%99%BA%2C%20-1%2C%200x6%2C%200)%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3Emmd_write_reg(%E9%96%8B%E7%99%BA%2C%20-1%2C%200x8%2C%200x003ff)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3Breturn%200%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%E3%82%B9%E3%82%BF%E3%83%86%E3%82%A3%E3%83%83%E3%82%AF%E3%83%9C%E3%82%A4%E3%83%89__init%20imx7d_enet_phy_init(%E3%83%9C%E3%82%A4%E3%83%89)%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%7B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3Eif%20(IS_BUILTIN(CONFIG_PHYLIB))%20%7B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3Ephy_register_fixup_for_uid(PHY_ID_AR8031%E3%80%810xffffffff%E3%80%81%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3Ear8031_phy_fixup)%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3Ephy_register_fixup_for_uid(PHY_ID_BCM54220%E3%80%810xffffffff%E3%80%81%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3Ebcm54220_phy_fixup)%3B%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22%3B%20color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%3CSTRONG%3Ephy_register_fixup_for_uid(PHY_ID_KSZ9031%E3%80%81MICREL_PHY_ID_MASK%E3%80%81%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22%3B%20color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%3CSTRONG%3Eksz9031rn_phy_fixup)%3B%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%7D%3C%2FSPAN%3E%3CBR%20%2F%3E%3CSPAN%20style%3D%22color%3A%20%230000ff%3B%20font-size%3A%2013px%3B%20font-family%3A%20courier%20new%2C%20courier%2C%20monospace%3B%22%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%23000000%3B%20font-size%3A%2015px%3B%22%3E%E3%81%93%E3%82%8C%E3%81%A7%E3%80%81PHY%E3%81%8C%E3%83%9C%E3%83%BC%E3%83%89%E4%B8%8A%E3%81%A7%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3CIMG%20id%3D%22smileyhappy%22%20class%3D%22emoticon%20emoticon-smileyhappy%22%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fi%2Fsmilies%2F16x16_smiley-happy.png%22%20alt%3D%22Smiley%20Happy%22%20title%3D%22Smiley%20Happy%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%23000000%3B%20font-size%3A%2015px%3B%22%3E%E5%8F%82%E8%80%83%E6%83%85%E5%A0%B1%EF%BC%9A%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%23000000%3B%20font-size%3A%2015px%3B%22%3E1.%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fdocs%2FDOC-343758%22%20target%3D%22_blank%22%3EUbuntu%20VM%E7%92%B0%E5%A2%83%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%81%A6Yocto%20BSP%E3%82%92%E3%83%93%E3%83%AB%E3%83%89%E3%81%99%E3%82%8B%3C%2FA%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%23000000%3B%20font-size%3A%2015px%3B%22%3E2.%20%3CA%20class%3D%22link-titled%22%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fdesign%2Fi.mx-developer-resources%2Fi.mx-software-and-development-tool%3AIMX-SW%22%20title%3D%22https%3A%2F%2Fwww.nxp.com%2Fdesign%2Fi.mx-developer-resources%2Fi.mx-software-and-development-tool%3AIMX-SW%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3Ei.MX%20%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%20%7CNXP%E3%81%AE%3C%2FA%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E
評価なし
バージョン履歴
最終更新日:
‎09-25-2019 08:54 PM
更新者: