diff options
| author | Olof Johansson <olof@lixom.net> | 2019-04-28 12:31:33 -0700 | 
|---|---|---|
| committer | Olof Johansson <olof@lixom.net> | 2019-04-28 12:31:33 -0700 | 
| commit | 236a4234ce40aadbc2561dd75ff08945a6fbd9e9 (patch) | |
| tree | 462fcb00cb7b172768ecd5d82cb8f00e115c2bfb | |
| parent | 629d7161870fb6ad0d4ec35c6a5c46d0e4a27928 (diff) | |
| parent | 78c484a55d915e36891be5bae92e516fdac8609d (diff) | |
Merge tag 'zynqmp-dt-for-v5.2' of https://github.com/Xilinx/linux-xlnx into arm/dt
arm64: dts: zynqmp: DT changes for v5.2
- Align xlnx-zynqmp-clk.h file name and separate
  binding for clock driver
- Add TI quirks to zynqmp boards
* tag 'zynqmp-dt-for-v5.2' of https://github.com/Xilinx/linux-xlnx:
  arm64: zynqmp: dt: Add TI PHY quirk
  dt-bindings: xilinx: Separate clock binding from firmware doc
  include: dt-binding: clock: Rename zynqmp header file
Signed-off-by: Olof Johansson <olof@lixom.net>
| -rw-r--r-- | Documentation/devicetree/bindings/clock/xlnx,zynqmp-clk.txt | 63 | ||||
| -rw-r--r-- | Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.txt | 54 | ||||
| -rw-r--r-- | arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts | 1 | ||||
| -rw-r--r-- | arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts | 1 | ||||
| -rw-r--r-- | arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revB.dts | 1 | ||||
| -rw-r--r-- | arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts | 1 | ||||
| -rw-r--r-- | arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts | 1 | ||||
| -rw-r--r-- | arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts | 1 | ||||
| -rw-r--r-- | include/dt-bindings/clock/xlnx-zynqmp-clk.h (renamed from include/dt-bindings/clock/xlnx,zynqmp-clk.h) | 26 | 
9 files changed, 88 insertions, 61 deletions
| diff --git a/Documentation/devicetree/bindings/clock/xlnx,zynqmp-clk.txt b/Documentation/devicetree/bindings/clock/xlnx,zynqmp-clk.txt new file mode 100644 index 000000000000..391ee1a60bed --- /dev/null +++ b/Documentation/devicetree/bindings/clock/xlnx,zynqmp-clk.txt @@ -0,0 +1,63 @@ +-------------------------------------------------------------------------- +Device Tree Clock bindings for the Zynq Ultrascale+ MPSoC controlled using +Zynq MPSoC firmware interface +-------------------------------------------------------------------------- +The clock controller is a h/w block of Zynq Ultrascale+ MPSoC clock +tree. It reads required input clock frequencies from the devicetree and acts +as clock provider for all clock consumers of PS clocks. + +See clock_bindings.txt for more information on the generic clock bindings. + +Required properties: + - #clock-cells:	Must be 1 + - compatible:		Must contain:	"xlnx,zynqmp-clk" + - clocks:		List of clock specifiers which are external input +			clocks to the given clock controller. Please refer +			the next section to find the input clocks for a +			given controller. + - clock-names:		List of clock names which are exteral input clocks +			to the given clock controller. Please refer to the +			clock bindings for more details. + +Input clocks for zynqmp Ultrascale+ clock controller: + +The Zynq UltraScale+ MPSoC has one primary and four alternative reference clock +inputs. These required clock inputs are: + - pss_ref_clk (PS reference clock) + - video_clk (reference clock for video system ) + - pss_alt_ref_clk (alternative PS reference clock) + - aux_ref_clk + - gt_crx_ref_clk (transceiver reference clock) + +The following strings are optional parameters to the 'clock-names' property in +order to provide an optional (E)MIO clock source: + - swdt0_ext_clk + - swdt1_ext_clk + - gem0_emio_clk + - gem1_emio_clk + - gem2_emio_clk + - gem3_emio_clk + - mio_clk_XX		# with XX = 00..77 + - mio_clk_50_or_51	#for the mux clock to gem tsu from 50 or 51 + + +Output clocks are registered based on clock information received +from firmware. Output clocks indexes are mentioned in +include/dt-bindings/clock/xlnx-zynqmp-clk.h. + +------- +Example +------- + +firmware { +	zynqmp_firmware: zynqmp-firmware { +		compatible = "xlnx,zynqmp-firmware"; +		method = "smc"; +		zynqmp_clk: clock-controller { +			#clock-cells = <1>; +			compatible = "xlnx,zynqmp-clk"; +			clocks = <&pss_ref_clk>, <&video_clk>, <&pss_alt_ref_clk>, <&aux_ref_clk>, <>_crx_ref_clk>; +			clock-names = "pss_ref_clk", "video_clk", "pss_alt_ref_clk","aux_ref_clk", "gt_crx_ref_clk"; +		}; +	}; +}; diff --git a/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.txt b/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.txt index 614bac55df86..a4fe136be2ba 100644 --- a/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.txt +++ b/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.txt @@ -17,53 +17,6 @@ Required properties:  		  - "smc" : SMC #0, following the SMCCC  		  - "hvc" : HVC #0, following the SMCCC --------------------------------------------------------------------------- -Device Tree Clock bindings for the Zynq Ultrascale+ MPSoC controlled using -Zynq MPSoC firmware interface --------------------------------------------------------------------------- -The clock controller is a h/w block of Zynq Ultrascale+ MPSoC clock -tree. It reads required input clock frequencies from the devicetree and acts -as clock provider for all clock consumers of PS clocks. - -See clock_bindings.txt for more information on the generic clock bindings. - -Required properties: - - #clock-cells:	Must be 1 - - compatible:		Must contain:	"xlnx,zynqmp-clk" - - clocks:		List of clock specifiers which are external input -			clocks to the given clock controller. Please refer -			the next section to find the input clocks for a -			given controller. - - clock-names:		List of clock names which are exteral input clocks -			to the given clock controller. Please refer to the -			clock bindings for more details. - -Input clocks for zynqmp Ultrascale+ clock controller: - -The Zynq UltraScale+ MPSoC has one primary and four alternative reference clock -inputs. These required clock inputs are: - - pss_ref_clk (PS reference clock) - - video_clk (reference clock for video system ) - - pss_alt_ref_clk (alternative PS reference clock) - - aux_ref_clk - - gt_crx_ref_clk (transceiver reference clock) - -The following strings are optional parameters to the 'clock-names' property in -order to provide an optional (E)MIO clock source: - - swdt0_ext_clk - - swdt1_ext_clk - - gem0_emio_clk - - gem1_emio_clk - - gem2_emio_clk - - gem3_emio_clk - - mio_clk_XX		# with XX = 00..77 - - mio_clk_50_or_51	#for the mux clock to gem tsu from 50 or 51 - - -Output clocks are registered based on clock information received -from firmware. Output clocks indexes are mentioned in -include/dt-bindings/clock/xlnx,zynqmp-clk.h. -  -------  Example  ------- @@ -72,11 +25,6 @@ firmware {  	zynqmp_firmware: zynqmp-firmware {  		compatible = "xlnx,zynqmp-firmware";  		method = "smc"; -		zynqmp_clk: clock-controller { -			#clock-cells = <1>; -			compatible = "xlnx,zynqmp-clk"; -			clocks = <&pss_ref_clk>, <&video_clk>, <&pss_alt_ref_clk>, <&aux_ref_clk>, <>_crx_ref_clk>; -			clock-names = "pss_ref_clk", "video_clk", "pss_alt_ref_clk","aux_ref_clk", "gt_crx_ref_clk"; -		}; +		...  	};  }; diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts index 11cc67184fa9..2421ec71a201 100644 --- a/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zc1751-xm016-dc2.dts @@ -89,6 +89,7 @@  		ti,rx-internal-delay = <0x8>;  		ti,tx-internal-delay = <0xa>;  		ti,fifo-depth = <0x1>; +		ti,dp83867-rxctrl-strap-quirk;  	};  }; diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts index cef81671f3ab..2a3b66547c6d 100644 --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts @@ -110,6 +110,7 @@  		ti,rx-internal-delay = <0x8>;  		ti,tx-internal-delay = <0xa>;  		ti,fifo-depth = <0x1>; +		ti,dp83867-rxctrl-strap-quirk;  	};  }; diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revB.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revB.dts index af4d86882a5c..1780ed237daf 100644 --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revB.dts +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revB.dts @@ -21,6 +21,7 @@  		ti,rx-internal-delay = <0x8>;  		ti,tx-internal-delay = <0xa>;  		ti,fifo-depth = <0x1>; +		ti,dp83867-rxctrl-strap-quirk;  	};  	/* Cleanup from RevA */  	/delete-node/ phy@21; diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts index d4ad19a38c93..8f456146409f 100644 --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu104-revA.dts @@ -55,6 +55,7 @@  		ti,rx-internal-delay = <0x8>;  		ti,tx-internal-delay = <0xa>;  		ti,fifo-depth = <0x1>; +		ti,dp83867-rxctrl-strap-quirk;  	};  }; diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts index 94cf5094df64..93ce7eb81498 100644 --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu106-revA.dts @@ -111,6 +111,7 @@  		ti,rx-internal-delay = <0x8>;  		ti,tx-internal-delay = <0xa>;  		ti,fifo-depth = <0x1>; +		ti,dp83867-rxctrl-strap-quirk;  	};  }; diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts index 460adc378295..8bb0001a026f 100644 --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu111-revA.dts @@ -106,6 +106,7 @@  		ti,rx-internal-delay = <0x8>;  		ti,tx-internal-delay = <0xa>;  		ti,fifo-depth = <0x1>; +		ti,dp83867-rxctrl-strap-quirk;  	};  }; diff --git a/include/dt-bindings/clock/xlnx,zynqmp-clk.h b/include/dt-bindings/clock/xlnx-zynqmp-clk.h index 4aebe6e2049e..cdc4c0b9a374 100644 --- a/include/dt-bindings/clock/xlnx,zynqmp-clk.h +++ b/include/dt-bindings/clock/xlnx-zynqmp-clk.h @@ -54,14 +54,14 @@  #define IOU_SWITCH		42  #define GEM_TSU_REF		43  #define GEM_TSU			44 -#define GEM0_REF		45 -#define GEM1_REF		46 -#define GEM2_REF		47 -#define GEM3_REF		48 -#define GEM0_TX			49 -#define GEM1_TX			50 -#define GEM2_TX			51 -#define GEM3_TX			52 +#define GEM0_TX			45 +#define GEM1_TX			46 +#define GEM2_TX			47 +#define GEM3_TX			48 +#define GEM0_RX			49 +#define GEM1_RX			50 +#define GEM2_RX			51 +#define GEM3_RX			52  #define QSPI_REF		53  #define SDIO0_REF		54  #define SDIO1_REF		55 @@ -112,5 +112,15 @@  #define VPLL_POST_SRC		100  #define CAN0_MIO		101  #define CAN1_MIO		102 +#define ACPU_FULL		103 +#define GEM0_REF		104 +#define GEM1_REF		105 +#define GEM2_REF		106 +#define GEM3_REF		107 +#define GEM0_REF_UNG		108 +#define GEM1_REF_UNG		109 +#define GEM2_REF_UNG		110 +#define GEM3_REF_UNG		111 +#define LPD_WDT			112  #endif | 
