linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] add the Amlogic Meson PCIe phy driver.
@ 2018-08-14  6:12 Hanjie Lin
  2018-08-14  6:12 ` [PATCH 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe Phy controller Hanjie Lin
  2018-08-14  6:12 ` [PATCH 2/2] PCI: meson: add the Amlogic Meson PCIe phy driver Hanjie Lin
  0 siblings, 2 replies; 11+ messages in thread
From: Hanjie Lin @ 2018-08-14  6:12 UTC (permalink / raw)
  To: Kishon Vijay Abraham I
  Cc: Rob Herring, Hanjie Lin, devicetree, Kevin Hilman, shawn.lin,
	linux-kernel, linux-pci, Carlo Caione, linux-amlogic,
	linux-arm-kernel

This patcheset add the driver and dt-bindings for
the Meson-PCIE-PHY controller.

Yue Wang (2):
  dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe Phy
    controller
  PCI: meson: add the Amlogic Meson PCIe phy driver

 .../bindings/phy/amlogic,meson-pcie-phy.txt        |  31 ++++
 drivers/phy/amlogic/Kconfig                        |   8 ++
 drivers/phy/amlogic/Makefile                       |   1 +
 drivers/phy/amlogic/phy-meson-axg-pcie.c           | 160 +++++++++++++++++++++
 4 files changed, 200 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/phy/amlogic,meson-pcie-phy.txt
 create mode 100644 drivers/phy/amlogic/phy-meson-axg-pcie.c

-- 
2.7.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe Phy controller
  2018-08-14  6:12 [PATCH 0/2] add the Amlogic Meson PCIe phy driver Hanjie Lin
@ 2018-08-14  6:12 ` Hanjie Lin
  2018-08-14 22:50   ` Rob Herring
  2018-08-14  6:12 ` [PATCH 2/2] PCI: meson: add the Amlogic Meson PCIe phy driver Hanjie Lin
  1 sibling, 1 reply; 11+ messages in thread
From: Hanjie Lin @ 2018-08-14  6:12 UTC (permalink / raw)
  To: Kishon Vijay Abraham I
  Cc: Rob Herring, Hanjie Lin, devicetree, linux-pci, shawn.lin,
	linux-kernel, Yue Wang, Kevin Hilman, Carlo Caione,
	linux-amlogic, linux-arm-kernel

From: Yue Wang <yue.wang@amlogic.com>

The Meson-PCIE-PHY controller supports the 5-Gbps data rate
of the PCI Express Gen 2 specification and is backwardcompatible
with the 2.5-Gbps Gen 1.1 specification with only
inferred idle detection supported on AMLOGIC SoCs.

Signed-off-by: Hanjie Lin <hanjie.lin@amlogic.com>
Signed-off-by: Yue Wang <yue.wang@amlogic.com>
---
 .../bindings/phy/amlogic,meson-pcie-phy.txt        | 31 ++++++++++++++++++++++
 1 file changed, 31 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/phy/amlogic,meson-pcie-phy.txt

diff --git a/Documentation/devicetree/bindings/phy/amlogic,meson-pcie-phy.txt b/Documentation/devicetree/bindings/phy/amlogic,meson-pcie-phy.txt
new file mode 100644
index 0000000..db99085
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/amlogic,meson-pcie-phy.txt
@@ -0,0 +1,31 @@
+* Amlogic Meson AXG PCIE PHY binding
+
+Required properties:
+- compatible:	Should be
+	- "amlogic,axg-pcie-phy"
+- #phys-cells:	must be 0 (see phy-bindings.txt in this directory)
+- reg:		The base address and length of the registers
+- resets:	phandle to the reset lines
+- reset-names:	must contain "phy" and "peripheral"
+	- "port_a" Port A reset
+	- "port_b" Port B reset
+	- "phy"	PHY reset
+	- "apb"	APB reset
+Optional properties:
+- phy-supply:	see phy-bindings.txt in this directory
+
+Example:
+	pcie_phy: pcie-phy@ff644000 {
+		#phy-cells = <0>;
+		compatible = "amlogic,axg-pcie-phy";
+		reg = <0x0 0xff644000 0x0 0x2000>;
+		resets = <&reset RESET_PCIE_A>,
+				<&reset RESET_PCIE_B>,
+				<&reset RESET_PCIE_PHY>,
+				<&reset RESET_PCIE_APB>;
+		reset-names =
+				"port_a",
+				"port_b",
+				"phy",
+				"apb";
+	};
-- 
2.7.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 2/2] PCI: meson: add the Amlogic Meson PCIe phy driver
  2018-08-14  6:12 [PATCH 0/2] add the Amlogic Meson PCIe phy driver Hanjie Lin
  2018-08-14  6:12 ` [PATCH 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe Phy controller Hanjie Lin
@ 2018-08-14  6:12 ` Hanjie Lin
  2018-08-14 10:41   ` Jerome Brunet
  1 sibling, 1 reply; 11+ messages in thread
From: Hanjie Lin @ 2018-08-14  6:12 UTC (permalink / raw)
  To: Kishon Vijay Abraham I
  Cc: Rob Herring, Hanjie Lin, linux-pci, shawn.lin, linux-kernel,
	Yue Wang, Kevin Hilman, Carlo Caione, linux-amlogic,
	linux-arm-kernel

From: Yue Wang <yue.wang@amlogic.com>

The Meson-PCIE-PHY controller supports the 5-Gbps data rate
of the PCI Express Gen 2 specification and is backwardcompatible
with the 2.5-Gbps Gen 1.1 specification with only
inferred idle detection supported on AMLOGIC SoCs.

Signed-off-by: Yue Wang <yue.wang@amlogic.com>
Signed-off-by: Hanjie Lin <hanjie.lin@amlogic.com>
---
 drivers/phy/amlogic/Kconfig              |   8 ++
 drivers/phy/amlogic/Makefile             |   1 +
 drivers/phy/amlogic/phy-meson-axg-pcie.c | 160 +++++++++++++++++++++++++++++++
 3 files changed, 169 insertions(+)
 create mode 100644 drivers/phy/amlogic/phy-meson-axg-pcie.c

diff --git a/drivers/phy/amlogic/Kconfig b/drivers/phy/amlogic/Kconfig
index 23fe1cd..3ab07f9 100644
--- a/drivers/phy/amlogic/Kconfig
+++ b/drivers/phy/amlogic/Kconfig
@@ -36,3 +36,11 @@ config PHY_MESON_GXL_USB3
 	  Enable this to support the Meson USB3 PHY and OTG detection
 	  IP block found in Meson GXL and GXM SoCs.
 	  If unsure, say N.
+
+config PHY_MESON_AXG_PCIE
+	bool "Meson AXG PCIe PHY driver"
+	depends on OF && (ARCH_MESON || COMPILE_TEST)
+	select GENERIC_PHY
+	help
+	  Enable PCIe PHY support for Meson AXG SoC series.
+	  This driver provides PHY interface for Meson PCIe controller.
\ No newline at end of file
diff --git a/drivers/phy/amlogic/Makefile b/drivers/phy/amlogic/Makefile
index 4fd8848..5ab8578 100644
--- a/drivers/phy/amlogic/Makefile
+++ b/drivers/phy/amlogic/Makefile
@@ -1,3 +1,4 @@
 obj-$(CONFIG_PHY_MESON8B_USB2)		+= phy-meson8b-usb2.o
 obj-$(CONFIG_PHY_MESON_GXL_USB2)	+= phy-meson-gxl-usb2.o
 obj-$(CONFIG_PHY_MESON_GXL_USB3)	+= phy-meson-gxl-usb3.o
+obj-$(CONFIG_PHY_MESON_AXG_PCIE)	+= phy-meson-axg-pcie.o
diff --git a/drivers/phy/amlogic/phy-meson-axg-pcie.c b/drivers/phy/amlogic/phy-meson-axg-pcie.c
new file mode 100644
index 0000000..8bc5c49
--- /dev/null
+++ b/drivers/phy/amlogic/phy-meson-axg-pcie.c
@@ -0,0 +1,160 @@
+// SPDX-License-Identifier: (GPL-2.0+ or MIT)
+/*
+ * Amlogic MESON SoC series PCIe PHY driver
+ *
+ * Phy provider for PCIe controller on MESON SoC series
+ *
+ * Copyright (c) 2018 Amlogic, inc.
+ * Yue Wang <yue.wang@amlogic.com>
+ */
+
+#include <linux/delay.h>
+#include <linux/io.h>
+#include <linux/of.h>
+#include <linux/of_platform.h>
+#include <linux/platform_device.h>
+#include <linux/phy/phy.h>
+#include <linux/reset.h>
+
+struct meson_pcie_phy_data {
+	const struct phy_ops	*ops;
+};
+
+struct meson_pcie_reset {
+	struct reset_control	*port_a;
+	struct reset_control	*port_b;
+	struct reset_control	*phy;
+	struct reset_control	*apb;
+};
+
+struct meson_pcie_phy {
+	const struct meson_pcie_phy_data	*data;
+	struct meson_pcie_reset	reset;
+	void __iomem	*phy_base;
+};
+
+static int meson_pcie_phy_init(struct phy *phy)
+{
+	struct meson_pcie_phy *mphy = phy_get_drvdata(phy);
+	struct meson_pcie_reset *mrst = &mphy->reset;
+
+	writel(0x1c, mphy->phy_base);
+	reset_control_assert(mrst->port_a);
+	reset_control_assert(mrst->port_b);
+	reset_control_assert(mrst->phy);
+	reset_control_assert(mrst->apb);
+	udelay(400);
+	reset_control_deassert(mrst->port_a);
+	reset_control_deassert(mrst->port_b);
+	reset_control_deassert(mrst->phy);
+	reset_control_deassert(mrst->apb);
+	udelay(500);
+
+	return 0;
+}
+
+static const struct phy_ops meson_phy_ops = {
+	.init		= meson_pcie_phy_init,
+	.owner		= THIS_MODULE,
+};
+
+static const struct meson_pcie_phy_data meson_pcie_phy_data = {
+	.ops		= &meson_phy_ops,
+};
+
+static const struct of_device_id meson_pcie_phy_match[] = {
+	{
+		.compatible = "amlogic,axg-pcie-phy",
+		.data = &meson_pcie_phy_data,
+	},
+	{},
+};
+
+static int meson_pcie_phy_probe(struct platform_device *pdev)
+{
+	struct device *dev = &pdev->dev;
+	struct meson_pcie_phy *mphy;
+	struct meson_pcie_reset *mrst;
+	struct phy *generic_phy;
+	struct phy_provider *phy_provider;
+	struct resource *res;
+	const struct meson_pcie_phy_data *data;
+
+	data = of_device_get_match_data(dev);
+	if (!data)
+		return -ENODEV;
+
+	mphy = devm_kzalloc(dev, sizeof(*mphy), GFP_KERNEL);
+	if (!mphy)
+		return -ENOMEM;
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+	mphy->phy_base = devm_ioremap_resource(dev, res);
+	if (IS_ERR(mphy->phy_base))
+		return PTR_ERR(mphy->phy_base);
+
+	mrst = &mphy->reset;
+
+	mrst->port_a = devm_reset_control_get_shared(dev, "port_a");
+	if (IS_ERR(mrst->port_a)) {
+		if (PTR_ERR(mrst->port_a) != -EPROBE_DEFER)
+			dev_err(dev, "couldn't get port a reset %ld\n",
+				PTR_ERR(mrst->port_a));
+
+		return PTR_ERR(mrst->port_a);
+	}
+
+	mrst->port_b = devm_reset_control_get_shared(dev, "port_b");
+	if (IS_ERR(mrst->port_b)) {
+		if (PTR_ERR(mrst->port_b) != -EPROBE_DEFER)
+			dev_err(dev, "couldn't get port b reset %ld\n",
+				PTR_ERR(mrst->port_b));
+
+		return PTR_ERR(mrst->port_b);
+	}
+
+	mrst->phy = devm_reset_control_get_shared(dev, "phy");
+	if (IS_ERR(mrst->phy)) {
+		if (PTR_ERR(mrst->phy) != -EPROBE_DEFER)
+			dev_err(dev, "couldn't get phy reset\n");
+
+		return PTR_ERR(mrst->phy);
+	}
+
+	mrst->apb = devm_reset_control_get_shared(dev, "apb");
+	if (IS_ERR(mrst->apb)) {
+		if (PTR_ERR(mrst->apb) != -EPROBE_DEFER)
+			dev_err(dev, "couldn't get apb reset\n");
+
+		return PTR_ERR(mrst->apb);
+	}
+
+	reset_control_deassert(mrst->port_a);
+	reset_control_deassert(mrst->port_b);
+	reset_control_deassert(mrst->phy);
+	reset_control_deassert(mrst->apb);
+
+	mphy->data = data;
+
+	generic_phy = devm_phy_create(dev, dev->of_node, mphy->data->ops);
+	if (IS_ERR(generic_phy)) {
+		if (PTR_ERR(generic_phy) != -EPROBE_DEFER)
+			dev_err(dev, "failed to create PHY\n");
+
+		return PTR_ERR(generic_phy);
+	}
+
+	phy_set_drvdata(generic_phy, mphy);
+	phy_provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate);
+
+	return PTR_ERR_OR_ZERO(phy_provider);
+}
+
+static struct platform_driver meson_pcie_phy_driver = {
+	.probe	= meson_pcie_phy_probe,
+	.driver = {
+		.of_match_table	= meson_pcie_phy_match,
+		.name		= "meson-pcie-phy",
+	}
+};
+
+builtin_platform_driver(meson_pcie_phy_driver);
-- 
2.7.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/2] PCI: meson: add the Amlogic Meson PCIe phy driver
  2018-08-14  6:12 ` [PATCH 2/2] PCI: meson: add the Amlogic Meson PCIe phy driver Hanjie Lin
@ 2018-08-14 10:41   ` Jerome Brunet
  2018-08-16  3:05     ` Hanjie Lin
  0 siblings, 1 reply; 11+ messages in thread
From: Jerome Brunet @ 2018-08-14 10:41 UTC (permalink / raw)
  To: Hanjie Lin, Kishon Vijay Abraham I
  Cc: Rob Herring, Kevin Hilman, shawn.lin, linux-kernel, Yue Wang,
	linux-pci, Carlo Caione, linux-amlogic, linux-arm-kernel

On Tue, 2018-08-14 at 02:12 -0400, Hanjie Lin wrote:
> From: Yue Wang <yue.wang@amlogic.com>
> 
> The Meson-PCIE-PHY controller supports the 5-Gbps data rate
> of the PCI Express Gen 2 specification and is backwardcompatible
> with the 2.5-Gbps Gen 1.1 specification with only
> inferred idle detection supported on AMLOGIC SoCs.

It looks like the sole purpose of this driver is to provide the reset lines to
pcie driver.

I wonder why we need this ? Can't the pcie driver claim the reset lines itself.

Also, an init of this phy will always reset both port. What will happen if the
first port is in use and the 2nd port comes up ?? 

Looks the the pcie driver should claim 'apb' and 'phy' reset lines as "shared"
reset and the required 'port' as 'exclusive'

> 
> Signed-off-by: Yue Wang <yue.wang@amlogic.com>
> Signed-off-by: Hanjie Lin <hanjie.lin@amlogic.com>
> ---
>  drivers/phy/amlogic/Kconfig              |   8 ++
>  drivers/phy/amlogic/Makefile             |   1 +
>  drivers/phy/amlogic/phy-meson-axg-pcie.c | 160 +++++++++++++++++++++++++++++++
>  3 files changed, 169 insertions(+)
>  create mode 100644 drivers/phy/amlogic/phy-meson-axg-pcie.c
> 
> diff --git a/drivers/phy/amlogic/Kconfig b/drivers/phy/amlogic/Kconfig
> index 23fe1cd..3ab07f9 100644
> --- a/drivers/phy/amlogic/Kconfig
> +++ b/drivers/phy/amlogic/Kconfig
> @@ -36,3 +36,11 @@ config PHY_MESON_GXL_USB3
>  	  Enable this to support the Meson USB3 PHY and OTG detection
>  	  IP block found in Meson GXL and GXM SoCs.
>  	  If unsure, say N.
> +
> +config PHY_MESON_AXG_PCIE
> +	bool "Meson AXG PCIe PHY driver"
> +	depends on OF && (ARCH_MESON || COMPILE_TEST)
> +	select GENERIC_PHY
> +	help
> +	  Enable PCIe PHY support for Meson AXG SoC series.
> +	  This driver provides PHY interface for Meson PCIe controller.
> \ No newline at end of file
> diff --git a/drivers/phy/amlogic/Makefile b/drivers/phy/amlogic/Makefile
> index 4fd8848..5ab8578 100644
> --- a/drivers/phy/amlogic/Makefile
> +++ b/drivers/phy/amlogic/Makefile
> @@ -1,3 +1,4 @@
>  obj-$(CONFIG_PHY_MESON8B_USB2)		+= phy-meson8b-usb2.o
>  obj-$(CONFIG_PHY_MESON_GXL_USB2)	+= phy-meson-gxl-usb2.o
>  obj-$(CONFIG_PHY_MESON_GXL_USB3)	+= phy-meson-gxl-usb3.o
> +obj-$(CONFIG_PHY_MESON_AXG_PCIE)	+= phy-meson-axg-pcie.o
> diff --git a/drivers/phy/amlogic/phy-meson-axg-pcie.c b/drivers/phy/amlogic/phy-meson-axg-pcie.c
> new file mode 100644
> index 0000000..8bc5c49
> --- /dev/null
> +++ b/drivers/phy/amlogic/phy-meson-axg-pcie.c
> @@ -0,0 +1,160 @@
> +// SPDX-License-Identifier: (GPL-2.0+ or MIT)
> +/*
> + * Amlogic MESON SoC series PCIe PHY driver
> + *
> + * Phy provider for PCIe controller on MESON SoC series
> + *
> + * Copyright (c) 2018 Amlogic, inc.
> + * Yue Wang <yue.wang@amlogic.com>
> + */
> +
> +#include <linux/delay.h>
> +#include <linux/io.h>
> +#include <linux/of.h>
> +#include <linux/of_platform.h>
> +#include <linux/platform_device.h>
> +#include <linux/phy/phy.h>
> +#include <linux/reset.h>
> +
> +struct meson_pcie_phy_data {
> +	const struct phy_ops	*ops;
> +};
> +
> +struct meson_pcie_reset {
> +	struct reset_control	*port_a;
> +	struct reset_control	*port_b;
> +	struct reset_control	*phy;
> +	struct reset_control	*apb;
> +};
> +
> +struct meson_pcie_phy {
> +	const struct meson_pcie_phy_data	*data;
> +	struct meson_pcie_reset	reset;
> +	void __iomem	*phy_base;
> +};
> +
> +static int meson_pcie_phy_init(struct phy *phy)
> +{
> +	struct meson_pcie_phy *mphy = phy_get_drvdata(phy);
> +	struct meson_pcie_reset *mrst = &mphy->reset;
> +
> +	writel(0x1c, mphy->phy_base);
> +	reset_control_assert(mrst->port_a);
> +	reset_control_assert(mrst->port_b);
> +	reset_control_assert(mrst->phy);
> +	reset_control_assert(mrst->apb);
> +	udelay(400);
> +	reset_control_deassert(mrst->port_a);
> +	reset_control_deassert(mrst->port_b);
> +	reset_control_deassert(mrst->phy);
> +	reset_control_deassert(mrst->apb);
> +	udelay(500);
> +
> +	return 0;
> +}
> +
> +static const struct phy_ops meson_phy_ops = {
> +	.init		= meson_pcie_phy_init,
> +	.owner		= THIS_MODULE,
> +};
> +
> +static const struct meson_pcie_phy_data meson_pcie_phy_data = {
> +	.ops		= &meson_phy_ops,
> +};
> +
> +static const struct of_device_id meson_pcie_phy_match[] = {
> +	{
> +		.compatible = "amlogic,axg-pcie-phy",
> +		.data = &meson_pcie_phy_data,
> +	},
> +	{},
> +};
> +
> +static int meson_pcie_phy_probe(struct platform_device *pdev)
> +{
> +	struct device *dev = &pdev->dev;
> +	struct meson_pcie_phy *mphy;
> +	struct meson_pcie_reset *mrst;
> +	struct phy *generic_phy;
> +	struct phy_provider *phy_provider;
> +	struct resource *res;
> +	const struct meson_pcie_phy_data *data;
> +
> +	data = of_device_get_match_data(dev);
> +	if (!data)
> +		return -ENODEV;
> +
> +	mphy = devm_kzalloc(dev, sizeof(*mphy), GFP_KERNEL);
> +	if (!mphy)
> +		return -ENOMEM;
> +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> +	mphy->phy_base = devm_ioremap_resource(dev, res);
> +	if (IS_ERR(mphy->phy_base))
> +		return PTR_ERR(mphy->phy_base);
> +
> +	mrst = &mphy->reset;
> +
> +	mrst->port_a = devm_reset_control_get_shared(dev, "port_a");
> +	if (IS_ERR(mrst->port_a)) {
> +		if (PTR_ERR(mrst->port_a) != -EPROBE_DEFER)
> +			dev_err(dev, "couldn't get port a reset %ld\n",
> +				PTR_ERR(mrst->port_a));
> +
> +		return PTR_ERR(mrst->port_a);
> +	}
> +
> +	mrst->port_b = devm_reset_control_get_shared(dev, "port_b");
> +	if (IS_ERR(mrst->port_b)) {
> +		if (PTR_ERR(mrst->port_b) != -EPROBE_DEFER)
> +			dev_err(dev, "couldn't get port b reset %ld\n",
> +				PTR_ERR(mrst->port_b));
> +
> +		return PTR_ERR(mrst->port_b);
> +	}
> +
> +	mrst->phy = devm_reset_control_get_shared(dev, "phy");
> +	if (IS_ERR(mrst->phy)) {
> +		if (PTR_ERR(mrst->phy) != -EPROBE_DEFER)
> +			dev_err(dev, "couldn't get phy reset\n");
> +
> +		return PTR_ERR(mrst->phy);
> +	}
> +
> +	mrst->apb = devm_reset_control_get_shared(dev, "apb");
> +	if (IS_ERR(mrst->apb)) {
> +		if (PTR_ERR(mrst->apb) != -EPROBE_DEFER)
> +			dev_err(dev, "couldn't get apb reset\n");
> +
> +		return PTR_ERR(mrst->apb);
> +	}
> +
> +	reset_control_deassert(mrst->port_a);
> +	reset_control_deassert(mrst->port_b);
> +	reset_control_deassert(mrst->phy);
> +	reset_control_deassert(mrst->apb);
> +
> +	mphy->data = data;
> +
> +	generic_phy = devm_phy_create(dev, dev->of_node, mphy->data->ops);
> +	if (IS_ERR(generic_phy)) {
> +		if (PTR_ERR(generic_phy) != -EPROBE_DEFER)
> +			dev_err(dev, "failed to create PHY\n");
> +
> +		return PTR_ERR(generic_phy);
> +	}
> +
> +	phy_set_drvdata(generic_phy, mphy);
> +	phy_provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate);
> +
> +	return PTR_ERR_OR_ZERO(phy_provider);
> +}
> +
> +static struct platform_driver meson_pcie_phy_driver = {
> +	.probe	= meson_pcie_phy_probe,
> +	.driver = {
> +		.of_match_table	= meson_pcie_phy_match,
> +		.name		= "meson-pcie-phy",
> +	}
> +};
> +
> +builtin_platform_driver(meson_pcie_phy_driver);



_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe Phy controller
  2018-08-14  6:12 ` [PATCH 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe Phy controller Hanjie Lin
@ 2018-08-14 22:50   ` Rob Herring
  2018-08-16  3:01     ` Hanjie Lin
  0 siblings, 1 reply; 11+ messages in thread
From: Rob Herring @ 2018-08-14 22:50 UTC (permalink / raw)
  To: Hanjie Lin
  Cc: devicetree, linux-pci, shawn.lin, linux-kernel, Yue Wang,
	Kevin Hilman, Carlo Caione, linux-amlogic,
	Kishon Vijay Abraham I, linux-arm-kernel

On Tue, Aug 14, 2018 at 02:12:13AM -0400, Hanjie Lin wrote:
> From: Yue Wang <yue.wang@amlogic.com>

Subject should be "dt-bindings: phy: ..."

> The Meson-PCIE-PHY controller supports the 5-Gbps data rate
> of the PCI Express Gen 2 specification and is backwardcompatible

space                                                   ^

> with the 2.5-Gbps Gen 1.1 specification with only
> inferred idle detection supported on AMLOGIC SoCs.

AMLOGIC or Amlogic? 

> 
> Signed-off-by: Hanjie Lin <hanjie.lin@amlogic.com>
> Signed-off-by: Yue Wang <yue.wang@amlogic.com>
> ---
>  .../bindings/phy/amlogic,meson-pcie-phy.txt        | 31 ++++++++++++++++++++++
>  1 file changed, 31 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/phy/amlogic,meson-pcie-phy.txt
> 
> diff --git a/Documentation/devicetree/bindings/phy/amlogic,meson-pcie-phy.txt b/Documentation/devicetree/bindings/phy/amlogic,meson-pcie-phy.txt
> new file mode 100644
> index 0000000..db99085
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/phy/amlogic,meson-pcie-phy.txt
> @@ -0,0 +1,31 @@
> +* Amlogic Meson AXG PCIE PHY binding
> +
> +Required properties:
> +- compatible:	Should be
> +	- "amlogic,axg-pcie-phy"
> +- #phys-cells:	must be 0 (see phy-bindings.txt in this directory)

You don't need to distinguish port A and B?

> +- reg:		The base address and length of the registers
> +- resets:	phandle to the reset lines
> +- reset-names:	must contain "phy" and "peripheral"
> +	- "port_a" Port A reset
> +	- "port_b" Port B reset
> +	- "phy"	PHY reset
> +	- "apb"	APB reset
> +Optional properties:
> +- phy-supply:	see phy-bindings.txt in this directory
> +
> +Example:
> +	pcie_phy: pcie-phy@ff644000 {
> +		#phy-cells = <0>;
> +		compatible = "amlogic,axg-pcie-phy";
> +		reg = <0x0 0xff644000 0x0 0x2000>;
> +		resets = <&reset RESET_PCIE_A>,
> +				<&reset RESET_PCIE_B>,
> +				<&reset RESET_PCIE_PHY>,
> +				<&reset RESET_PCIE_APB>;
> +		reset-names =
> +				"port_a",
> +				"port_b",
> +				"phy",
> +				"apb";
> +	};
> -- 
> 2.7.4
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe Phy controller
  2018-08-14 22:50   ` Rob Herring
@ 2018-08-16  3:01     ` Hanjie Lin
  0 siblings, 0 replies; 11+ messages in thread
From: Hanjie Lin @ 2018-08-16  3:01 UTC (permalink / raw)
  To: Rob Herring
  Cc: devicetree, linux-pci, shawn.lin, linux-kernel, Yue Wang,
	Kevin Hilman, Carlo Caione, linux-amlogic,
	Kishon Vijay Abraham I, linux-arm-kernel



On 2018/8/15 6:50, Rob Herring wrote:
> On Tue, Aug 14, 2018 at 02:12:13AM -0400, Hanjie Lin wrote:
>> From: Yue Wang <yue.wang@amlogic.com>
> 
> Subject should be "dt-bindings: phy: ..."
> 
>> The Meson-PCIE-PHY controller supports the 5-Gbps data rate
>> of the PCI Express Gen 2 specification and is backwardcompatible
> 
> space    

yes, I will fix
                                               ^
> 
>> with the 2.5-Gbps Gen 1.1 specification with only
>> inferred idle detection supported on AMLOGIC SoCs.
> 
> AMLOGIC or Amlogic? 
> 

yes, we will stick to 'Amlogic'

>>
>> Signed-off-by: Hanjie Lin <hanjie.lin@amlogic.com>
>> Signed-off-by: Yue Wang <yue.wang@amlogic.com>
>> ---
>>  .../bindings/phy/amlogic,meson-pcie-phy.txt        | 31 ++++++++++++++++++++++
>>  1 file changed, 31 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/phy/amlogic,meson-pcie-phy.txt
>>
>> diff --git a/Documentation/devicetree/bindings/phy/amlogic,meson-pcie-phy.txt b/Documentation/devicetree/bindings/phy/amlogic,meson-pcie-phy.txt
>> new file mode 100644
>> index 0000000..db99085
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/phy/amlogic,meson-pcie-phy.txt
>> @@ -0,0 +1,31 @@
>> +* Amlogic Meson AXG PCIE PHY binding
>> +
>> +Required properties:
>> +- compatible:	Should be
>> +	- "amlogic,axg-pcie-phy"
>> +- #phys-cells:	must be 0 (see phy-bindings.txt in this directory)
> 
> You don't need to distinguish port A and B?

No, we don't. Theoretically there is only one phy in the chip,
and we have distinguished ports by reset lines.

Thanks for all corrections and suggestions.

> 
>> +- reg:		The base address and length of the registers
>> +- resets:	phandle to the reset lines
>> +- reset-names:	must contain "phy" and "peripheral"
>> +	- "port_a" Port A reset
>> +	- "port_b" Port B reset
>> +	- "phy"	PHY reset
>> +	- "apb"	APB reset
>> +Optional properties:
>> +- phy-supply:	see phy-bindings.txt in this directory
>> +
>> +Example:
>> +	pcie_phy: pcie-phy@ff644000 {
>> +		#phy-cells = <0>;
>> +		compatible = "amlogic,axg-pcie-phy";
>> +		reg = <0x0 0xff644000 0x0 0x2000>;
>> +		resets = <&reset RESET_PCIE_A>,
>> +				<&reset RESET_PCIE_B>,
>> +				<&reset RESET_PCIE_PHY>,
>> +				<&reset RESET_PCIE_APB>;
>> +		reset-names =
>> +				"port_a",
>> +				"port_b",
>> +				"phy",
>> +				"apb";
>> +	};
>> -- 
>> 2.7.4
>>
> 
> .
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/2] PCI: meson: add the Amlogic Meson PCIe phy driver
  2018-08-14 10:41   ` Jerome Brunet
@ 2018-08-16  3:05     ` Hanjie Lin
  2018-08-16  8:33       ` Jerome Brunet
  0 siblings, 1 reply; 11+ messages in thread
From: Hanjie Lin @ 2018-08-16  3:05 UTC (permalink / raw)
  To: Jerome Brunet, Kishon Vijay Abraham I
  Cc: Rob Herring, Kevin Hilman, shawn.lin, linux-kernel, Yue Wang,
	linux-pci, Carlo Caione, linux-amlogic, linux-arm-kernel

CgpPbiAyMDE4LzgvMTQgMTg6NDEsIEplcm9tZSBCcnVuZXQgd3JvdGU6Cj4gT24gVHVlLCAyMDE4
LTA4LTE0IGF0IDAyOjEyIC0wNDAwLCBIYW5qaWUgTGluIHdyb3RlOgo+PiBGcm9tOiBZdWUgV2Fu
ZyA8eXVlLndhbmdAYW1sb2dpYy5jb20+Cj4+Cj4+IFRoZSBNZXNvbi1QQ0lFLVBIWSBjb250cm9s
bGVyIHN1cHBvcnRzIHRoZSA1LUdicHMgZGF0YSByYXRlCj4+IG9mIHRoZSBQQ0kgRXhwcmVzcyBH
ZW4gMiBzcGVjaWZpY2F0aW9uIGFuZCBpcyBiYWNrd2FyZGNvbXBhdGlibGUKPj4gd2l0aCB0aGUg
Mi41LUdicHMgR2VuIDEuMSBzcGVjaWZpY2F0aW9uIHdpdGggb25seQo+PiBpbmZlcnJlZCBpZGxl
IGRldGVjdGlvbiBzdXBwb3J0ZWQgb24gQU1MT0dJQyBTb0NzLgo+IAo+IEl0IGxvb2tzIGxpa2Ug
dGhlIHNvbGUgcHVycG9zZSBvZiB0aGlzIGRyaXZlciBpcyB0byBwcm92aWRlIHRoZSByZXNldCBs
aW5lcyB0bwo+IHBjaWUgZHJpdmVyLgo+IAo+IEkgd29uZGVyIHdoeSB3ZSBuZWVkIHRoaXMgPyBD
YW4ndCB0aGUgcGNpZSBkcml2ZXIgY2xhaW0gdGhlIHJlc2V0IGxpbmVzIGl0c2VsZi4KPiAKPiBB
bHNvLCBhbiBpbml0IG9mIHRoaXMgcGh5IHdpbGwgYWx3YXlzIHJlc2V0IGJvdGggcG9ydC4gV2hh
dCB3aWxsIGhhcHBlbiBpZiB0aGUKPiBmaXJzdCBwb3J0IGlzIGluIHVzZSBhbmQgdGhlIDJuZCBw
b3J0IGNvbWVzIHVwID8/IAo+IAo+IExvb2tzIHRoZSB0aGUgcGNpZSBkcml2ZXIgc2hvdWxkIGNs
YWltICdhcGInIGFuZCAncGh5JyByZXNldCBsaW5lcyBhcyAic2hhcmVkIgo+IHJlc2V0IGFuZCB0
aGUgcmVxdWlyZWQgJ3BvcnQnIGFzICdleGNsdXNpdmUnCj4gCgpUaGFuayB5b3UgZm9yIHlvdXIg
cmVzcG9uc2UuCgpZZXMsICdhcGInIGFuZCAncGh5JyByZXNldCBsaW5lcyBhcmUgc2hhcmVkLCBh
bmQg4oCYcG9ydCcgcmVzZXQgbGluZSBpcyBleGNsdXNpdmUuCklmIHdlIGhhbmRsZSBhbGwgcmVz
ZXQgbGluZXMgZHVyaW5nIHRoZSBmaXJzdCBwb3J0IGluaXRpYWwgc2VxdWVuY2UsIAphbmQgd2hl
biB0aGUgc2Vjb25kIHBvcnQgY29tZXMgdXAsIHdlIHdpbGwgZG8gbm90aGluZyBhYm91dCB0aGUg
cmVzdCBsaW5lcywgCmFuZCBkb24ndCBuZWVkIGEgZXh0cmEgQVBJIHRvIGRvIOKAmHBvcnQnIHJl
c2V0OwoKPj4KPj4gU2lnbmVkLW9mZi1ieTogWXVlIFdhbmcgPHl1ZS53YW5nQGFtbG9naWMuY29t
Pgo+PiBTaWduZWQtb2ZmLWJ5OiBIYW5qaWUgTGluIDxoYW5qaWUubGluQGFtbG9naWMuY29tPgo+
PiAtLS0KPj4gIGRyaXZlcnMvcGh5L2FtbG9naWMvS2NvbmZpZyAgICAgICAgICAgICAgfCAgIDgg
KysKPj4gIGRyaXZlcnMvcGh5L2FtbG9naWMvTWFrZWZpbGUgICAgICAgICAgICAgfCAgIDEgKwo+
PiAgZHJpdmVycy9waHkvYW1sb2dpYy9waHktbWVzb24tYXhnLXBjaWUuYyB8IDE2MCArKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrCj4+ICAzIGZpbGVzIGNoYW5nZWQsIDE2OSBpbnNlcnRp
b25zKCspCj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9waHkvYW1sb2dpYy9waHktbWVz
b24tYXhnLXBjaWUuYwo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9waHkvYW1sb2dpYy9LY29u
ZmlnIGIvZHJpdmVycy9waHkvYW1sb2dpYy9LY29uZmlnCj4+IGluZGV4IDIzZmUxY2QuLjNhYjA3
ZjkgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvcGh5L2FtbG9naWMvS2NvbmZpZwo+PiArKysgYi9k
cml2ZXJzL3BoeS9hbWxvZ2ljL0tjb25maWcKPj4gQEAgLTM2LDMgKzM2LDExIEBAIGNvbmZpZyBQ
SFlfTUVTT05fR1hMX1VTQjMKPj4gIAkgIEVuYWJsZSB0aGlzIHRvIHN1cHBvcnQgdGhlIE1lc29u
IFVTQjMgUEhZIGFuZCBPVEcgZGV0ZWN0aW9uCj4+ICAJICBJUCBibG9jayBmb3VuZCBpbiBNZXNv
biBHWEwgYW5kIEdYTSBTb0NzLgo+PiAgCSAgSWYgdW5zdXJlLCBzYXkgTi4KPj4gKwo+PiArY29u
ZmlnIFBIWV9NRVNPTl9BWEdfUENJRQo+PiArCWJvb2wgIk1lc29uIEFYRyBQQ0llIFBIWSBkcml2
ZXIiCj4+ICsJZGVwZW5kcyBvbiBPRiAmJiAoQVJDSF9NRVNPTiB8fCBDT01QSUxFX1RFU1QpCj4+
ICsJc2VsZWN0IEdFTkVSSUNfUEhZCj4+ICsJaGVscAo+PiArCSAgRW5hYmxlIFBDSWUgUEhZIHN1
cHBvcnQgZm9yIE1lc29uIEFYRyBTb0Mgc2VyaWVzLgo+PiArCSAgVGhpcyBkcml2ZXIgcHJvdmlk
ZXMgUEhZIGludGVyZmFjZSBmb3IgTWVzb24gUENJZSBjb250cm9sbGVyLgo+PiBcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGh5L2FtbG9naWMvTWFr
ZWZpbGUgYi9kcml2ZXJzL3BoeS9hbWxvZ2ljL01ha2VmaWxlCj4+IGluZGV4IDRmZDg4NDguLjVh
Yjg1NzggMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvcGh5L2FtbG9naWMvTWFrZWZpbGUKPj4gKysr
IGIvZHJpdmVycy9waHkvYW1sb2dpYy9NYWtlZmlsZQo+PiBAQCAtMSwzICsxLDQgQEAKPj4gIG9i
ai0kKENPTkZJR19QSFlfTUVTT044Ql9VU0IyKQkJKz0gcGh5LW1lc29uOGItdXNiMi5vCj4+ICBv
YmotJChDT05GSUdfUEhZX01FU09OX0dYTF9VU0IyKQkrPSBwaHktbWVzb24tZ3hsLXVzYjIubwo+
PiAgb2JqLSQoQ09ORklHX1BIWV9NRVNPTl9HWExfVVNCMykJKz0gcGh5LW1lc29uLWd4bC11c2Iz
Lm8KPj4gK29iai0kKENPTkZJR19QSFlfTUVTT05fQVhHX1BDSUUpCSs9IHBoeS1tZXNvbi1heGct
cGNpZS5vCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BoeS9hbWxvZ2ljL3BoeS1tZXNvbi1heGct
cGNpZS5jIGIvZHJpdmVycy9waHkvYW1sb2dpYy9waHktbWVzb24tYXhnLXBjaWUuYwo+PiBuZXcg
ZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwLi44YmM1YzQ5Cj4+IC0tLSAvZGV2L251
bGwKPj4gKysrIGIvZHJpdmVycy9waHkvYW1sb2dpYy9waHktbWVzb24tYXhnLXBjaWUuYwo+PiBA
QCAtMCwwICsxLDE2MCBAQAo+PiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IChHUEwtMi4w
KyBvciBNSVQpCj4+ICsvKgo+PiArICogQW1sb2dpYyBNRVNPTiBTb0Mgc2VyaWVzIFBDSWUgUEhZ
IGRyaXZlcgo+PiArICoKPj4gKyAqIFBoeSBwcm92aWRlciBmb3IgUENJZSBjb250cm9sbGVyIG9u
IE1FU09OIFNvQyBzZXJpZXMKPj4gKyAqCj4+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTggQW1sb2dp
YywgaW5jLgo+PiArICogWXVlIFdhbmcgPHl1ZS53YW5nQGFtbG9naWMuY29tPgo+PiArICovCj4+
ICsKPj4gKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgo+PiArI2luY2x1ZGUgPGxpbnV4L2lvLmg+
Cj4+ICsjaW5jbHVkZSA8bGludXgvb2YuaD4KPj4gKyNpbmNsdWRlIDxsaW51eC9vZl9wbGF0Zm9y
bS5oPgo+PiArI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgo+PiArI2luY2x1ZGUg
PGxpbnV4L3BoeS9waHkuaD4KPj4gKyNpbmNsdWRlIDxsaW51eC9yZXNldC5oPgo+PiArCj4+ICtz
dHJ1Y3QgbWVzb25fcGNpZV9waHlfZGF0YSB7Cj4+ICsJY29uc3Qgc3RydWN0IHBoeV9vcHMJKm9w
czsKPj4gK307Cj4+ICsKPj4gK3N0cnVjdCBtZXNvbl9wY2llX3Jlc2V0IHsKPj4gKwlzdHJ1Y3Qg
cmVzZXRfY29udHJvbAkqcG9ydF9hOwo+PiArCXN0cnVjdCByZXNldF9jb250cm9sCSpwb3J0X2I7
Cj4+ICsJc3RydWN0IHJlc2V0X2NvbnRyb2wJKnBoeTsKPj4gKwlzdHJ1Y3QgcmVzZXRfY29udHJv
bAkqYXBiOwo+PiArfTsKPj4gKwo+PiArc3RydWN0IG1lc29uX3BjaWVfcGh5IHsKPj4gKwljb25z
dCBzdHJ1Y3QgbWVzb25fcGNpZV9waHlfZGF0YQkqZGF0YTsKPj4gKwlzdHJ1Y3QgbWVzb25fcGNp
ZV9yZXNldAlyZXNldDsKPj4gKwl2b2lkIF9faW9tZW0JKnBoeV9iYXNlOwo+PiArfTsKPj4gKwo+
PiArc3RhdGljIGludCBtZXNvbl9wY2llX3BoeV9pbml0KHN0cnVjdCBwaHkgKnBoeSkKPj4gK3sK
Pj4gKwlzdHJ1Y3QgbWVzb25fcGNpZV9waHkgKm1waHkgPSBwaHlfZ2V0X2RydmRhdGEocGh5KTsK
Pj4gKwlzdHJ1Y3QgbWVzb25fcGNpZV9yZXNldCAqbXJzdCA9ICZtcGh5LT5yZXNldDsKPj4gKwo+
PiArCXdyaXRlbCgweDFjLCBtcGh5LT5waHlfYmFzZSk7Cj4+ICsJcmVzZXRfY29udHJvbF9hc3Nl
cnQobXJzdC0+cG9ydF9hKTsKPj4gKwlyZXNldF9jb250cm9sX2Fzc2VydChtcnN0LT5wb3J0X2Ip
Owo+PiArCXJlc2V0X2NvbnRyb2xfYXNzZXJ0KG1yc3QtPnBoeSk7Cj4+ICsJcmVzZXRfY29udHJv
bF9hc3NlcnQobXJzdC0+YXBiKTsKPj4gKwl1ZGVsYXkoNDAwKTsKPj4gKwlyZXNldF9jb250cm9s
X2RlYXNzZXJ0KG1yc3QtPnBvcnRfYSk7Cj4+ICsJcmVzZXRfY29udHJvbF9kZWFzc2VydChtcnN0
LT5wb3J0X2IpOwo+PiArCXJlc2V0X2NvbnRyb2xfZGVhc3NlcnQobXJzdC0+cGh5KTsKPj4gKwly
ZXNldF9jb250cm9sX2RlYXNzZXJ0KG1yc3QtPmFwYik7Cj4+ICsJdWRlbGF5KDUwMCk7Cj4+ICsK
Pj4gKwlyZXR1cm4gMDsKPj4gK30KPj4gKwo+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBwaHlfb3Bz
IG1lc29uX3BoeV9vcHMgPSB7Cj4+ICsJLmluaXQJCT0gbWVzb25fcGNpZV9waHlfaW5pdCwKPj4g
Kwkub3duZXIJCT0gVEhJU19NT0RVTEUsCj4+ICt9Owo+PiArCj4+ICtzdGF0aWMgY29uc3Qgc3Ry
dWN0IG1lc29uX3BjaWVfcGh5X2RhdGEgbWVzb25fcGNpZV9waHlfZGF0YSA9IHsKPj4gKwkub3Bz
CQk9ICZtZXNvbl9waHlfb3BzLAo+PiArfTsKPj4gKwo+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBv
Zl9kZXZpY2VfaWQgbWVzb25fcGNpZV9waHlfbWF0Y2hbXSA9IHsKPj4gKwl7Cj4+ICsJCS5jb21w
YXRpYmxlID0gImFtbG9naWMsYXhnLXBjaWUtcGh5IiwKPj4gKwkJLmRhdGEgPSAmbWVzb25fcGNp
ZV9waHlfZGF0YSwKPj4gKwl9LAo+PiArCXt9LAo+PiArfTsKPj4gKwo+PiArc3RhdGljIGludCBt
ZXNvbl9wY2llX3BoeV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+PiArewo+
PiArCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZwZGV2LT5kZXY7Cj4+ICsJc3RydWN0IG1lc29uX3Bj
aWVfcGh5ICptcGh5Owo+PiArCXN0cnVjdCBtZXNvbl9wY2llX3Jlc2V0ICptcnN0Owo+PiArCXN0
cnVjdCBwaHkgKmdlbmVyaWNfcGh5Owo+PiArCXN0cnVjdCBwaHlfcHJvdmlkZXIgKnBoeV9wcm92
aWRlcjsKPj4gKwlzdHJ1Y3QgcmVzb3VyY2UgKnJlczsKPj4gKwljb25zdCBzdHJ1Y3QgbWVzb25f
cGNpZV9waHlfZGF0YSAqZGF0YTsKPj4gKwo+PiArCWRhdGEgPSBvZl9kZXZpY2VfZ2V0X21hdGNo
X2RhdGEoZGV2KTsKPj4gKwlpZiAoIWRhdGEpCj4+ICsJCXJldHVybiAtRU5PREVWOwo+PiArCj4+
ICsJbXBoeSA9IGRldm1fa3phbGxvYyhkZXYsIHNpemVvZigqbXBoeSksIEdGUF9LRVJORUwpOwo+
PiArCWlmICghbXBoeSkKPj4gKwkJcmV0dXJuIC1FTk9NRU07Cj4+ICsJcmVzID0gcGxhdGZvcm1f
Z2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKPj4gKwltcGh5LT5waHlfYmFz
ZSA9IGRldm1faW9yZW1hcF9yZXNvdXJjZShkZXYsIHJlcyk7Cj4+ICsJaWYgKElTX0VSUihtcGh5
LT5waHlfYmFzZSkpCj4+ICsJCXJldHVybiBQVFJfRVJSKG1waHktPnBoeV9iYXNlKTsKPj4gKwo+
PiArCW1yc3QgPSAmbXBoeS0+cmVzZXQ7Cj4+ICsKPj4gKwltcnN0LT5wb3J0X2EgPSBkZXZtX3Jl
c2V0X2NvbnRyb2xfZ2V0X3NoYXJlZChkZXYsICJwb3J0X2EiKTsKPj4gKwlpZiAoSVNfRVJSKG1y
c3QtPnBvcnRfYSkpIHsKPj4gKwkJaWYgKFBUUl9FUlIobXJzdC0+cG9ydF9hKSAhPSAtRVBST0JF
X0RFRkVSKQo+PiArCQkJZGV2X2VycihkZXYsICJjb3VsZG4ndCBnZXQgcG9ydCBhIHJlc2V0ICVs
ZFxuIiwKPj4gKwkJCQlQVFJfRVJSKG1yc3QtPnBvcnRfYSkpOwo+PiArCj4+ICsJCXJldHVybiBQ
VFJfRVJSKG1yc3QtPnBvcnRfYSk7Cj4+ICsJfQo+PiArCj4+ICsJbXJzdC0+cG9ydF9iID0gZGV2
bV9yZXNldF9jb250cm9sX2dldF9zaGFyZWQoZGV2LCAicG9ydF9iIik7Cj4+ICsJaWYgKElTX0VS
UihtcnN0LT5wb3J0X2IpKSB7Cj4+ICsJCWlmIChQVFJfRVJSKG1yc3QtPnBvcnRfYikgIT0gLUVQ
Uk9CRV9ERUZFUikKPj4gKwkJCWRldl9lcnIoZGV2LCAiY291bGRuJ3QgZ2V0IHBvcnQgYiByZXNl
dCAlbGRcbiIsCj4+ICsJCQkJUFRSX0VSUihtcnN0LT5wb3J0X2IpKTsKPj4gKwo+PiArCQlyZXR1
cm4gUFRSX0VSUihtcnN0LT5wb3J0X2IpOwo+PiArCX0KPj4gKwo+PiArCW1yc3QtPnBoeSA9IGRl
dm1fcmVzZXRfY29udHJvbF9nZXRfc2hhcmVkKGRldiwgInBoeSIpOwo+PiArCWlmIChJU19FUlIo
bXJzdC0+cGh5KSkgewo+PiArCQlpZiAoUFRSX0VSUihtcnN0LT5waHkpICE9IC1FUFJPQkVfREVG
RVIpCj4+ICsJCQlkZXZfZXJyKGRldiwgImNvdWxkbid0IGdldCBwaHkgcmVzZXRcbiIpOwo+PiAr
Cj4+ICsJCXJldHVybiBQVFJfRVJSKG1yc3QtPnBoeSk7Cj4+ICsJfQo+PiArCj4+ICsJbXJzdC0+
YXBiID0gZGV2bV9yZXNldF9jb250cm9sX2dldF9zaGFyZWQoZGV2LCAiYXBiIik7Cj4+ICsJaWYg
KElTX0VSUihtcnN0LT5hcGIpKSB7Cj4+ICsJCWlmIChQVFJfRVJSKG1yc3QtPmFwYikgIT0gLUVQ
Uk9CRV9ERUZFUikKPj4gKwkJCWRldl9lcnIoZGV2LCAiY291bGRuJ3QgZ2V0IGFwYiByZXNldFxu
Iik7Cj4+ICsKPj4gKwkJcmV0dXJuIFBUUl9FUlIobXJzdC0+YXBiKTsKPj4gKwl9Cj4+ICsKPj4g
KwlyZXNldF9jb250cm9sX2RlYXNzZXJ0KG1yc3QtPnBvcnRfYSk7Cj4+ICsJcmVzZXRfY29udHJv
bF9kZWFzc2VydChtcnN0LT5wb3J0X2IpOwo+PiArCXJlc2V0X2NvbnRyb2xfZGVhc3NlcnQobXJz
dC0+cGh5KTsKPj4gKwlyZXNldF9jb250cm9sX2RlYXNzZXJ0KG1yc3QtPmFwYik7Cj4+ICsKPj4g
KwltcGh5LT5kYXRhID0gZGF0YTsKPj4gKwo+PiArCWdlbmVyaWNfcGh5ID0gZGV2bV9waHlfY3Jl
YXRlKGRldiwgZGV2LT5vZl9ub2RlLCBtcGh5LT5kYXRhLT5vcHMpOwo+PiArCWlmIChJU19FUlIo
Z2VuZXJpY19waHkpKSB7Cj4+ICsJCWlmIChQVFJfRVJSKGdlbmVyaWNfcGh5KSAhPSAtRVBST0JF
X0RFRkVSKQo+PiArCQkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gY3JlYXRlIFBIWVxuIik7Cj4+
ICsKPj4gKwkJcmV0dXJuIFBUUl9FUlIoZ2VuZXJpY19waHkpOwo+PiArCX0KPj4gKwo+PiArCXBo
eV9zZXRfZHJ2ZGF0YShnZW5lcmljX3BoeSwgbXBoeSk7Cj4+ICsJcGh5X3Byb3ZpZGVyID0gZGV2
bV9vZl9waHlfcHJvdmlkZXJfcmVnaXN0ZXIoZGV2LCBvZl9waHlfc2ltcGxlX3hsYXRlKTsKPj4g
Kwo+PiArCXJldHVybiBQVFJfRVJSX09SX1pFUk8ocGh5X3Byb3ZpZGVyKTsKPj4gK30KPj4gKwo+
PiArc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgbWVzb25fcGNpZV9waHlfZHJpdmVyID0g
ewo+PiArCS5wcm9iZQk9IG1lc29uX3BjaWVfcGh5X3Byb2JlLAo+PiArCS5kcml2ZXIgPSB7Cj4+
ICsJCS5vZl9tYXRjaF90YWJsZQk9IG1lc29uX3BjaWVfcGh5X21hdGNoLAo+PiArCQkubmFtZQkJ
PSAibWVzb24tcGNpZS1waHkiLAo+PiArCX0KPj4gK307Cj4+ICsKPj4gK2J1aWx0aW5fcGxhdGZv
cm1fZHJpdmVyKG1lc29uX3BjaWVfcGh5X2RyaXZlcik7Cj4gCj4gCj4gLgo+IAoKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBt
YWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9s
aXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/2] PCI: meson: add the Amlogic Meson PCIe phy driver
  2018-08-16  3:05     ` Hanjie Lin
@ 2018-08-16  8:33       ` Jerome Brunet
  2018-08-17  6:12         ` Hanjie Lin
  0 siblings, 1 reply; 11+ messages in thread
From: Jerome Brunet @ 2018-08-16  8:33 UTC (permalink / raw)
  To: Hanjie Lin, Kishon Vijay Abraham I
  Cc: Rob Herring, Kevin Hilman, shawn.lin, linux-kernel, Yue Wang,
	linux-pci, Carlo Caione, linux-amlogic, linux-arm-kernel

T24gVGh1LCAyMDE4LTA4LTE2IGF0IDExOjA1ICswODAwLCBIYW5qaWUgTGluIHdyb3RlOgo+IAo+
IE9uIDIwMTgvOC8xNCAxODo0MSwgSmVyb21lIEJydW5ldCB3cm90ZToKPiA+IE9uIFR1ZSwgMjAx
OC0wOC0xNCBhdCAwMjoxMiAtMDQwMCwgSGFuamllIExpbiB3cm90ZToKPiA+ID4gRnJvbTogWXVl
IFdhbmcgPHl1ZS53YW5nQGFtbG9naWMuY29tPgo+ID4gPiAKPiA+ID4gVGhlIE1lc29uLVBDSUUt
UEhZIGNvbnRyb2xsZXIgc3VwcG9ydHMgdGhlIDUtR2JwcyBkYXRhIHJhdGUKPiA+ID4gb2YgdGhl
IFBDSSBFeHByZXNzIEdlbiAyIHNwZWNpZmljYXRpb24gYW5kIGlzIGJhY2t3YXJkY29tcGF0aWJs
ZQo+ID4gPiB3aXRoIHRoZSAyLjUtR2JwcyBHZW4gMS4xIHNwZWNpZmljYXRpb24gd2l0aCBvbmx5
Cj4gPiA+IGluZmVycmVkIGlkbGUgZGV0ZWN0aW9uIHN1cHBvcnRlZCBvbiBBTUxPR0lDIFNvQ3Mu
Cj4gPiAKPiA+IEl0IGxvb2tzIGxpa2UgdGhlIHNvbGUgcHVycG9zZSBvZiB0aGlzIGRyaXZlciBp
cyB0byBwcm92aWRlIHRoZSByZXNldCBsaW5lcyB0bwo+ID4gcGNpZSBkcml2ZXIuCj4gPiAKPiA+
IEkgd29uZGVyIHdoeSB3ZSBuZWVkIHRoaXMgPyBDYW4ndCB0aGUgcGNpZSBkcml2ZXIgY2xhaW0g
dGhlIHJlc2V0IGxpbmVzIGl0c2VsZi4KPiA+IAo+ID4gQWxzbywgYW4gaW5pdCBvZiB0aGlzIHBo
eSB3aWxsIGFsd2F5cyByZXNldCBib3RoIHBvcnQuIFdoYXQgd2lsbCBoYXBwZW4gaWYgdGhlCj4g
PiBmaXJzdCBwb3J0IGlzIGluIHVzZSBhbmQgdGhlIDJuZCBwb3J0IGNvbWVzIHVwID8/IAo+ID4g
Cj4gPiBMb29rcyB0aGUgdGhlIHBjaWUgZHJpdmVyIHNob3VsZCBjbGFpbSAnYXBiJyBhbmQgJ3Bo
eScgcmVzZXQgbGluZXMgYXMgInNoYXJlZCIKPiA+IHJlc2V0IGFuZCB0aGUgcmVxdWlyZWQgJ3Bv
cnQnIGFzICdleGNsdXNpdmUnCj4gPiAKPiAKPiBUaGFuayB5b3UgZm9yIHlvdXIgcmVzcG9uc2Uu
Cj4gCj4gWWVzLCAnYXBiJyBhbmQgJ3BoeScgcmVzZXQgbGluZXMgYXJlIHNoYXJlZCwgYW5kIOKA
mHBvcnQnIHJlc2V0IGxpbmUgaXMgZXhjbHVzaXZlLgo+IElmIHdlIGhhbmRsZSBhbGwgcmVzZXQg
bGluZXMgZHVyaW5nIHRoZSBmaXJzdCBwb3J0IGluaXRpYWwgc2VxdWVuY2UsIAo+IGFuZCB3aGVu
IHRoZSBzZWNvbmQgcG9ydCBjb21lcyB1cCwgd2Ugd2lsbCBkbyBub3RoaW5nIGFib3V0IHRoZSBy
ZXN0IGxpbmVzLCAKPiBhbmQgZG9uJ3QgbmVlZCBhIGV4dHJhIEFQSSB0byBkbyDigJhwb3J0JyBy
ZXNldDsKCldpdGggd2hpY2ggb3RoZXIgZHJpdmVyIGFyZSB5b3VyIGNvbnRyb2wgc2hhcmVkID8K
Ckxvb2tzIGl0IGlzIHRoZSBhbnN3ZXIgaXMgbm9uZSBzaW5jZSB0aGlzIHBoeSBkcml2ZXIgd2ls
bCByZXNldCBib3RoIHBvcnQKYWxyZWFkeSwgZXZlbiBpZiBvbmUgaXMgdXNlZC4KCkluIHRoaXMg
Y2FzZSB0aGUgZmFjdCB0aGF0IHlvdSBhcmUgdXNpbmcgc2hhcmVkIGNvbnRyb2wgaXMganVzdCBh
YnVzaW5nIHRoZQpmcmFtZXdvcmsgdG8gcmVzZXQgb25jZS4KCkFzIGZhciBhcyBJIGNhbiB0ZWxs
LCB0aGlzIGRyaXZlciBtYWtlcyBubyBzZW5zZS4gVGhlIGFwcHJvcHJpYXRlIHJlc2V0IGxpbmVz
CnNob3VsZCBiZSBnaXZlbiBkaXJlY3RseSB0byB5b3VyIHBjaWUgZHJpdmVyLiAKCgoKCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJu
ZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw
Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/2] PCI: meson: add the Amlogic Meson PCIe phy driver
  2018-08-16  8:33       ` Jerome Brunet
@ 2018-08-17  6:12         ` Hanjie Lin
  2018-08-17  8:09           ` Jerome Brunet
  0 siblings, 1 reply; 11+ messages in thread
From: Hanjie Lin @ 2018-08-17  6:12 UTC (permalink / raw)
  To: Jerome Brunet, Kishon Vijay Abraham I
  Cc: Rob Herring, Kevin Hilman, shawn.lin, linux-kernel, Yue Wang,
	linux-pci, Carlo Caione, linux-amlogic, linux-arm-kernel

CgpPbiAyMDE4LzgvMTYgMTY6MzMsIEplcm9tZSBCcnVuZXQgd3JvdGU6Cj4gT24gVGh1LCAyMDE4
LTA4LTE2IGF0IDExOjA1ICswODAwLCBIYW5qaWUgTGluIHdyb3RlOgo+Pgo+PiBPbiAyMDE4Lzgv
MTQgMTg6NDEsIEplcm9tZSBCcnVuZXQgd3JvdGU6Cj4+PiBPbiBUdWUsIDIwMTgtMDgtMTQgYXQg
MDI6MTIgLTA0MDAsIEhhbmppZSBMaW4gd3JvdGU6Cj4+Pj4gRnJvbTogWXVlIFdhbmcgPHl1ZS53
YW5nQGFtbG9naWMuY29tPgo+Pj4+Cj4+Pj4gVGhlIE1lc29uLVBDSUUtUEhZIGNvbnRyb2xsZXIg
c3VwcG9ydHMgdGhlIDUtR2JwcyBkYXRhIHJhdGUKPj4+PiBvZiB0aGUgUENJIEV4cHJlc3MgR2Vu
IDIgc3BlY2lmaWNhdGlvbiBhbmQgaXMgYmFja3dhcmRjb21wYXRpYmxlCj4+Pj4gd2l0aCB0aGUg
Mi41LUdicHMgR2VuIDEuMSBzcGVjaWZpY2F0aW9uIHdpdGggb25seQo+Pj4+IGluZmVycmVkIGlk
bGUgZGV0ZWN0aW9uIHN1cHBvcnRlZCBvbiBBTUxPR0lDIFNvQ3MuCj4+Pgo+Pj4gSXQgbG9va3Mg
bGlrZSB0aGUgc29sZSBwdXJwb3NlIG9mIHRoaXMgZHJpdmVyIGlzIHRvIHByb3ZpZGUgdGhlIHJl
c2V0IGxpbmVzIHRvCj4+PiBwY2llIGRyaXZlci4KPj4+Cj4+PiBJIHdvbmRlciB3aHkgd2UgbmVl
ZCB0aGlzID8gQ2FuJ3QgdGhlIHBjaWUgZHJpdmVyIGNsYWltIHRoZSByZXNldCBsaW5lcyBpdHNl
bGYuCj4+Pgo+Pj4gQWxzbywgYW4gaW5pdCBvZiB0aGlzIHBoeSB3aWxsIGFsd2F5cyByZXNldCBi
b3RoIHBvcnQuIFdoYXQgd2lsbCBoYXBwZW4gaWYgdGhlCj4+PiBmaXJzdCBwb3J0IGlzIGluIHVz
ZSBhbmQgdGhlIDJuZCBwb3J0IGNvbWVzIHVwID8/IAo+Pj4KPj4+IExvb2tzIHRoZSB0aGUgcGNp
ZSBkcml2ZXIgc2hvdWxkIGNsYWltICdhcGInIGFuZCAncGh5JyByZXNldCBsaW5lcyBhcyAic2hh
cmVkIgo+Pj4gcmVzZXQgYW5kIHRoZSByZXF1aXJlZCAncG9ydCcgYXMgJ2V4Y2x1c2l2ZScKPj4+
Cj4+Cj4+IFRoYW5rIHlvdSBmb3IgeW91ciByZXNwb25zZS4KPj4KPj4gWWVzLCAnYXBiJyBhbmQg
J3BoeScgcmVzZXQgbGluZXMgYXJlIHNoYXJlZCwgYW5kIOKAmHBvcnQnIHJlc2V0IGxpbmUgaXMg
ZXhjbHVzaXZlLgo+PiBJZiB3ZSBoYW5kbGUgYWxsIHJlc2V0IGxpbmVzIGR1cmluZyB0aGUgZmly
c3QgcG9ydCBpbml0aWFsIHNlcXVlbmNlLCAKPj4gYW5kIHdoZW4gdGhlIHNlY29uZCBwb3J0IGNv
bWVzIHVwLCB3ZSB3aWxsIGRvIG5vdGhpbmcgYWJvdXQgdGhlIHJlc3QgbGluZXMsIAo+PiBhbmQg
ZG9uJ3QgbmVlZCBhIGV4dHJhIEFQSSB0byBkbyDigJhwb3J0JyByZXNldDsKPiAKPiBXaXRoIHdo
aWNoIG90aGVyIGRyaXZlciBhcmUgeW91ciBjb250cm9sIHNoYXJlZCA/Cj4gCj4gTG9va3MgaXQg
aXMgdGhlIGFuc3dlciBpcyBub25lIHNpbmNlIHRoaXMgcGh5IGRyaXZlciB3aWxsIHJlc2V0IGJv
dGggcG9ydAo+IGFscmVhZHksIGV2ZW4gaWYgb25lIGlzIHVzZWQuCj4gCj4gSW4gdGhpcyBjYXNl
IHRoZSBmYWN0IHRoYXQgeW91IGFyZSB1c2luZyBzaGFyZWQgY29udHJvbCBpcyBqdXN0IGFidXNp
bmcgdGhlCj4gZnJhbWV3b3JrIHRvIHJlc2V0IG9uY2UuCj4gCj4gQXMgZmFyIGFzIEkgY2FuIHRl
bGwsIHRoaXMgZHJpdmVyIG1ha2VzIG5vIHNlbnNlLiBUaGUgYXBwcm9wcmlhdGUgcmVzZXQgbGlu
ZXMKPiBzaG91bGQgYmUgZ2l2ZW4gZGlyZWN0bHkgdG8geW91ciBwY2llIGRyaXZlci4gCj4gCj4g
Cj4gCj4gLgo+IAoKQW1sb2dpYyBBWEcgU09DIGluY2x1ZGVzIHR3byBwY2llIGNvbnRyb2xsZXJz
IGFuZCBwaXBlcyB3aGVuIG9ubHkgb25lIHBjaWUgcGh5OiAKCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIChwb3J0X2EgcmVzZXQpCiAgICAgICAgICAgICAgICAgICAgICB8UENJ
RV9SQ19BLS0tLT5QQ0lFX1BJUEVfQS0tLS0tLXwgCiAgICAoYXBiX3Jlc2V0KSAgICAgICB8ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIChwaHkgcmVzZXQpCiAgICBBUEIgQlVTLS0t
PiAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICBQQ0lFX1BIWQogICAg
ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAg
ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgIChwb3J0X2JfcmVzZXQpICAgIHwKICAgICAg
ICAgICAgICAgICAgICAgIHxQQ0lFX1JDX0ItLS0tPlBDSUVfUElQRV9CLS0tLS0tfAoKVGhlIHBo
eV9yZXNldCBhZmZlY3QgdGhlIFBDSUVfUEhZLgpUaGUgcG9ydF9hX3Jlc2V0IGFmZmVjdCB0aGUg
UENJRV9QSVBFX0EsIHBvcnRfYl9yZXNldCBhZmZlY3QgdGhlIFBDSUVfUElQRV9CLiAKCkFzIHlv
dXIgc3VnZ2VzdGlvbiB3ZSB3aWxsIG1vdmUgdGhlICdwb3J0JyByZXNldCB0byBjb250cm9sbGVy
IGRyaXZlciwKYW5kIGtlZXBpbmcgdGhlIHBoeSBkcml2ZXIgdG8gcHJvY2VzcyB0aGUgJ2FwYicg
YW5kICdwaHknIHJlc2V0IG9yIGFueQptb3JlIGNoYW5nZXMgb2YgdGhlIHBoeSBpbiBmdXR1cmUu
CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgt
YXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQu
b3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJt
LWtlcm5lbAo=

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/2] PCI: meson: add the Amlogic Meson PCIe phy driver
  2018-08-17  6:12         ` Hanjie Lin
@ 2018-08-17  8:09           ` Jerome Brunet
  2018-08-17 11:17             ` Hanjie Lin
  0 siblings, 1 reply; 11+ messages in thread
From: Jerome Brunet @ 2018-08-17  8:09 UTC (permalink / raw)
  To: Hanjie Lin, Kishon Vijay Abraham I
  Cc: Rob Herring, Kevin Hilman, shawn.lin, linux-kernel, Yue Wang,
	linux-pci, Carlo Caione, linux-amlogic, linux-arm-kernel

T24gRnJpLCAyMDE4LTA4LTE3IGF0IDE0OjEyICswODAwLCBIYW5qaWUgTGluIHdyb3RlOgo+IAo+
IE9uIDIwMTgvOC8xNiAxNjozMywgSmVyb21lIEJydW5ldCB3cm90ZToKPiA+IE9uIFRodSwgMjAx
OC0wOC0xNiBhdCAxMTowNSArMDgwMCwgSGFuamllIExpbiB3cm90ZToKPiA+ID4gCj4gPiA+IE9u
IDIwMTgvOC8xNCAxODo0MSwgSmVyb21lIEJydW5ldCB3cm90ZToKPiA+ID4gPiBPbiBUdWUsIDIw
MTgtMDgtMTQgYXQgMDI6MTIgLTA0MDAsIEhhbmppZSBMaW4gd3JvdGU6Cj4gPiA+ID4gPiBGcm9t
OiBZdWUgV2FuZyA8eXVlLndhbmdAYW1sb2dpYy5jb20+Cj4gPiA+ID4gPiAKPiA+ID4gPiA+IFRo
ZSBNZXNvbi1QQ0lFLVBIWSBjb250cm9sbGVyIHN1cHBvcnRzIHRoZSA1LUdicHMgZGF0YSByYXRl
Cj4gPiA+ID4gPiBvZiB0aGUgUENJIEV4cHJlc3MgR2VuIDIgc3BlY2lmaWNhdGlvbiBhbmQgaXMg
YmFja3dhcmRjb21wYXRpYmxlCj4gPiA+ID4gPiB3aXRoIHRoZSAyLjUtR2JwcyBHZW4gMS4xIHNw
ZWNpZmljYXRpb24gd2l0aCBvbmx5Cj4gPiA+ID4gPiBpbmZlcnJlZCBpZGxlIGRldGVjdGlvbiBz
dXBwb3J0ZWQgb24gQU1MT0dJQyBTb0NzLgo+ID4gPiA+IAo+ID4gPiA+IEl0IGxvb2tzIGxpa2Ug
dGhlIHNvbGUgcHVycG9zZSBvZiB0aGlzIGRyaXZlciBpcyB0byBwcm92aWRlIHRoZSByZXNldCBs
aW5lcyB0bwo+ID4gPiA+IHBjaWUgZHJpdmVyLgo+ID4gPiA+IAo+ID4gPiA+IEkgd29uZGVyIHdo
eSB3ZSBuZWVkIHRoaXMgPyBDYW4ndCB0aGUgcGNpZSBkcml2ZXIgY2xhaW0gdGhlIHJlc2V0IGxp
bmVzIGl0c2VsZi4KPiA+ID4gPiAKPiA+ID4gPiBBbHNvLCBhbiBpbml0IG9mIHRoaXMgcGh5IHdp
bGwgYWx3YXlzIHJlc2V0IGJvdGggcG9ydC4gV2hhdCB3aWxsIGhhcHBlbiBpZiB0aGUKPiA+ID4g
PiBmaXJzdCBwb3J0IGlzIGluIHVzZSBhbmQgdGhlIDJuZCBwb3J0IGNvbWVzIHVwID8/IAo+ID4g
PiA+IAo+ID4gPiA+IExvb2tzIHRoZSB0aGUgcGNpZSBkcml2ZXIgc2hvdWxkIGNsYWltICdhcGIn
IGFuZCAncGh5JyByZXNldCBsaW5lcyBhcyAic2hhcmVkIgo+ID4gPiA+IHJlc2V0IGFuZCB0aGUg
cmVxdWlyZWQgJ3BvcnQnIGFzICdleGNsdXNpdmUnCj4gPiA+ID4gCj4gPiA+IAo+ID4gPiBUaGFu
ayB5b3UgZm9yIHlvdXIgcmVzcG9uc2UuCj4gPiA+IAo+ID4gPiBZZXMsICdhcGInIGFuZCAncGh5
JyByZXNldCBsaW5lcyBhcmUgc2hhcmVkLCBhbmQg4oCYcG9ydCcgcmVzZXQgbGluZSBpcyBleGNs
dXNpdmUuCj4gPiA+IElmIHdlIGhhbmRsZSBhbGwgcmVzZXQgbGluZXMgZHVyaW5nIHRoZSBmaXJz
dCBwb3J0IGluaXRpYWwgc2VxdWVuY2UsIAo+ID4gPiBhbmQgd2hlbiB0aGUgc2Vjb25kIHBvcnQg
Y29tZXMgdXAsIHdlIHdpbGwgZG8gbm90aGluZyBhYm91dCB0aGUgcmVzdCBsaW5lcywgCj4gPiA+
IGFuZCBkb24ndCBuZWVkIGEgZXh0cmEgQVBJIHRvIGRvIOKAmHBvcnQnIHJlc2V0Owo+ID4gCj4g
PiBXaXRoIHdoaWNoIG90aGVyIGRyaXZlciBhcmUgeW91ciBjb250cm9sIHNoYXJlZCA/Cj4gPiAK
PiA+IExvb2tzIGl0IGlzIHRoZSBhbnN3ZXIgaXMgbm9uZSBzaW5jZSB0aGlzIHBoeSBkcml2ZXIg
d2lsbCByZXNldCBib3RoIHBvcnQKPiA+IGFscmVhZHksIGV2ZW4gaWYgb25lIGlzIHVzZWQuCj4g
PiAKPiA+IEluIHRoaXMgY2FzZSB0aGUgZmFjdCB0aGF0IHlvdSBhcmUgdXNpbmcgc2hhcmVkIGNv
bnRyb2wgaXMganVzdCBhYnVzaW5nIHRoZQo+ID4gZnJhbWV3b3JrIHRvIHJlc2V0IG9uY2UuCj4g
PiAKPiA+IEFzIGZhciBhcyBJIGNhbiB0ZWxsLCB0aGlzIGRyaXZlciBtYWtlcyBubyBzZW5zZS4g
VGhlIGFwcHJvcHJpYXRlIHJlc2V0IGxpbmVzCj4gPiBzaG91bGQgYmUgZ2l2ZW4gZGlyZWN0bHkg
dG8geW91ciBwY2llIGRyaXZlci4gCj4gPiAKPiA+IAo+ID4gCj4gPiAuCj4gPiAKPiAKPiBBbWxv
Z2ljIEFYRyBTT0MgaW5jbHVkZXMgdHdvIHBjaWUgY29udHJvbGxlcnMgYW5kIHBpcGVzIHdoZW4g
b25seSBvbmUgcGNpZSBwaHk6IAo+IAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIChwb3J0X2EgcmVzZXQpCj4gICAgICAgICAgICAgICAgICAgICAgIHxQQ0lFX1JDX0EtLS0t
PlBDSUVfUElQRV9BLS0tLS0tfCAKPiAgICAgKGFwYl9yZXNldCkgICAgICAgfCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB8ICAocGh5IHJlc2V0KQo+ICAgICBBUEIgQlVTLS0tPiAgICAg
ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICBQQ0lFX1BIWQo+ICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKPiAgICAgICAg
ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAocG9ydF9iX3Jlc2V0KSAgICB8Cj4gICAgICAg
ICAgICAgICAgICAgICAgIHxQQ0lFX1JDX0ItLS0tPlBDSUVfUElQRV9CLS0tLS0tfAo+IAo+IFRo
ZSBwaHlfcmVzZXQgYWZmZWN0IHRoZSBQQ0lFX1BIWS4KPiBUaGUgcG9ydF9hX3Jlc2V0IGFmZmVj
dCB0aGUgUENJRV9QSVBFX0EsIHBvcnRfYl9yZXNldCBhZmZlY3QgdGhlIFBDSUVfUElQRV9CLiAK
PiAKPiBBcyB5b3VyIHN1Z2dlc3Rpb24gd2Ugd2lsbCBtb3ZlIHRoZSAncG9ydCcgcmVzZXQgdG8g
Y29udHJvbGxlciBkcml2ZXIsCj4gYW5kIGtlZXBpbmcgdGhlIHBoeSBkcml2ZXIgdG8gcHJvY2Vz
cyB0aGUgJ2FwYicgYW5kICdwaHknIHJlc2V0IG9yIGFueQo+IG1vcmUgY2hhbmdlcyBvZiB0aGUg
cGh5IGluIGZ1dHVyZS4KCkFzIGZhciBhcyBJIGNhbiB0ZWxsIGZyb20gdGhpcyBkaWFncmFtLCBJ
dCB3b3VsZCBvbmx5IG1ha2Ugc2Vuc2UgZm9yIHRoZSAicGh5IgpyZXNldCBsaW5lIHRvIGJlIGNv
bnRyb2xsZWQgYnkgeW91ciBwaHkgZHJpdmVyLgoKVGhlIGFwYiBhbmQgcG9ydCBpcyBvYnZpb3Vz
bHkgcmVsYXRlZCB0byB0aGUgcGNpZSBkZXZpY2UvZHJpdmVyIGl0c2VsZiwgbm90IHRoZQpQSFku
IEFuZCB3aGV0aGVyIHlvdSAxIG9yIDIgcmVzZXQgbGluZXMgaW4gaXQsIElNTyBpdCBpcyBvdmVy
a2lsbCBhbmQKdW5uZWNlc3NhcnkgdG8gbWFrZSBhIHBoeSBkcml2ZXIgZm9yIHRoaXMuIAoKPiAK
CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgt
YXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQu
b3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJt
LWtlcm5lbAo=

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 2/2] PCI: meson: add the Amlogic Meson PCIe phy driver
  2018-08-17  8:09           ` Jerome Brunet
@ 2018-08-17 11:17             ` Hanjie Lin
  0 siblings, 0 replies; 11+ messages in thread
From: Hanjie Lin @ 2018-08-17 11:17 UTC (permalink / raw)
  To: Jerome Brunet, Kishon Vijay Abraham I
  Cc: Rob Herring, Kevin Hilman, shawn.lin, linux-kernel, Yue Wang,
	linux-pci, Carlo Caione, linux-amlogic, linux-arm-kernel

CgpPbiAyMDE4LzgvMTcgMTY6MDksIEplcm9tZSBCcnVuZXQgd3JvdGU6Cj4gT24gRnJpLCAyMDE4
LTA4LTE3IGF0IDE0OjEyICswODAwLCBIYW5qaWUgTGluIHdyb3RlOgo+Pgo+PiBPbiAyMDE4Lzgv
MTYgMTY6MzMsIEplcm9tZSBCcnVuZXQgd3JvdGU6Cj4+PiBPbiBUaHUsIDIwMTgtMDgtMTYgYXQg
MTE6MDUgKzA4MDAsIEhhbmppZSBMaW4gd3JvdGU6Cj4+Pj4KPj4+PiBPbiAyMDE4LzgvMTQgMTg6
NDEsIEplcm9tZSBCcnVuZXQgd3JvdGU6Cj4+Pj4+IE9uIFR1ZSwgMjAxOC0wOC0xNCBhdCAwMjox
MiAtMDQwMCwgSGFuamllIExpbiB3cm90ZToKPj4+Pj4+IEZyb206IFl1ZSBXYW5nIDx5dWUud2Fu
Z0BhbWxvZ2ljLmNvbT4KPj4+Pj4+Cj4+Pj4+PiBUaGUgTWVzb24tUENJRS1QSFkgY29udHJvbGxl
ciBzdXBwb3J0cyB0aGUgNS1HYnBzIGRhdGEgcmF0ZQo+Pj4+Pj4gb2YgdGhlIFBDSSBFeHByZXNz
IEdlbiAyIHNwZWNpZmljYXRpb24gYW5kIGlzIGJhY2t3YXJkY29tcGF0aWJsZQo+Pj4+Pj4gd2l0
aCB0aGUgMi41LUdicHMgR2VuIDEuMSBzcGVjaWZpY2F0aW9uIHdpdGggb25seQo+Pj4+Pj4gaW5m
ZXJyZWQgaWRsZSBkZXRlY3Rpb24gc3VwcG9ydGVkIG9uIEFNTE9HSUMgU29Dcy4KPj4+Pj4KPj4+
Pj4gSXQgbG9va3MgbGlrZSB0aGUgc29sZSBwdXJwb3NlIG9mIHRoaXMgZHJpdmVyIGlzIHRvIHBy
b3ZpZGUgdGhlIHJlc2V0IGxpbmVzIHRvCj4+Pj4+IHBjaWUgZHJpdmVyLgo+Pj4+Pgo+Pj4+PiBJ
IHdvbmRlciB3aHkgd2UgbmVlZCB0aGlzID8gQ2FuJ3QgdGhlIHBjaWUgZHJpdmVyIGNsYWltIHRo
ZSByZXNldCBsaW5lcyBpdHNlbGYuCj4+Pj4+Cj4+Pj4+IEFsc28sIGFuIGluaXQgb2YgdGhpcyBw
aHkgd2lsbCBhbHdheXMgcmVzZXQgYm90aCBwb3J0LiBXaGF0IHdpbGwgaGFwcGVuIGlmIHRoZQo+
Pj4+PiBmaXJzdCBwb3J0IGlzIGluIHVzZSBhbmQgdGhlIDJuZCBwb3J0IGNvbWVzIHVwID8/IAo+
Pj4+Pgo+Pj4+PiBMb29rcyB0aGUgdGhlIHBjaWUgZHJpdmVyIHNob3VsZCBjbGFpbSAnYXBiJyBh
bmQgJ3BoeScgcmVzZXQgbGluZXMgYXMgInNoYXJlZCIKPj4+Pj4gcmVzZXQgYW5kIHRoZSByZXF1
aXJlZCAncG9ydCcgYXMgJ2V4Y2x1c2l2ZScKPj4+Pj4KPj4+Pgo+Pj4+IFRoYW5rIHlvdSBmb3Ig
eW91ciByZXNwb25zZS4KPj4+Pgo+Pj4+IFllcywgJ2FwYicgYW5kICdwaHknIHJlc2V0IGxpbmVz
IGFyZSBzaGFyZWQsIGFuZCDigJhwb3J0JyByZXNldCBsaW5lIGlzIGV4Y2x1c2l2ZS4KPj4+PiBJ
ZiB3ZSBoYW5kbGUgYWxsIHJlc2V0IGxpbmVzIGR1cmluZyB0aGUgZmlyc3QgcG9ydCBpbml0aWFs
IHNlcXVlbmNlLCAKPj4+PiBhbmQgd2hlbiB0aGUgc2Vjb25kIHBvcnQgY29tZXMgdXAsIHdlIHdp
bGwgZG8gbm90aGluZyBhYm91dCB0aGUgcmVzdCBsaW5lcywgCj4+Pj4gYW5kIGRvbid0IG5lZWQg
YSBleHRyYSBBUEkgdG8gZG8g4oCYcG9ydCcgcmVzZXQ7Cj4+Pgo+Pj4gV2l0aCB3aGljaCBvdGhl
ciBkcml2ZXIgYXJlIHlvdXIgY29udHJvbCBzaGFyZWQgPwo+Pj4KPj4+IExvb2tzIGl0IGlzIHRo
ZSBhbnN3ZXIgaXMgbm9uZSBzaW5jZSB0aGlzIHBoeSBkcml2ZXIgd2lsbCByZXNldCBib3RoIHBv
cnQKPj4+IGFscmVhZHksIGV2ZW4gaWYgb25lIGlzIHVzZWQuCj4+Pgo+Pj4gSW4gdGhpcyBjYXNl
IHRoZSBmYWN0IHRoYXQgeW91IGFyZSB1c2luZyBzaGFyZWQgY29udHJvbCBpcyBqdXN0IGFidXNp
bmcgdGhlCj4+PiBmcmFtZXdvcmsgdG8gcmVzZXQgb25jZS4KPj4+Cj4+PiBBcyBmYXIgYXMgSSBj
YW4gdGVsbCwgdGhpcyBkcml2ZXIgbWFrZXMgbm8gc2Vuc2UuIFRoZSBhcHByb3ByaWF0ZSByZXNl
dCBsaW5lcwo+Pj4gc2hvdWxkIGJlIGdpdmVuIGRpcmVjdGx5IHRvIHlvdXIgcGNpZSBkcml2ZXIu
IAo+Pj4KPj4+Cj4+Pgo+Pj4gLgo+Pj4KPj4KPj4gQW1sb2dpYyBBWEcgU09DIGluY2x1ZGVzIHR3
byBwY2llIGNvbnRyb2xsZXJzIGFuZCBwaXBlcyB3aGVuIG9ubHkgb25lIHBjaWUgcGh5OiAKPj4K
Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBvcnRfYSByZXNldCkKPj4g
ICAgICAgICAgICAgICAgICAgICAgIHxQQ0lFX1JDX0EtLS0tPlBDSUVfUElQRV9BLS0tLS0tfCAK
Pj4gICAgIChhcGJfcmVzZXQpICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgKHBoeSByZXNldCkKPj4gICAgIEFQQiBCVVMtLS0+ICAgICAgIHwgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIFBDSUVfUEhZCj4+ICAgICAgICAgICAgICAgICAgICAgICB8ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKPj4gICAgICAgICAgICAgICAgICAgICAgIHwg
ICAgICAgICAgICAgKHBvcnRfYl9yZXNldCkgICAgfAo+PiAgICAgICAgICAgICAgICAgICAgICAg
fFBDSUVfUkNfQi0tLS0+UENJRV9QSVBFX0ItLS0tLS18Cj4+Cj4+IFRoZSBwaHlfcmVzZXQgYWZm
ZWN0IHRoZSBQQ0lFX1BIWS4KPj4gVGhlIHBvcnRfYV9yZXNldCBhZmZlY3QgdGhlIFBDSUVfUElQ
RV9BLCBwb3J0X2JfcmVzZXQgYWZmZWN0IHRoZSBQQ0lFX1BJUEVfQi4gCj4+Cj4+IEFzIHlvdXIg
c3VnZ2VzdGlvbiB3ZSB3aWxsIG1vdmUgdGhlICdwb3J0JyByZXNldCB0byBjb250cm9sbGVyIGRy
aXZlciwKPj4gYW5kIGtlZXBpbmcgdGhlIHBoeSBkcml2ZXIgdG8gcHJvY2VzcyB0aGUgJ2FwYicg
YW5kICdwaHknIHJlc2V0IG9yIGFueQo+PiBtb3JlIGNoYW5nZXMgb2YgdGhlIHBoeSBpbiBmdXR1
cmUuCj4gCj4gQXMgZmFyIGFzIEkgY2FuIHRlbGwgZnJvbSB0aGlzIGRpYWdyYW0sIEl0IHdvdWxk
IG9ubHkgbWFrZSBzZW5zZSBmb3IgdGhlICJwaHkiCj4gcmVzZXQgbGluZSB0byBiZSBjb250cm9s
bGVkIGJ5IHlvdXIgcGh5IGRyaXZlci4KPiAKPiBUaGUgYXBiIGFuZCBwb3J0IGlzIG9idmlvdXNs
eSByZWxhdGVkIHRvIHRoZSBwY2llIGRldmljZS9kcml2ZXIgaXRzZWxmLCBub3QgdGhlCj4gUEhZ
LiBBbmQgd2hldGhlciB5b3UgMSBvciAyIHJlc2V0IGxpbmVzIGluIGl0LCBJTU8gaXQgaXMgb3Zl
cmtpbGwgYW5kCj4gdW5uZWNlc3NhcnkgdG8gbWFrZSBhIHBoeSBkcml2ZXIgZm9yIHRoaXMuIAo+
IAoKWWVhaCwgdGhhdCBtYWtlcyBzZW5zZS4KV2Ugd2lsbCBtb3ZlICdhcGInIHJlc2V0IHRvIGNv
bnRyb2xsZXIgZHJpdmVyIGluIG5leHQgdmVyc2lvbiB0b28uCgpUaGFua3MuCgo+Pgo+IAo+IAo+
IC4KPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxp
bnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFk
ZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4
LWFybS1rZXJuZWwK

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2018-08-17 11:17 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-14  6:12 [PATCH 0/2] add the Amlogic Meson PCIe phy driver Hanjie Lin
2018-08-14  6:12 ` [PATCH 1/2] dt-bindings: PCI: meson: add DT bindings for Amlogic Meson PCIe Phy controller Hanjie Lin
2018-08-14 22:50   ` Rob Herring
2018-08-16  3:01     ` Hanjie Lin
2018-08-14  6:12 ` [PATCH 2/2] PCI: meson: add the Amlogic Meson PCIe phy driver Hanjie Lin
2018-08-14 10:41   ` Jerome Brunet
2018-08-16  3:05     ` Hanjie Lin
2018-08-16  8:33       ` Jerome Brunet
2018-08-17  6:12         ` Hanjie Lin
2018-08-17  8:09           ` Jerome Brunet
2018-08-17 11:17             ` Hanjie Lin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).