18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * DTS file for AMD Seattle XGBE (RevB)
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright (C) 2015 Advanced Micro Devices, Inc.
68c2ecf20Sopenharmony_ci */
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci	xgmacclk0_dma_250mhz: clk250mhz_0 {
98c2ecf20Sopenharmony_ci		compatible = "fixed-clock";
108c2ecf20Sopenharmony_ci		#clock-cells = <0>;
118c2ecf20Sopenharmony_ci		clock-frequency = <250000000>;
128c2ecf20Sopenharmony_ci		clock-output-names = "xgmacclk0_dma_250mhz";
138c2ecf20Sopenharmony_ci	};
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci	xgmacclk0_ptp_250mhz: clk250mhz_1 {
168c2ecf20Sopenharmony_ci		compatible = "fixed-clock";
178c2ecf20Sopenharmony_ci		#clock-cells = <0>;
188c2ecf20Sopenharmony_ci		clock-frequency = <250000000>;
198c2ecf20Sopenharmony_ci		clock-output-names = "xgmacclk0_ptp_250mhz";
208c2ecf20Sopenharmony_ci	};
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci	xgmacclk1_dma_250mhz: clk250mhz_2 {
238c2ecf20Sopenharmony_ci		compatible = "fixed-clock";
248c2ecf20Sopenharmony_ci		#clock-cells = <0>;
258c2ecf20Sopenharmony_ci		clock-frequency = <250000000>;
268c2ecf20Sopenharmony_ci		clock-output-names = "xgmacclk1_dma_250mhz";
278c2ecf20Sopenharmony_ci	};
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci	xgmacclk1_ptp_250mhz: clk250mhz_3 {
308c2ecf20Sopenharmony_ci		compatible = "fixed-clock";
318c2ecf20Sopenharmony_ci		#clock-cells = <0>;
328c2ecf20Sopenharmony_ci		clock-frequency = <250000000>;
338c2ecf20Sopenharmony_ci		clock-output-names = "xgmacclk1_ptp_250mhz";
348c2ecf20Sopenharmony_ci	};
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci	xgmac0: xgmac@e0700000 {
378c2ecf20Sopenharmony_ci		compatible = "amd,xgbe-seattle-v1a";
388c2ecf20Sopenharmony_ci		reg = <0 0xe0700000 0 0x80000>,
398c2ecf20Sopenharmony_ci		      <0 0xe0780000 0 0x80000>,
408c2ecf20Sopenharmony_ci		      <0 0xe1240800 0 0x00400>, /* SERDES RX/TX0 */
418c2ecf20Sopenharmony_ci		      <0 0xe1250000 0 0x00060>, /* SERDES IR 1/2 */
428c2ecf20Sopenharmony_ci		      <0 0xe12500f8 0 0x00004>; /* SERDES IR 2/2 */
438c2ecf20Sopenharmony_ci		interrupts = <0 325 4>,
448c2ecf20Sopenharmony_ci			     <0 346 1>, <0 347 1>, <0 348 1>, <0 349 1>,
458c2ecf20Sopenharmony_ci			     <0 323 4>;
468c2ecf20Sopenharmony_ci		amd,per-channel-interrupt;
478c2ecf20Sopenharmony_ci		amd,speed-set = <0>;
488c2ecf20Sopenharmony_ci		amd,serdes-blwc = <1>, <1>, <0>;
498c2ecf20Sopenharmony_ci		amd,serdes-cdr-rate = <2>, <2>, <7>;
508c2ecf20Sopenharmony_ci		amd,serdes-pq-skew = <10>, <10>, <18>;
518c2ecf20Sopenharmony_ci		amd,serdes-tx-amp = <0>, <0>, <0>;
528c2ecf20Sopenharmony_ci		amd,serdes-dfe-tap-config = <3>, <3>, <3>;
538c2ecf20Sopenharmony_ci		amd,serdes-dfe-tap-enable = <0>, <0>, <7>;
548c2ecf20Sopenharmony_ci		mac-address = [ 02 A1 A2 A3 A4 A5 ];
558c2ecf20Sopenharmony_ci		clocks = <&xgmacclk0_dma_250mhz>, <&xgmacclk0_ptp_250mhz>;
568c2ecf20Sopenharmony_ci		clock-names = "dma_clk", "ptp_clk";
578c2ecf20Sopenharmony_ci		phy-mode = "xgmii";
588c2ecf20Sopenharmony_ci		#stream-id-cells = <16>;
598c2ecf20Sopenharmony_ci		dma-coherent;
608c2ecf20Sopenharmony_ci	};
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci	xgmac1: xgmac@e0900000 {
638c2ecf20Sopenharmony_ci		compatible = "amd,xgbe-seattle-v1a";
648c2ecf20Sopenharmony_ci		reg = <0 0xe0900000 0 0x80000>,
658c2ecf20Sopenharmony_ci		      <0 0xe0980000 0 0x80000>,
668c2ecf20Sopenharmony_ci		      <0 0xe1240c00 0 0x00400>, /* SERDES RX/TX1 */
678c2ecf20Sopenharmony_ci		      <0 0xe1250080 0 0x00060>, /* SERDES IR 1/2 */
688c2ecf20Sopenharmony_ci		      <0 0xe12500fc 0 0x00004>; /* SERDES IR 2/2 */
698c2ecf20Sopenharmony_ci		interrupts = <0 324 4>,
708c2ecf20Sopenharmony_ci			     <0 341 1>, <0 342 1>, <0 343 1>, <0 344 1>,
718c2ecf20Sopenharmony_ci			     <0 322 4>;
728c2ecf20Sopenharmony_ci		amd,per-channel-interrupt;
738c2ecf20Sopenharmony_ci		amd,speed-set = <0>;
748c2ecf20Sopenharmony_ci		amd,serdes-blwc = <1>, <1>, <0>;
758c2ecf20Sopenharmony_ci		amd,serdes-cdr-rate = <2>, <2>, <7>;
768c2ecf20Sopenharmony_ci		amd,serdes-pq-skew = <10>, <10>, <18>;
778c2ecf20Sopenharmony_ci		amd,serdes-tx-amp = <0>, <0>, <0>;
788c2ecf20Sopenharmony_ci		amd,serdes-dfe-tap-config = <3>, <3>, <3>;
798c2ecf20Sopenharmony_ci		amd,serdes-dfe-tap-enable = <0>, <0>, <7>;
808c2ecf20Sopenharmony_ci		mac-address = [ 02 B1 B2 B3 B4 B5 ];
818c2ecf20Sopenharmony_ci		clocks = <&xgmacclk1_dma_250mhz>, <&xgmacclk1_ptp_250mhz>;
828c2ecf20Sopenharmony_ci		clock-names = "dma_clk", "ptp_clk";
838c2ecf20Sopenharmony_ci		phy-mode = "xgmii";
848c2ecf20Sopenharmony_ci		#stream-id-cells = <16>;
858c2ecf20Sopenharmony_ci		dma-coherent;
868c2ecf20Sopenharmony_ci	};
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ci	xgmac0_smmu: smmu@e0600000 {
898c2ecf20Sopenharmony_ci		 compatible = "arm,mmu-401";
908c2ecf20Sopenharmony_ci		 reg = <0 0xe0600000 0 0x10000>;
918c2ecf20Sopenharmony_ci		 #global-interrupts = <1>;
928c2ecf20Sopenharmony_ci		 interrupts = /* Uses combined intr for both
938c2ecf20Sopenharmony_ci			       * global and context
948c2ecf20Sopenharmony_ci			       */
958c2ecf20Sopenharmony_ci			      <0 336 4>,
968c2ecf20Sopenharmony_ci			      <0 336 4>;
978c2ecf20Sopenharmony_ci
988c2ecf20Sopenharmony_ci		 mmu-masters = <&xgmac0
998c2ecf20Sopenharmony_ci			  0  1  2  3  4  5  6  7
1008c2ecf20Sopenharmony_ci			 16 17 18 19 20 21 22 23
1018c2ecf20Sopenharmony_ci		 >;
1028c2ecf20Sopenharmony_ci	 };
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ci	 xgmac1_smmu: smmu@e0800000 {
1058c2ecf20Sopenharmony_ci		 compatible = "arm,mmu-401";
1068c2ecf20Sopenharmony_ci		 reg = <0 0xe0800000 0 0x10000>;
1078c2ecf20Sopenharmony_ci		 #global-interrupts = <1>;
1088c2ecf20Sopenharmony_ci		 interrupts = /* Uses combined intr for both
1098c2ecf20Sopenharmony_ci			       * global and context
1108c2ecf20Sopenharmony_ci			       */
1118c2ecf20Sopenharmony_ci			      <0 335 4>,
1128c2ecf20Sopenharmony_ci			      <0 335 4>;
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ci		 mmu-masters = <&xgmac1
1158c2ecf20Sopenharmony_ci			  0  1  2  3  4  5  6  7
1168c2ecf20Sopenharmony_ci			 16 17 18 19 20 21 22 23
1178c2ecf20Sopenharmony_ci		 >;
1188c2ecf20Sopenharmony_ci	 };
119