IMX6 PCI with external clocks

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

IMX6 PCI with external clocks

IMX6 PCI with external clocks

(

  converted from discussion created by Alfred Latypov

  IMX6 PCI with external cloks 

)

   Hello, I had a problem, to launch a board with an imx6 solo processor with a pci-express, and with external clock. I'll tell you my decision.

On my motherboard there is a pci-switch PI7C9X2G606 from Pericom with 4 endpoints of Intel type 82574 ethernet controller.

I used the Linux kernel version 4.9.16

In the device-tree file, I used the following options to enable external clocks for CLK1 input gate (100MHz). Sorry, I had to change the root imx6 device tree file. See attached (imx6*.dtsi) files. From ..kernel/arch/arm/boot/dts/..

Add anatop external clock source for clocks section, and change clk source for pcie-phy.

...

anaclk1 {
            compatible = "fixed-clock";
            reg = <0>;
            #clock-cells = <0>;
            clock-frequency = <100000000>;  /* 100MHz */
        };

...

Change pcie section

...

        pcie: pcie@0x01000000 {
            compatible = "fsl,imx6q-pcie", "snps,dw-pcie";
            reg = <0x01ffc000 0x04000>,
                  <0x01f00000 0x80000>;
            reg-names = "dbi", "config";
            #address-cells = <3>;
            #size-cells = <2>;
            device_type = "pci";
            ranges = <0x81000000 0 0          0x01e00000 0 0x00100000 /* downstream I/O */
                  0x82000000 0 0x01000000 0x01000000 0 0x00e00000>; /* non-prefetchable memory */
            /* ranges = <0x81000000 0 0          0x01f80000 0 0x00010000
                  0x82000000 0 0x01000000 0x01000000 0 0x00f00000>; */
            num-lanes = <1>;
            interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
            interrupt-names = "msi";
            #interrupt-cells = <1>;
            interrupt-map-mask = <0 0 0 0x7>;
            interrupt-map = <0 0 0 1 &gpc GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
                            <0 0 0 2 &gpc GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
                            <0 0 0 3 &gpc GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
                            <0 0 0 4 &gpc GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
            clocks = <&clks IMX6QDL_CLK_PCIE_AXI>,
                 <&clks IMX6QDL_CLK_LVDS1_IN>,
                 <&clks IMX6QDL_CLK_SATA_REF_100M>;
            clock-names = "pcie", "pcie_bus", "pcie_phy";
            status = "disabled";
        };

...

and add new source clocks dependencies:

....

&clks {
        assigned-clocks = <&clks IMX6QDL_PLL6_BYPASS_SRC>,
                          <&clks IMX6QDL_PLL6_BYPASS>;                          
        assigned-clock-parents = <&clks IMX6QDL_CLK_LVDS1_IN>,
                                 <&clks IMX6QDL_PLL6_BYPASS_SRC>;
        assigned-clock-rates = <100000000>, <100000000>;
};

....

for your board dtsi.

I could not start the pcie-bus with the function Gen2.

Next, I needed to change the bus driver (pci-imx6.c), for fine tuning the bus clock frequency. I add MPLL frequency services functions (Thanks for Charle Powe i.MX6Q: Using an external reference for PCIe ):

...

static void imx_pcie_override_phy_mpll(struct pcie_port *pp, u32 mpll_multiplier, u32 ref_clkdiv2)
{
    u32 ref_usb2_en;
    u32 reg1;
    
    
    pr_info("Overriding PCIe PHY MPLL config: multiplier = %d, clkdiv2 = %d\n",
        mpll_multiplier, ref_clkdiv2);
        
    
    // set MPLL to disabled
    ////pcie_phy_write(pp->dbi_base, PCIE_PHY_MPLL_OVRD_IN_LO, 0x0001);
    
    // set MPLL multiplier    
    pcie_phy_write(pp->dbi_base, PCIE_PHY_MPLL_OVRD_IN_LO,
            (0x0001<<9 | (mpll_multiplier<<2)) & 0x03fc);
    
    /*
     * set the ref_clkdiv2.  when this override is enabled it
     * overrides both ref_clkdiv2 and ref_usb2_en.  make sure
     * the overriden ref_usb2_en reflects the original value.
     */     
    pcie_phy_read(pp->dbi_base, PCIE_PHY_ATEOVRD, &reg1);     
    ref_usb2_en = (reg1 >> 1) & 0x1;   

    /* set the current value of ref_usb2_en as the override */     
    /* set the ref_clkdiv2 override  */     
    /* enable the ref_clkdiv2 override */     
    pcie_phy_write(pp->dbi_base, PCIE_PHY_ATEOVRD,
            (ref_usb2_en << 1) | ref_clkdiv2 | (0x1 << 2));   
    
    /* enable MPLL */    
    ///pcie_phy_write(pp->dbi_base, PCIE_PHY_MPLL_OVRD_IN_LO, 0x0003);
        
}

...

call this function in pcie_hos_init

...

static void imx6_pcie_host_init(struct pcie_port *pp)
{
    imx6_pcie_assert_core_reset(pp);       
    imx6_pcie_init_phy(pp);       
    imx6_pcie_deassert_core_reset(pp);   
    imx_pcie_override_phy_mpll(pp, 50, 1); /* tune this */     
    dw_pcie_setup_rc(pp);

    imx6_pcie_establish_link(pp); 

    if (IS_ENABLED(CONFIG_PCI_MSI))
        dw_pcie_msi_init(pp);
}

...

See documentation for p.p. IMX6DLRM 50.5.1.2.

Tune <pci_hotplug_mem_size> global variable for optimal pci window sizes enumeration.

See for my imx6_add_pcie_port call.

If you use a FEC module, it will stop working. You must use an external clock as specified in the documentation (http://cache.freescale.com/files/32bit/doc/user_guide/IMX6DQ6SDLHDG.pdf ). Changes are shown in the attached dtsi file.

For clocks segment

...

rmii_clk: clock@0 {
            compatible = "fixed-clock";
            reg = <0>;
            #clock-cells = <0>;
            clock-frequency = <50000000>;  /* 50MHz */
        };

...

and for fec:

...

fec: ethernet@02188000 {
                compatible = "fsl,imx6q-fec";
                reg = <0x02188000 0x4000>;
                interrupts-extended =
                    <&intc 0 118 IRQ_TYPE_LEVEL_HIGH>,
                    <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&clks IMX6QDL_CLK_ENET>,
                     <&clks IMX6QDL_CLK_ENET>,
                     <&rmii_clk>;
                clock-names = "ipg", "ahb", "ptp";
                status = "disabled";
            };

...

If they are not required, disable this editing this file.

Thanks for all. Sorry for my bad English.

Alfred <[email protected]>

This document was generated from the following discussion: IMX6 PCI with external cloks

添付
%3CLINGO-SUB%20id%3D%22lingo-sub-1119714%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EIMX6%20PCI(%E5%A4%96%E9%83%A8%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E4%BB%98%E3%81%8D)%20%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1119714%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%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E(%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E%E3%82%A2%E3%83%AB%E3%83%95%E3%83%AC%E3%83%83%E3%83%89%E3%83%BB%E3%83%A9%E3%83%86%E3%82%A3%E3%83%9D%E3%83%95%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E4%BD%9C%E6%88%90%E3%81%95%E3%82%8C%E3%81%9F%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%8B%E3%82%89%E5%A4%89%E6%8F%9B%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E%26nbsp%3B%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fthread%2F448174%22%20target%3D%22_blank%22%3EIMX6%20PCI%E3%80%81%E5%A4%96%E9%83%A8%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E4%BB%98%E3%81%8D%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E)%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%E7%A7%81%E3%81%AF%E5%95%8F%E9%A1%8C%E3%82%92%E6%8A%B1%E3%81%88%E3%81%A6%E3%81%84%E3%81%BE%E3%81%97%E3%81%9F%E3%80%81pci-express%E3%81%A8%E5%A4%96%E9%83%A8%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E3%82%92%E5%82%99%E3%81%88%E3%81%9Fimx6%E3%82%BD%E3%83%AD%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B5%E3%82%92%E6%90%AD%E8%BC%89%E3%81%97%E3%81%9F%E3%83%9C%E3%83%BC%E3%83%89%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%99%E3%82%8B%E3%81%AE%E3%81%AB%E5%95%8F%E9%A1%8C%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E7%A7%81%E3%81%AE%E6%B1%BA%E6%96%AD%E3%82%92%E3%81%8A%E4%BC%9D%E3%81%88%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E%E7%A7%81%E3%81%AE%E3%83%9E%E3%82%B6%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E3%81%AB%E3%81%AF%E3%80%81Pericom%E3%81%AEpci-switch%20PI7C9X2G606%E3%81%8C%E3%81%82%E3%82%8A%E3%80%81Intel%E3%82%BF%E3%82%A4%E3%83%9782574%E3%82%A4%E3%83%BC%E3%82%B5%E3%83%8D%E3%83%83%E3%83%88%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC%E3%81%AE4%E3%81%A4%E3%81%AE%E3%82%A8%E3%83%B3%E3%83%89%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3ELinux%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B34.9.16%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%83%84%E3%83%AA%E3%83%BC%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A7%E3%81%AF%E3%80%81%E6%AC%A1%E3%81%AE%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%80%81CLK1%E5%85%A5%E5%8A%9B%E3%82%B2%E3%83%BC%E3%83%88(100MHz)%E3%81%AE%E5%A4%96%E9%83%A8%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E3%82%92%E3%82%A4%E3%83%8D%E3%83%BC%E3%83%96%E3%83%AB%E3%81%AB%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E7%94%B3%E3%81%97%E8%A8%B3%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%81%8C%E3%80%81%E3%83%AB%E3%83%BC%E3%83%88imx6%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%83%84%E3%83%AA%E3%83%BC%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E6%B7%BB%E4%BB%98%E3%81%AE%20(imx6*.dtsi)%20%E3%82%92%E5%8F%82%E7%85%A7%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%80%82%E5%B7%AE%E5%87%BA%E4%BA%BA%E3%80%82%E3%80%82kernel%2Farch%2Farm%2Fboot%2Fdts%2F..%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3Eclocks%20%E3%82%BB%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%20anatop%20%E5%A4%96%E9%83%A8%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%20%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%97%E3%80%81pcie-phy%20%E3%81%AE%20clk%20%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E...%3C%2FP%3E%3CP%3E%E3%82%A2%E3%83%8A%E3%82%AF%E3%83%AB%E3%82%AF1%20%7B%3CBR%20%2F%3Ecompatible%20%3D%20%22%E5%9B%BA%E5%AE%9A%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%22%3B%3CBR%20%2F%3Ereg%20%3D%20%26lt%3B0%26gt%3B%3B%3CBR%20%2F%3E%23clock%20%E3%82%BB%E3%83%AB%3D%20%26lt%3B0%26gt%3B%3B%3CBR%20%2F%3E%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E5%91%A8%E6%B3%A2%E6%95%B0%20%3D%20%26lt%3B100000000%26gt%3B%3B%20%2F*%20100MHz%20*%2F%3CBR%20%2F%3E%7D%3B%3C%2FP%3E%3CP%3E...%3C%2FP%3E%3CP%3Epcie%20%E3%82%BB%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E5%A4%89%E6%9B%B4%3C%2FP%3E%3CP%3E...%3C%2FP%3E%3CP%3EPCIe%3A%20pcie%400x01000000%20%7B%3CBR%20%2F%3Ecompatible%20%3D%20%22FSL%2CIMX6Q-PCIe%22%2C%20%22SNPS%2CDW-PCIe%22%3B%3CBR%20%2F%3Ereg%20%3D%20%26lt%3B0x01ffc000%200x04000%26gt%3B%E3%80%81%3CBR%20%2F%3E%26lt%3B0x01f00000%200x80000%26gt%3B%3B%3CBR%20%2F%3Ereg-names%20%3D%20%22dbi%22%2C%20%22config%22%3B%3CBR%20%2F%3E%23address%20%E3%82%BB%E3%83%AB%3D%20%26lt%3B3%26gt%3B%3B%3CBR%20%2F%3E%23size%20%E3%82%BB%E3%83%AB%3D%20%26lt%3B2%26gt%3B%3B%3CBR%20%2F%3Edevice_type%20%3D%20%22pci%22%3B%3CBR%20%2F%3Eranges%20%3D%20%26lt%3B0x81000000%200%200%200x01e00000%200%200x00100000%20%2F*%20%E3%83%80%E3%82%A6%E3%83%B3%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%A0I%2FO%20*%2F%3CBR%20%2F%3E0x82000000%200%200x01000000%200x01000000%200%200x00e00000%26gt%3B%3B%2F*%20%E3%83%97%E3%83%AA%E3%83%95%E3%82%A7%E3%83%83%E3%83%81%E4%B8%8D%E5%8F%AF%E8%83%BD%E3%81%AA%E3%83%A1%E3%83%A2%E3%83%AA%20*%2F%3CBR%20%2F%3E%2F*%20%E7%AF%84%E5%9B%B2%20%3D%20%26lt%3B0x81000000%200%200%200x01f80000%200%200x00010000%20%3CBR%20%2F%3E0x82000000%200%200x01000000%200x01000000%200%200x00f00000%26gt%3B%3B*%2F%3CBR%20%2F%3E%E3%83%AC%E3%83%BC%E3%83%B3%E6%95%B0%20%3D%20%26lt%3B1%26gt%3B%3B%3CBR%20%2F%3E%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%20%3D%20%3CGIC_SPI%20120%3D%22%22%20irq_type_level_high%3D%22%22%3E%3B%3CBR%20%2F%3E%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E5%90%8D%20%3D%20%22MSI%22%3B%3CBR%20%2F%3E%23interrupt%20%E3%82%BB%E3%83%AB%3D%20%26lt%3B1%26gt%3B%3B%3CBR%20%2F%3E%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%83%9E%E3%83%83%E3%83%97%E3%83%9E%E3%82%B9%E3%82%AF%3D%20%26lt%3B0%200%200%200x7%26gt%3B%3B%3CBR%20%2F%3E%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%83%9E%E3%83%83%E3%83%97%20%3D%20%26lt%3B0%200%200%201%20%26amp%3Bgpc%20GIC_SPI%20123%20IRQ_TYPE_LEVEL_HIGH%26gt%3B%E3%80%81%3CBR%20%2F%3E%20GIC_SPI%20122%20IRQ_TYPE_LEVEL_HIGH%26gt%3B%E3%80%81%3CBR%20%2F%3E%20GIC_SPI%20121%20IRQ_TYPE_LEVEL_HIGH%26gt%3B%E3%80%81%3CBR%20%2F%3E%20GPC%20GIC_SPI%20120%20IRQ_TYPE_LEVEL_HIGH%26gt%3B%3B%3CBR%20%2F%3E%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%20%3D%20%26lt%3B%26amp%3Bclks%20IMX6QDL_CLK_PCIE_AXI%26gt%3B%E3%80%81%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%26lt%3B%26amp%3Bclks%20IMX6QDL_CLK_LVDS1_IN%26gt%3B%E3%80%81%3CBR%20%2F%3E%26lt%3B%26amp%3Bclks%20IMX6QDL_CLK_SATA_REF_100M%26gt%3B%3B%3CBR%20%2F%3Eclock-names%20%3D%20%22pcie%22%2C%20%22pcie_bus%22%2C%20%22pcie_phy%22%3B%3CBR%20%2F%3E%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%20%3D%20%22%E7%84%A1%E5%8A%B9%22%3B%3CBR%20%2F%3E%7D%3B%3C%2FGIC_SPI%3E%3C%2FP%3E%3CP%3E...%3C%2FP%3E%3CP%3E%E6%96%B0%E3%81%97%E3%81%84%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E3%81%AE%E4%BE%9D%E5%AD%98%E9%96%A2%E4%BF%82%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....%3C%2FP%3E%3CP%3E%26amp%3Bclks%E3%81%AE%7B%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%20IMX6QDL_PLL6_BYPASS_SRC%26gt%3B%E3%80%81%3CBR%20%2F%3E%26lt%3B%26amp%3Bclks%20IMX6QDL_PLL6_BYPASS%26gt%3B%3B%3CBR%20%2F%3Eassigned-clock-parents%20%3D%20%26lt%3B%26amp%3Bclks%20IMX6QDL_CLK_LVDS1_IN%26gt%3B%E3%80%81%3CBR%20%2F%3E%26lt%3B%26amp%3Bclks%20IMX6QDL_PLL6_BYPASS_SRC%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%3D%20%26lt%3B100000000%26gt%3B%E3%80%81%26lt%3B100000000%26gt%3B%3B%3CBR%20%2F%3E%7D%3B%3C%2FP%3E%3CP%3E....%3C%2FP%3E%3CP%3E%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E3%83%9C%E3%83%BC%E3%83%89DTSI%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AB%E3%80%82%3C%2FP%3E%3CP%3EGen2%E3%81%A8%E3%81%84%E3%81%86%E9%96%A2%E6%95%B0%E3%81%A7pcie-bus%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%81%A7%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E%E6%AC%A1%E3%81%AB%E3%80%81%E3%83%90%E3%82%B9%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%83%BC(pci-imx6.c)%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E3%83%90%E3%82%B9%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E5%91%A8%E6%B3%A2%E6%95%B0%E3%81%AE%E5%BE%AE%E8%AA%BF%E6%95%B4%E7%94%A8%E3%80%82MPLL%E5%91%A8%E6%B3%A2%E6%95%B0%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E6%A9%9F%E8%83%BD%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%BE%E3%81%99(Charle%20Powe%20%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fthread%2F304283%22%20target%3D%22_blank%22%3Ei.MX6Q%E3%81%AB%E6%84%9F%E8%AC%9D%E3%81%97%E3%81%BE%E3%81%99%3APCIe%E3%81%AE%E5%A4%96%E9%83%A8%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9%E3%82%92%E4%BD%BF%E7%94%A8%3C%2FA%3E)%E3%80%82%3C%2FP%3E%3CP%3E...%3C%2FP%3E%3CP%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%89imx_pcie_override_phy_mpll(%E6%A7%8B%E9%80%A0%E4%BD%93pcie_port%20*PP%2C%20U32%20mpll_multiplier%2C%20U32%20ref_clkdiv2)%3CBR%20%2F%3E%7B%3CBR%20%2F%3EU32%20ref_usb2_en%3B%3CBR%20%2F%3EU32%20REG1%3B%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%3CBR%20%2F%3Epr_info%20(%22PCIe%20PHY%20MPLL%20%E6%A7%8B%E6%88%90%E3%81%AE%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%A9%E3%82%A4%E3%83%89%3A%20%E4%B9%97%E6%95%B0%20%3D%20%25d%E3%80%81clkdiv2%20%3D%20%25d%5Cn%22%E3%80%81%3CBR%20%2F%3Empll_multiplier%E3%80%81ref_clkdiv2)%3B%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%3CBR%20%2F%3EMPLL%E3%82%92%E7%84%A1%E5%8A%B9%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%3CBR%20%2F%3Epcie_phy_write(PP-%26gt%3Bdbi_base%E3%80%81PCIE_PHY_MPLL_OVRD_IN_LO%E3%80%810x0001)%3B%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%3CBR%20%2F%3EMPLL%20%E4%B9%97%E6%95%B0%E3%81%AE%E8%A8%AD%E5%AE%9A%3CBR%20%2F%3Epcie_phy_write(pp-%26gt%3Bdbi_base%E3%80%81PCIE_PHY_MPLL_OVRD_IN_LO%E3%80%81%20%3CBR%20%2F%3E(0x0001%26lt%3B%26lt%3B9%20%7C(mpll_multiplier%26lt%3B%26lt%3B2))%26amp%3B%200x03fc)%3B%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%3CBR%20%2F%3E%2F*%3CBR%20%2F%3E%E2%80%BBref_clkdiv2%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%81%AE%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%A9%E3%82%A4%E3%83%89%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%3CBR%20%2F%3E*%20ref_clkdiv2%20%E3%81%A8%20ref_usb2_en%20%E3%81%AE%E4%B8%A1%E6%96%B9%E3%82%92%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%A9%E3%82%A4%E3%83%89%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%3CBR%20%2F%3E*%20%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%A9%E3%82%A4%E3%83%89%E3%81%95%E3%82%8C%E3%81%9Fref_usb2_en%E3%81%AF%E3%80%81%E5%85%83%E3%81%AE%E5%80%A4%E3%82%92%E5%8F%8D%E6%98%A0%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B*%2F%3CBR%20%2F%3Epcie_phy_read(pp-%26gt%3Bdbi_base%E3%80%81PCIE_PHY_ATEOVRD%E3%80%81%26amp%3Breg1)%3B%3CBR%20%2F%3Eref_usb2_en%20%3D%20(reg1%20%26gt%3B%26gt%3B%201)%20%26amp%3B%200x1%3B%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%2F*%20ref_usb2_en%20%E3%81%AE%E7%8F%BE%E5%9C%A8%E3%81%AE%E5%80%A4%E3%82%92%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%A9%E3%82%A4%E3%83%89%E3%81%A8%E3%81%97%E3%81%A6%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%BE%E3%81%99%20*%2F%3CBR%20%2F%3E%2F*%20ref_clkdiv2%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%A9%E3%82%A4%E3%83%89%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%BE%E3%81%99%20*%2F%3CBR%20%2F%3E%2F*%20ref_clkdiv2%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%A9%E3%82%A4%E3%83%89%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%20*%2F%3CBR%20%2F%3Epcie_phy_write(PP-%26gt%3Bdbi_base%E3%80%81PCIE_PHY_ATEOVRD%E3%80%81%20%3CBR%20%2F%3E(ref_usb2_en%20%26lt%3B%26lt%3B%201)%20%7Cref_clkdiv2%20%7C(0x1%20%26lt%3B%26lt%3B%202))%3B%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%3CBR%20%2F%3E%2F*%20MPLL%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%20*%2F%3CBR%20%2F%3Epcie_phy_write(PP-%26gt%3Bdbi_base%E3%80%81PCIE_PHY_MPLL_OVRD_IN_LO%E3%80%810x0003)%3B%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%3CBR%20%2F%3E%7D%3C%2FP%3E%3CP%3E...%3C%2FP%3E%3CP%3E%E3%81%93%E3%81%AE%E9%96%A2%E6%95%B0%E3%82%92%20pcie_hos_init%20%E3%81%A7%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%81%BE%E3%81%99%3C%2FP%3E%3CP%3E...%3C%2FP%3E%3CP%3Estatic%20void%20imx6_pcie_host_init(struct%20pcie_port%20*pp)%3CBR%20%2F%3E%7B%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3Bimx6_pcie_assert_core_reset(pp)%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3Bimx6_pcie_init_phy(pp)%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3Bimx6_pcie_deassert_core_reset(pp)%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3Bimx_pcie_override_phy_mpll(pp%2C%2050%2C%201)%3B%20%2F*%20tune%20this%20*%2F%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3Bdw_pcie_setup_rc(pp)%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3Bimx6_pcie_establish_link(pp)%3B%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3Bif%20(IS_ENABLED(CONFIG_PCI_MSI))%3CBR%20%2F%3E%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%26nbsp%3Bdw_pcie_msi_init(pp)%3B%3CBR%20%2F%3E%7D%3C%2FP%3E%3CP%3E...%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3Ep.p.%20IMX6DLRM%2050.5.1.2%20%E3%81%AE%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB%E3%82%92%E5%8F%82%E7%85%A7%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E%E6%9C%80%E9%81%A9%E3%81%AA%20PCI%20%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%20%E3%82%B5%E3%82%A4%E3%82%BA%E3%81%AE%E5%88%97%E6%8C%99%3CPCI_HOTPLUG_MEM_SIZE%3E%E3%82%B0%E3%83%AD%E3%83%BC%E3%83%90%E3%83%AB%E5%A4%89%E6%95%B0%E3%82%92%E8%AA%BF%E6%95%B4%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FPCI_HOTPLUG_MEM_SIZE%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E%E7%A7%81%E3%81%AEimx6_add_pcie_port%E3%82%B3%E3%83%BC%E3%83%AB%E3%82%92%E5%8F%82%E7%85%A7%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3EFEC%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%E5%8B%95%E4%BD%9C%E3%82%92%E5%81%9C%E6%AD%A2%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E5%A4%96%E9%83%A8%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E3%81%AF%E3%80%81%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%20(%3CA%20class%3D%22link-titled%22%20href%3D%22http%3A%2F%2Fcache.freescale.com%2Ffiles%2F32bit%2Fdoc%2Fuser_guide%2FIMX6DQ6SDLHDG.pdf%22%20title%3D%22http%3A%2F%2Fcache.freescale.com%2Ffiles%2F32bit%2Fdoc%2Fuser_guide%2FIMX6DQ6SDLHDG.pdf%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3Ehttp%3A%2F%2Fcache.freescale.com%2Ffiles%2F32bit%2Fdoc%2Fuser_guide%2FIMX6DQ6SDLHDG.pdf%3C%2FA%3E%20)%20%E3%81%A7%E6%8C%87%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E5%A4%89%E6%9B%B4%E3%81%AF%E3%80%81%E6%B7%BB%E4%BB%98%E3%81%AE%20dtsi%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88%E7%94%A8%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E...%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3Ermii_clk%3A%20clock%400%20%7B%3CBR%20%2F%3Ecompatible%20%3D%20%22%E5%9B%BA%E5%AE%9A%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%22%3B%3CBR%20%2F%3Ereg%20%3D%20%26lt%3B0%26gt%3B%3B%3CBR%20%2F%3E%23clock%20%E3%82%BB%E3%83%AB%3D%20%26lt%3B0%26gt%3B%3B%3CBR%20%2F%3E%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E5%91%A8%E6%B3%A2%E6%95%B0%20%3D%20%26lt%3B50000000%26gt%3B%3B%20%2F*%2050MHz%20*%2F%3CBR%20%2F%3E%7D%3B%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E...%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3EFEC%E3%81%AE%E5%A0%B4%E5%90%88%3A%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E...%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3EFEC%3A%20ethernet%4002188000%20%7B%3CBR%20%2F%3Ecompatible%20%3D%20%22FSL%2CIMX6Q-FEC%22%3B%3CBR%20%2F%3Ereg%20%3D%20%26lt%3B0x02188000%200x4000%26gt%3B%3B%3CBR%20%2F%3E%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E6%8B%A1%E5%BC%B5%20%3D%3CBR%20%2F%3E%26lt%3B%26amp%3Bintc%200%20118%20IRQ_TYPE_LEVEL_HIGH%26gt%3B%E3%80%81%3CBR%20%2F%3E%26lt%3B%26amp%3Bintc%200%20119%20IRQ_TYPE_LEVEL_HIGH%26gt%3B%3B%3CBR%20%2F%3E%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%20%3D%20%26lt%3B%26amp%3Bclks%20IMX6QDL_CLK_ENET%26gt%3B%E3%80%81%3CBR%20%2F%3E%26lt%3B%26amp%3Bclks%20IMX6QDL_CLK_ENET%26gt%3B%E3%80%81%3CBR%20%2F%3E%26lt%3B%26amp%3Brmii_clk%26gt%3B%3B%3CBR%20%2F%3Eclock-names%20%3D%20%22ipg%22%2C%20%22ahb%22%2C%20%22ptp%22%3B%3CBR%20%2F%3E%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%20%3D%20%22%E7%84%A1%E5%8A%B9%22%3B%3CBR%20%2F%3E%7D%3B%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E...%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E%E4%B8%8D%E8%A6%81%E3%81%AA%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81%E3%81%93%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E7%B7%A8%E9%9B%86%E3%82%92%E7%84%A1%E5%8A%B9%E3%81%AB%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E%E7%9A%86%E3%81%95%E3%82%93%E3%80%81%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E7%A7%81%E3%81%AE%E4%B8%8B%E6%89%8B%E3%81%AA%E8%8B%B1%E8%AA%9E%E3%81%A7%E3%81%94%E3%82%81%E3%82%93%E3%81%AA%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%200in%3B%20line-height%3A%20100%25%3B%22%3E%3CSPAN%3EAlfred%20%26lt%3B%3C%2FSPAN%3E%3CA%20class%3D%22jive-link-email-small%22%20href%3D%22mailto%3Amuksunoved%40mail.ru%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%20target%3D%22_blank%22%3Emuksunoved%40mail.ru%3C%2FA%3E%3CSPAN%3E%26gt%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%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%AF%E3%80%81%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fthread%2F448174%22%20target%3D%22_blank%22%3EIMX6%20PCI%20with%20external%20cloks%3C%2FA%3E%20%E3%81%AE%E8%AA%AC%E6%98%8E%E3%81%8B%E3%82%89%E4%BD%9C%E6%88%90%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E
評価なし
バージョン履歴
最終更新日:
‎06-15-2017 06:55 PM
更新者: