HiSilicon Hip05 and Hip06 PCIe host bridge DT description

HiSilicon PCIe host controller is based on Designware PCI core.
It shares common functions with 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 "hisilicon,hip05-pcie" or "hisilicon,hip06-pcie".
- reg: Should contain rc_dbi, config registers location and length.
- reg-names: Must include the following entries:
  "rc_dbi": controller configuration registers;
  "config": PCIe configuration space registers.
- msi-parent: Should be its_pcie which is an ITS receiving MSI interrupts.
- port-id: Should be 0, 1, 2 or 3.

Optional properties:
- status: Either "ok" or "disabled".
- dma-coherent: Present if DMA operations are coherent.

Hip05 Example (note that Hip06 is the same except compatible):
	pcie@0xb0080000 {
		compatible = "hisilicon,hip05-pcie", "snps,dw-pcie";
		reg = <0 0xb0080000 0 0x10000>, <0x220 0x00000000 0 0x2000>;
		reg-names = "rc_dbi", "config";
		bus-range = <0  15>;
		msi-parent = <&its_pcie>;
		#address-cells = <3>;
		#size-cells = <2>;
		device_type = "pci";
		dma-coherent;
		ranges = <0x82000000 0 0x00000000 0x220 0x00000000 0 0x10000000>;
		num-lanes = <8>;
		port-id = <1>;
		#interrupt-cells = <1>;
		interrupt-map-mask = <0xf800 0 0 7>;
		interrupt-map = <0x0 0 0 1 &mbigen_pcie 1 10
				 0x0 0 0 2 &mbigen_pcie 2 11
				 0x0 0 0 3 &mbigen_pcie 3 12
				 0x0 0 0 4 &mbigen_pcie 4 13>;
		status = "ok";
	};

HiSilicon Hip06/Hip07 PCIe host bridge DT (almost-ECAM) description.

Some BIOSes place the host controller in a mode where it is ECAM
compliant for all devices other than the root complex. In such cases,
the host controller should be described as below.

The properties and their meanings are identical to those described in
host-generic-pci.txt except as listed below.

Properties of the host controller node that differ from
host-generic-pci.txt:

- compatible     : Must be "hisilicon,hip06-pcie-ecam", or
		   "hisilicon,hip07-pcie-ecam"

- reg            : Two entries: First the ECAM configuration space for any
		   other bus underneath the root bus. Second, the base
		   and size of the HiSilicon host bridge registers include
		   the RC's own config space.

Example:
	pcie0: pcie@a0090000 {
		compatible = "hisilicon,hip06-pcie-ecam";
		reg = <0 0xb0000000 0 0x2000000>,  /*  ECAM configuration space */
		      <0 0xa0090000 0 0x10000>; /* host bridge registers */
		bus-range = <0  31>;
		msi-map = <0x0000 &its_dsa 0x0000 0x2000>;
		msi-map-mask = <0xffff>;
		#address-cells = <3>;
		#size-cells = <2>;
		device_type = "pci";
		dma-coherent;
		ranges = <0x02000000 0 0xb2000000 0x0 0xb2000000 0 0x5ff0000
			  0x01000000 0 0 0 0xb7ff0000 0 0x10000>;
		#interrupt-cells = <1>;
		interrupt-map-mask = <0xf800 0 0 7>;
		interrupt-map = <0x0 0 0 1 &mbigen_pcie0 650 4
				 0x0 0 0 2 &mbigen_pcie0 650 4
				 0x0 0 0 3 &mbigen_pcie0 650 4
				 0x0 0 0 4 &mbigen_pcie0 650 4>;
		status = "ok";
	};
