PDC interrupt controller

Qualcomm Technologies Inc. SoCs based on the RPM Hardened architecture have a
Power Domain Controller (PDC) that is on always-on domain. In addition to
providing power control for the power domains, the hardware also has an
interrupt controller that can be used to help detect edge low interrupts as
well detect interrupts when the GIC is non-operational.

GIC is parent interrupt controller at the highest level. Platform interrupt
controller PDC is next in hierarchy, followed by others. Drivers requiring
wakeup capabilities of their device interrupts routed through the PDC, must
specify PDC as their interrupt controller and request the PDC port associated
with the GIC interrupt. See example below.

Properties:

- compatible:
	Usage: required
	Value type: <string>
	Definition: Should contain "qcom,<soc>-pdc"
		    - "qcom,sdm845-pdc": For SDM845

- reg:
	Usage: required
	Value type: <prop-encoded-array>
	Definition: Specifies the base physical address for PDC hardware.
		    Optionally, specify the PDC's GIC interface registers that
		    need to be configured for wakeup capable GPIOs routed to
		    the PDC.

- interrupt-cells:
	Usage: required
	Value type: <u32>
	Definition: Specifies the number of cells needed to encode an interrupt
		    source.
		    Must be 2.
		    The first element of the tuple is the PDC pin for the
		    interrupt.
		    The second element is the trigger type.

- interrupt-controller:
	Usage: required
	Value type: <bool>
	Definition: Identifies the node as an interrupt controller.

- qcom,pdc-ranges:
	Usage: required
	Value type: <u32 array>
	Definition: Specifies the PDC pin offset and the number of PDC ports.
		    The tuples indicates the valid mapping of valid PDC ports
		    and their hwirq mapping.
		    The first element of the tuple is the starting PDC port.
		    The second element is the GIC hwirq number for the PDC port.
		    The third element is the number of interrupts in sequence.

- qcom,scm-spi-cfg:
	Usage: optional
	Value type: <bool>
	Definition: Specifies if the SPI configuration registers have to be
		    written from the firmware. Sometimes the PDC interface
		    register to the GIC can only be written from the firmware.

Example:

	pdc: interrupt-controller@b220000 {
		compatible = "qcom,sdm845-pdc";
		reg = <0 0x0b220000 0 0x30000>, <0 0x179900f0 0 0x60>;
		qcom,pdc-ranges = <0 512 94>, <94 641 15>, <115 662 7>;
		#interrupt-cells = <2>;
		interrupt-parent = <&intc>;
		interrupt-controller;
		qcom,scm-spi-cfg;
	};

DT binding of a device that wants to use the GIC SPI 514 as a wakeup
interrupt, must do -

	wake-device {
		interrupts-extended = <&pdc 2 IRQ_TYPE_LEVEL_HIGH>;
	};

In this case interrupt 514 would be mapped to port 2 on the PDC as defined by
the qcom,pdc-ranges property.
