On 2018/8/15 6:53, Rob Herring wrote: > On Tue, Aug 14, 2018 at 02:18:41AM -0400, Hanjie Lin wrote: >> From: Yue Wang <yue.wang@xxxxxxxxxxx> >> >> The Amlogic Meson PCIe host controller is based on the Synopsys DesignWare >> PCI core. This patch adds documentation for the DT bindings in Meson PCIe >> controller. >> >> Signed-off-by: Yue Wang <hanjie.lin@xxxxxxxxxxx> >> Signed-off-by: Hanjie Lin <hanjie.lin@xxxxxxxxxxx> >> --- >> .../devicetree/bindings/pci/amlogic,meson-pcie.txt | 57 ++++++++++++++++++++++ >> 1 file changed, 57 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt >> >> diff --git a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt >> new file mode 100644 >> index 0000000..48233e4 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt >> @@ -0,0 +1,57 @@ >> +Amlogic Meson AXG DWC PCIE SoC controller >> + >> +Amlogic Meson PCIe host controller is based on the Synopsys DesignWare PCI core. >> +It shares common functions with the PCIe DesignWare core driver and >> +inherits common properties defined in >> +Documentation/devicetree/bindings/pci/designware-pci.txt. >> + >> +Additional properties are described here: >> + >> +Required properties: >> +- compatible: >> + should contain "amlogic,axg-pcie" to identify the core. >> +- reg: >> + Should contain the configuration address space. >> +- reg-names: Must be >> + - "elbi" External local bus interface registers >> + - "cfg" Meson specific registers >> + - "config" PCIe configuration space >> +- clocks: Must contain an entry for each entry in clock-names. >> +- clock-names: Must include the following entries: >> + - "pcie" >> + - "pcie_bus" >> + - "pcie_general" >> + - "pcie_mipi_en" >> + >> +Example configuration: >> + >> + pcie: pcie@dffff000 { > > Unit-address is wrong. Yes, I will fix it. > >> + compatible = "amlogic,axg-pcie", "snps,dw-pcie"; >> + reg = <0x0 0xf9800000 0x0 0x400000 >> + 0x0 0xff646000 0x0 0x2000 >> + 0x0 0xf9f00000 0x0 0x100000>; >> + reg-names = "elbi", "cfg", "config"; >> + reset-gpio = <&gpio GPIOX_19 GPIO_ACTIVE_HIGH>; > > Not documented and should be reset-gpios. Yes, is this more clear? reset-gpios: The GPIO to generate PCIe PERST# assert and deassert signal. > >> + interrupts = <0 177 IRQ_TYPE_EDGE_RISING>; >> + #interrupt-cells = <1>; >> + interrupt-map-mask = <0 0 0 0>; >> + interrupt-map = <0 0 0 0 &gic GIC_SPI 179 IRQ_TYPE_EDGE_RISING>; >> + bus-range = <0x0 0xff>; >> + #address-cells = <3>; >> + #size-cells = <2>; >> + device_type = "pci"; >> + phys = <&pcie_phy>; >> + ranges = <0x82000000 0 0 0x0 0xf9c00000 0 0x00300000>; >> + num-lanes = <1>; >> + pcie-num = <1>; > > Not documented. What's this? Yes, pcie-num is an useless parameter. I will delete it. Thanks for your comments. > >> + >> + clocks = <&clkc CLKID_USB >> + &clkc CLKID_MIPI_ENABLE >> + &clkc CLKID_PCIE_A >> + &clkc CLKID_PCIE_CML_EN0>; >> + clock-names = "pcie_general", >> + "pcie_refpll", >> + "pcie_mipi_en", >> + "pcie", >> + "port"; >> + }; >> -- >> 2.7.4 >> > > . >