[PATCH 0/2] PCI: amlogic: Make PCIe working reliably on AXG platforms

From: Remi Pommarel
Date: Sun Dec 08 2019 - 15:55:31 EST


PCIe device probing failures have been seen on some AXG platforms and were
due to unreliable clock signal output. Setting HHI_MIPI_CNTL0[26] bit
solved the problem. After being contacted about this, vendor reported that
this bit was linked to PCIe PLL CML output.

This serie adds a way to set this bit through AXG clock gating logic.
Platforms having this kind of issue could make use of this gating by
applying a patch to their devicetree similar to:

clocks = <&clkc CLKID_USB
&clkc CLKID_MIPI_ENABLE
&clkc CLKID_PCIE_A
- &clkc CLKID_PCIE_CML_EN0>;
+ &clkc CLKID_PCIE_CML_EN0
+ &clkc CLKID_PCIE_PLL_CML_ENABLE>;
clock-names = "pcie_general",
"pcie_mipi_en",
"pcie",
- "port";
+ "port",
+ "pll_cml_en";
resets = <&reset RESET_PCIE_PHY>,
<&reset RESET_PCIE_A>,
<&reset RESET_PCIE_APB>;


Remi Pommarel (2):
clk: meson: axg: add pcie pll cml gating
PCI: amlogic: Use PCIe pll gate when available

drivers/clk/meson/axg.c | 3 +++
drivers/clk/meson/axg.h | 2 +-
drivers/pci/controller/dwc/pci-meson.c | 5 +++++
include/dt-bindings/clock/axg-clkc.h | 1 +
4 files changed, 10 insertions(+), 1 deletion(-)

--
2.24.0