RE: [PATCH v3 3/9] PCI: imx6: update dts and binding for imx6sx pcie

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Lucas:
Thanks for your review comments.

> -----Original Message-----
> From: Lucas Stach [mailto:l.stach@xxxxxxxxxxxxxx]
> Sent: Monday, September 29, 2014 6:13 PM
> To: Zhu Richard-R65037
> Cc: linux-pci-owner@xxxxxxxxxxxxxxx; linux-pci@xxxxxxxxxxxxxxx; Guo Shawn-
> R65073; festevam@xxxxxxxxx; tharvey@xxxxxxxxxxxxx
> Subject: Re: [PATCH v3 3/9] PCI: imx6: update dts and binding for imx6sx pcie
> 
> Am Montag, den 29.09.2014, 13:03 +0800 schrieb Richard Zhu:
> > - imx6sx pcie phy has its own power regulator. Add the pcie phy power
> > suppy into im6sx pcie dts and binding.
> > - in order to align with imx6qdl's pcie dts, re-format imx6sx pcie
> > dts.
> > - in order to align with imx6qdl pcie dts format and keep clean of
> > imx6 pcie driver, keep the pcie phy clock in imx6sx pcie dts, although
> > it's the parent clk of the pcie bus clock now, and would be enabled
> > automatically when pcie bus clock is enabled. secondly, it's possible
> > that the external osc maybe used as source of the pcie_bus clk in
> > board design in future.
> > - disp_axi clock is required by pcie inbound axi port.
> > Add one more clock for imx6sx pcie.
> >
> > Signed-off-by: Richard Zhu <r65037@xxxxxxxxxxxxx>
> > ---
> >  .../devicetree/bindings/pci/fsl,imx6q-pcie.txt     |  5 +++-
> >  arch/arm/boot/dts/imx6sx.dtsi                      | 30 ++++++++++++-------
> ---
> >  2 files changed, 21 insertions(+), 14 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
> > b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
> > index 9455fd0..981e41d 100644
> > --- a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
> > +++ b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
> > @@ -4,7 +4,7 @@ This PCIe host controller is based on the Synopsis
> > Designware PCIe IP  and thus inherits all the common properties defined in
> designware-pcie.txt.
> >
> >  Required properties:
> > -- compatible: "fsl,imx6q-pcie"
> > +- compatible: "fsl,imx6q-pcie", "fsl,imx6sx-pcie"
> >  - reg: base addresse and length of the pcie controller
> >  - interrupts: A list of interrupt outputs of the controller. Must contain
> an
> >    entry for each entry in the interrupt-names property.
> > @@ -13,6 +13,9 @@ Required properties:
> >  - clock-names: Must include the following additional entries:
> >  	- "pcie_phy"
> >
> > +Power supplies for imx6sx:
> > +- pcie_phy-supply: regulator used by imx6sx pcie phy.
> > +
> To align with the previous practice of naming regulator supplies please don't
> use underscores in the name. Also you aren't documenting the additional clock
> (which also needs a descriptive name, NOT "disp_axi").
> I would recommend the documentation change to look like this:
> 
> Additional required properties for imx6sx-pcie:
> - clock names: Must include the following additional entries:
> 	- "pcie_inbound_axi"
> - power supplies:
> 	- pcie-phy-supply: regulator used to power the PCIe PHY
> 
> Please update the DTS and driver accordingly.
> 
[Richard] Accepted. pcie_inbound_axi is ok.

> >  Example:
> >
> >  	pcie@0x01000000 {
> > diff --git a/arch/arm/boot/dts/imx6sx.dtsi
> > b/arch/arm/boot/dts/imx6sx.dtsi index f4b9da6..b4ca94b 100644
> > --- a/arch/arm/boot/dts/imx6sx.dtsi
> > +++ b/arch/arm/boot/dts/imx6sx.dtsi
> > @@ -599,9 +599,9 @@
> >  					anatop-max-voltage = <1450000>;
> >  				};
> >
> > -				reg_pcie: regulator-vddpcie@140 {
> > +				reg_pcie_phy: regulator-vddpcie_phy@140 {
> >  					compatible = "fsl,anatop-regulator";
> > -					regulator-name = "vddpcie";
> > +					regulator-name = "vddpcie_phy";
> >  					regulator-min-microvolt = <725000>;
> >  					regulator-max-microvolt = <1450000>;
> >  					anatop-reg-offset = <0x140>;
> > @@ -1188,20 +1188,24 @@
> >  			#address-cells = <3>;
> >  			#size-cells = <2>;
> >  			device_type = "pci";
> > -				  /* configuration space */
> > -			ranges = <0x00000800 0 0x08f00000 0x08f00000 0 0x00080000
> > -				  /* downstream I/O */
> > -				  0x81000000 0 0          0x08f80000 0 0x00010000
> > -				  /* non-prefetchable memory */
> > -				  0x82000000 0 0x08000000 0x08000000 0 0x00f00000>;
> > +			ranges = <0x00000800 0 0x08f00000 0x08f00000 0 0x00080000 /*
> configuration space */
> > +				  0x81000000 0 0          0x08f80000 0 0x00010000 /*
> downstream I/O */
> > +				  0x82000000 0 0x08000000 0x08000000 0 0x00f00000>; /*
> > +non-prefetchable memory */
> >  			num-lanes = <1>;
> > -			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
> > -			clocks = <&clks IMX6SX_CLK_PCIE_REF_125M>,
> > -				 <&clks IMX6SX_CLK_PCIE_AXI>,
> > +			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 &intc GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
> > +			                <0 0 0 2 &intc GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
> > +			                <0 0 0 3 &intc GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
> > +			                <0 0 0 4 &intc GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
> > +			clocks = <&clks IMX6SX_CLK_PCIE_AXI>,
> >  				 <&clks IMX6SX_CLK_LVDS1_OUT>,
> > +				 <&clks IMX6SX_CLK_PCIE_REF_125M>,
> >  				 <&clks IMX6SX_CLK_DISPLAY_AXI>;
> > -			clock-names = "pcie_ref_125m", "pcie_axi",
> > -				      "lvds_gate", "display_axi";
> > +			clock-names = "pcie", "pcie_bus", "pcie_phy", "disp_axi";
> > +			pcie_phy-supply = <&reg_pcie_phy>;
> >  			status = "disabled";
> >  		};
> >  	};
> 
> You are still missing the "config" reg space. Please look at the designware-
> pcie.txt base binding, it's a required property now. Also please be more
> careful to address my review comments.
> 
[Richard]Sorry, mis-understand your previous comment.
Catch your point now, would add the new "config" reg space later.
> Regards,
> Lucas
> --
> Pengutronix e.K.             | Lucas Stach                 |
> Industrial Linux Solutions   | http://www.pengutronix.de/  |


Best Regards
Richard Zhu
��.n��������+%������w��{.n�����{���"�)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥





[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux