xref: /freebsd-src/sys/contrib/device-tree/Bindings/pci/amlogic,meson-pcie.txt (revision 354d7675fe12ace9cde344cb79c7ded792802f88)
1c66ec88fSEmmanuel VadotAmlogic Meson AXG DWC PCIE SoC controller
2c66ec88fSEmmanuel Vadot
3c66ec88fSEmmanuel VadotAmlogic Meson PCIe host controller is based on the Synopsys DesignWare PCI core.
4c66ec88fSEmmanuel VadotIt shares common functions with the PCIe DesignWare core driver and
5c66ec88fSEmmanuel Vadotinherits common properties defined in
6*354d7675SEmmanuel VadotDocumentation/devicetree/bindings/pci/snps,dw-pcie.yaml.
7c66ec88fSEmmanuel Vadot
8c66ec88fSEmmanuel VadotAdditional properties are described here:
9c66ec88fSEmmanuel Vadot
10c66ec88fSEmmanuel VadotRequired properties:
11c66ec88fSEmmanuel Vadot- compatible:
12c66ec88fSEmmanuel Vadot	should contain :
13c66ec88fSEmmanuel Vadot	- "amlogic,axg-pcie" for AXG SoC Family
14c66ec88fSEmmanuel Vadot	- "amlogic,g12a-pcie" for G12A SoC Family
15c66ec88fSEmmanuel Vadot	to identify the core.
16c66ec88fSEmmanuel Vadot- reg:
17c66ec88fSEmmanuel Vadot	should contain the configuration address space.
18c66ec88fSEmmanuel Vadot- reg-names: Must be
19c66ec88fSEmmanuel Vadot	- "elbi"	External local bus interface registers
20c66ec88fSEmmanuel Vadot	- "cfg"		Meson specific registers
21c66ec88fSEmmanuel Vadot	- "config"	PCIe configuration space
22c66ec88fSEmmanuel Vadot- reset-gpios: The GPIO to generate PCIe PERST# assert and deassert signal.
23c66ec88fSEmmanuel Vadot- clocks: Must contain an entry for each entry in clock-names.
24c66ec88fSEmmanuel Vadot- clock-names: Must include the following entries:
25c66ec88fSEmmanuel Vadot	- "pclk"       PCIe GEN 100M PLL clock
26c66ec88fSEmmanuel Vadot	- "port"       PCIe_x(A or B) RC clock gate
27c66ec88fSEmmanuel Vadot	- "general"    PCIe Phy clock
28c66ec88fSEmmanuel Vadot- resets: phandle to the reset lines.
29c66ec88fSEmmanuel Vadot- reset-names: must contain "port" and "apb"
30c66ec88fSEmmanuel Vadot       - "port"        Port A or B reset
31c66ec88fSEmmanuel Vadot       - "apb"         Share APB reset
32c66ec88fSEmmanuel Vadot- phys: should contain a phandle to the PCIE phy
33c66ec88fSEmmanuel Vadot- phy-names: must contain "pcie"
34c66ec88fSEmmanuel Vadot
35c66ec88fSEmmanuel Vadot- device_type:
36*354d7675SEmmanuel Vadot	should be "pci". As specified in snps,dw-pcie.yaml
37c66ec88fSEmmanuel Vadot
38c66ec88fSEmmanuel Vadot
39c66ec88fSEmmanuel VadotExample configuration:
40c66ec88fSEmmanuel Vadot
41c66ec88fSEmmanuel Vadot	pcie: pcie@f9800000 {
42c66ec88fSEmmanuel Vadot			compatible = "amlogic,axg-pcie", "snps,dw-pcie";
43c66ec88fSEmmanuel Vadot			reg = <0x0 0xf9800000 0x0 0x400000
44c66ec88fSEmmanuel Vadot					0x0 0xff646000 0x0 0x2000
45c66ec88fSEmmanuel Vadot					0x0 0xf9f00000 0x0 0x100000>;
46c66ec88fSEmmanuel Vadot			reg-names = "elbi", "cfg", "config";
47c66ec88fSEmmanuel Vadot			reset-gpios = <&gpio GPIOX_19 GPIO_ACTIVE_HIGH>;
48c66ec88fSEmmanuel Vadot			interrupts = <GIC_SPI 177 IRQ_TYPE_EDGE_RISING>;
49c66ec88fSEmmanuel Vadot			#interrupt-cells = <1>;
50c66ec88fSEmmanuel Vadot			interrupt-map-mask = <0 0 0 0>;
51c66ec88fSEmmanuel Vadot			interrupt-map = <0 0 0 0 &gic GIC_SPI 179 IRQ_TYPE_EDGE_RISING>;
52c66ec88fSEmmanuel Vadot			bus-range = <0x0 0xff>;
53c66ec88fSEmmanuel Vadot			#address-cells = <3>;
54c66ec88fSEmmanuel Vadot			#size-cells = <2>;
55c66ec88fSEmmanuel Vadot			device_type = "pci";
56c66ec88fSEmmanuel Vadot			ranges = <0x82000000 0 0 0x0 0xf9c00000 0 0x00300000>;
57c66ec88fSEmmanuel Vadot
58c66ec88fSEmmanuel Vadot			clocks = <&clkc CLKID_USB
59c66ec88fSEmmanuel Vadot					&clkc CLKID_PCIE_A
60c66ec88fSEmmanuel Vadot					&clkc CLKID_PCIE_CML_EN0>;
61c66ec88fSEmmanuel Vadot			clock-names = "general",
62c66ec88fSEmmanuel Vadot					"pclk",
63c66ec88fSEmmanuel Vadot					"port";
64c66ec88fSEmmanuel Vadot			resets = <&reset RESET_PCIE_A>,
65c66ec88fSEmmanuel Vadot				<&reset RESET_PCIE_APB>;
66c66ec88fSEmmanuel Vadot			reset-names = "port",
67c66ec88fSEmmanuel Vadot					"apb";
68c66ec88fSEmmanuel Vadot			phys = <&pcie_phy>;
69c66ec88fSEmmanuel Vadot			phy-names = "pcie";
70c66ec88fSEmmanuel Vadot	};
71