Binding for CEVA AHCI SATA Controller

Required properties:
  - reg: Physical base address and size of the controller's register area.
  - compatible: Compatibility string. Must be 'ceva,ahci-1v84'.
  - clocks: Input clock specifier. Refer to common clock bindings.
  - interrupts: Interrupt specifier. Refer to interrupt binding.
  - ceva,p0-cominit-params: OOB timing value for COMINIT parameter for port 0.
  - ceva,p1-cominit-params: OOB timing value for COMINIT parameter for port 1.
			The fields for the above parameter must be as shown below:
			ceva,pN-cominit-params = /bits/ 8 <CIBGMN CIBGMX CIBGN CINMP>;
			CINMP : COMINIT Negate Minimum Period.
			CIBGN : COMINIT Burst Gap Nominal.
			CIBGMX: COMINIT Burst Gap Maximum.
			CIBGMN: COMINIT Burst Gap Minimum.
  - ceva,p0-comwake-params: OOB timing value for COMWAKE parameter for port 0.
  - ceva,p1-comwake-params: OOB timing value for COMWAKE parameter for port 1.
			The fields for the above parameter must be as shown below:
			ceva,pN-comwake-params = /bits/ 8 <CWBGMN CWBGMX CWBGN CWNMP>;
			CWBGMN: COMWAKE Burst Gap Minimum.
			CWBGMX: COMWAKE Burst Gap Maximum.
			CWBGN: COMWAKE Burst Gap Nominal.
			CWNMP: COMWAKE Negate Minimum Period.
  - ceva,p0-burst-params: Burst timing value for COM parameter for port 0.
  - ceva,p1-burst-params: Burst timing value for COM parameter for port 1.
			The fields for the above parameter must be as shown below:
			ceva,pN-burst-params = /bits/ 8 <BMX BNM SFD PTST>;
			BMX: COM Burst Maximum.
			BNM: COM Burst Nominal.
			SFD: Signal Failure Detection value.
			PTST: Partial to Slumber timer value.
  - ceva,p0-retry-params: Retry interval timing value for port 0.
  - ceva,p1-retry-params: Retry interval timing value for port 1.
			The fields for the above parameter must be as shown below:
			ceva,pN-retry-params = /bits/ 16 <RIT RCT>;
			RIT:  Retry Interval Timer.
			RCT:  Rate Change Timer.

Optional properties:
  - ceva,broken-gen2: limit to gen1 speed instead of gen2.
  - phys: phandle for the PHY device
  - resets: phandle to the reset controller for the SATA IP

Examples:
	ahci@fd0c0000 {
		compatible = "ceva,ahci-1v84";
		reg = <0xfd0c0000 0x200>;
		interrupt-parent = <&gic>;
		interrupts = <0 133 4>;
		clocks = <&clkc SATA_CLK_ID>;
		ceva,p0-cominit-params = /bits/ 8 <0x0F 0x25 0x18 0x29>;
		ceva,p0-comwake-params = /bits/ 8 <0x04 0x0B 0x08 0x0F>;
		ceva,p0-burst-params = /bits/ 8 <0x0A 0x08 0x4A 0x06>;
		ceva,p0-retry-params = /bits/ 16 <0x0216 0x7F06>;

		ceva,p1-cominit-params = /bits/ 8 <0x0F 0x25 0x18 0x29>;
		ceva,p1-comwake-params = /bits/ 8 <0x04 0x0B 0x08 0x0F>;
		ceva,p1-burst-params = /bits/ 8 <0x0A 0x08 0x4A 0x06>;
		ceva,p1-retry-params = /bits/ 16 <0x0216 0x7F06>;
		ceva,broken-gen2;
		phys = <&psgtr 1 PHY_TYPE_SATA 1 1>;
		resets = <&zynqmp_reset ZYNQMP_RESET_SATA>;
	};
