162306a36Sopenharmony_ci* Amazon Annapurna Labs PCIe host bridge
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciAmazon's Annapurna Labs PCIe Host Controller is based on the Synopsys DesignWare
462306a36Sopenharmony_ciPCI core. It inherits common properties defined in
562306a36Sopenharmony_ciDocumentation/devicetree/bindings/pci/snps,dw-pcie.yaml.
662306a36Sopenharmony_ci
762306a36Sopenharmony_ciProperties of the host controller node that differ from it are:
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci- compatible:
1062306a36Sopenharmony_ci	Usage: required
1162306a36Sopenharmony_ci	Value type: <stringlist>
1262306a36Sopenharmony_ci	Definition: Value should contain
1362306a36Sopenharmony_ci			- "amazon,al-alpine-v2-pcie" for alpine_v2
1462306a36Sopenharmony_ci			- "amazon,al-alpine-v3-pcie" for alpine_v3
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci- reg:
1762306a36Sopenharmony_ci	Usage: required
1862306a36Sopenharmony_ci	Value type: <prop-encoded-array>
1962306a36Sopenharmony_ci	Definition: Register ranges as listed in the reg-names property
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci- reg-names:
2262306a36Sopenharmony_ci	Usage: required
2362306a36Sopenharmony_ci	Value type: <stringlist>
2462306a36Sopenharmony_ci	Definition: Must include the following entries
2562306a36Sopenharmony_ci			- "config"	PCIe ECAM space
2662306a36Sopenharmony_ci			- "controller"	AL proprietary registers
2762306a36Sopenharmony_ci			- "dbi"		Designware PCIe registers
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ciExample:
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci	pcie-external0: pcie@fb600000 {
3262306a36Sopenharmony_ci		compatible = "amazon,al-alpine-v3-pcie";
3362306a36Sopenharmony_ci		reg = <0x0 0xfb600000 0x0 0x00100000
3462306a36Sopenharmony_ci		       0x0 0xfd800000 0x0 0x00010000
3562306a36Sopenharmony_ci		       0x0 0xfd810000 0x0 0x00001000>;
3662306a36Sopenharmony_ci		reg-names = "config", "controller", "dbi";
3762306a36Sopenharmony_ci		bus-range = <0 255>;
3862306a36Sopenharmony_ci		device_type = "pci";
3962306a36Sopenharmony_ci		#address-cells = <3>;
4062306a36Sopenharmony_ci		#size-cells = <2>;
4162306a36Sopenharmony_ci		#interrupt-cells = <1>;
4262306a36Sopenharmony_ci		interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
4362306a36Sopenharmony_ci		interrupt-map-mask = <0x00 0 0 7>;
4462306a36Sopenharmony_ci		interrupt-map = <0x0000 0 0 1 &gic GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; /* INTa */
4562306a36Sopenharmony_ci		ranges = <0x02000000 0x0 0xc0010000 0x0 0xc0010000 0x0 0x07ff0000>;
4662306a36Sopenharmony_ci	};
47