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