162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * DTS file for AMD Seattle XGBE (RevB)
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2015 Advanced Micro Devices, Inc.
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci	xgmacclk0_dma_250mhz: clk250mhz_0 {
962306a36Sopenharmony_ci		compatible = "fixed-clock";
1062306a36Sopenharmony_ci		#clock-cells = <0>;
1162306a36Sopenharmony_ci		clock-frequency = <250000000>;
1262306a36Sopenharmony_ci		clock-output-names = "xgmacclk0_dma_250mhz";
1362306a36Sopenharmony_ci	};
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci	xgmacclk0_ptp_250mhz: clk250mhz_1 {
1662306a36Sopenharmony_ci		compatible = "fixed-clock";
1762306a36Sopenharmony_ci		#clock-cells = <0>;
1862306a36Sopenharmony_ci		clock-frequency = <250000000>;
1962306a36Sopenharmony_ci		clock-output-names = "xgmacclk0_ptp_250mhz";
2062306a36Sopenharmony_ci	};
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci	xgmacclk1_dma_250mhz: clk250mhz_2 {
2362306a36Sopenharmony_ci		compatible = "fixed-clock";
2462306a36Sopenharmony_ci		#clock-cells = <0>;
2562306a36Sopenharmony_ci		clock-frequency = <250000000>;
2662306a36Sopenharmony_ci		clock-output-names = "xgmacclk1_dma_250mhz";
2762306a36Sopenharmony_ci	};
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci	xgmacclk1_ptp_250mhz: clk250mhz_3 {
3062306a36Sopenharmony_ci		compatible = "fixed-clock";
3162306a36Sopenharmony_ci		#clock-cells = <0>;
3262306a36Sopenharmony_ci		clock-frequency = <250000000>;
3362306a36Sopenharmony_ci		clock-output-names = "xgmacclk1_ptp_250mhz";
3462306a36Sopenharmony_ci	};
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci	xgmac0: xgmac@e0700000 {
3762306a36Sopenharmony_ci		compatible = "amd,xgbe-seattle-v1a";
3862306a36Sopenharmony_ci		reg = <0 0xe0700000 0 0x80000>,
3962306a36Sopenharmony_ci		      <0 0xe0780000 0 0x80000>,
4062306a36Sopenharmony_ci		      <0 0xe1240800 0 0x00400>, /* SERDES RX/TX0 */
4162306a36Sopenharmony_ci		      <0 0xe1250000 0 0x00060>, /* SERDES IR 1/2 */
4262306a36Sopenharmony_ci		      <0 0xe12500f8 0 0x00004>; /* SERDES IR 2/2 */
4362306a36Sopenharmony_ci		interrupts = <0 325 4>,
4462306a36Sopenharmony_ci			     <0 346 1>, <0 347 1>, <0 348 1>, <0 349 1>,
4562306a36Sopenharmony_ci			     <0 323 4>;
4662306a36Sopenharmony_ci		amd,per-channel-interrupt;
4762306a36Sopenharmony_ci		amd,speed-set = <0>;
4862306a36Sopenharmony_ci		amd,serdes-blwc = <1>, <1>, <0>;
4962306a36Sopenharmony_ci		amd,serdes-cdr-rate = <2>, <2>, <7>;
5062306a36Sopenharmony_ci		amd,serdes-pq-skew = <10>, <10>, <18>;
5162306a36Sopenharmony_ci		amd,serdes-tx-amp = <0>, <0>, <0>;
5262306a36Sopenharmony_ci		amd,serdes-dfe-tap-config = <3>, <3>, <3>;
5362306a36Sopenharmony_ci		amd,serdes-dfe-tap-enable = <0>, <0>, <7>;
5462306a36Sopenharmony_ci		mac-address = [ 02 A1 A2 A3 A4 A5 ];
5562306a36Sopenharmony_ci		clocks = <&xgmacclk0_dma_250mhz>, <&xgmacclk0_ptp_250mhz>;
5662306a36Sopenharmony_ci		clock-names = "dma_clk", "ptp_clk";
5762306a36Sopenharmony_ci		phy-mode = "xgmii";
5862306a36Sopenharmony_ci		iommus = <&xgmac0_smmu 0x00 0x17>; /* 0-7, 16-23 */
5962306a36Sopenharmony_ci		dma-coherent;
6062306a36Sopenharmony_ci	};
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci	xgmac1: xgmac@e0900000 {
6362306a36Sopenharmony_ci		compatible = "amd,xgbe-seattle-v1a";
6462306a36Sopenharmony_ci		reg = <0 0xe0900000 0 0x80000>,
6562306a36Sopenharmony_ci		      <0 0xe0980000 0 0x80000>,
6662306a36Sopenharmony_ci		      <0 0xe1240c00 0 0x00400>, /* SERDES RX/TX1 */
6762306a36Sopenharmony_ci		      <0 0xe1250080 0 0x00060>, /* SERDES IR 1/2 */
6862306a36Sopenharmony_ci		      <0 0xe12500fc 0 0x00004>; /* SERDES IR 2/2 */
6962306a36Sopenharmony_ci		interrupts = <0 324 4>,
7062306a36Sopenharmony_ci			     <0 341 1>, <0 342 1>, <0 343 1>, <0 344 1>,
7162306a36Sopenharmony_ci			     <0 322 4>;
7262306a36Sopenharmony_ci		amd,per-channel-interrupt;
7362306a36Sopenharmony_ci		amd,speed-set = <0>;
7462306a36Sopenharmony_ci		amd,serdes-blwc = <1>, <1>, <0>;
7562306a36Sopenharmony_ci		amd,serdes-cdr-rate = <2>, <2>, <7>;
7662306a36Sopenharmony_ci		amd,serdes-pq-skew = <10>, <10>, <18>;
7762306a36Sopenharmony_ci		amd,serdes-tx-amp = <0>, <0>, <0>;
7862306a36Sopenharmony_ci		amd,serdes-dfe-tap-config = <3>, <3>, <3>;
7962306a36Sopenharmony_ci		amd,serdes-dfe-tap-enable = <0>, <0>, <7>;
8062306a36Sopenharmony_ci		mac-address = [ 02 B1 B2 B3 B4 B5 ];
8162306a36Sopenharmony_ci		clocks = <&xgmacclk1_dma_250mhz>, <&xgmacclk1_ptp_250mhz>;
8262306a36Sopenharmony_ci		clock-names = "dma_clk", "ptp_clk";
8362306a36Sopenharmony_ci		phy-mode = "xgmii";
8462306a36Sopenharmony_ci		iommus = <&xgmac1_smmu 0x00 0x17>; /* 0-7, 16-23 */
8562306a36Sopenharmony_ci		dma-coherent;
8662306a36Sopenharmony_ci	};
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci	xgmac0_smmu: iommu@e0600000 {
8962306a36Sopenharmony_ci		 compatible = "arm,mmu-401";
9062306a36Sopenharmony_ci		 reg = <0 0xe0600000 0 0x10000>;
9162306a36Sopenharmony_ci		 #global-interrupts = <1>;
9262306a36Sopenharmony_ci		 interrupts = /* Uses combined intr for both
9362306a36Sopenharmony_ci			       * global and context
9462306a36Sopenharmony_ci			       */
9562306a36Sopenharmony_ci			      <0 336 4>,
9662306a36Sopenharmony_ci			      <0 336 4>;
9762306a36Sopenharmony_ci		#iommu-cells = <2>;
9862306a36Sopenharmony_ci		dma-coherent;
9962306a36Sopenharmony_ci	 };
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci	 xgmac1_smmu: iommu@e0800000 {
10262306a36Sopenharmony_ci		 compatible = "arm,mmu-401";
10362306a36Sopenharmony_ci		 reg = <0 0xe0800000 0 0x10000>;
10462306a36Sopenharmony_ci		 #global-interrupts = <1>;
10562306a36Sopenharmony_ci		 interrupts = /* Uses combined intr for both
10662306a36Sopenharmony_ci			       * global and context
10762306a36Sopenharmony_ci			       */
10862306a36Sopenharmony_ci			      <0 335 4>,
10962306a36Sopenharmony_ci			      <0 335 4>;
11062306a36Sopenharmony_ci		#iommu-cells = <2>;
11162306a36Sopenharmony_ci		dma-coherent;
11262306a36Sopenharmony_ci	 };
113