xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/pci/pcie-al.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun* Amazon Annapurna Labs PCIe host bridge
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunAmazon's Annapurna Labs PCIe Host Controller is based on the Synopsys DesignWare
4*4882a593SmuzhiyunPCI core. It inherits common properties defined in
5*4882a593SmuzhiyunDocumentation/devicetree/bindings/pci/designware-pcie.txt.
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunProperties of the host controller node that differ from it are:
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun- compatible:
10*4882a593Smuzhiyun	Usage: required
11*4882a593Smuzhiyun	Value type: <stringlist>
12*4882a593Smuzhiyun	Definition: Value should contain
13*4882a593Smuzhiyun			- "amazon,al-alpine-v2-pcie" for alpine_v2
14*4882a593Smuzhiyun			- "amazon,al-alpine-v3-pcie" for alpine_v3
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun- reg:
17*4882a593Smuzhiyun	Usage: required
18*4882a593Smuzhiyun	Value type: <prop-encoded-array>
19*4882a593Smuzhiyun	Definition: Register ranges as listed in the reg-names property
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun- reg-names:
22*4882a593Smuzhiyun	Usage: required
23*4882a593Smuzhiyun	Value type: <stringlist>
24*4882a593Smuzhiyun	Definition: Must include the following entries
25*4882a593Smuzhiyun			- "config"	PCIe ECAM space
26*4882a593Smuzhiyun			- "controller"	AL proprietary registers
27*4882a593Smuzhiyun			- "dbi"		Designware PCIe registers
28*4882a593Smuzhiyun
29*4882a593SmuzhiyunExample:
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun	pcie-external0: pcie@fb600000 {
32*4882a593Smuzhiyun		compatible = "amazon,al-alpine-v3-pcie";
33*4882a593Smuzhiyun		reg = <0x0 0xfb600000 0x0 0x00100000
34*4882a593Smuzhiyun		       0x0 0xfd800000 0x0 0x00010000
35*4882a593Smuzhiyun		       0x0 0xfd810000 0x0 0x00001000>;
36*4882a593Smuzhiyun		reg-names = "config", "controller", "dbi";
37*4882a593Smuzhiyun		bus-range = <0 255>;
38*4882a593Smuzhiyun		device_type = "pci";
39*4882a593Smuzhiyun		#address-cells = <3>;
40*4882a593Smuzhiyun		#size-cells = <2>;
41*4882a593Smuzhiyun		#interrupt-cells = <1>;
42*4882a593Smuzhiyun		interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
43*4882a593Smuzhiyun		interrupt-map-mask = <0x00 0 0 7>;
44*4882a593Smuzhiyun		interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; /* INTa */
45*4882a593Smuzhiyun		ranges = <0x02000000 0x0 0xc0010000 0x0 0xc0010000 0x0 0x07ff0000>;
46*4882a593Smuzhiyun	};
47