xref: /linux/arch/arm64/boot/dts/amd/amd-seattle-xgbe-b.dtsi (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1b2441318SGreg Kroah-Hartman// SPDX-License-Identifier: GPL-2.0
208b8940eSTom Lendacky/*
308b8940eSTom Lendacky * DTS file for AMD Seattle XGBE (RevB)
408b8940eSTom Lendacky *
508b8940eSTom Lendacky * Copyright (C) 2015 Advanced Micro Devices, Inc.
608b8940eSTom Lendacky */
708b8940eSTom Lendacky
808b8940eSTom Lendacky	xgmacclk0_dma_250mhz: clk250mhz_0 {
908b8940eSTom Lendacky		compatible = "fixed-clock";
1008b8940eSTom Lendacky		#clock-cells = <0>;
1108b8940eSTom Lendacky		clock-frequency = <250000000>;
1208b8940eSTom Lendacky		clock-output-names = "xgmacclk0_dma_250mhz";
1308b8940eSTom Lendacky	};
1408b8940eSTom Lendacky
1508b8940eSTom Lendacky	xgmacclk0_ptp_250mhz: clk250mhz_1 {
1608b8940eSTom Lendacky		compatible = "fixed-clock";
1708b8940eSTom Lendacky		#clock-cells = <0>;
1808b8940eSTom Lendacky		clock-frequency = <250000000>;
1908b8940eSTom Lendacky		clock-output-names = "xgmacclk0_ptp_250mhz";
2008b8940eSTom Lendacky	};
2108b8940eSTom Lendacky
2208b8940eSTom Lendacky	xgmacclk1_dma_250mhz: clk250mhz_2 {
2308b8940eSTom Lendacky		compatible = "fixed-clock";
2408b8940eSTom Lendacky		#clock-cells = <0>;
2508b8940eSTom Lendacky		clock-frequency = <250000000>;
2608b8940eSTom Lendacky		clock-output-names = "xgmacclk1_dma_250mhz";
2708b8940eSTom Lendacky	};
2808b8940eSTom Lendacky
2908b8940eSTom Lendacky	xgmacclk1_ptp_250mhz: clk250mhz_3 {
3008b8940eSTom Lendacky		compatible = "fixed-clock";
3108b8940eSTom Lendacky		#clock-cells = <0>;
3208b8940eSTom Lendacky		clock-frequency = <250000000>;
3308b8940eSTom Lendacky		clock-output-names = "xgmacclk1_ptp_250mhz";
3408b8940eSTom Lendacky	};
3508b8940eSTom Lendacky
3608b8940eSTom Lendacky	xgmac0: xgmac@e0700000 {
3708b8940eSTom Lendacky		compatible = "amd,xgbe-seattle-v1a";
3808b8940eSTom Lendacky		reg = <0 0xe0700000 0 0x80000>,
3908b8940eSTom Lendacky		      <0 0xe0780000 0 0x80000>,
4008b8940eSTom Lendacky		      <0 0xe1240800 0 0x00400>, /* SERDES RX/TX0 */
4108b8940eSTom Lendacky		      <0 0xe1250000 0 0x00060>, /* SERDES IR 1/2 */
4208b8940eSTom Lendacky		      <0 0xe12500f8 0 0x00004>; /* SERDES IR 2/2 */
4308b8940eSTom Lendacky		interrupts = <0 325 4>,
4408b8940eSTom Lendacky			     <0 346 1>, <0 347 1>, <0 348 1>, <0 349 1>,
4508b8940eSTom Lendacky			     <0 323 4>;
4608b8940eSTom Lendacky		amd,per-channel-interrupt;
4708b8940eSTom Lendacky		amd,speed-set = <0>;
4808b8940eSTom Lendacky		amd,serdes-blwc = <1>, <1>, <0>;
4908b8940eSTom Lendacky		amd,serdes-cdr-rate = <2>, <2>, <7>;
5008b8940eSTom Lendacky		amd,serdes-pq-skew = <10>, <10>, <18>;
5108b8940eSTom Lendacky		amd,serdes-tx-amp = <0>, <0>, <0>;
5208b8940eSTom Lendacky		amd,serdes-dfe-tap-config = <3>, <3>, <3>;
5308b8940eSTom Lendacky		amd,serdes-dfe-tap-enable = <0>, <0>, <7>;
5408b8940eSTom Lendacky		mac-address = [ 02 A1 A2 A3 A4 A5 ];
5508b8940eSTom Lendacky		clocks = <&xgmacclk0_dma_250mhz>, <&xgmacclk0_ptp_250mhz>;
5608b8940eSTom Lendacky		clock-names = "dma_clk", "ptp_clk";
5708b8940eSTom Lendacky		phy-mode = "xgmii";
58*9bd9a063SArd Biesheuvel		iommus = <&xgmac0_smmu 0x00 0x17>; /* 0-7, 16-23 */
5908b8940eSTom Lendacky		dma-coherent;
6008b8940eSTom Lendacky	};
6108b8940eSTom Lendacky
6208b8940eSTom Lendacky	xgmac1: xgmac@e0900000 {
6308b8940eSTom Lendacky		compatible = "amd,xgbe-seattle-v1a";
6408b8940eSTom Lendacky		reg = <0 0xe0900000 0 0x80000>,
6508b8940eSTom Lendacky		      <0 0xe0980000 0 0x80000>,
6608b8940eSTom Lendacky		      <0 0xe1240c00 0 0x00400>, /* SERDES RX/TX1 */
6708b8940eSTom Lendacky		      <0 0xe1250080 0 0x00060>, /* SERDES IR 1/2 */
6808b8940eSTom Lendacky		      <0 0xe12500fc 0 0x00004>; /* SERDES IR 2/2 */
6908b8940eSTom Lendacky		interrupts = <0 324 4>,
7008b8940eSTom Lendacky			     <0 341 1>, <0 342 1>, <0 343 1>, <0 344 1>,
7108b8940eSTom Lendacky			     <0 322 4>;
7208b8940eSTom Lendacky		amd,per-channel-interrupt;
7308b8940eSTom Lendacky		amd,speed-set = <0>;
7408b8940eSTom Lendacky		amd,serdes-blwc = <1>, <1>, <0>;
7508b8940eSTom Lendacky		amd,serdes-cdr-rate = <2>, <2>, <7>;
7608b8940eSTom Lendacky		amd,serdes-pq-skew = <10>, <10>, <18>;
7708b8940eSTom Lendacky		amd,serdes-tx-amp = <0>, <0>, <0>;
7808b8940eSTom Lendacky		amd,serdes-dfe-tap-config = <3>, <3>, <3>;
7908b8940eSTom Lendacky		amd,serdes-dfe-tap-enable = <0>, <0>, <7>;
8008b8940eSTom Lendacky		mac-address = [ 02 B1 B2 B3 B4 B5 ];
8108b8940eSTom Lendacky		clocks = <&xgmacclk1_dma_250mhz>, <&xgmacclk1_ptp_250mhz>;
8208b8940eSTom Lendacky		clock-names = "dma_clk", "ptp_clk";
8308b8940eSTom Lendacky		phy-mode = "xgmii";
84*9bd9a063SArd Biesheuvel		iommus = <&xgmac1_smmu 0x00 0x17>; /* 0-7, 16-23 */
8508b8940eSTom Lendacky		dma-coherent;
8608b8940eSTom Lendacky	};
8708b8940eSTom Lendacky
88*9bd9a063SArd Biesheuvel	xgmac0_smmu: iommu@e0600000 {
8908b8940eSTom Lendacky		 compatible = "arm,mmu-401";
9008b8940eSTom Lendacky		 reg = <0 0xe0600000 0 0x10000>;
9108b8940eSTom Lendacky		 #global-interrupts = <1>;
9208b8940eSTom Lendacky		 interrupts = /* Uses combined intr for both
9308b8940eSTom Lendacky			       * global and context
9408b8940eSTom Lendacky			       */
9508b8940eSTom Lendacky			      <0 336 4>,
9608b8940eSTom Lendacky			      <0 336 4>;
97*9bd9a063SArd Biesheuvel		#iommu-cells = <2>;
98*9bd9a063SArd Biesheuvel		dma-coherent;
9908b8940eSTom Lendacky	 };
10008b8940eSTom Lendacky
101*9bd9a063SArd Biesheuvel	 xgmac1_smmu: iommu@e0800000 {
10208b8940eSTom Lendacky		 compatible = "arm,mmu-401";
10308b8940eSTom Lendacky		 reg = <0 0xe0800000 0 0x10000>;
10408b8940eSTom Lendacky		 #global-interrupts = <1>;
10508b8940eSTom Lendacky		 interrupts = /* Uses combined intr for both
10608b8940eSTom Lendacky			       * global and context
10708b8940eSTom Lendacky			       */
10808b8940eSTom Lendacky			      <0 335 4>,
10908b8940eSTom Lendacky			      <0 335 4>;
110*9bd9a063SArd Biesheuvel		#iommu-cells = <2>;
111*9bd9a063SArd Biesheuvel		dma-coherent;
11208b8940eSTom Lendacky	 };
113